同系列文章点击如下链接:
ADAS- AEB ACC LKA等一揽子澄清(自动/辅助驾驶系列)
小米SU7(图片|配置|询价) 16.8亿种驾驶模式?噱头还是真有用?
1 什么是汽车网络安全
完整的网络安全包括报文加密(MAC),安全诊断、安全刷新、安全解锁(32字节动态解锁)、控制器强化等。
ISO/SAE 21434与ISO 26262的关系
功能安全旨在保障功能按照设计要求正常进行,尽量减少因系统设计问题导致的功能失效;而信息安全旨在抵御外界攻击,更注重系统在外界攻击下能够正常运行,不产生财产损失,同时保护个人隐私不受侵犯。
2个标准均专注于系统级功能,且彼此的定义和过程均相互关联。
ISO 26262中针对功能安全与信息安全之间的相互作用给出了指南建议。功能安全与信息安全并不是独立的存在。

2 为什么需要汽车网络安全开发
ISO/SAE 21434的诞生背景
随着AI、移动通讯、大数据及物联网等新技术及新基础设施建设的高速发展,汽车,特别是新能源汽车已不再是单纯的交通工具,而逐渐向智能终端转变。

随着汽车智能化的转变,安全问题更加凸显,如:
1 大量ECU及嵌入式软件的大量使用,大幅度的增加了车辆的复杂度及集成度,直接带来整车的安全风险提高。
2 车辆联网带来网络安全风险,如黑客利用漏洞进行攻击,给司乘人员带来安全威胁以及车辆的损失。
随着高级驾驶辅助(ADAS)及自动驾驶的推出,车辆动力及制动控制需要部分或全部授权给智能驾驶系统,而车辆又暴露在互联网当中,此时如果智能驾驶系统被黑客攻破,后果将不堪设想。
3 数据及个人隐私保护不足而引起的信息泄露风险。
汽车在使用过程中会产生大量用户数据,比如你什么时间去了什么地方,以及日常车辆行驶路线规律等信息,这些数据都是用户的隐私。
如何在车辆的开发过程中有效控制网络干扰和攻击,降低车辆的安全风险? ISO/SAE 21434(道路车辆-汽车网络安全工程)应运而生。该标准是由ISO(国际标准化组织)与SAE International(美国汽车工程师学会)共同制定完成,并于2021年8月31日正式发布。
ISO/SAE 21434的应用目的
1 确定结构化的流程,确保信息安全的设计;
2 实现降低攻击成功的可能性,减少损失;
3 提供清晰的方法,帮助车企应对信息安全威胁。
ISO/SAE 21434标准的目标群体
该标准主要应用于道路车辆OEM以及各级供应商,如:
- 车辆制造商
- 基于硬件和软件的组件和系统的供应商
- 工程服务供应商
- 软件和信息和通信技术基础设施提供商
ISO/SAE 21434的主要内容
针对道路车辆及其部件、接口等提出网络安全风险管理的要求,定义了车辆生命周期包括车辆工程、生产、操作、维护和退役相关等各阶段的要求。

3 网络安全相关措施
网络安全包括报文加密(MAC),安全诊断、安全刷新、安全解锁、控制器强化等。
安全启动
检查Bootloader的完整性和可靠性
1) MCU上电之后,CSE模块(Cryptographic Services Engine - 加密服务引擎)会从Code Flash读取bootloader。
2) CSE模块使用boot key通过AES-128加密算法为bootloader计算出一个MAC值(Message Authentication Code)。
3) CSE模块比较第2步计算出来的MAC与存储在CSE寄存器中的MAC(该MAC值是刷写bootloader时写入的)是否相同。如果相同,则安全启动认证成功 -> 表示安全启动成功的数据位会被置位并解锁。
4) 开始执行bootloader程序。
MAC
MAC massage authentication code信息验证码,信号 ASILB以上的信号,需增加MAC
在密码学中,MAC(message authentication code)为消息认证码,主要作用有:
1) 进行消息认证,证明消息的真实性,如消息确实来源于所声称的sender;
2)保护消息数据的完整性,拥有密钥的receiver(或verifier)可发现对消息内容的任何篡改。
安全通信
1) 主ECU的CSE模块会生成一个随机数并把它发送给传感器ECU。
2) 传感器ECU读取传感器的值,把传感器的值、从主ECU收到的随机数和key #x输入给AES-128加密算法进行加密。
3) 传感器ECU发送加密后的消息给主ECU。
4) 主ECU的CSE模块使用key #x对收到的消息进行解密。
5) 主ECU把解密出来的随机数和自己发送给传感器ECU的随机数进行对比,如果一致则认为该消息是合法的,否则丢弃该消息。
安全刷新
在汽车ECU软件中,如果需要依靠汽车总线(如CAN)刷新CPU里面的程序时,必须要通过安全访问,从而防止非法刷新操作危及车辆安全(例如,黑客攻击)。
在车联网以前,车辆总线是一个自封闭的网络,黑客通过远程电脑控制汽车在物理上是不可能的,除非亲自在汽车里操作或者首先在汽车的OBD接口上安装无线设备再远程操控。随着车联网时代的到来,越来越多的车辆会选择远程云端刷新程序,实现快捷修复程序Bug,但这也为黑客远程攻击车辆程序提供了渠道。
Road vehicles - Unified diagnostic services (UDS) ISO14229 中的安全访问规范:
- 算法固化在ECU和上位机程序里,不通过总线传输。
2. 每个Seed只能使用一次,如果Key计算错误。重新访问返回新的Seed,防止黑客对一个Seed进行暴力破解。
3. 连续2次安全访问尝试失败后启动读Seed延时机制,比正常2ms响应一次的时间被延长5000倍,缩短黑客随机碰撞Seed-Key的次数。
部件保护
ECU的替换或篡改会改变它唯一的ID或key。
1) 主ECU生成一个随机数并把它发送给ECU。
2) ECU把它自己特有的ID和收到的随机数进行加密(使用key #x),并把加密后的消息发送给主ECU。
3) 主ECU使用key #x对收到的消息进行解密。
4) 主ECU检查解密出来的随机数是否和自己发出去的相一致,解密出来的ID是否和本地存储的ECU的ID相一致。如果二者都一致,则认为ECU 正常,否则认为ECU被非法替换或者篡改了。
网络安全设计
1) 制定整体安全框架,基于此基准
2) 以具体车型的EEA功能架构作为输入
3) 通过几轮TARA分析,细化安全需求到零部件级
4) 释放相应的安全需求给Tire1

4 汽车网络安全设计
汽车网络安全有几个特点:
1 范围广- 涉及到车内安全,车外安全,通讯安全(包含蓝牙,Wi-Fi,以太网,RF/LF…)控制器安全,芯片安全,车云安全,以及密钥的生成、灌装、销毁等等。
2 程度深- 涉及到对称加密,非对称加密,哈希散列算法,安全启动,安全刷写,安全存储安全访问等,还包括数字签名和验签,数字证书和信任中心等,还包括SecOC,TLS,HSM,TEE等等各种技术细节。
3 木桶效应- 网络安全的木桶效应导致整车的安全取决于防护最短的那块木板,但是问题是OEM如何找到哪一块是对短的木板,如何补齐这块短板呢?
整体网络安全体系应该包含
建立流程管理体系 (CSMS/ISO-21434)
Cybersecurity Management,Distributed/Continuous cybersecurity activities … …
Concept Phase, Product Development Phase, Post-Development … …
建立 安全技术体系 (CSTS)
网络安全架构,CAL,TARA
功能/域级别 安全需求
零部件级别 安全需求
安全测试需求
选择 安全产品 & 供应商
HSM,SecOC,KMS … …
IDS,IPS,VSOC … …
SGW,TBOX,IVI … …
网络安全培训
网络安全测试
1) 安全功能测试:验证安全措施,集成无误
2) 安全合规测试:满足VTA要求
3) 安全渗透测试:查补漏洞,提高安全可靠性

评论·0