1.密钥分类及作用概述
安全启动:非对称和对称密码体制均可使用,但考虑启动速度,对称密码体制使用较多;在HSM标识一般称之为Boot_Key; 安全通信:在车内ECU通信,为满足实时性,通常采用对称密码体制,称之为SecOC_Key; 安全存储:根据数据的重要程度有不同策略,但是目前见得多是对称加密 安全诊断:29服务:证书交换(非对称)、挑战响应认证(对称或非对称) 安全更新:一般多用非对称进行验签,对称用于解密(使用较少)。 安全调试:暂时还没有用到,因此一般整车下线后ECU Debug口会被封住,出bug直接换件。调bug一般是在家里复现。
2.密钥管理策略
芯片出厂阶段:一般来讲,有经验和设计实力的芯片厂会设计2-3个密钥固化在HSM加密引擎中,该密钥通常只能由加密引擎访问以保证其安全性。这些密钥一般是在BootRom设计阶段被芯片原厂使用,主要协助做安全启动设计,称为原始密钥;例如TC3xx固化了2个对称密钥在HSM ROM中,芯驰E3系列在OTP里固化公钥哈希等 供应商开发阶段:该阶段的密钥通常也被称之为开发密钥;该类密钥通常不会由原始密钥派生,而是供应商自定义进行生成密钥。开发密钥一般存放在HSM侧的NvM,同时为了方便调试,HSM通常会留有接口获取密钥信息等,在开发上通信方式上也可以分为安全通信和旁路通信(忽略鉴权验证结果); OEM量产阶段:OEM在完成整车集成验证后,在汽车下线时会统一使用工具差分下发密钥到整车各ECU中(如网关、座舱域控、T-box、智驾域控等等);或者基于某算法和开发密钥原始密钥进行派生;这个环境其实很容易出问题。常见的就是某ECU通信鉴权有问题,一看log发现密钥没刷。 售后阶段:售后阶段密钥的更新频率就少了很多,并且该阶段密钥是不能以任何方式泄露,包括使用诊断仪。因此,芯片出厂时如果能在HSM侧定义好各生命周期下资源权限,我想OEM会很乐意合作,就像芯驰在流片之前就已经找到α客户进行合作,随着芯片厂对于软件开发的重视,传统芯片厂->Tier 1-> OEM的合作模式会逐步向芯片厂->OEM、芯片厂-> Tier 1这类有特殊客制化的模式演进。 报废阶段:该阶段关于HSM存储的所有敏感信息包括密钥都应该被销毁。
3.小结
往期回顾:
1.汽车标定精选
2.AUTOSAR精选
3.汽车网络安全精选
4.汽车功能安全精选
5.汽车虚拟化精选
6.杂七杂八
原文始发于微信公众号(汽车MCU软件设计):汽车信息安全–车规MCU的密钥管理