CN109921908B - 一种can总线身份认证方法及身份认证系统 - Google Patents

一种can总线身份认证方法及身份认证系统 Download PDF

Info

Publication number
CN109921908B
CN109921908B CN201910112628.3A CN201910112628A CN109921908B CN 109921908 B CN109921908 B CN 109921908B CN 201910112628 A CN201910112628 A CN 201910112628A CN 109921908 B CN109921908 B CN 109921908B
Authority
CN
China
Prior art keywords
authentication
hash value
byte
random number
control end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910112628.3A
Other languages
English (en)
Other versions
CN109921908A (zh
Inventor
罗燕京
刘鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinchangcheng Technology Development Co ltd
Original Assignee
Beijing Renxinzheng Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Renxinzheng Technology Co ltd filed Critical Beijing Renxinzheng Technology Co ltd
Priority to CN201910112628.3A priority Critical patent/CN109921908B/zh
Publication of CN109921908A publication Critical patent/CN109921908A/zh
Application granted granted Critical
Publication of CN109921908B publication Critical patent/CN109921908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种CAN总线身份认证方法及身份认证系统,该身份认证方法包括以下步骤:车辆第一控制端生成8字节认证指令数据,发送至车辆第二控制端;车辆第二控制端接收8字节认证指令数据,并验证该8字节认证指令数据;车辆第二控制端生成8字节认证响应指令数据,发送至车辆第一控制端;车辆第一控制端接收8字节认证响应指令数据,并验证该8字节认证响应指令数据,若验证通过,则完成认证。本发明的CAN总线身份认证方法及身份认证系统基于标识认证技术实现密钥系统的登录管控、密钥数据的签名,可实现密钥操作人员的身份认证,密钥数据的合法性认证,具有存储量小、计算速度快、安全可靠的特点。

Description

一种CAN总线身份认证方法及身份认证系统
技术领域
本发明涉及CAN总线身份认证领域,尤其涉及一种CAN总线身份认证方法及身份认证系统。
背景技术
车载ECU(Electronic Control Unit,电子控制单元)以总线方式连接,ECU间的通信是通过将数据包广播到总线上的所有组件,由组件自行决定是否接收数据包,这样虽然有效解决了由于ECU数量增加而带来的线束增多的问题,然而也为车载信息系统安全带来了巨大的安全隐患,其中以CAN网络的安全问题最为突出。由于CAN网络作为车载信息系统核心ECU的链接网络,通过其传输协议可知,CAN数据包中没有目的地址和源地址,这意味着任意ECU都可以访问CAN总线网络中的核心ECU例如发动机ECU,转向器ECU等。所以只要攻击者能获得CAN网络的执行权限就能够向ECU发送伪造的数据包,修改ECU的行为,从而实现对车辆的完全控制。
由上可知车载ECU的安全直接决定着整个车载信息系统的安全,可以说没有车载ECU安全就没有车主信息系统安全。然而,由于缺少对车载ECU的身份认证机制,使得CAN总线很容易成为被黑客攻击的地方。长期以来,几乎整个汽车界都有这样的共识:CAN总线是无法保护的。这主要包括两方面原因,其一:ECU的计算能力不足;其二,CAN总线协议带宽有限。一个标准的CAN数据帧只能携带8字节的数据,但AES加密算法只能出来16字节的数据区块。日本Trillium公司在2015年推出了SecureCAN安全硬件产品,采用了Diffie-Hellman密钥交换算法来生成密钥。但由于算法性能,硬件模块需要所有ECU厂家硬件的改造等等问题导致该方案至今未能推行。
因此,现有技术有以下缺陷:第一,算法的速度达不到CAN总线上的强实时性要求;第二,底层硬件模块的添加增加成本同时增加ECU厂家硬件改版的难度。
因此,提供一种CAN总线身份认证方法及身份认证系统。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的CAN总线身份认证方法及身份认证系统,利用车辆第一控制端与车辆第二控制端之间传输并验证8字节认证指令数据和8字节认证响应指令数据来解决目前CAN总线上节点间认证的安全隐患,提高CAN网络数据安全,且不影响CAN总线上数据的实时性。
根据本发明的一个方面,提供一种CAN总线身份认证方法,该CAN总线用于车辆第一控制端和车辆第二控制端之间的通信,包括以下步骤:
车辆第一控制端生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息编码计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
车辆第二控制端生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息编码计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息编码计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
进一步地,第三计数器累计数与第一计数器累计数的差值为1。
进一步地,上述CAN总线身份认证方法,还包括:
车辆第一控制端生成第一3字节随机数和第一1字节计数器累计数,根据第一1字节计数器累计数与认证消息编码计算第一认证密钥,根据第一3字节随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一4字节结果哈希值,第一3字节随机数、第一1字节计数器累计数和第一4字节结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二3字节随机数、第二1字节计数器累计数和第二4字节结果哈希值,根据第二1字节计数器累计数与认证消息编码计算第二认证密钥,根据第二3字节随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三4字节结果哈希值,与解析出的第二4字节结果哈希值进行对比,若相同,则验证通过;
车辆第二控制端生成第三3字节随机数和第三1字节计数器累计数,根据第三1字节计数器累计数与认证消息编码计算第三认证密钥,根据第三3字节随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四4字节结果哈希值,第三3字节随机数、第三1字节计数器累计数和第四4字节结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四3字节随机数、第四1字节计数器累计数和第五4字节结果哈希值,根据第四1字节计数器累计数与认证消息编码计算第四认证密钥,根据第四3字节随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六4字节结果哈希值,与解析出的第五4字节结果哈希值进行对比,若相同,则完成认证。
进一步地,第一哈希值的前四个字节组成第一结果哈希值,第二哈希值的前四个字节组成第三结果哈希值,第三哈希值的前四个字节组成第四结果哈希值,第四哈希值的前四个字节组成第六结果哈希值。
进一步地,采用私有映射算法根据第一计数器累计数与认证消息编码计算第一认证密钥,
采用私有映射算法根据第二计数器累计数与认证消息编码计算第二认证密钥,
采用私有映射算法根据第三计数器累计数与认证消息编码计算第三认证密钥,
采用私有映射算法根据第四计数器累计数与认证消息编码计算第四认证密钥。
进一步地,第一随机数和第三随机数均为车辆电源电压值。
根据本发明的另一方面,提供一种CAN总线身份认证系统,该CAN总线用于车辆第一控制端和车辆第二控制端之间的通信,包括:车辆第一控制端和车辆第二控制端,其中,车辆第一控制端包括认证启动模块和认证响应验证模块,车辆第二控制端包括认证验证模块和认证响应模块,
认证启动模块,用于生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
认证验证模块,用于接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息编码计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
认证响应模块,用于生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息编码计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
认证响应验证模块,用于接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息编码计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
进一步地,认证响应模块中的第三计数器累计数与认证启动模块中的第一计数器累计数的差值为1。
进一步地,认证启动模块,还用于车辆第一控制端生成第一3字节随机数和第一1字节计数器累计数,根据第一1字节计数器累计数与认证消息编码计算第一认证密钥,根据第一3字节随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一4字节结果哈希值,第一3字节随机数、第一1字节计数器累计数和第一4字节结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
认证验证模块,还用于车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二3字节随机数、第二1字节计数器累计数和第二4字节结果哈希值,根据第二1字节计数器累计数与认证消息编码计算第二认证密钥,根据第二3字节随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三4字节结果哈希值,与解析出的第二4字节结果哈希值进行对比,若相同,则验证通过;
认证响应模块,还用于车辆第二控制端生成第三3字节随机数和第三1字节计数器累计数,根据第三1字节计数器累计数与认证消息编码计算第三认证密钥,根据第三3字节随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四4字节结果哈希值,第三3字节随机数、第三1字节计数器累计数和第四4字节结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
认证响应验证模块,还用于车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四3字节随机数、第四1字节计数器累计数和第五4字节结果哈希值,根据第四1字节计数器累计数与认证消息编码计算第四认证密钥,根据第四3字节随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六4字节结果哈希值,与解析出的第五4字节结果哈希值进行对比,若相同,则完成认证。
进一步地,在认证启动模块中,第一哈希值的前四个字节组成第一结果哈希值;
在认证验证模块中,第二哈希值的前四个字节组成第三结果哈希值;
在认证响应模块中,第三哈希值的前四个字节组成第四结果哈希值;
在认证响应验证模块中,第四哈希值的前四个字节组成第六结果哈希值。
本发明与现有技术相比具有以下的优点:
1.本发明的CAN总线身份认证方法及身份认证系统基于标识认证技术实现密钥系统的登录管控、密钥数据的签名,可实现密钥操作人员的身份认证,密钥数据的合法性认证,具有存储量小、计算速度快、安全可靠的特点。
2.本发明的CAN总线身份认证方法及身份认证系统基于HMAC的身份认证算法,在实现身份认证和数据加密的同时对CAN总线的性能消耗降到最低。
3.本发明的CAN总线身份认证方法及身份认证系统不对CAN协议本身做任何改动,完全在CAN应用层集成,用户可扩展性强。
附图说明
以下结合附图和实施例对本发明作进一步说明。
图1是本发明的CAN总线身份认证方法步骤图;
图2是本发明的CAN总线身份认证方法流程图;
图3是本发明的CAN总线身份认证系统框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1是本发明的CAN总线身份认证方法步骤图,如图1所示,本发明提供的CAN总线身份认证方法,其中,该CAN总线用于车辆第一控制端和车辆第二控制端之间的通信,包括以下步骤:
车辆第一控制端生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息编码计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
车辆第二控制端生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息编码计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息编码计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
车辆第一控制端和车辆第二控制端为ECU节点。
例如,CAN总线身份认证方法具体实现如下:车辆第一控制端生成第一3字节随机数和第一1字节计数器累计数,根据第一1字节计数器累计数与认证消息编码计算第一认证密钥,根据第一3字节随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一4字节结果哈希值,第一3字节随机数、第一1字节计数器累计数和第一4字节结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二3字节随机数、第二1字节计数器累计数和第二4字节结果哈希值,根据第二1字节计数器累计数与认证消息编码计算第二认证密钥,根据第二3字节随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三4字节结果哈希值,与解析出的第二4字节结果哈希值进行对比,若相同,则验证通过;
车辆第二控制端生成第三3字节随机数和第三1字节计数器累计数,根据第三1字节计数器累计数与认证消息编码计算第三认证密钥,根据第三3字节随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四4字节结果哈希值,第三3字节随机数、第三1字节计数器累计数和第四4字节结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四3字节随机数、第四1字节计数器累计数和第五4字节结果哈希值,根据第四1字节计数器累计数与认证消息编码计算第四认证密钥,根据第四3字节随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六4字节结果哈希值,与解析出的第五4字节结果哈希值进行对比,若相同,则完成认证。
其中,第三计数器累计数与第一计数器累计数的差值为1。第一哈希值的前四个字节组成第一结果哈希值,第二哈希值的前四个字节组成第三结果哈希值,第三哈希值的前四个字节组成第四结果哈希值,第四哈希值的前四个字节组成第六结果哈希值。采用私有映射算法根据第一计数器累计数与认证消息编码计算第一认证密钥,采用私有映射算法根据第二计数器累计数与认证消息编码计算第二认证密钥,采用私有映射算法根据第三计数器累计数与认证消息编码计算第三认证密钥,采用私有映射算法根据第四计数器累计数与认证消息编码计算第四认证密钥。第一随机数和第三随机数均可以为车辆电源电压值。
具体地,有认证需求的ECU(如动力防盗系统)可主动发起ECU间的身份认证,ECU间身份认证流程如图2所示:
A:生成认证指令数据
发起认证请求的ECU生成随机数,其中前为随机数R1,最后一个字节为计数器COUNT,通过私有映射算法f,由认证消息ID,计数器COUNT算出矩阵坐标,即f(COUNT,ID)=(x,y)。(x,y)标识矩阵坐标,该点对应的值为认证密钥K。对随机数R1|K进行哈希算法,取摘要值的前作为结果hash。组成发送的认证指令数据:R1|COUNT|hash(一共8个字节)。
B:验证认证指令数据
接收到认证请求的ECU从指令中取出随机数R1,计数器COUNT,通过私有映射算法f(COUNT,ID)得到矩阵坐标,从矩阵坐标中取出认证密钥K。对随机数R1|K进行HASH算法,取出摘要值的前,与收到的hash比较。相同则验证通过,否则验证失败。
C:生成认证响应指令数据
ECU验证认证请求通过后,产生随机数R2,将计数器COUTN加1得到COUNT1,通过私有映射算法f(COUNT1,ID)得到矩阵坐标,该点对应的值为认证密钥K1。对随机数R2|K1进行HASH算法,取出摘要值的前作为结果hash1。组成认证响应指令数据:R2|COUNT1|hash(一共8个字节)。
D:验证认证响应指令数据
同流程B
值得注意的是,该认证过程发生在节点初始化之后,正常通信之前;ECU节点之间的认证是双向认证;只有需要身份认证需求的节点间通信才需要进行身份认证。
本发明的CAN总线身份认证方法基于标识认证技术实现密钥系统的登录管控、密钥数据的签名,可实现密钥操作人员的身份认证,密钥数据的合法性认证,具有存储量小、计算速度快、安全可靠的特点,并且,本发明的CAN总线身份认证方法基于HMAC的身份认证算法,在实现身份认证和数据加密的同时对CAN总线的性能消耗降到最低,另外,本发明的CAN总线身份认证方法不对CAN协议本身做任何改动,完全在CAN应用层集成,用户可扩展性强。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图3是本发明的CAN总线身份认证系统框图,如图3所示,本发明提供的CAN总线身份认证系统,该CAN总线用于车辆第一控制端和车辆第二控制端之间的通信,包括:车辆第一控制端和车辆第二控制端,其中,车辆第一控制端包括认证启动模块和认证响应验证模块,车辆第二控制端包括认证验证模块和认证响应模块,
认证启动模块,用于生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
认证验证模块,用于接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息编码计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
认证响应模块,用于生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息编码计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
认证响应验证模块,用于接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息编码计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
进一步地,认证响应模块中的第三计数器累计数与认证启动模块中的第一计数器累计数的差值为1。
进一步地,在认证启动模块中,第一哈希值的前四个字节组成第一结果哈希值;
在认证验证模块中,第二哈希值的前四个字节组成第三结果哈希值;
在认证响应模块中,第三哈希值的前四个字节组成第四结果哈希值;
在认证响应验证模块中,第四哈希值的前四个字节组成第六结果哈希值。
进一步地,在认证启动模块中,采用私有映射算法根据第一计数器累计数与认证消息编码计算第一认证密钥,
在认证验证模块中,采用私有映射算法根据第二计数器累计数与认证消息编码计算第二认证密钥,
在认证响应模块中,采用私有映射算法根据第三计数器累计数与认证消息编码计算第三认证密钥,
在认证响应验证模块中,采用私有映射算法根据第四计数器累计数与认证消息编码计算第四认证密钥。
进一步地,认证启动模块中的第一随机数和认证响应模块中的第三随机数均为车辆电源电压值。
本发明的CAN总线身份认证系统基于标识认证技术实现密钥系统的登录管控、密钥数据的签名,可实现密钥操作人员的身份认证,密钥数据的合法性认证,具有存储量小、计算速度快、安全可靠的特点,并且,本发明的CAN总线身份认证系统基于HMAC的身份认证算法,在实现身份认证和数据加密的同时对CAN总线的性能消耗降到最低,另外,本发明的CAN总线身份认证系统不对CAN协议本身做任何改动,完全在CAN应用层集成,用户可扩展性强。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种CAN总线身份认证方法,该CAN总线用于车辆第一控制端和车辆第二控制端之间的通信,其特征在于,包括以下步骤:
车辆第一控制端生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息ID计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息ID计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
车辆第二控制端生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息ID计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息ID计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证;
车辆第一控制端和车辆第二控制端为ECU节点。
2.根据权利要求1所述的CAN总线身份认证方法,其特征在于,第三计数器累计数与第一计数器累计数的差值为1。
3.根据权利要求2所述的CAN总线身份认证方法,其特征在于,还包括:
车辆第一控制端生成第一3字节随机数和第一1字节计数器累计数,根据第一1字节计数器累计数与认证消息ID计算第一认证密钥,根据第一3字节随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一4字节结果哈希值,第一3字节随机数、第一1字节计数器累计数和第一4字节结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二3字节随机数、第二1字节计数器累计数和第二4字节结果哈希值,根据第二1字节计数器累计数与认证消息ID计算第二认证密钥,根据第二3字节随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三4字节结果哈希值,与解析出的第二4字节结果哈希值进行对比,若相同,则验证通过;
车辆第二控制端生成第三3字节随机数和第三1字节计数器累计数,根据第三1字节计数器累计数与认证消息ID计算第三认证密钥,根据第三3字节随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四4字节结果哈希值,第三3字节随机数、第三1字节计数器累计数和第四4字节结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四3字节随机数、第四1字节计数器累计数和第五4字节结果哈希值,根据第四1字节计数器累计数与认证消息ID计算第四认证密钥,根据第四3字节随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六4字节结果哈希值,与解析出的第五4字节结果哈希值进行对比,若相同,则完成认证。
4.根据权利要求3所述的CAN总线身份认证方法,其特征在于,
第一哈希值的前四个字节组成第一结果哈希值,第二哈希值的前四个字节组成第三结果哈希值,第三哈希值的前四个字节组成第四结果哈希值,第四哈希值的前四个字节组成第六结果哈希值。
5.根据权利要求4所述的CAN总线身份认证方法,其特征在于,采用私有映射算法根据第一计数器累计数与认证消息ID计算第一认证密钥,
采用私有映射算法根据第二计数器累计数与认证消息ID计算第二认证密钥,
采用私有映射算法根据第三计数器累计数与认证消息ID计算第三认证密钥,
采用私有映射算法根据第四计数器累计数与认证消息ID计算第四认证密钥。
6.根据权利要求5所述的CAN总线身份认证方法,其特征在于,第一随机数和第三随机数均为车辆电源电压值。
7.一种CAN总线身份认证系统,该CAN总线用于车辆第一控制端和车辆第二控制端之间的通信,其特征在于,包括:车辆第一控制端和车辆第二控制端,车辆第一控制端和车辆第二控制端为ECU节点;其中,车辆第一控制端包括认证启动模块和认证响应验证模块,车辆第二控制端包括认证验证模块和认证响应模块,
认证启动模块,用于生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息ID计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
认证验证模块,用于接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息ID计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
认证响应模块,用于生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息ID计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
认证响应验证模块,用于接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息ID计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
8.根据权利要求7所述的CAN总线身份认证系统,其特征在于,
认证响应模块中的第三计数器累计数与认证启动模块中的第一计数器累计数的差值为1。
9.根据权利要求8所述的CAN总线身份认证系统,其特征在于,
认证启动模块,还用于车辆第一控制端生成第一3字节随机数和第一1字节计数器累计数,根据第一1字节计数器累计数与认证消息ID计算第一认证密钥,根据第一3字节随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一4字节结果哈希值,第一3字节随机数、第一1字节计数器累计数和第一4字节结果哈希值组成8字节认证指令数据,发送至车辆第二控制端;
认证验证模块,还用于车辆第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二3字节随机数、第二1字节计数器累计数和第二4字节结果哈希值,根据第二1字节计数器累计数与认证消息ID计算第二认证密钥,根据第二3字节随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三4字节结果哈希值,与解析出的第二4字节结果哈希值进行对比,若相同,则验证通过;
认证响应模块,还用于车辆第二控制端生成第三3字节随机数和第三1字节计数器累计数,根据第三1字节计数器累计数与认证消息ID计算第三认证密钥,根据第三3字节随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四4字节结果哈希值,第三3字节随机数、第三1字节计数器累计数和第四4字节结果哈希值组成8字节认证响应指令数据,发送至车辆第一控制端;
认证响应验证模块,还用于车辆第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四3字节随机数、第四1字节计数器累计数和第五4字节结果哈希值,根据第四1字节计数器累计数与认证消息ID计算第四认证密钥,根据第四3字节随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六4字节结果哈希值,与解析出的第五4字节结果哈希值进行对比,若相同,则完成认证。
10.根据权利要求9所述的CAN总线身份认证系统,其特征在于,
在认证启动模块中,第一哈希值的前四个字节组成第一结果哈希值;
在认证验证模块中,第二哈希值的前四个字节组成第三结果哈希值;
在认证响应模块中,第三哈希值的前四个字节组成第四结果哈希值;
在认证响应验证模块中,第四哈希值的前四个字节组成第六结果哈希值。
CN201910112628.3A 2019-02-13 2019-02-13 一种can总线身份认证方法及身份认证系统 Active CN109921908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910112628.3A CN109921908B (zh) 2019-02-13 2019-02-13 一种can总线身份认证方法及身份认证系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910112628.3A CN109921908B (zh) 2019-02-13 2019-02-13 一种can总线身份认证方法及身份认证系统

Publications (2)

Publication Number Publication Date
CN109921908A CN109921908A (zh) 2019-06-21
CN109921908B true CN109921908B (zh) 2021-09-10

Family

ID=66961528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910112628.3A Active CN109921908B (zh) 2019-02-13 2019-02-13 一种can总线身份认证方法及身份认证系统

Country Status (1)

Country Link
CN (1) CN109921908B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111049657B (zh) * 2019-12-10 2021-04-20 成都理工大学 一种can总线网络设备节点访问权限管理方法及系统
CN112118095A (zh) * 2020-08-27 2020-12-22 江苏徐工工程机械研究院有限公司 一种工程机械can总线随机数生成方法、系统及身份认证系统
CN113141344B (zh) * 2021-03-11 2022-11-18 江苏大学 一种基于真随机数的车联网隐私保护通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016021623A (ja) * 2014-07-14 2016-02-04 国立大学法人名古屋大学 通信システム、通信制御装置及び不正情報送信防止方法
CN105721161A (zh) * 2016-01-28 2016-06-29 东南大学 一种基于总线的h2-mac消息认证ip核硬件装置
CN106464499A (zh) * 2014-06-05 2017-02-22 Kddi株式会社 通信网络系统、发送节点、接收节点、消息检查方法及计算机程序
CN106790053A (zh) * 2016-12-20 2017-05-31 江苏大学 一种can总线中ecu安全通信的方法
CN108965218A (zh) * 2017-05-25 2018-12-07 华为技术有限公司 一种控制器区域网总线安全通信方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464499A (zh) * 2014-06-05 2017-02-22 Kddi株式会社 通信网络系统、发送节点、接收节点、消息检查方法及计算机程序
JP2016021623A (ja) * 2014-07-14 2016-02-04 国立大学法人名古屋大学 通信システム、通信制御装置及び不正情報送信防止方法
CN105721161A (zh) * 2016-01-28 2016-06-29 东南大学 一种基于总线的h2-mac消息认证ip核硬件装置
CN106790053A (zh) * 2016-12-20 2017-05-31 江苏大学 一种can总线中ecu安全通信的方法
CN108965218A (zh) * 2017-05-25 2018-12-07 华为技术有限公司 一种控制器区域网总线安全通信方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Design of a message authentication protocol for》;Guillaume CAREL;《IEEE》;20181227;全文 *
《基于车载CAN总线网络的身份认证方法研究》;吴尚则;《中国优秀硕士学位论文全文数据库》;20190115;全文 *

Also Published As

Publication number Publication date
CN109921908A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
CN109672538B (zh) 一种轻量级车载总线安全通信方法及安全通信系统
CN106899404B (zh) 基于预共享密钥的车载can fd总线通信系统及方法
US10104094B2 (en) On-vehicle communication system
Radu et al. Leia: Al ightweight auth e nticat i on protocol for can
CN109600350B (zh) 用于车辆网络中的控制器间的安全通信的系统和方法
US10855460B2 (en) In-vehicle computer system, vehicle, key generation device, management method, key generation method, and computer program
US11212087B2 (en) Management system, key generation device, in-vehicle computer, management method, and computer program
Lin et al. Cyber-security for the controller area network (CAN) communication protocol
US11245535B2 (en) Hash-chain based sender identification scheme
CN101536438B (zh) 使用授权令牌分离认证和授权服务的系统和方法
Palaniswamy et al. An efficient authentication scheme for intra-vehicular controller area network
CN109921908B (zh) 一种can总线身份认证方法及身份认证系统
US11546173B2 (en) Methods, application server, IoT device and media for implementing IoT services
CN108616504B (zh) 一种基于物联网的传感器节点身份认证系统及方法
KR102364656B1 (ko) Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법
CN112487408B (zh) 用于车内ecu的安全访问方法、系统及存储介质
CN113613214B (zh) 一种车内消息认证密钥管理方法及可读存储介质
Agrawal et al. CAN-FD-Sec: improving security of CAN-FD protocol
CN111813078B (zh) 一种车辆的安全诊断方法、装置、设备及介质
CN112740617B (zh) 证书列表更新方法及装置
US20220182248A1 (en) Secure startup method, controller, and control system
CN113434837B (zh) 用于设备身份认证的方法、装置及智慧家庭系统
CN117395001B (zh) 一种基于量子密钥芯片的车联网安全通信方法及系统
US20180219873A1 (en) Communication system, count value synchronization method, and count value synchronization program product
CN112182551A (zh) Plc设备身份认证系统和plc设备身份认证方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Luo Yanjing

Inventor after: Liu Peng

Inventor before: Luo Yanjing

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: A1501, 15 / F, No. 22, Zhongguancun Street, Haidian District, Beijing 100089

Patentee after: Beijing xinchangcheng Technology Development Co.,Ltd.

Address before: 100080 room 1505, 15 / F, block B, 3 Haidian Street, Haidian District, Beijing

Patentee before: BEIJING RENXINZHENG TECHNOLOGY CO.,LTD.

CP03 Change of name, title or address