【技术实现步骤摘要】
基于代理重加密机制的自动驾驶车车内消息重加密方法
[0001]本专利技术属于车辆通信技术,具体涉及一种基于代理重加密机制的自动驾驶车车内消息重加密方法。
技术介绍
[0002]为使人们可以更智能、安全、舒适的出行,自动驾驶汽车研发应运而生,随之而来地,自动驾驶的安全性也受到了广泛的关注。
[0003]自动驾驶汽车的车内通信与普通汽车相比更加复杂与繁忙,其中具有许多通过不同总线(如控制器局域网(CAN)、FlexRay等)互连的电子控制单元(ECU)。不同总线之间由网关作为协议桥以促进子网间的数据传输。
[0004]在车内,CAN总线是最常用的一种总线,CAN具有广播性质,没有任何加密,也不包含验证字段,数据包将通过总线被广播到所有节点,入侵车内网的恶意节点因此可以侦听所有通信,或将携带恶意代码的数据包广播到其他组件,这些入侵可能导致极严重的后果,甚至对车上的乘客来说可能是致命的。此外,自动驾驶车辆需要有应对单点故障或网络攻击的冗余设计,冗余配置应确保在任何情况下都保持车辆的最低控制权,从而保证乘客的人身安全。
[0005]因此,自动驾驶汽车上通常会安装一组备用ECU(如加速ECU、转向ECU、制动ECU等)和一种冗余总线,这种通信方式对车内网消息通信来说存在不安全性。
[0006]目前,已经有一些方案在车内网中使用密码学技术对消息进行加密和认证。遗憾的是,传统的车内网密码学方案没有考虑到自动驾驶车辆中总线和ECU双冗余的配置,这使得传统方案并不适用于自动驾驶车辆。此外,还没有专门针对自 ...
【技术保护点】
【技术特征摘要】
1.一种基于代理重加密机制的自动驾驶车车内消息重加密方法,其特征在于:包括以下步骤:(1)准备过程:(1.1)初始化:由制造商OEM生成所需公共参数(G,g,q,n1,n2,h1,h2,h3,h4,h5),并由所有电子控制单元ECU保存公共参数;其中,G为循环乘法群,也是Zq的子群;g是G的生成元,κ为预设安全参数,q为G的阶且是长度为κ的质数,n1和n2是由κ确定的两个安全参数,h1,h2,h3,h4和h5为对应的哈希函数;(1.2)密钥生成:所述电子控制单元ECU包括没有备份的ECU和有备份的ECU,所有电子控制单元ECU均生成生成各自公钥pk和私钥sk,其中有备份的ECU通过密钥推导函数KDF计算加密密钥CK和认证密钥AK;(1.3)生成重加密密钥:有备份的ECU预先生成将来使用的重加密密钥,并以安全的方式将其发送给GECU,GECU对收到的重加密密钥进行验证和保存;(2)通信过程:(2.1)加密消息:ECU未出现故障的情况下,发送方ECU
i
向接收方ECU
j
发送消息m前先对该消息m进行加密,得到密文c;(2.2)解密一级密文:在正常情况下,接收方ECU
j
对接收到的消息进行解密,得到明文payload;(2.3)重加密:若判断为异常,则GECU对收到的消息进行重加密;(2.4)解密二级密文:接收方ECU
j
对应的备份ECU
k
收到GECU发来的重加密消息后,首先哈希函数检查报文的完整性,如果没有被篡改,则判断时间戳T5和身份是否满足要求;若均验证通过,则解密c
’
得到明文,ECU
k
与冗余系统中的其他ECU通信。2.根据权利要求1所述的基于代理重加密机制的自动驾驶车车内消息重加密方法,其特征在于:所述步骤(1.1)中相应参数具体如下:制造商选择五个哈希函数制造商选择五个哈希函数消息空间为GECU以及需预先定义重加密密钥的ECU内均存储由密钥推导函数KDF,且所有ECU均有一个长期密钥LK,而GECU则存储所有ECU的长期密钥和其对应身份ID;公共参数中还有另一个质数p满足q|p
‑
1。3.根据权利要求1所述的基于代理重加密机制的自动驾驶车车内消息重加密方法,其特征在于:所述步骤(1.2)生成密钥的具体方法为:(1.2.1)每次启动车辆时,任一ECU
i
选择则该ECU
i
的私钥为sk
i
=(sk
i1
,sk
i2
),ECU
i
计算其公钥(1.2.2)每次车辆运行时,任一拥有备份的ECU立即选择一个随机数nonce并公开它;并使用KDF计算其加密密钥CK和认证密钥AK:KDF(LK||nonce)=AK||CK;(1.2.3)GECU接收随机数nonce,并使用存储的LK和KDF生成AK和CK。4.根据权利要求1所述的基于代理重加密机制的自动驾驶车车内消息重加密方法,其特征在于:所述步骤(1.3)中重加密密钥生成的具体方法为:
(1.3.1)ECU
j
选择随机数σ∈
R
{0,1}
n1
,随机数w∈
R
{0,1}
n2
;每次发送重新加密密钥后,ECU
j
将重新选择这两个随机数;(1.3.2)ECU
j
计算重加密密钥的第一个值随机值s=h(3σ,w),重加密密钥的第二个值重加密密钥的第三个值令ECU
j
到ECU
k
的重加密密钥为rk
j
→
k
=(rk1,rk2,rk3);(1.3.3)ECU
j
将自己的重加密密钥rk
j
→
k
发送给GECU,并进行相互认证,确保GECU接收到正确的重加密密钥;然后GECU将ECU
j
的ID,ECU
k
的ID,ECU
j
的重加密密钥列表<ID
j
、ID
k
、rk
j
→
k
>安全存储;该过程使用AES作为加密算法,使用SHA作为密钥哈希算法;(1.3.4)ECU
j
用CK
j
加密rk
j
→
k
,生成密文σ
j
=E
CKj
(rk
j
→
k
);(1.3.5)ECU
j
得到当前时间戳T1,生成消息认证码MAC1=H
AKj
(ID
j
||σ
j
||T1||I
k
)D,并与请求Req
j
=σ
j
||MAC1一起广播给GECU;(1.3.6)GECU收到请求Req
j
后,首先用ID
j
、σ
j
、T1、ID
k
计算新的MAC值MAC1’
来验证消息;如果MAC1’
和MAC1相等,则判断消息为真实可靠的;然后GECU检查当前时间T...
【专利技术属性】
技术研发人员:崔杰,沈韵,仲红,许艳,张静,应作斌,陈志立,
申请(专利权)人:安徽大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。