(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210554414.3
(22)申请日 2022.05.20
(71)申请人 南京航空航天大 学
地址 210016 江苏省南京市秦淮区御道街
29号
(72)发明人 韩皓 钱慧萍 朱小军 张凌菁
(74)专利代理 机构 江苏圣典律师事务所 32 237
专利代理师 于瀚文
(51)Int.Cl.
H04L 9/06(2006.01)
H04L 9/08(2006.01)
H04L 9/32(2006.01)
H04L 9/40(2022.01)
(54)发明名称
一种CAN总线安全保护方法、 装置和存储介
质
(57)摘要
本发明提供了一种CAN总线安全保护方法、
装置和存储介质, 设计了一个轻量级的安全增强
CAN总线系统, 对总线上的数据帧实现ID匿名发
送和数据字段混淆双重 保护, 使总线信息在传输
过程中仅被互相认证的发送和接收方识别接收
并解码。 本发明包括: 发送方生成随机数并在总
线中发送会话初始帧; 接收方接收会话初始帧并
验证发送方身份; 双方协商沟通会话密钥以及后
续的哈希密钥链; 双方使用哈希密钥链进行后续
通话数据帧的ID匿名连续更新; 发送方同时使用
密钥链和组合编码方案对数据字段进行洗牌置
换; 接收方使用密钥链和组合解码技术获取原始
数据并执 行。
权利要求书3页 说明书7页 附图2页
CN 114938265 A
2022.08.23
CN 114938265 A
1.一种CAN总线安全保护方法, 其特 征在于, 包括以下步骤:
步骤1, 发送方电子控制单元ECU生成随机数并在CAN总线中发送会话初始帧以表明会
话启动;
接收方接收会话初始帧并验证发送方身份, 发送方和接收方协商沟通会话密钥并在各
自ECU中计算由通信密钥组成的哈希密钥链;
步骤2, 发送方和接收方使用由通信密钥组成的哈希密钥链进行会话通信过程中数据
帧的ID匿名连续更新, 发送方使用计算完成的匿名ID发送帧至总线, 接收方提前计算期望
的匿名ID并在接受后更新 为下一个匿名ID;
步骤3, 发送方使用循环冗余校验CRC计算原始数据校验和并置于数据帧CRC字段中, 并
使用哈希密钥链和组合编解码方案对原 始数据字段进行洗牌置换后发送;
步骤4, 接收方使用与发送方实现数据置换时对应的哈希密钥链和逆向组合编解码方
案获取原 始数据, 进行完整性检查。
2.根据权利要求1所述的方法, 其特征在于, 步骤1中, 所述会话初始帧所携带的随机数
由发送方电子控制单元ECU使用随机数生成函数结合发送 时间戳在本地生成, 并在初始帧
中共享其他参数, 所述其他参数包括会话的最大帧数和随机化的粒度; 会话初始帧中的哈
希输出由会话参数结合与 原始ID绑定的密钥计算得到, 其中原始 ID是发送方电子控制单元
ECU和接收方电子控制单元ECU在不进行匿名ID通信时所使用的通信ID, 会话参数由发送方
自行指定, 密钥只由通信的发送方电子控制单元ECU和接收方电子控制单元ECU事前进 行协
商并存储, 不在总线中发送;
当发送方决定刷新会话时, 在总线上再次发送会话初始帧以实现新会话的开启, 此时
携带上一个会话的匿名ID来防止 重放攻击。
3.根据权利要求2所述的方法, 其特征在于, 步骤1中, 当接收方收到会话初始帧时, 结
合接收方存储的与原始ID绑定的密钥及会话初始帧中所携带的参数进行相同的哈希输出
计算, 如果计算结果与会话初始帧中的哈希输出字段数据相同, 则接 收方成功实现发送方
身份认证, 否则将在总线中发出主动错 误标志, 通知总线认证失败;
认证成功后发送方和接收方将共同计算当前会话的会话密钥, 会话密钥是结合随机
数、 会话数和发送方和接收方保存的与原 始ID绑定的密钥进行哈希计算。
4.根据权利要求3所述的方法, 其特征在于, 步骤2中, 通信密钥与数据帧一一对应, 由
会话密钥进行链式哈希计算得到, 发送方和接 收方从原始ID出发, 结合链式前进的通信密
钥实现匿名动态ID链的哈希变化;
如果接收方未收到期望的帧的时间超过阈值, 开始错误恢复方法: 帧过滤器被配置为
接收所有总线 上的帧, 在接收方电子控制单元ECU中使用链式 向后计算后续期 望收到的ID,
并将后续期望收到的ID存储为集合; 如果捕获的ID在集合中则更新帧过滤器; 如果会话内
恢复失败, 等到下一次发送方发送会话初始帧时, 如果其余接 收方未发出错误标志则接 收
方直接计算会话密钥进行后续 通信。
5.根据权利要求4所述的方法, 其特征在于, 步骤3 中, 发送方对准备发送的原始数据进
行CRC校验并放入数据帧中, 随后对原始数据比特串进行位置数组编码并利用组合数求和
公式得到位置数组对应的数值索引; 基于当前帧对应的通信密钥实现索引的正向偏移; 利
用逆向方案解码索引得到 洗牌后的比特串, 放入数据帧的数据字段中发送。权 利 要 求 书 1/3 页
2
CN 114938265 A
26.根据权利要求5所述的方法, 其特 征在于, 步骤3具体包括如下步骤:
步骤3‑1, 发送方首先对原始数据字段进行编码: 设定原始数据是长为N的比特串s, 将
比特串s表示成位置数组Is:
Is=[Is(1),Is(2)…Is(K)]
其中K表示比特串中1的个数, 数组中的值Is(i)代表该比特串第i个1所在的位置, i∈
[1,K], Is(i)∈[0,N ‑1];
发送方得到表述数据字段的位置数组后使用如下组合数的求和公式将数据字段编码
成索引indexs, 根据公式得到
步骤3‑2, 对indexs进行基于当前帧的通信密钥
的偏移, 使用取模mod操作来得到新
索引值index′s:
步骤3‑3, 对偏移后的新索引值in dex′s进行解码, 恢复成比特串形式, 解码过程与编码
过程相反, 是将新索引值计算得新位置数组I ′s再恢复成比特串的过程, 从当前最大二项式
系数
出发, 如果当前索引值index ′s大于等于所述二项式系数
将当前位置加入
到新位置数组I ′s中, 表示当前位置K被比特串选定为1, 并将索引值减去二项式系数
并
更新, 同时递减二项式系数
的上下值; 否则只递减N去比较下一个二项式系数值; 直至
当前索引值 index′s被减为0时停止计算, 并将新 位置数组N ′s转化成比特串;
步骤3‑4, 接收方通过匿名ID识别接收到期望的帧后, 采用步骤3 ‑1~步骤3 ‑3的逆向方
法, 即将CAN帧数据字段的值编码成索引, 逆向偏移当前帧对应的通信密钥得到原始索引
值, 再对原 始索引值进行解码实现数据字段的逆向洗牌, 还原数据内容。
7.根据权利要求6所述的方法, 其特征在于, 步骤4中, 接受方在总线中监听到ID为其所
期望接收的期 望帧后, 选择接受所述期望帧并对接收到的数据帧中数据比特串进 行逆向洗
牌操作, 先对原始数据比特串进行位置编码得到洗牌后的数值索引, 逆向偏移与所述期望
帧对应的通信密钥获得原 始索引并再次位置解码得到原 始数据比特串。
8.根据权利要求7所述的方法, 其特征在于, 步骤4还包括: 对逆向洗牌得到的原始数据
计算CRC校验和, 并与数据帧中CRC字段所携带的校验和比较以得到数据的真实性, 如果真
实则进行 数据内容 解析并执 行, 否则在总线中发出错 误信号让发送方重新发送数据信息 。
9.一种CAN总线安全保护装置, 其特 征在于, 包括:
会话初始化模块, 用于, 控制发送方电子控制单元ECU生成随机数并在CAN总线中发送
会话初始帧以表明会话启动; 接收方接 收会话初始帧并验证发送方身份, 发送方和接 收方
协商沟通会话密钥并在各自E CU中计算由通信密钥组成的哈希密钥链
数据更新模块, 用于, 控制 发送方和接收方使用由通信密钥组成的哈希密钥链进行会
话通信过程中数据帧的ID匿名连续更新, 发送方使用计算完成的匿名ID发送帧至总线, 接
收方提前计算期望的匿名ID并在接受后更新 为下一个匿名ID;
冗余校验计算模块, 用于, 控制发送方使用循环冗余校验CRC计算原始数据 校验和并置权 利 要 求 书 2/3 页
3
CN 114938265 A
3
专利 一种CAN总线安全保护方法、装置和存储介质
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:12:58上传分享