汽车信息安全入门总结(2)

devtools/2024/10/9 15:17:37/

目录

1.引入

2.汽车信息安全技术

3.密码学基础知识

4.小结


1.引入

上篇汽车信息安全入门总结(1)-CSDN博客主要讲述了汽车信息安全应该关注的点,以及相关法规和标准,限于篇幅,继续聊信息安全相关技术以及需要掌握的密码学基础知识。

2.汽车信息安全技术

车联网的迅猛发展使得汽车和驾乘人员充分暴露在黑客的攻击范围内,故汽车信息安全保护的不仅是车,还有更重要的是驾乘人员,所以理清汽车信息安全技术关注的范畴是关键所在。

国际上有很多关于汽车信息安全的车辆模型,如EVITA车载网络参考架构、日本IPA Car信息安全模型、PRESERVE的V2X安全通信系统,它们模型基础概念相似,均是从云、管、端三个方面提出汽车信息安全相关需求。

所以我的研究路径是这样:首先了解每个方向上的信息安全概念和基本应用,然后就自己手头业务锚定一个方向深入。

以车端为例,我习惯以手上开发的ECU为基础,了解当前件在不同OEM的整车电子电气架构中扮演什么角色,总结长城Geep3.0、大众E3、华为域控架构、吉利浩瀚SEA架构等等,本质还是与Bosch提出的域控概念类似,主要分为智驾域、中央网关、动力域、车身域、信息娱乐域控,如下:

在了解上述域控及其下挂子节点的功能feature后,我们可以根据OEM的通信矩阵来识别出带SecOC属性的报文,并根据信号定义摸索出一些资产定义的共性,同时也可以对整车的功能互联有一定的了解。

有了这个基本概念后,研究难度陡升。

  • ECU安全防护技术:我是以蓝方思维来思考信息安全这件事的,因此会想构建起一些底层框架。这部分了解了常见的安全攻击手段,例如非授权访问、恶意软件篡改、重放攻击、溢出攻击等等,针对这些手段,去尝试了解和梳理ECU的安全系统架构。从硬件开始,熟悉和调研市面常见的HSM技术,再往上内核操作系统针对上述攻击的安全防护技术,例如防火墙、系统加固、IDS等等,最后再衍生到AP和CP AUTOSAR中的信息安全机制。借用AUTOSEMO的一张图,沿着这个思路,应该可以建立起很好的纵深防御思路。

  • 车内安全通信,目前来说车内通信以CAN\CANFD、车载以太网为主,LIN、FlexRay为辅,这些总线通信的信息安全一般通过身份认证、数据完整性、数据加密等技术来保证,例如基于CAN的SecOC技术、车内以太网通信使用TLS。除此之外,现目前智能网联汽车还推出了近程无线通信技术,例如蓝牙、WIFI等,这一系列车载网络技术是需要了解,但做过的人都知道,就一个SecOC就得大半年功夫加上实车经验才能融会贯通;
  • 安全启动,这部分逻辑比较简单,就是运行应用程序前,必须有一个授信主体(例如HSM)来验证应用程序的数据完整性和真实性。主要争议点在于安全启动和OEM要求的启动时间的矛盾,所以建议对这部分内容进行深度TARA分析,并做相应的风险处置措施;
  • 安全升级,在智能网联汽车里,有具备自更新能力的智能ECU,也有传统车控ECU。因此需要有一个控制器作为整车OTA的主控设备,一般来讲可用TBOX也可以用中央网关,负责差分或者整包升级,而安全升级的信息安全尤为重要,故需要了解OEM升级包制作、服务器升级包管理、OTA主控设备数据完整性、机密性、身份认证等。从这个逻辑再深入到某ECU中的OTA企标,基本就知道自己在干啥。

除了上述技术外,还包括安全调试、安全监测、日志管理、安全存储等。这里没有涉猎,不列举了。

3.密码学基础知识

针对传统汽车人来说,密码学属于跨学科新知识,来了不可怕,重要的是掌握方法快速入门。

针对信息安全,掌握的就是基础知识,这里建议了解概念:

  • 对称算法、非对称算法、哈希函数的基本常识:
    • 对称算法:DES、AES、流密码、分组密码工作模式(cbc\ecb\cfb\ofb)
    • 非对称算法:数学难题、RSA、ECC、SM2、DH等,数字签名的方式;
    • 哈希函数:什么是哈希函数、什么是抗碰撞性、SHA2\3、HMAC等
  • 密钥管理基本常识:
    • 什么是数字证书;
    • 密钥槽位设计;
    • 密钥导入、密钥交换、密钥派生等标准的熟悉

这部分完全得靠自己去琢磨,不过好在我们有哔站这等学习利器,这里非常建议学习Dan Boneh的密码学讲稿,具体链接:【完结合集】Dan Boneh的密码学 第一季【伊卡酱全程译注】_哔哩哔哩_bilibili【完结合集】Dan Boneh的密码学 第一季【伊卡酱全程译注】共计13条视频,包括:绪论、流密码、分组密码等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1yx411T78i/?vd_source=74e0140f5de57bae80a97b0307c64609

4.小结

可以发现,关于汽车信息安全的涉及面太广了,从传统信息安全跨行进入汽车行业的大佬需要了解汽车相关基础知识,而传统ECU开发的工程师对传统信息安全晦涩的技术又有些难以下口,每一项都需要实操经验才能有所领悟,这也是目前市场上难以找到这种复合人才的原因。


http://www.ppmy.cn/devtools/25727.html

相关文章

【数据结构】三、栈和队列:2.顺序栈共享栈(顺序栈的初始化,判空,进栈,出栈,读取栈顶,顺序栈实例)

文章目录 1.顺序栈1.1初始化1.2判空1.3进栈1.4出栈1.5读取栈顶1.6销毁栈❗1.7顺序栈c实例 2.共享栈2.1初始化2.2判满 1.顺序栈 用顺序存储实现的栈 顺序栈的缺点:栈的大小不可变。 #define MaxSize 10 //定义栈中元素的最大个数 typedef struct{ElemType data[…

国产麒麟v10系统下打包electron+vue程序,报错unknown output format set

报错如下: 报错第一时间想到可能是代码配置原因报错,查看代码似乎感觉没啥问题 又查看具体报错原因可能是因为icon的原因报错,后面查阅发现ico在各系统平台会不兼容,也就是ico是给win下使用的,此处改下图标格式就ok&am…

分子动力学模拟学习-Gromacs工具链

1、总体流程 在gromacs的使用说明中有一个flow chart,比较简略。以下针对一般体系(非蛋白等领域)进行了一些调整,通用性更强。 在做分子动力学模拟时,其复杂性除了以上各种输入输出文件的操作,另一点就是力…

bash test.sh 2>1 是什么意思?

bash test.sh > test.log 2>&1 &这个命令是在后台运行一个名为 test.sh 的 Bash 脚本,并将该脚本的标准错误输出(stderr,用2来表示)重定向到标准输出(stdout,用1来表示)&#xff…

个人学习资源整理

文章目录 视频相关stl源码讲解相关 网站相关CPP网站 视频相关 stl源码讲解相关 跳转 网站相关 CPP网站 https://cplusplus.com/ https://gcc.gnu.org/

mysql-sql练习-5-行列互转

目录 成绩单 简单互转 需求 多行转多列 分组 判断 聚合 理解 分组 合并 逆向需求 多列转多行 输出 合并 abc 去重 合并 拆分 需求 建表 多行转多列 逆向需求 多列转多行 拆分 按长度 拆分 按个数 成绩单 简单互转 需求 多行转多列 分组 判断 聚合 with tmp as(--…

微服务使用SockJs+Stomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(二)

大家好,我是程序员大猩猩。 上次我们实践了,Java后端如何完成SockJSStomp的配置实现。 微服务使用SockJsStomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(一) 那么今天我们做一下web vue端的是如何来实现…

Java同时使用@RequestBody和@RequestParam传参在postman中执行请求报错:Unsupported Media Type

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…