我们出于网站功能和性能的目的使用Cookie。通过使用它们,我们可以改善用户的浏览并跟踪网站的流量。有关更多信息,请访问我们的 隐私政策 和 使用条款。
加特兰网络安全白皮书(三)| 加特兰雷达芯片安全固件方案
2024-12-24
在“软件定义汽车”(Software Defined Vehicle,SDV)浪潮下,汽车软件技术已成为推动汽车向智能化移动终端转型升级的关键力量。随着智能驾驶技术的演进,SDV车载系统更加复杂,也面临更大的网络安全挑战。《加特兰雷达芯片安全固件方案》白皮书介绍了加特兰汽车雷达安全子系统方案中的网络安全固件支持,覆盖加特兰全系芯片的完整安全场景与功能,融合先进的网络安全设计,帮助车企持续保障车辆安全、提升用户体验。
加特兰的安全固件基于SoC硬件为用户提供了多种原生特性,可以支持以下用户使用场景:
1. 密码学引擎驱动
2. 安全启动
3. 安全存储
4. 安全调试
5. 安全通信
6. 安全升级
1 密码学引擎驱动
加特兰雷达芯片软件开发包中提供了符合AUTOSAR CP1规范的加密驱动(Crypto Driver)。Crypto Driver位于微控制器抽象层(Microcontroller Abstraction Layer,简称 MCAL),负责加密硬件抽象层与加密服务管理器之间的交互。加特兰雷达芯片软件开发包支持EB Tresos配置及AUTOSAR CP加密接口(Crypto Interface)的无缝集成。同时基于芯片的安全设计特点,分别为非独立安全岛硬件(如SHE2、HSM3 Light)、独立安全岛硬件(如HSM Medium、HSM High),提供不同的软件实现方案。
1AUTOSAR CP: AUTomotive Open System Architecture(AUTOSAR)Classic Platform(CP),汽车开放系统架构传统平台
2SHE:Security Hardware Extension,安全硬件扩展
3HSM:Hardware Security Module,硬件安全模块
图1 非独立安全岛设计示意
图2 独立安全岛设计示意
加特兰雷达芯片产品在硬件上提供了丰富的Crypto算法加速引擎,在硬件能力的基础上,软件开发包中的Crypto Driver为以下加密算法或加密原语提供处理接口,同时提供同步和异步处理接口。
4PKCS:Public Key Cryptography Standards,公钥加密标准
5SHA:Secure Hash Algorithm,安全散列算法
除了以上算法外,加特兰产品同时支持以下算法,满足国密产品需求。
- SM2国密椭圆曲线算法
- SM3国密散列算法
- SM4国密分组密码算法
- SM9国密标识密码算法
*以上算法在不同产品上支持情况存在差异,具体支持情况以产品参考手册为准。
2 安全启动
加特兰的雷达芯片产品提供了安全启动的完整方案,通过Boot ROM和Root Key实现信任根及启动信任链的建立,并利用启动过程中软件的逐级验签,实现完整的安全启动方案。
2.1 信任根创建
- 根密钥生成
OEM、Tier-1可根据需要,用多种算法生成多组非对称根密钥,密钥摘要存储到受保护的OTP(One Time Programmable,一次性可编程)区。
- 根密钥烧写
基于加特兰提供OTP烧写方案和示例工具,用户可将根密钥摘要以安全的方式烧写到受保护的OTP区,也可以根据生产特点进行二次开发。
- 根密钥使用
Boot ROM作为信任根的基础,通过OTP中的根密钥实现对Flash中下一级Payload的验签。
2.2 信任链建立流程
- 安全启动流程
图3 安全启动流程
- Boot ROM基于Root PUK(Public Key,公钥)对Bootloader做签名验证,验证通过后跳转到Bootloader执行。
- Bootloader基于User PUK对Application软件做签名验证,验证通过后跳转到Application执行。
2.3 固件加密
加特兰产品固件在XIP(eXecute In Place,就地执行)模式运行且XIP解密被使能的情况下, XIP可支持AES加密后的固件实时加载与执行,即CPU在执行XIP空间代码时,触发XIP从Flash读取指令并通过内置AES引擎可对加密代码实时解密,并将解密后的数据发送到CPU执行。
3 安全存储
安全存储的目的是确保密钥或敏感用户数据的保密性。为满足保密性需求,加特兰产品提供根密钥存储、固件及敏感数据加密存储功能。
3.1 根密钥存储
加特兰产品内置了OTP用于根密钥存储,除支持用于安全启动的非对称密钥摘要存储外,同时还支持如下对称密钥的安全存储:
- XIP AES Key:在通过XIP访问Flash时,可使用XIP AES Key实现对Flash上加密数据的自动解密。
- Root AES Key:在雷达工作期间需要存储在Flash的用户数据,可通过Root AES Key实现动态数据加解密。该密钥仅雷达AES引擎可见,并能够支持一机一密,降低因密钥丢失带来的风险。
3.2 固件及敏感数据加密存储
对于固件加密,在如下情形中,用户通过XIP AES Key对固件镜像文件进行加密:
- 固件镜像文件本身需要保密
- 固件镜像文件中包含需要保密的敏感数据
对于用户动态数据加密,针对如下情形,用户可选择使用Root AES Key进行加密或者解密:
- 雷达运行期间产生的且需要存储到NVRAM(Non-Volatile Random Access Memory,非易失性随机存取存储器)的用户密钥
- 雷达运行期间产生的且需要存储到NVRAM的敏感数据
4 安全调试
加特兰雷达芯片产品提供了不同的调试接口控制策略,产品提供开放、限制访问、禁用三种调试接口控制模式。
- 开放
调试接口默认开放。此模式可用于产品开发及调试阶段。调试接口可通过OTP从开放模式升级为限制访问模式或者禁用模式。
- 限制访问
该模式下调试接口默认关闭。用户可通过Challenge/Response进行认证,认证成功后可通过相关配置开关调试接口,未经认证或者认证失败的调试接口访问将被拒绝。
- 禁用
该模式下,调试接口永久禁用。
5 安全通信
随着汽车智能化和网联化的发展,车身网络通信在没有任何安全措施的情况下,攻击者可以轻而易举地获取车辆信息,进而伪造报文并对车辆进行控制,给驾乘人员财产甚至生命安全带来威胁。基于存在的信息安全隐患,AUTOSAR中增加了除Crypto Driver之外的一系列用于保证信息通信安全的措施。
- SecOC
SecOC(Secure Onboard Communication,安全车载通信)是在AUTOSAR软件包中添加的信息安全组件,其核心思想在于通信认证,但是不涉及报文加密。AUTOSAR主要基于MAC的身份验证和Freshness的防重放(Anti-Replay)攻击,来实现数据的真实性和完整性校验。如需保护通信数据不被攻击方监听,则报文的有效数据还需要进行额外的加密。
- TLS
TLS(Transport Layer Security,传输层安全性)属于OSI(Open System Interconnection,开放式系统互联)模型中传输层的协议,它介于传输层底层协议和上层应用协议之间, 用于保护采用TCP(Transmission Control Protocol,传输控制协议)传输的应用数据,可以支撑上层的SOME/IP(Scalable service-Oriented MiddlewarE over IP,基于IP的可拓展面向服务的中间件协议)、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议) 和HTTP(Hypertext Transfer Protocol,超文本传输协议)等协议。TLS不但可以用于V2X的安全通讯,也可以用于车内通讯节点之间的安全通讯。对于UDP(User Datagram Protocol,用户数据报协议)传输,可采用DTLS(Datagram TLS)协议。
- IPsec
IPsec(Internet Protocol Security)是一套互联网安全协议,运行在OSI模型的网络层。AUTOSAR CP R19-11标准在TCP/IP模块加入IPsec相关功能,并对功能实现进行了条件约束。IPsec对网络层之上的报文提供数据源认证,以及数据机密性、完整性、防重放等安全服务。
- MACsec
MACsec(Media Access Control Security)是基于IEEE 802.1AE和802.1X协议的局域网点对点安全通信方法。MACsec工作在数据OSI模型中的数据链路层,其通过身份认证、数据加密、完整性校验、重放保护等功能保证以太网数据帧的安全性,防止设备处理有安全威胁的报文。
加特兰雷达芯片软件开发包中提供了符合AUTOSAR规范的Crypto Driver,同时通过CDD(Complex Design Driver,复杂设备驱动)接口扩展,对国密接口进行兼容,可满足车身网络对SecOC、TLS、IPsec安全通信开发需求。同时,随着汽车对以太网点对点通信安全要求的提高,也将在雷达芯片中加入MACsec支持,全方位满足汽车对雷达芯片产品安全通信的需求。
6 安全升级
为了保障雷达软件升级的安全,加特兰雷达芯片产品提供了如下安全升级措施:
- 升级文件签名
加特兰产品支持通过RSA Root Key对升级软件进行签名,通过签名可以有效防止被篡改的软件被升级到雷达设备中。
- 固件加密
加特兰产品同时支持基于XIP AES Key加密机制,加密后的软件可以保证固件及敏感数据在信息传递过程中的保密性。
- 升级流程保证
1)OEM生成升级文件,并对文件进行打包和签名,必要时也可以进行加密。
2)经过签名(或签名与加密)后的软件经过安全传输。
3)进入生产或者OTA(Over-the-Air,空中下载)环节。
4)通过升级工具或者OTA在线下载到雷达设备。
5)雷达设备对软件进行验签(或解密与验签)。
6)若验签成功,进行Flash烧录和烧录后校验;若验签失败,升级终止。
- 备份分区机制芯片
加特兰雷达芯片产品支持A/B分区机制,即雷达软件在Flash的A、B分区各存储一份。通过A/B分区机制,可为产品启动的鲁棒性提供支撑;同时,在软件升级中,每次升级一个分区可以有效避免软件因可用性造成无法启动的隐患。