[发明专利]一种CAN总线中ECU安全通信的方法有效
申请号: | 201611180468.9 | 申请日: | 2016-12-20 |
公开(公告)号: | CN106790053B | 公开(公告)日: | 2019-08-27 |
发明(设计)人: | 韩牟;万爱兰;马世典 | 申请(专利权)人: | 江苏大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L9/08;H04L9/06;H04L12/40 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212013 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 can 总线 ecu 安全 通信 方法 | ||
1.一种CAN总线中ECU安全通信的方法,其特征在于,包括以下步骤:
步骤1,建立系统模型:包括电子控制单元ECU、网关电子控制单元GECU以及连接在车辆上的外部设备;
步骤2,网关电子控制单元GECU将会话密钥加载到它的安全存储中:当车辆启动或者更换ECU时,GECU将认证密钥ki和长期对称密钥Gk加载到安全存储中,并将安装在车辆上的ECU的数量N记录下来;
步骤3,GECU对CAN总线中的每个ECU进行会话密钥分发:启动车辆之后,每个ECU轮流等待GECU分发会话密钥,在没有收到会话密钥之前,ECU之间不进行通信;
具体步骤如下:
第一步:ECUi选择随机数Ri,并且将它传输给GECU;
第二步:GECU选择随机数Seed1,用ki对IDi,IDGECU,Ri以及Seed1加密生成MAC1,并且将它们传输给具有Seed1的ECUi,随后ECUi认证MAC1,并计算会话密钥:KDFGK(Seed1)=EK1||AK1||KEK1||UK;
第三步:ECUi用ki对IDi,Seed1加密生成MAC2;用AK1对IDi,EK1,AK1,KEK1,KGK1和UK加密生成MAC3,并将MAC2和MAC3一起传输给GECU;
第四步:GECU认证MAC2,通过验证MAC2,确认ECUi是否正确接收Seed1,在认证MAC2之后,GECU用第二步的方法计算会话密钥;
第五步:在生成会话密钥之后,GECU认证MAC3,通过认证MAC3,确认ECUi是否正确地生成会话密钥;
步骤4,接受方ECUr对发送方ECUs发送的加密数据帧进行认证:ECUs使用AES算法加密两个CAN数据帧,并为数据帧生成MAC值,ECUr对MAC进行认证和解密;
步骤5,GECU对加密密钥EKk和认证密钥AKk进行更新,主要分为车内ECU密钥更新、释放外部设备连接时的密钥更新两个阶段;
具体步骤如下:
第一,车内ECU密钥更新阶段,GECU如下执行每个预定义周期(T)的密钥更新,其步骤如下:
第一步:选择随机值Seedk+1,GECU生成密钥请求消息并将其广播到车内CAN,这个消息如下:
第二步:接收密钥请求消息的每个ECUi使用AKk验证MAC和KEKk解密密文(C);然后,ECUi使用预定义函数KDF得到在第k+1个会话中使用的会话密钥,每个数据帧计数器值初始化为0;
第三步:在第二步之后,每个ECUi生成密钥回复消息,并将其发送到GECU以检查他们是否正确地接收到密钥请求消息:
第四步:在确认正确接收到密钥请求消息之后,GECU将ECUi的每个数据帧计数器初始化为零;当GECU初始化自己的数据帧计数器时,密钥更新阶段完成;
第二,释放外部设备连接时的密钥更新阶段,如果外部设备和车辆之间的连接被终止,则GECU如下执行会话密钥更新过程保证安全,其步骤如下:
第一步:GECU生成随机值Seednew,然后使用UK生成密钥请求消息:
GECU将密钥请求消息广播到车载CAN;
第二步:接收密钥请求消息的每个ECUi分别使用AKk和UK执行MAC的验证和解密密文(C);其余步骤与车内ECU密钥更新阶段相同;
步骤6,当车辆与外部设备连接时,设计了附加认证和密钥分配的方法,保证所接入的外部设备的合法性;具体的附加认证和密钥分配的方法如下:
在第K次会话中,外部设备认证和会话密钥分发步骤如下:
第一步:将外部设备连接到车辆之后,外部设备向GECU发送认证请求;
第二步:在接收到请求后,GECU生成随机数r1及r1在P上的签名;然后,使用它的证书将这些值发送到外部设备;
第三步:如果成功验证GECU发送的证书和签名,则外部设备生成随机数r2和r2在P上的签名;然后它用自己的证书把这些值传给GECU;在完成传输之后,外部设备生成临时会话密钥SK并且将r2在P上的签名去掉;
第四步:验证外部设备发送的证书和签名之后,GECU生成临时会话密钥SK并且将r1在P上的签名去掉;然后,GECU用SK加密Seedk并将加密后的结果发送到外部设备;外部设备使用Seedk生成在第k个会话中使用的会话密钥,然后利用这个会话密钥进行通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611180468.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硫磺剪切分散装置
- 下一篇:微生物菌肥生产用磨浆机