CN109672538B - 一种轻量级车载总线安全通信方法及安全通信系统 - Google Patents
一种轻量级车载总线安全通信方法及安全通信系统 Download PDFInfo
- Publication number
- CN109672538B CN109672538B CN201910112618.XA CN201910112618A CN109672538B CN 109672538 B CN109672538 B CN 109672538B CN 201910112618 A CN201910112618 A CN 201910112618A CN 109672538 B CN109672538 B CN 109672538B
- Authority
- CN
- China
- Prior art keywords
- data
- counter
- accumulated number
- hash value
- authentication
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
Abstract
本发明涉及一种轻量级车载总线安全通信方法及安全通信系统,该安全通信方法包括:第一控制端根据消息数据编码、第一计数器累计数和预存密钥矩阵生成第一会话密钥,与数据域计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;第二控制端对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,与数据域计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密。本发明的方法和系统能够有效验证数据的完整性及杜绝伪造攻击。
Description
技术领域
本发明涉及CAN总线通信领域,尤其涉及一种轻量级车载总线安全通信方法及安全通信系统。
背景技术
车联网系统由车、安装在车上的TBOX终端、TSP服务平台、用户端的手机APP或者PCWEB用户端四部分组成,用户使用手机APP或者WEB用户端,可以从软件的界面对车辆进行控制,例如:下发锁车、开关空调、开关车门车窗等命令,并可以通过手机APP或者是WEB用户端查看车辆的相关信息,进行一些车辆状态查看、故障诊断等。具体过程是用户使用手机APP或者WEB用户端发出的指令通过网络传输到TSP平台,再发送给TBOX终端,TBOX终端通过车辆的CAN总线命令下发给车辆,进行控制。TBOX终端通过CAN(Controller Area Network,控制器局域网络)总线、定位模块、惯性测量传感器模块等采集车辆状态后,通过无线通信网络发送给TSP平台,TSP平台再发送给手机APP或者WEB用户端,客户就可以进行状态查看或者是故障诊断。
车载ECU以总线方式连接,ECU(Electronic Control Unit,电子控制单元)间的通信是通过将数据包广播到总线上的所有组件,由组件自行决定是否接收数据包,这样虽然有效解决了由于ECU数量增加而带来的线束增多的问题,然而也为车载信息系统安全带来了巨大的安全隐患,其中以CAN网络的安全问题最为突出。由于CAN网络作为车载信息系统核心ECU的链接网络,通过其传输协议可知,CAN数据包中没有目的地址和源地址,这意味着任意ECU都可以访问CAN总线网络中的核心ECU例如发动机,转向器等ECU。所以只要攻击者能获得CAN网络的执行权限就能够向ECU发送伪造的数据包,修改ECU的行为,从而实现对车辆的完全控制。由上可知车载ECU的安全直接决定着整个车载信息系统的安全,可以说没有车载ECU安全就没有车主信息系统安全。然而由于现行CAN总线信息数据是以明文方式传输,同时缺少对车载ECU的身份认证机制,使得CAN总线很容易成为被黑客攻击的地方。长期以来,几乎整个汽车界都有这样的共识:CAN总线是无法保护的。有两方面原因,其一:ECU的计算能力不足;其二,CAN总线协议带宽有限。一个标准的CAN数据帧只能携带8BYTE的数据,但AES加密算法只能出来16字节的数据区块。日本Trillium公司在2015年推出了SecureCAN安全硬件产品,采用了Diffie-Hellman密钥交换算法来生成密钥。但由于算法性能,硬件模块需要所有ECU厂家硬件的改造等等问题导致该方案至今未能推行。
目前,现有技术具有以下缺点:第一,算法的速度达不到CAN总线上的强实时性要求;第二,底层硬件模块的添加增加成本同时增加ECU厂家硬件改版的难度。
因此,提供一种轻量级车载总线安全通信方法及安全通信系统。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种轻量级车载总线安全通信方法及安全通信系统,以CPK(Combined PublicKey,组合公钥)密钥生产管理系统和密钥矩阵为基础,实现ECU节点间的身份认证,协商会话密钥和初始计数器同步,解决目前CAN总线上数据明文传输,ECU节点间缺失认证的安全隐患,提高CAN网络数据安全,且不影响CAN总线上数据的实时性。
根据本发明的一个方面,提供一种轻量级车载总线安全通信方法,包括:
第一控制端接收消息数据,并从消息数据解析出消息数据编码,根据消息数据编码判断该消息数据是否需要加密传输;
若需要,则第一控制端根据消息数据编码计算第一计数器累计数,并根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥,并根据第一会话密钥和数据域通过加密算法计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;
第二控制端接收数据帧、消息数据编码和第一计数器累计数,对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,并根据第二会话密钥和数据域通过加密算法计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密,以将消息数据解析为消息。
进一步地,第一控制端和第二控制端均为ECU节点。
进一步地,通过映射算法根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥;
通过映射算法根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥。
进一步地,通过HMAC算法根据第一会话密钥和数据域通过加密算法计算第一密文数据;
通过HMAC算法根据第二会话密钥和数据域通过加密算法计算第二密文数据。
进一步地,上述轻量级车载总线安全通信方法中,第一控制端接收消息数据之后,还包括:第一控制端认证第二控制端。
进一步地,第一控制端认证第二控制端具体实现如下:
第一控制端生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至第二控制端;
第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息编码计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
第二控制端生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息编码计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至第一控制端;
第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息编码计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
进一步地,上述轻量级车载总线安全通信方法,还包括:对密钥矩阵进行更新。
根据本发明的另一方面,提供一种轻量级车载总线安全通信系统,包括:
第一控制端,用于接收消息数据,并从消息数据解析出消息数据编码,根据消息数据编码判断该消息数据是否需要加密传输,若需要,则根据消息数据编码计算第一计数器累计数,并根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥,并根据第一会话密钥和数据域通过加密算法计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;
第二控制端,用于接收数据帧、消息数据编码和第一计数器累计数,对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,并根据第二会话密钥和数据域通过加密算法计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密,以将消息数据解析为消息。
进一步地,第一控制端和第二控制端均为ECU节点。
进一步地,在第一控制端中,通过映射算法根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥;
在第二控制端中,通过映射算法根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥。
本发明与现有技术相比具有以下的优点:
1.本发明的轻量级车载总线安全通信方法及安全通信系统根据消息数据编码判断该消息数据是否需要加密传输,若需要,则计算数据帧,发送至第二控制端,第二控制端验证该数据帧,能够有效验证数据的完整性及杜绝伪造攻击。
2.本发明的轻量级车载总线安全通信方法及安全通信系统基于RC4加密算法,速度比DES加密算法快10倍,基于HMAC的身份认证算法,在实现身份认证和数据加密的同时对CAN总线的性能消耗降到最低。
3.本发明的轻量级车载总线安全通信方法及安全通信系统不对CAN协议本身做任何改动,完全在CAN应用层集成,用户可扩展性强。
附图说明
以下结合附图和实施例对本发明作进一步说明。
图1是本发明的轻量级车载总线安全通信方法步骤图;
图2是ECU认证流程图;
图3是ECU密钥矩阵更新示意图;
图4是ECU应用数据加密传输流程图;
图5是本发明的轻量级车载总线安全通信系统框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1是本发明的轻量级车载总线安全通信方法步骤图,如图1所示,本发明提供的轻量级车载总线安全通信方法,包括:
第一控制端接收消息数据,并从消息数据解析出消息数据编码,根据消息数据编码判断该消息数据是否需要加密传输;
若需要,则第一控制端根据消息数据编码计算第一计数器累计数,并根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥,并根据第一会话密钥和数据域通过加密算法计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;
第二控制端接收数据帧、消息数据编码和第一计数器累计数,对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,并根据第二会话密钥和数据域通过加密算法计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密,以将消息数据解析为消息。
其中,第一控制端和第二控制端均为ECU节点。
通过映射算法根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥;通过映射算法根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥。
通过HMAC算法根据第一会话密钥和数据域通过加密算法计算第一密文数据;通过HMAC算法根据第二会话密钥和数据域通过加密算法计算第二密文数据。
本发明的轻量级车载总线安全通信方法根据消息数据编码判断该消息数据是否需要加密传输,若需要,则计算数据帧,发送至第二控制端,第二控制端验证该数据帧,针对ECU的特点,实现了特有的身份认证,HMAC校验和加解密方案,能够有效验证数据的完整性及杜绝伪造攻击。
本发明的轻量级车载总线安全通信系统不对CAN协议本身做任何改动,无需硬件改造,完全在CAN应用层集成,而且集成速度快,用户可扩展性强。
具体地,CAN总线上的消息数据有多种类型,并且每个消息的重要性是不同的,其对于安全的需求也就不一样,因此,基于消息数据编码将消息数据区分为普通消息、中安全等级消息和高安全等级消息。为了信息的安全,同时兼顾使用投入,对不同类型的消息基于其重要性高低采取不同的安全协议保护。由于一个ECU可能处理即发送或接收多种安全级别的消息,因此,需要兼容多种安全协议。安全等级与安全协议划分如下表1所示。
表1
当ECU节点接收到高安全等级消息时,首先,需要接收消息的ECU节点认证发送消息的ECU节点,因此,上述轻量级车载总线安全通信方法中,第一控制端接收消息数据之后,还包括:第一控制端认证第二控制端。其中,第一控制端认证第二控制端具体实现如下:
第一控制端生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成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节点之间的认证是双向认证;是基于C-R机制的认证过程;只有需要身份认证需求的节点间通信才需要进行身份认证。
本发明的ECU认证方法基于标识认证技术实现密钥系统的登录管控、密钥数据的签名,可实现密钥操作人员的身份认证,密钥数据的合法性认证,此方法具有存储量小、计算速度快、安全可靠的特点。
ECU节点之间认证之后,开始正常通信,ECU的通信安全由ECU密钥矩阵以及计数器共同实现。密钥矩阵和计数器用于ECU通信会话密钥的产生。会话密钥用于加密ECU发送到消息并且起到防重放攻击的作用。ECU在出厂前需将初始密钥矩阵下发至ECU(或在ECU固件中固定),所有ECU都一样,用于ECU单件测试。初始密钥矩阵在汽车出厂时密钥矩阵更新后失效。密钥矩阵更新流程如图3所示:
TSP服务平台通过TBOX终端向网关发送包含平台标识和平台签名的矩阵下发指令,网关验证平台签名,以对TSP服务平台进行身份认证,若平台签名验证通过,则向TSP服务平台返回包含车辆签名和车辆标识的指令,TSP服务平台验证车辆签名,以对网关进行身份认证,若车辆签名验证通过,则对车辆公钥加密随机数,并用该随机数加密矩阵,发送至网关,网关接收并解密出矩阵,保存该矩阵,作为新矩阵置标志位,网关在下次启动时,与ECU节点进行身份认证,并更新ECU节点中的矩阵。
ECU节点完成矩阵的更新后,即可进行ECU之间的通信。
车辆运行时,ECU之间的通信基于预置的安全算法和协商出的密钥矩阵进行安全通信(包括数据校验、数据加解密),高安全等级的消息的传输流程如图4所示:
ECUi读取消息数据编码ID对应的计数器累计数Counter,该计数器累计数累加1;通过映射算法根据消息数据编码ID、计数器累计数Counter和预存的密钥矩阵生成会话密钥SessionKey;利用会话密钥和预置的加密算法加密数据域,得到密文数据,例如通过HMAC算法计算MAC值;通过数据域、Counter和MAC值组成组合帧,发送至ECUj;ECUj接收该组合帧,并查询组合帧中消息数据的错误计数是否超过限定值,例如查看接收的Counter与自身的Counter的差是否在允许范围内,若是,则将接收的Counter赋予自身的Counter,若不是,则抛弃数据帧,记录异常,并将该异常发送给网关;组合帧中消息数据的错误计数是不超过限定值时,通过映射算法根据消息数据编码ID、计数器累计数Counter和预存的密钥矩阵生成会话密钥SessionKey,校验MAC值,若通过,则解密数据帧,进行业务处理,若不通过,则进行错误计数。
中等安全等级消息传输流程与此类似,只是不用加密,即删除图中虚线框所示的步骤,低安全等级的消息直接发送不加密的明文消息。一帧数据(明文)结构如下表2所示,包括数据域、计数器counter、HMAC校验码。为了具有较好的防重放能力,Counter应不小于1个字节。需要指出的是不同的消息(ID不同)具有独立的Counter,ECU需要管理(读取、更新)这些Counter。
表2
Data(不大于6Byte) | Counter(不小于1Byte) | HMAC(1Byte) |
本发明的轻量级车载总线安全通信方法基于RC4加密算法,速度比DES加密算法快10倍,基于HMAC的身份认证算法,在实现身份认证和数据加密的同时对CAN总线的性能消耗降到最低。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图5是本发明的轻量级车载总线安全通信系统框图,如图5所示,本发明提供的轻量级车载总线安全通信系统,包括:
第一控制端,用于接收消息数据,并从消息数据解析出消息数据编码,根据消息数据编码判断该消息数据是否需要加密传输,若需要,则根据消息数据编码计算第一计数器累计数,并根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥,并根据第一会话密钥和数据域通过加密算法计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;
第二控制端,用于接收数据帧、消息数据编码和第一计数器累计数,对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,并根据第二会话密钥和数据域通过加密算法计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密,以将消息数据解析为消息。
其中,第一控制端和第二控制端均为ECU节点。
进一步地,在第一控制端中,通过映射算法根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥;
在第二控制端中,通过映射算法根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥。
本发明的轻量级车载总线安全通信系统根据消息数据编码判断该消息数据是否需要加密传输,若需要,则计算数据帧,发送至第二控制端,第二控制端验证该数据帧,针对ECU的特点,实现了特有的身份认证,HMAC校验和加解密方案,能够有效验证数据的完整性及杜绝伪造攻击。
本发明的轻量级车载总线安全通信系统基于RC4加密算法,速度比DES加密算法快10倍,基于HMAC的身份认证算法,在实现身份认证和数据加密的同时对CAN总线的性能消耗降到最低。
本发明的轻量级车载总线安全通信系统不对CAN协议本身做任何改动,无需硬件改造,完全在CAN应用层集成,而且集成速度快,用户可扩展性强。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种轻量级车载总线安全通信方法,其特征在于,包括:
第一控制端接收消息数据,并从消息数据解析出消息数据编码,根据消息数据编码判断该消息数据是否需要加密传输;
若需要,则第一控制端根据消息数据编码计算第一计数器累计数,并根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥,并通过HMAC算法根据第一会话密钥和数据域通过加密算法计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;
第二控制端接收数据帧、消息数据编码和第一计数器累计数,对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,并通过HMAC算法根据第二会话密钥和数据域通过加密算法计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密,以将消息数据解析为消息;
第一控制端和第二控制端均为ECU节点。
2.根据权利要求1所述的轻量级车载总线安全通信方法,其特征在于,通过映射算法根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥;
通过映射算法根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥。
3.根据权利要求1所述的轻量级车载总线安全通信方法,其特征在于,第一控制端接收消息数据之后,还包括:第一控制端认证第二控制端。
4.根据权利要求3所述的轻量级车载总线安全通信方法,其特征在于,第一控制端认证第二控制端具体实现如下:
第一控制端生成第一随机数和第一计数器累计数,根据第一计数器累计数与认证消息编码计算第一认证密钥,根据第一随机数与第一认证密钥计算第一哈希值,从第一哈希值中提取出第一结果哈希值,第一随机数、第一计数器累计数和第一结果哈希值组成8字节认证指令数据,发送至第二控制端;
第二控制端接收8字节认证指令数据,从该8字节认证指令数据中解析出第二随机数、第二计数器累计数和第二结果哈希值,根据第二计数器累计数与认证消息编码计算第二认证密钥,根据第二随机数与第二认证密钥计算第二哈希值,从第二哈希值中提取出第三结果哈希值,与解析出的第二结果哈希值进行对比,若相同,则验证通过;
第二控制端生成第三随机数和第三计数器累计数,根据第三计数器累计数与认证消息编码计算第三认证密钥,根据第三随机数与第三认证密钥计算第三哈希值,从第三哈希值中提取出第四结果哈希值,第三随机数、第三计数器累计数和第四结果哈希值组成8字节认证响应指令数据,发送至第一控制端;
第一控制端接收8字节认证响应指令数据,从该8字节认证响应指令数据中解析出第四随机数、第四计数器累计数和第五结果哈希值,根据第四计数器累计数与认证消息编码计算第四认证密钥,根据第四随机数与第四认证密钥计算第四哈希值,从第四哈希值中提取出第六结果哈希值,与解析出的第五结果哈希值进行对比,若相同,则完成认证。
5.根据权利要求4所述的轻量级车载总线安全通信方法,其特征在于,还包括:对密钥矩阵进行更新。
6.一种轻量级车载总线安全通信系统,其特征在于,包括:
第一控制端,用于接收消息数据,并从消息数据解析出消息数据编码,根据消息数据编码判断该消息数据是否需要加密传输,若需要,则根据消息数据编码计算第一计数器累计数,并根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥,并通过HMAC算法根据第一会话密钥和数据域通过加密算法计算第一密文数据,将数据域、第一计数器累计数和第一密文数据组合为数据帧,发送至第二控制端;
第二控制端,用于接收数据帧、消息数据编码和第一计数器累计数,对第一计数器累计数和预存的第二计数器累计数进行差值运算,若差值在预定范围内,则将第一计数器累计数赋给第二计数器累计数,并根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥,并通过HMAC算法根据第二会话密钥和数据域通过加密算法计算第二密文数据,与第一密文数据进行对比,若相同,则对数据帧进行解密,以将消息数据解析为消息;
第一控制端和第二控制端均为ECU节点。
7.根据权利要求6所述的轻量级车载总线安全通信系统,其特征在于,在第一控制端中,通过映射算法根据消息数据编码、第一计数器累计数和预存的密钥矩阵生成第一会话密钥;
在第二控制端中,通过映射算法根据消息数据编码、第二计数器累计数和预存的密钥矩阵生成第二会话密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112618.XA CN109672538B (zh) | 2019-02-13 | 2019-02-13 | 一种轻量级车载总线安全通信方法及安全通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112618.XA CN109672538B (zh) | 2019-02-13 | 2019-02-13 | 一种轻量级车载总线安全通信方法及安全通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109672538A CN109672538A (zh) | 2019-04-23 |
CN109672538B true CN109672538B (zh) | 2021-08-27 |
Family
ID=66151258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910112618.XA Active CN109672538B (zh) | 2019-02-13 | 2019-02-13 | 一种轻量级车载总线安全通信方法及安全通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109672538B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213270A (zh) * | 2019-06-03 | 2019-09-06 | 江苏恒宝智能系统技术有限公司 | 车联网中的验证请求方法和系统 |
CN110830347A (zh) * | 2019-11-07 | 2020-02-21 | 北京长城华冠汽车科技股份有限公司 | 远程控制装置及方法 |
CN113132092B (zh) * | 2019-12-31 | 2022-04-22 | 华为技术有限公司 | 通信方法和电子设备 |
CN113132082A (zh) * | 2020-01-10 | 2021-07-16 | 华为技术有限公司 | 一种基于车内网的通信方法及装置 |
CN112003823B (zh) * | 2020-07-17 | 2023-01-17 | 江阴市富仁高科股份有限公司 | 一种基于can总线的信息安全传输方法及应用 |
CN112069511B (zh) * | 2020-07-28 | 2023-09-05 | 宁波吉利汽车研究开发有限公司 | 数据保护方法、装置、电子控制单元、设备及存储介质 |
WO2022041122A1 (zh) * | 2020-08-28 | 2022-03-03 | 华为技术有限公司 | 一种数据传输方法以及装置 |
CN112291125B (zh) * | 2020-10-16 | 2022-03-15 | 江苏徐工工程机械研究院有限公司 | 一种can总线多节点自动识别方法及装置 |
CN112650172B (zh) * | 2020-12-17 | 2021-08-20 | 山东云天安全技术有限公司 | 一种工业控制系统的安全认证方法及设备 |
CN113676448B (zh) * | 2021-07-13 | 2023-06-16 | 上海瓶钵信息科技有限公司 | 一种基于对称秘钥的离线设备双向认证方法和系统 |
CN114584328B (zh) * | 2022-05-09 | 2022-08-02 | 武汉四通信息服务有限公司 | Api接口的访问方法、计算机设备及计算机存储介质 |
CN115296861B (zh) * | 2022-07-15 | 2023-06-06 | 智己汽车科技有限公司 | 车载can总线的网络安全通讯方法及控制装置 |
CN115296864B (zh) * | 2022-07-18 | 2024-04-26 | 联合汽车电子有限公司 | 车内节点可信交互方法、装置和存储介质 |
CN115277219A (zh) * | 2022-07-29 | 2022-11-01 | 中国第一汽车股份有限公司 | 消息加密方法、解密方法、装置及存储介质 |
CN115913814A (zh) * | 2022-12-05 | 2023-04-04 | 东北大学 | 一种支持安全等级分类的车载can总线加密通信系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025506A (zh) * | 2011-10-31 | 2014-09-03 | 丰田自动车株式会社 | 通信系统中的消息认证方法及通信系统 |
CN104767618A (zh) * | 2015-04-03 | 2015-07-08 | 清华大学 | 一种基于广播的can总线认证方法及系统 |
CN106357681A (zh) * | 2016-11-02 | 2017-01-25 | 合肥工业大学 | 一种车载远程诊断服务的安全接入与保密通信方法 |
CN106453326A (zh) * | 2016-10-19 | 2017-02-22 | 中国第汽车股份有限公司 | 一种can总线的认证与访问控制方法 |
CN106453269A (zh) * | 2016-09-21 | 2017-02-22 | 东软集团股份有限公司 | 车联网安全通信方法、车载终端、服务器及系统 |
CN106790053A (zh) * | 2016-12-20 | 2017-05-31 | 江苏大学 | 一种can总线中ecu安全通信的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6079768B2 (ja) * | 2014-12-15 | 2017-02-15 | トヨタ自動車株式会社 | 車載通信システム |
-
2019
- 2019-02-13 CN CN201910112618.XA patent/CN109672538B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025506A (zh) * | 2011-10-31 | 2014-09-03 | 丰田自动车株式会社 | 通信系统中的消息认证方法及通信系统 |
CN104767618A (zh) * | 2015-04-03 | 2015-07-08 | 清华大学 | 一种基于广播的can总线认证方法及系统 |
CN106453269A (zh) * | 2016-09-21 | 2017-02-22 | 东软集团股份有限公司 | 车联网安全通信方法、车载终端、服务器及系统 |
CN106453326A (zh) * | 2016-10-19 | 2017-02-22 | 中国第汽车股份有限公司 | 一种can总线的认证与访问控制方法 |
CN106357681A (zh) * | 2016-11-02 | 2017-01-25 | 合肥工业大学 | 一种车载远程诊断服务的安全接入与保密通信方法 |
CN106790053A (zh) * | 2016-12-20 | 2017-05-31 | 江苏大学 | 一种can总线中ecu安全通信的方法 |
Non-Patent Citations (1)
Title |
---|
基于CAN总线通信协议安全及汽车温度检测系统的研究;许矛盾等;《电子设计工程》;20160925;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109672538A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109672538B (zh) | 一种轻量级车载总线安全通信方法及安全通信系统 | |
Radu et al. | Leia: Al ightweight auth e nticat i on protocol for can | |
CN109076078B (zh) | 用以建立和更新用于安全的车载网络通信的密钥的方法 | |
CN109600350B (zh) | 用于车辆网络中的控制器间的安全通信的系统和方法 | |
Kurachi et al. | CaCAN-centralized authentication system in CAN (controller area network) | |
Palaniswamy et al. | An efficient authentication scheme for intra-vehicular controller area network | |
US9252945B2 (en) | Method for recognizing a manipulation of a sensor and/or sensor data of the sensor | |
US20180183587A1 (en) | Blockchain-Assisted Public Key Infrastructure for Internet of Things Applications | |
CN106357400B (zh) | 建立tbox终端和tsp平台之间通道的方法以及系统 | |
US10735206B2 (en) | Securing information exchanged between internal and external entities of connected vehicles | |
US11245535B2 (en) | Hash-chain based sender identification scheme | |
CN106572106B (zh) | 一种tbox终端和tsp平台之间报文传输的方法 | |
CN106453326B (zh) | 一种can总线的认证与访问控制方法 | |
EP1882346B1 (en) | Communication protocol and electronic communication system, in particular authentication control system, as well as corresponding method | |
US20070257813A1 (en) | Secure network bootstrap of devices in an automatic meter reading network | |
US20180270052A1 (en) | Cryptographic key distribution | |
KR20160104565A (ko) | 통신 시스템 및 통신 장치 | |
CN106899404A (zh) | 基于预共享密钥的车载can fd总线通信系统及方法 | |
JP2010011400A (ja) | 共通鍵方式の暗号通信システム | |
CN111049803A (zh) | 基于车载can总线通讯系统数据加密及平台安全访问的方法 | |
CN106506149B (zh) | 一种tbox终端和tsp平台之间密钥生成方法以及系统 | |
KR20130083619A (ko) | 차량용 데이터의 인증 및 획득 방법 | |
CN112182551B (zh) | Plc设备身份认证系统和plc设备身份认证方法 | |
CN109921908B (zh) | 一种can总线身份认证方法及身份认证系统 | |
Daily et al. | Securing CAN traffic on J1939 networks |
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 |