文章总结: 本文详细解析AUTOSARSHE安全硬件扩展的密钥更新机制,重点阐述通过KDF压缩函数生成临时密钥、CMAC验证数据完整性、计数器防重放攻击等关键技术流程。文档完整呈现了从外部实体发起更新到ECU内部验证的12个步骤操作链,并说明更新后通过UID绑定和CMAC校验确保密钥安全部署的可操作方案。 综合评分: 82 文章分类: 车联网安全,应用安全,技术标准,安全开发
汽车网络安全之 AUTOSAR – SHE 密钥更新
谈思实验室
2026年5月18日 18:22 上海
在小说阅读器读本章
去阅读
点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
什么是 SHE
SHE (Secure Hardware Extensions),安全硬件扩展,其主要目的是将对软件的攻击转移到对硬件的攻击上来,增加了黑客对系统攻击的复杂程度。
主要实现方式,是将SHE与主核分离开,SHE有自己独立的存储空间,主核可以对SHE下发加密、解密、存储的动作指令,但所有的密钥,私密信息对主核均不可见。从而避免了黑客从软件层面进行调试或注入恶意代码从而获取密钥等私密信息的可能性,想要得到密钥,必须得从硬件存储状态的角度进行破解,但想要从硬件得角度获取到密钥的信息这将是非常困难的,从而大大的提升了系统的安全性。
02
SHE 内存槽更新流程
本文主要对SHE规范中密钥更新流程的讨论,其他部分以后有机会再做补充。
更新一个内存槽(密钥,证书存储在内存槽中)时,外部实体必须知道知道合法的真实的另一个密钥,Table4.5描述了,需要的更新密钥和需要知道的密钥之间的对应关系。该流程图中KEYAuthID是需要上位机知道的密钥,KID是需要被更新的密钥。
例如:更新下表中对应KEY_
每一个不同的slot类型所包含的信息不同,具体参考Table 4.3。
SHE 内存槽更新流程如下图
(1)K1 = KDF(KAuthID, KEY_UPDATE_ENC_C)
如下截图中4.3.3.1所示KDF(KAuthID, KEY_UPDATE_ENC_C) = AES-MP ( KAuthID | KEY_UPDATE_ENC_C)。
-
KAuthID是在更新KID时需要知道的Key;
-
KEY_UPDATE_ENC_C是基于4.3.3.1中的方式构成的,具体的值已经在该规范4.12中给出,为:0x01015348 45008000 00000000 000000B0。
此时在基于4.3.3的压缩函数得到K1。压缩函数解释如下:
长度为L个bit的message的压缩,(L + 1 + k)mod 128 与 88 mod 128 同余,求k的非负最小值,参考示例4.13.2.4,message的长度L为256,那k算出来为87,即87个数值为0的二进制值,前面加上一个数值为1的二进制数值,在加上40个bit来表示message十进制的值,即二进制表示256为0000000100。
Xi作为明文,OUTi-1作为密钥进行AES-128 ECB模式下的循环加密运算。(ECB模式是没有初始向量的,OUTi-1是作为密钥参与计算,OUT0被称之为初始向量),
每一次计算的结果会和本次的OUTi-1和Xi进行异或运算,最后的OUT的值最为压缩的结果。
(2)M1 = UID’| ID | AuthID
M1是UID, ID和AuthID合并后的值,其中UID全称Device/ECU Unique Identifier,每个ECU都是唯一的。
通常UID又由三部分组成,即Serial Number, ECU HW Part Number, Security Peripheral ID串联组成。
(3)M2 = ENCCBC,K1,IV=0(CID’|FID’|”0…0”95|KID’)
该公式含义为:以K1为密钥,初始向量为0,用AES CBC模式对数据CID’|FID’|”0…0”95|KID’进行加密,其结果赋值给M2,这里的 ‘ 我认为是新的参数的意思。
CID:用于防止重放攻击的counter,上文已做解释;
FID:用于使能与不使能所对应ID的key的更新,上文已做解释;
”0…0”95:95个bit长度的0;
KID:是我们需要更新的目标key。
(4)M3 = CMACK2(M1|M2)
该公式的含义是以K2为密钥,以AES算法的CBC模式,计算出M1和M2串联后的消息消息认证码。
(5)CMD_LOAD_KEY
CMD_LOAD_KEY是SHE接口函数。用于在更新时传递M1,M2,M3。在读取时传出M4,M5的值。
(6)Check write protection of KEYID
这里检查的是ECU内部的目标Key的写保护的Flog是否使能,如果使能返回:ERC_WRITE_ERROR,停止更新。
写保护的Flog未使能,将M1,M2,AuthID传递到SHE的storage。
(7)Read (AuthID)
从第(6)步存储的位置读取AuthID所对应的KEYAuthID,并将其与M1,M2一并给到KDF压缩算法作为输入。
(8)KDF(KEYAuthID,KEY_UPDATE_MAC_C)
基于从ECU内部读取的密钥KEYAuthID,以及从外部传递的M1,M2,再以KDF压缩算法算出的结果作为内部的K2。
具体KDF的实现参考(1)。
(9)CMACK2(M1|M2)
拿到K2后,以M1|M2作为明文,得到内部的M3*。
(10)Check(M3=M3*)
对比外部传过来的CMAC值M3和内部计算的M3*,其目的是为了判断M1(涵盖了UID等信息)和M2(涵盖了需要被更新的密钥)在传输的过程中有没有被篡改过。
如果不相等,停止更新,并返回ERC_KEY_UPDATE_ERROR。
(11)Check(UID’=0)
检查输入的UID’是否为0(直接从输入的M1中提取)。
如果不为0,从storage相应的ID中读取UID。并进行对比,若不相等,返回ERC_KEY_UPDATE_ERROR;若相等读取AuthID所对应的KeyAuthID。
如果为0,需要对目标ID所对应的WILDCARD的标志位是否有使能。如果使能,说明通配符不被允许;如果没有使能,读取AuthID所对应的KeyAuthID。
(12)KDF(KEYAuthID,KEY_UPDATE_ENC_C)
以KDF算法将KEYAuthID,KEY_UPDATE_ENC_C进行压缩,得到K1(这里的算出来的K1应该与外部用的K1是一致的,因为在KEYAuthID外部也是已知的,且与内部相同)。
(13)DECCBC,K1,IV=0(M2)
以AES CBC的模式,算出的K1为密钥,初始向量为0,对外部给到的M2进行解密,得到外部给到的CID’,FID’,KID’,对比外部CID’与本地CID的大小,如果外部的常数没有大于本地的常数,说明该消息是重放的,应返回ERC_KEY_UPDATE_ERROR,如果是大于本地的常数,则将最新的常数、密钥、和标志位存储进相应的位置。
03
SHE内存槽更新后验证消息生成的流程
(1)KDF(KEYID,KEY_UPDATE_ENC_C)
基于更新后的Slot位置的密钥和KEY_UPDATE_ENC_C常数,以KDF算法进行压缩,得到临时的密钥K3。
(2)ENCECB,K3(CID)
以K3为密钥,基于ASE-128的ECB模式对从更新后的Slot位置密钥的counter参数进行加密,得到参数M4*。此时M4*相当于更新后的Slot位置的密钥的摘要,涵盖了其信息。
(3)M4 = (UID | ID | AuthID | M4*)
将UID、Slot的ID、已知密钥的ID、和参数M4*串联得到M4。然后将M4的数据放入响应报文里传递给上位机,此时M4相当于涵盖了UID、被更新的密钥的ID、已知密钥的ID、被更新的密钥的摘要信息,这些信息将在上位机中解析出来,并进行验证被刷写的Key的各项信息是否正确。
(4)KDF(KEYID,KEY_UPDATE_MAC_C)
基于更新后的Slot位置的密钥和KEY_UPDATE_MAC_C常数,以KDF算法进行压缩,得到临时的密钥K4。
(5)CMACK4(M4)
以K3为密钥,基于ASE-128的CBC模式对进行处理,生成消息认证码M5,同样将M5的数据放入响应报文里传递给上位机。因为CMAC的目的是为了保证数据的完整性,因此这里就是为了保证M4在整个传递过程中没有被第三方篡改过。
来源:鑫鑫攻城狮
https://zhuanlan.zhihu.com/p/683934717
end
谈思汽车媒体门户
精品活动推荐
AutoSec系列沙龙
专业社群
部分入群专家来自:
新势力车企:
特斯拉、理想、极氪、小米、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯……
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚……
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用……
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、潍柴集团、地平线、紫光同芯、字节跳动、……
二级供应商(500+以上):
中科数测、ETAS、BlackDuck、NXP、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、加特兰微电子、浙江大学……
人员占比
公司类型占比
文章
不要错过哦,这可能是汽车网络安全产业最大的专属社区!
关于涉嫌仿冒AutoSec会议品牌的律师声明
一文带你了解智能汽车车载网络通信安全架构
网络安全:TARA方法、工具与案例
汽车数据安全合规重点分析
浅析汽车芯片信息安全之安全启动
域集中式架构的汽车车载通信安全方案探究
系统安全架构之车辆网络安全架构
车联网中的隐私保护问题
智能网联汽车网络安全技术研究
AUTOSAR 信息安全框架和关键技术分析
AUTOSAR 信息安全机制有哪些?
信息安全的底层机制
汽车网络安全
Autosar硬件安全模块HSM的使用
首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:谈思实验室 《汽车网络安全之 AUTOSAR – SHE 密钥更新》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论