CN108965218A - 一种控制器区域网总线安全通信方法、装置及系统 - Google Patents
一种控制器区域网总线安全通信方法、装置及系统 Download PDFInfo
- Publication number
- CN108965218A CN108965218A CN201710854489.2A CN201710854489A CN108965218A CN 108965218 A CN108965218 A CN 108965218A CN 201710854489 A CN201710854489 A CN 201710854489A CN 108965218 A CN108965218 A CN 108965218A
- Authority
- CN
- China
- Prior art keywords
- message
- ecu
- identifier
- random number
- bus
- 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.)
- Granted
Links
Classifications
-
- 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/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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
-
- 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/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- 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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
一种控制器区域网总线安全通信方法、装置及系统,以有效的抵挡攻击者进行窃听﹑注入与重放攻击。网关ECU生成随机数并向至少一个CAN总线ECU发送随机数。第一CAN总线ECU,获取网关ECU发送的随机数,并基于第一CAN标识符的密钥、网关ECU发送的随机数、第一CAN标识符的计数值、第一CAN报文的数据,生成第一信息认证码。第一CAN总线ECU基于第一CAN标识符的密钥和第二CAN报文进行加密运算,以得到第一加密运算结果,并对第一加密运算结果、第一信息认证码、第一CAN标识符的计数值、第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文,发送所述加密认证的第一CAN报文。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种控制器区域网(Controller AreaNetwork,CAN)总线安全通信方法、装置及系统。
背景技术
CAN通信协议定义了物理层(Physical Layer,PHY)与数据链路层(Data LinkLayer,DLL)的数据传输标准,是一个广播型态的传输信道,且被广泛应用,例如被广泛地被运用在车内通信当中。
基于CAN通信协议进行通信的CAN通信网络架构中,一个中央网关电子控制单元(Electronic Control Unit,ECU)通过CAN总线系统连接多个ECU,其中,CAN总线系统中可包括多个CAN总线,每个CAN总线中的多个ECU通过其它CAN总线以及中央网关ECU互相连接,并进行各自业务与信息的收发。例如图1所示的应用于车内通信的CAN通信网络架构中,一个中央网关ECU连接多个负责车内功能业务的CAN总线(动力传动系统CAN总线、舒适系统CAN总线、诊断系统CAN总线以及信息娱乐系统CAN总线)。负责车内功能业务的每个CAN总线中的多个ECU通过其它CAN总线以及中央网关ECU互相连接,并进行各自业务与信息的收发。例如,动力传动系统可以实时侦测引擎转速并将引擎转速值传送到动力传动系统CAN总线,通过该动力传动系统CAN总线可将该引擎转速值传送给仪表板ECU,仪表板ECU收到引擎转速值后,可在仪表板上实时显示该引擎转速值。
目前,基于CAN通信协议进行通信过程中,恶意攻击者可以通过对通信过程中传输的CAN报文(frame)进行窃听,注入或重放攻击,对CAN总线系统进行有效攻击。例如,应用于车内通信的CAN通信系统中通过图2所示的原始CAN报文传送引擎转速数值,图2中原始CAN报文中引擎转速数值为0x5DC=1500RPM,若攻击者通过窃听获取到该原始CAN报文,解析出CAN报文格式,针对攻击目标(引擎转速数值)注入错误的数值,例如图2中植入篡改的CAN报文中将引擎转速数值修改为0x1F40=8000RPM,则仪表板在接收到该植入篡改的CAN报文后,解析得到引擎转速数值为0x1F40=8000RPM,使得仪表板接收并且显示的引擎转速数值为错误的数值。
为抵挡攻击者对CAN报文的窃听,注入或重放攻击,目前存在一些对CAN报文进行认证或加密的机制,例如,一种机制中,可使用一个密钥对CAN报文的数据(CAN报文标识符、对应CAN标识符的计数器值以及该CAN报文标识符对应的CAN报文中的数据)进行加密运算并生成信息验证码,然后通过额外的CAN报文传输该信息验证码,但此种方法对于要传输的CAN报文中的数据仍是未被加密处理的,故此种方式并不能抵挡窃听,只是可以抵挡重放攻击,并且通过额外的CAN报文传输信息验证码,传输开销较大。再例如,另一种机制中,针对CAN报文标识符对应的CAN报文中的数据先计算一组循环冗余校验(Cyclic RedundancyCheck,CRC)值,然后将数据与CRC值串联后使用密钥进行加密,然而由于CRC值不具有随机性,若攻击者获取到合法的CRC值,则仍可进行重放攻击。又例如,又一种机制中,通过运用非标准的CAN收发器硬件将信息认证码镶嵌于较高的收发物理频率中,与标准CAN报文同时传送,实现对CAN报文的信息认证机制且采用信息认证码技术。由于使用非标准的CAN收发器硬件,需要对CAN收发器硬件进行修改,无法直接应用于现有的CAN总线通信系统中。
故,提供一种有效的基于CAN总线进行安全通信的方法,以抵挡攻击者进行窃听﹑注入与重放攻击,势在必行。
发明内容
本申请实施例提供一种CAN总线安全通信方法、装置及系统,以有效的抵挡攻击者进行窃听﹑注入与重放攻击。
第一方面,提供一种CAN总线安全通信系统,该CAN总线安全通信系统中包括网关ECU、与所述网关ECU相连接的至少一个CAN总线;其中,每个CAN总线上连接有至少一个CAN总线ECU,所述至少一个CAN总线ECU中包括第一CAN总线ECU。其中,网关ECU用于生成随机数并通过所述至少一个CAN总线向至少一个CAN总线ECU发送生成的随机数。第一CAN总线ECU用于获取网关ECU发送的所述随机数,并基于第一CAN标识符的密钥、网关ECU发送的随机数、第一CAN标识符的计数值、第一CAN报文的数据,生成第一信息认证码。第一CAN总线ECU还用于基于第二CAN报文和所述第一CAN标识符的密钥进行加密运算,以得到第一加密运算结果,对第一加密运算结果、第一信息认证码、第一CAN标识符的计数值、第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文,并发送加密认证的第一CAN报文。
其中,第一CAN标识符的密钥由CAN总线安全通信系统为第一CAN标识符预先分配,第一CAN标识符的计数值根据第一CAN总线ECU使用第一CAN标识符传输CAN报文的数量确定,且随第一CAN总线ECU使用第一CAN标识符传输CAN报文的数量的变化而变化,第一CAN报文为第一CAN总线ECU待发送的报文,且第一CAN总线ECU使用第一CAN标识符发送所述第一CAN报文。
其中,第二CAN报文为第一CAN总线ECU的历史CAN报文。
具体的,若第一CAN报文为第一CAN总线ECU使用第一CAN标识符发送的首个CAN报文,则第一CAN总线ECU的历史CAN报文可以为CAN总线安全通信系统为第一CAN标识符预先分配的初始默认CAN报文。若第一CAN报文为第一CAN总线ECU使用第一CAN标识符发送的非首个CAN报文,则第一CAN总线ECU的历史CAN报文可以为第一CAN总线ECU使用第一CAN标识符已完成发送的CAN报文中设定的CAN报文。
一种可能的设计中,第一CAN总线ECU使用第一CAN标识符已完成发送的CAN报文中设定的CAN报文为第一CAN总线ECU使用第一CAN标识符已完成发送的CAN报文中与第一CAN报文相邻的前一则CAN报文,以减少存储开销。
本申请实施例中,第一CAN总线ECU对CAN报文的加密运算过程以及生成信息认证码过程中,不仅使用待发送报文的数据,还使用率随机数、计数值以及已发送CAN报文中设定的CAN报文,故即使注入相同的数据值,生成的信息认证码和加密运算结构也不同,故CAN总线ECU发送加密认证CAN报文,可以抵挡重放攻击,并由于结合了加密与认证双重过程,使传输的CAN报文数据区的数据可同时抵挡窃听攻击,注入攻击与重放攻击,安全度较高。并且信息认证码可理解为是直接镶嵌于CAN报文数据区中的,不使用另外CAN报文装载,传输开销较低,并且整体设计不修改CAN收发器硬件,可应用于目前已有的CAN总线系统。
其中,第一CAN总线ECU可基于随机数以及第一CAN标识符的密钥得到第一生成密钥,并基于第一生成密钥、随机数、第一CAN标识符的计数值、第一CAN报文的数据生成第一信息认证码,以进一步提高CAN报文传输的安全性。
其中,CAN总线安全通信系统中还包括第二CAN总线ECU,第二CAN总线ECU用于获取加密认证的第一CAN报文,并对加密认证的第一CAN报文进行解密,以得到第一解密信息认证码、第一CAN报文的解密数据、第一CAN标识符的第一解密计数值。第二CAN总线ECU获取网关ECU发送的随机数,并基于第一CAN标识符的密钥、网关ECU发送的随机数、第一CAN标识符的第一解密计数值、第一CAN报文的解密数据生成第二信息认证码。若第一解密信息认证码和所述第二信息认证码一致,且第一CAN标识符的第一解密计数值合法,则确定所述加密认证的第一CAN报文合法。
其中,第一CAN标识符的第一解密计数值合法是指第一CAN标识符的第一解密计数值在预设的计数值允许误差范围内,以根据安全级别不同设置不同的范围。
其中,第二CAN总线ECU可基于网关ECU发送的随机数以及第一CAN标识符的密钥,得到第一生成密钥,并基于第一生成密钥、网关ECU发送的随机数、第一CAN标识符的第一解密计数值、第一CAN报文的解密数据生成第二信息认证码。
一种可能的设计中,网关ECU可对随机数进行加密认证,例如网关ECU可基于第三CAN报文和第二CAN标识符的密钥,得到第一随机数发送密钥。网关ECU基于第一随机数发送密钥以及网关ECU待发送的随机数,生成第一随机数信息认证码,对第一随机数发送密钥以及第三CAN报文进行加密运算,以得到第二加密运算结果。网关ECU对第二加密运算结果、第一随机数信息认证码、待发送的随机数进行等长加密运算,以得到加密认证的随机数,并向所述至少一个CAN总线ECU,发送所述加密认证的随机数。
第一CAN总线ECU还用于获取第二CAN标识符、第三CAN报文加密认证的随机数。基于第二CAN标识符的密钥和第三CAN报文,得到第二随机数发送密钥;对第二随机数发送密钥以及第三CAN报文进行加密运算,以得到第三加密运算结果。第一CAN总线ECU对第三加密运算结果和加密认证的随机数进行等长解密运算,以得到第一随机数解密信息认证码;基于网关ECU发送的所述随机数与第二随机数发送密钥,生成第二随机数信息认证码;若第一随机数解密信息认证码和所述第二随机数信息认证码一致,则确定所述网关ECU发送的所述随机数合法。
其中,网关ECU使用第二CAN标识符向至少一个CAN总线ECU发送CAN报文,第二CAN标识符的密钥由CAN总线安全通信系统为第二CAN标识符预先分配。
其中,第三CAN报文为所述网关ECU的历史CAN报文。
具体的,若网关ECU待发送的随机数为网关ECU发送的首个随机数,则网关ECU的历史CAN报文为CAN总线安全通信系统为网关ECU预先分配的初始默认CAN报文。若网关ECU待发送的随机数为网关ECU发送的非首个随机数,则网关ECU的历史CAN报文为网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
一种可能的设计中,网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文为网关ECU使用第二CAN标识符已完成发送的CAN报文中与网关ECU使用第二CAN标识符当前发送的CAN报文相邻的上一个CAN报文,以减少存储开销。
本申请实施例中网关ECU发送加密认证的随机数,第一CAN总线ECU验证接收到的随机数的合法性,能够进一步提高CAN总线安全通信系统中的安全性。
第二方面,提供一种CAN总线安全通信装置,该CAN总线安全通信装置可应用于第一CAN总线ECU。应用于第一CAN总线ECU的CAN总线安全通信装置具有实现上述第一方面以及第一方面任意设计中第一CAN总线ECU的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,应用于第一CAN总线ECU的CAN总线安全通信装置包括接收单元、处理单元和发送单元,其中,接收单元、处理单元和发送单元可以和上述第一CAN总线ECU执行的各功能步骤相对应,在此不予赘述。
另一种可能的设计中,应用于第一CAN总线ECU的CAN总线安全通信装置包括处理器,收发器和存储空间。存储空间(也可称为存储器)与处理器耦合,用于存储各种软件程序和/或多组指令。处理器调用存储空间的存储程序或指令执行上述第一CAN总线ECU执行的功能步骤,并控制收发器收发信号。
第三方面,提供一种CAN总线安全通信装置,该CAN总线安全通信装置可应用于第二CAN总线ECU。应用于第二CAN总线ECU的CAN总线安全通信装置具有实现上述第一方面以及第一方面任意设计中第二CAN总线ECU的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,应用于第二CAN总线ECU的CAN总线安全通信装置包括接收单元和处理单元,其中,接收单元和处理单元可以和上述第二CAN总线ECU执行的各功能步骤相对应,在此不予赘述。
另一种可能的设计中,应用于第二CAN总线ECU的CAN总线安全通信装置包括处理器,收发器和存储空间。存储空间(也可称为存储器)与处理器耦合,用于存储各种软件程序和/或多组指令。处理器调用存储空间的存储程序或指令执行上述第二CAN总线ECU执行的功能步骤,并控制收发器收发信号。
第四方面,提供一种CAN总线安全通信装置,该CAN总线安全通信装置可应用于网关ECU。应用于网关ECU的CAN总线安全通信装置具有实现上述第一方面以及第一方面任意设计中网关ECU的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,应用于网关ECU的CAN总线安全通信装置包括处理单元和发送单元,其中,处理单元和发送单元可以和上述网关ECU执行的各功能步骤相对应,在此不予赘述。
另一种可能的设计中,应用于网关ECU的CAN总线安全通信装置包括处理器,至少一组收发器和存储空间。存储空间(也可称为存储器)与处理器耦合,用于存储各种软件程序和/或多组指令。处理器调用存储空间的存储程序或指令执行上述网关ECU执行的功能步骤,并控制所述至少一组收发器收发信号。
第五方面提供一种CAN总线安全通信方法,在该方法中,CAN总线ECU执行的各方法步骤与上述第一方面以及第一方面任意设计中的第一CAN总线ECU执行的各功能步骤相对应。
第六方面,提供一种CAN总线安全通信方法,在该方法中,CAN总线ECU执行的各方法步骤与上述第一方面以及第一方面任意设计中的第二CAN总线ECU执行的各功能步骤相对应。
第七方面,提供一种CAN总线安全通信方法,在该方法中,CAN总线ECU执行的各方法步骤与上述第一方面以及第一方面任意设计中的网关ECU执行的各功能步骤相对应。
第八方面,提供计算机存储介质,用于存储一些指令,这些指令被执行时,可以完成第一方面以及第一方面任意可能设计中的网关ECU、第一CAN总线ECU以及第二CAN总线ECU所涉及的任意一种功能。
第九方面,提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行完成第一方面以及第一方面任意可能设计中的网关ECU、第一CAN总线ECU以及第二CAN总线ECU所涉及的任意一种功能。
本申请实施例提供的CAN总线安全通信方法、装置及系统,第一CAN总线ECU对CAN报文加密运算过程以及生成信息认证码过程中,不仅使用待发送报文的数据,还使用率随机数、计数值以及已发送CAN报文中设定的CAN报文,故即使注入相同的数据值,生成的信息认证码和加密运算结构也不同,故CAN总线ECU发送加密认证CAN报文,可以抵挡重放攻击,并由于结合了加密与认证双重过程,使传输的CAN报文数据区的数据可同时抵挡窃听攻击,注入攻击与重放攻击,安全度较高。并且信息认证码可理解为是直接镶嵌于CAN报文数据区中的,不使用另外CAN报文装载,传输开销较低,并且整体设计不修改CAN收发器硬件,可应用于目前已有的CAN总线系统。
进一步的,本申请实施例中,第一CAN总线ECU和第二CAN总线ECU使用网关ECU发送的随机数对第一CAN标识符的密钥进行密钥生成处理,使得每次使用的密钥更具有随机性,可更有效的提高CAN报文传输的安全性。
附图说明
图1为用于车内通信的CAN通信网络架构;
图2为车内通信的CAN通信网络中CAN报文被窃听并注入的示意图;
图3为本申请实施例提供的一种CAN总线安全通信系统;
图4为本申请实施例中涉及的CAN报文的格式示意图;
图5为本申请实施例中CAN总线安全通信系统中CAN标识符与计数值配置示意图;
图6为本申请实施例中CAN总线安全通信系统中配置CAN标识符对应密钥的一种示意图;
图7为本申请实施例中CAN总线安全通信系统中配置CAN标识符对应密钥的另一种示意图;
图8为本申请实施例中CAN总线安全通信系统预配置参数的示意图;
图9为本申请提供的一种CAN总线安全通信方法实施流程图;
图10为本申请实施例提供的产生加密认证随机数数据区的示意图;
图11为本申请实施例提供的验证加密认证随机数合法性的实施流程示意图;
图12为本申请实施例提供的产生加密认证CAN报文数据区的示意图;
图13为本申请实施例提供的验证加密认证CAN报文合法性的实施流程示意图;
图14为本申请实施例提供的一种CAN总线安全通信装置的结构示意图;
图15为本申请实施例提供的另一种CAN总线安全通信装置的结构示意图;
图16为本申请实施例提供的又一种CAN总线安全通信装置的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
图3为本申请实施例提供的一种CAN总线安全通信系统。参阅图3所示,CAN总线安全通信系统中包括网关ECU、与所述网关ECU相连接的至少一个CAN总线;其中,每个CAN总线上连接有至少一个CAN总线ECU。网关ECU和CAN总线ECU中均具有进行运算处理的处理器、用于存储命令的内部存储空间以及进行信息发送与接收的收发器。其中,CAN总线ECU中通常可包括一组收发器,与一个CAN总线相连。网关ECU中可包括多组收发器,并与多个CAN总线相连。CAN总线可以理解为是CAN总线安全通信系统的发送通道,网关ECU可以通过与其连接的多个CAN总线进行信息的并行发送与接收。CAN总线ECU通过与其相连的CAN总线,进行信息的发送与接收。其中,各CAN总线ECU可与网关ECU进行通信,各CAN总线ECU之间也可进行通信。
需要说明的,图3所示CAN总线安全通信系统中的网关ECU以及CAN总线ECU的结构仅仅是本申请实施例的一种实现方式,实际应用中,网关ECU以及CAN总线ECU还可以包括更多或更少的部件,这里不作限制。
其中,收发器可通过实体CAN总线与其他收发器相互连接并通信。实体CAN总线使用CAN通信协议进行通信,所述CAN通信协议可包括但不限于:CAN2.0A,,CAN2.0B,CAN-FD(CAN flexible data-rate)。收发器还可能与其他通信设备使用不同的通信网络进行通信,如以太网(Ethernet),无线接入网(Radio Access Technology,RAN),无线局域网Wireless Local Area Networks,WLAN)等。具体实现中,通信接口304支持的通信协议可包括但不限于:2G/3G、长期演进(Long Term Evolution,LTE)、无线保真(Wireless-Fidelity,Wi-Fi)、5G新无线(New Radio,NR)等等。
存储空间(也可称为存储器)与处理器耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储空间可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储空间可以存储CAN总线安全通信的操作系统。存储空间可用于存储本申请实施例的实现程序。存储空间还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。
处理器可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
在一些实施例中,网关ECU以及CAN总线ECU还可以包括输出设备和输入设备。输出设备和处理器通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(Liquid Crystal Display,LCD),发光二级管(Light Emitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。输入设备和处理器通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。为了便于输出设备和输入设备的用户使用,在一些实施例中,存储器还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。
目前,CAN总线通信协议规范了各CAN总线ECU之间,以及各CAN总线ECU与网关ECU之间进行通信过程中传输的CAN报文(frame)的格式。图4所示为CAN报文的格式示意图,参阅图4所示,CAN报文中包括报文头(start of frame,SOF),CAN标识符(Identifier),远程传输要求(RTR)码,控制区(Control),数据区(data),循环冗余校验(CRC),响应(ACK),报文结尾(end of frame。EOF)。其中,CAN标识符可用于标识不同的CAN报文,并有两种格式,分别是11字符与29字符。数据区在CAN标准中最多为8个字节。利用CAN总线通信协议进行通信过程中,发送者发出CAN报文,接收者按照CAN标识符选择要接收的CAN报文,一个CAN标识符所对应的CAN报文可以有两个以上的接收者。例如, 图3中,CAN总线ECU1发送的CAN报文,可被CAN总线ECU2和CAN总线ECU3接收。
本申请实施例中,可对各CAN总线ECU之间,以及各CAN总线ECU与网关ECU之间传输的CAN报文进行加密与认证,以抵挡恶意攻击者对CAN报文的窃听﹑注入与重放攻击。
本申请实施例中,可为CAN总线安全通信系统中每个ECU(各CAN总线ECU以及网关ECU)预先配置计数器,通过计数器的计数值可实现可对每个CAN标识符的CAN报文保存一个计数值,每个CAN标识符的计数值可表征该CAN标识符的CAN报文已经在系统中传递的报文数,也可以理解为通过CAN标识符的计数值可标识当前传输的CAN报文。通常,CAN标识符的计数值根据CAN总线ECU使用CAN标识符传输CAN报文的数量确定,且随CAN总线ECU使用CAN标识符传输CAN报文的数量的变化而变化。一种可能的实施方式中,CAN标识符的计数值可通过滚动计数器(rolling counter)的计数值实现,假设CAN总线ECU使用CAN标识符传输CAN报文的数量为N,滚动计数器的计数值为n比特长,则CAN标识符的计数值可以N/(2n)后取模得到的数值。
例如图5中,发送CAN报文的ECU和接收CAN报文的ECU中均保存有对各CAN标识符报文的计数值,其中,保存计数值的表格中包括两列,第一列是CAN标识符,第二列是对应于CAN标识符的计数值,例如图5中,CAN标识符Ida的计数值为Ca,CAN标识符Idb的计数值为Cb,CAN标识符Idc的计数值为Cc。
进一步的,本申请实施例中CAN总线安全通信系统还可针对每一CAN标识符配置对应的密钥,以通过该密钥进行加密与认证。本申请实施例中可针对不同的CAN标识符,使用阶层式架构产生密钥并进行配置。例如,可针对整个CAN总线安全通信系统先配置一个独立产生的根密钥,然后使用这个根密钥对不同的CAN总线生成CAN总线密钥,再使用CAN总线密钥对不同的CAN标识符生成CAN标识符的密钥,如图6所示。具体的,进行密钥配置时,可为网关ECU配置根密钥,为各CAN总线ECU分别配置相对应的CAN总线密钥,例如在CAN总线1上的ECU的密钥为CAN总线1密钥,并且CAN总线1可通过CAN总线1密钥,生成实际需要的CAN标识符相对应的密钥。本申请实施例中还可针对整个CAN总线安全通信系统预先配置一个独立产生的根密钥,然后使用这个根密钥针对不同的CAN标识符生成不同的密钥,如图7所示,如图7所示。具体的,进行密钥配置时,可为每个ECU配置根密钥,ECU通过该根密钥可以生成实际需要的CAN标识符对应的密钥。通过使用阶层式架构产生密钥并进行配置的密钥配置方法可以降低各ECU储存密钥的空间需求方法。当然,本申请实施例中还可针对不同的CAN标识符,独立产生密钥与系统初始值并进行配置。
本申请实施例中,CAN总线安全通信系统中的CAN总线ECU可基于CAN标识符的密钥、标识符的计数值、随机数、待发送CAN报文数据区的数据生成信息认证码,基于CAN标识符的密钥以及CAN标识符已发送CAN报文中设定的CAN报文进行加密运算,并对加密运算结果、信息认证码、CAN标识符的计数值、待发送CAN报文数据区的数据进行等长加密运算,以使加密认证的CAN报文数据区的数据长度符合CAN总线通信协议规范的数据区长度,将加密认证后的CAN报文数据置于待发送报文的数据区进行发送。由于该加密认证的CAN报文加密运算过程以及生成信息认证码过程中,不仅使用待发送报文的数据,还使用率随机数、计数值以及已发送CAN报文中设定的CAN报文,故即使注入相同的数据值,生成的信息认证码和加密运算结构也不同,故CAN总线ECU发送加密认证CAN报文,可以抵挡重放攻击,并由于结合了加密与认证双重过程,使传输的CAN报文数据区的数据可同时抵挡窃听攻击,注入攻击与重放攻击,安全度较高。并且信息认证码可理解为是直接镶嵌于CAN报文数据区中的,不使用另外CAN报文装载,传输开销较低,并且整体设计不修改CAN收发器硬件,可应用于目前已有的CAN总线系统。
一种可能的示例中,若待发送的CAN报文为CAN标识符的首个报文,则CAN总线ECU可基于CAN标识符的密钥以及初始默认的CAN报文进行加密运算。其中,该初始默认的CAN报文可在CAN总线安全通信系统参数初始设置阶段进行预配置。
本申请实施例为描述方便,可将CAN总线ECU待发送的CAN报文称为第一CAN报文,CAN总线ECU发送第一CAN报文所使用的CAN标识符称为第一CAN标识符。将CAN总线ECU进行加密运算过程使用的CAN报文称为第二CAN报文。其中,第二CAN报文为第一CAN总线ECU的历史CAN报文。历史CAN报文可以理解为是在发送当前CAN之前已经存在的报文。
具体的,若第一CAN报文为第一CAN总线ECU使用第一CAN标识符发送的首个CAN报文,则第一CAN总线ECU的历史CAN报文可以为CAN总线安全通信系统为第一CAN标识符预先分配的初始默认CAN报文。若第一CAN报文为第一CAN总线ECU使用第一CAN标识符发送的非首个CAN报文,则第一CAN总线ECU的历史CAN报文可以为第一CAN总线ECU使用第一CAN标识符已完成发送的CAN报文中设定的CAN报文。
CAN总线安全通信系统中接收到加密认证CAN报文的CAN总线ECU,可对接收到的加密认证CAN报文进行解密,以得到CAN报文的解密数据、CAN标识符的解密计数值、解密信息认证码,并基于CAN标识符的密钥、随机数、CAN标识符的解密计数值、CAN报文的解密数据生成信息认证码,若确定解密得到的信息认证码和生成的信息认证码一致,且CAN标识符的解密计数值合法,则确定CAN报文的解密数据合法。
其中,标识符的解密计数值合法可以理解为是CAN标识符的解密计数值与预设的计数值相同,该预设的计数值可以是得到加密认证CAN报文过程中使用的CAN标识符的计数值。
一种可能的示例中,CAN标识符的解密计数值合法也可以理解为是CAN标识符的解密计数值在预设的计数值允许误差范围内。其中,该允许的误差范围可在CAN总线安全通信系统参数初始设置阶段进行预配置。其中,该误差范围可根据安全级别不同设置不同的范围。其中,安全级别要求较高的误差范围相对小于安全级别要求较低的误差范围。
本申请实施例中为描述方便,将CAN总线安全通信系统中发送CAN报文的CAN总线ECU称为第一CAN总线ECU,将CAN总线安全通信系统中接收CAN报文的CAN总线ECU称为第二CAN总线ECU。
一种可能的示例中,第一CAN总线ECU和第二CAN总线ECU可基于随机数和CAN标识符的密钥,生成第一生成密钥,并基于该第一生成密钥、所述随机数、CAN标识符的计数值、CAN报文的数据生成信息认证码,以进一步提高系统安全度,抵挡重放攻击。
又一种可能的示例中,本申请实施例上述第一CAN总线ECU和第二CAN总线ECU进行加密认证过程中所使用的随机数可由网关ECU生成并且发送。其中,网关ECU可采用诸如广播的方式发送随机数。
其中,网关ECU也可采用与上述CAN报文加密认证过程类似的加密认证过程对随机数进行加密认证,以得到加密认证随机数。例如,网关ECU基于CAN标识符的密钥和已发送CAN报文中设定的CAN报文,得到随机数发送密钥。所述网关ECU基于所述随机数发送密钥以及待发送的随机数,生成随机数信息认证码,并对所述随机数发送密钥,以及已发送CAN报文中设定的CAN报文进行加密运算,以得到加密运算结果。网关ECU对加密运算结果、随机数信息认证码、发送的随机数进行等长加密运算,以得到加密认证随机数。所述网关ECU可向CAN总线安全通信系统中的CAN总线ECU,发送所述加密认证随机数。其中,网关ECU可采用诸如广播的方式发送所述加密认证随机数。
其中,若网关ECU发送的随机数为首个随机数,则网关ECU可基于初始默认CAN报文和CAN标识符的密钥,得到随机数发送密钥。
本申请实施例中为描述方便可将网关ECU发送CAN报文使用的CAN标识符称为第二CAN标识符,CAN总线安全通信系统可为第二CAN标识符预先配置密钥。将网关ECU生成随机数发送密钥过程中使用的CAN报文称为第三CAN报文。其中,第三CAN报文可为网关ECU的历史CAN报文。具体的,若网关ECU待发送的随机数为网关ECU发送的首个随机数,则网关ECU的历史CAN报文为CAN总线安全通信系统为网关ECU预先分配的初始默认CAN报文。若网关ECU待发送的随机数为网关ECU发送的非首个随机数,则网关ECU的历史CAN报文为网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
接收到加密认证随机数的CAN总线ECU可验证接收到的随机数的合法性。例如,接收到加密认证随机数的CAN总线ECU可基于网关ECU的第二CAN标识符的密钥和第三CAN报文,得到随机数发送密钥。本申请实施例中为描述方便,可将网关ECU基于第三CAN报文和第二CAN标识符的密钥得到的随机数发送密钥,称为第一随机数发送密钥,将CAN总线ECU基于第二CAN标识符的密钥和第三CAN报文,得到的随机数发送密钥,称为第二随机数发送密钥。接收到加密认证随机数的CAN总线ECU对所述第二随机数发送密钥以及所述第三CAN报文进行加密运算得到加密运算结果,并对得到的加密运算结果和加密认证的随机数进行等长解密运算,得到随机数解密后的信息认证码。为描述方便,将CAN总线ECU对所述第二随机数发送密钥以及所述第三CAN报文进行加密运算得到的加密运算结果,称为第三加密运算结果。将CAN总线ECU对所述第三加密运算结果和所述加密认证的随机数进行等长解密运算得到的随机数解密后的信息认证码,称为第一随机数解密信息认证码。接收到加密认证随机数的CAN总线ECU基于所述网关ECU发送的所述随机数与第二随机数发送密钥,可生产随机数的信息认证码,以下称为第二随机数信息认证码。接收到加密认证随机数的CAN总线ECU通过判断第一随机数解密信息认证码和第二随机数信息认证码是否一致,可验证网关ECU发送的随机数的合法性。其中,若所述第一随机数解密信息认证码和所述第二随机数信息认证码一致,则确定所述网关ECU发送的所述随机数合法,则可利用该发送的随机数进行CAN报文的认证与加密,以进一步提高安全性。
本申请实施例中,可对各CAN总线ECU之间,以及各CAN总线ECU与网关ECU之间传输的CAN报文进行加密与认证,以抵挡恶意攻击者对CAN报文的窃听﹑注入与重放攻击。
以下将结合实际应用,对CAN总线安全通信系统进行安全通信的过程进行说明。
本申请实施例中CAN总线安全通信系统为实现上述实施方式中涉及的安全通信方法,需要进行参数的预配置。例如,需要针对每个CAN标识符预配置与该CAN标识符相的密钥以及系统初始默认值,该系统初始默认值可以理解为是一组字符串,例如可以理解为是上述实施例中涉及的初始默认CAN报文。本申请针对网关ECU需要预配置第二CAN标识符,该第二CAN标识符可以理解为是网关ECU在各CAN总线进行CAN报文发送所用的CAN标识符。针对第二CAN标识符,也需要预先配置对应的密钥与系统初始默认值(初始默认CAN报文)。
本申请实施例中,需要为网关ECU,以及所有与网关ECU有信息交互的CAN总线ECU配置第二CAN标识符的密钥以及网关ECU的初始默认CAN报文,以实现上述CAN总线ECU可以对随机数合法性验证。本申请实施例中还需要为发送和接收某一CAN标识符的CAN报文的CAN总线ECU配置该CAN标识符的密钥以及CAN总线ECU的初始默认CAN报文,以使发送CAN报文的CAN总线ECU对发送的CAN报文进行加密认证,使接收到加密认证CAN报文的CAN总线ECU对CAN报文的合法性进行验证。进一步的,本申请实施例中还需要为每个ECU配置CAN标识符的计数值,其中,还可配置计数值的误差范围,以验证解密计数值的合法性。
图8所示为本申请实施例中CAN总线安全通信系统预配置参数的示意图。例如图8中,CAN总线安全通信系统中包括网关ECU以及包括ECU1、ECU2、ECU3、ECU4和ECU5在内的五个CAN总线ECU。假设为CAN总线安全通信系统中的网关ECU配置第二CAN标识符CIDB、密钥KB和初始默认报文IVB,则网关ECU与五个CAN总线ECU中均需要配置第二CAN标识符CIDB对应的密钥KB和初始默认报文IVB。ECU1、ECU2与ECU3会进行CAN标识符CIDA的CAN报文的收发,假设为CAN标识符CIDA预先配置的密钥为KA,初始默认报文为IVA,则ECU1、ECU2与ECU3需要配置CAN标识符CIDA对应的密钥为KA和初始默认报文为IVA。进一步的,ECU1、ECU2与ECU3也需要配置CAN标识符CIDA对应的计数值TA。
本申请实施例中CAN总线安全通信系统完成上述预配置后,可实施上述涉及的安全通信方法。
图9所示为本申请提供的一种CAN总线安全通信方法实施流程图,参阅图9所示,包括:
S101:网关ECU生成并发送随机数。
本申请实施例中,网关ECU可按照一定的频率产生随机数R并通过CAN总线定期发送此随机数到CAN总线安全通信系统中的各CAN总线ECU。其中,网关ECU可采用定期广播的方式,将随机数发送至CAN总线安全通信系统中的各CAN总线ECU。
一种可能的实施方式中,网关ECU产生随机数之后,可以以CAN报文的形式发送该加密认证随机数。本申请实施例中可采用图10所示的方法流程产生加密认证随机数的数据区。图10中,网关ECU基于第二CAN标识符CIDB对应的密钥KB和第三CAN报文,采用密钥生成算法,生成第一随机数发送密钥。网关ECU基于第一随机数发送密钥以及发送的随机数(新产生的随机数Ri+1),采用信息认证码生成算法以及长度调整算法,生成第一随机数信息认证码σ。所述网关ECU基于所述第一随机数发送密钥以及第三CAN报文,采用诸如分块加密算法等加密算法进行加密运算,以得到第二加密运算结果。所述网关ECU对所述第二加密运算结果、所述第一随机数信息认证码、所述发送的随机数进行等长加密运算,以得到加密认证随机数,例如对所述第二加密运算结果、所述第一随机数信息认证码、所述发送的随机数进行异或运算,以得到运算结果为8字节长度的加密认证随机数的数据区,将该加密认证随机数的数据区置于CAN报文数据区进行传送。
本申请实施例中,若发送的随机数(新产生的随机数Ri+1)为首个随机数(R1),则所述第三CAN报文为网关ECU的初始默认CAN报文,若发送的随机数(新产生的随机数Ri+1)为非首个随机数,则所述第三CAN报文为网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
其中,本申请实施例中网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文可以是与使用第二CAN标识符当前发送的CAN报文相邻的前一则CAN报文,也可以是前两则CAN报文,或者也可以是任何已完成发送CAN报文,本申请实施例中并不限定,网关ECU和CAN总线ECU所使用的第三CAN报文保持一致即可。
本申请实施例中为减少存储开销,一种可能的实施方式中可将网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文设置为与使用第二CAN标识符当前发送的CAN报文相邻的前一则CAN报文。
S102:第一CAN总线ECU获取所述网关ECU发送的随机数,验证获取到的随机数的合法性。
本申请实施例中验证随机数合法性的步骤为可选步骤。其中,若网关ECU对发送的随机数进行了加密认证,并向CAN总线ECU发送了加密认证随机数,则可包括S102步骤中验证随机数合法性的实施过程。
本申请实施例中,第一CAN总线ECU可以理解为是发送CAN报文的ECU。可以理解的是,本申请实施例中获取到网关ECU发送的随机数的CAN总线ECU并不是只有第一CAN总线ECU,第二ECU也会接收到网关ECU发送的随机数。本申请实施例中为描述方便,以第一CAN总线ECU验证随机数合法性的实施流程进行说明,对于第二CAN总线ECU验证随机数合法性的实施流程与第一CAN总线ECU验证随机数合法性的实施流程相同,在此不再赘述。
图11为本申请实施例第一CAN总线ECU验证加密认证随机数合法性的实施流程示意图。参阅图11所示,第一CAN总线ECU基于第二CAN标识符CIDB的密钥KB和第三CAN报文,得到第二随机数发送密钥。第三CAN报文可以理解为是使用CIDB发送的CAN报文中的设定CAN报文。若不存在使用CIDB发送的CAN报文,则第三CAN报文为初始默认报文IVB。第一CAN总线ECU基于所述第二随机数发送密钥以及所述第三CAN报文,采用诸如分块加密算法进行加密运算,以得到随机数加密运算结果。第一CAN总线ECU基于所述网关ECU发送的随机数与第二随机数发送密钥,生成第二随机数信息认证码σ’,并对所述第三加密运算结果和所述加密认证随机数进行等长解密运算(例如异或运算),以得到所述网关ECU发送的所述随机数(Ri+1)以及所述第一随机数信息认证码σ。第一CAN总线ECU判断第一随机数信息认证码σ和第二随机数信息认证码σ’是否一致,若所述第一随机数信息认证码σ和所述第二随机数信息认证码σ’一致,则确定所述网关ECU发送的所述随机数合法。
本申请实施例中,第一CAN总线ECU验证随机数合法后,可记录该合法的随机数,以备后续对CAN报文进行加密认证过程中使用。
S103:第一CAN总线ECU基于第一CAN标识符的密钥、所述网关ECU发送的随机数、第一CAN标识符的计数值和第一CAN报文的数据,生成第一信息认证码。
本申请实施例中,第一CAN总线ECU可以理解为是发送CAN报文的ECU,第一CAN报文可以理解为是第一CAN总线ECU待发送的CAN报文,所述第一CAN标识符可以理解为是第一CAN总线ECU发送第一CAN报文使用的CAN标识符。
S104:第一CAN总线ECU基于所述第一CAN标识符的密钥和第二CAN报文进行加密运算,以得到第一加密运算结果,对所述第一加密运算结果、所述第一信息认证码、所述第一CAN标识符的计数值、所述第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文。
图12所示为本申请实施例提供的第一CAN总线ECU生成加密认证的第一CAN报文的实施过程示意图。图12中,第一CAN总线ECU基于述网关ECU发送的随机数、第一CAN报文标识符CIDA的密钥KA,采用密钥生成算法生成第一生成密钥。第一CAN总线ECU基于该第一生成密钥、网关ECU发送的随机数、第一CAN标识符的计数值TA以及第一CAN报文数据区的数据生成信息认证码,并经过长度调整算法后生成第一信息认证码σ。第一CAN总线ECU基于该第一生成密钥以及第二CAN报文采用诸如分块加密算法进行加密运算,以得到第一加密运算结果,并对所述第一加密运算结果、所述第一信息认证码σ、所述第一CAN标识符的计数值TA、所述第一CAN报文数据区的数据进行等长加密运算(例如异或运算),以得到运算结果为8字节长度的加密认证第一CAN报文的数据区,将该加密认证第一CAN报文的数据区置于CAN报文数据区进行发送。
本申请实施例中,若所述第一CAN报文为使用第一CAN标识符CIDA发送的首个CAN报文,则所述第二CAN报文为所述第一CAN总线ECU的初始默认CAN报文IVA。若所述第一CAN报文为使用第一CAN标识符CIDA发送的非首个CAN报文,则所述第二CAN报文为使用所述第一CAN标识符CIDA已完成发送CAN报文中设定的CAN报文。
其中,本申请实施例中使用所述第一CAN标识符CIDA已完成发送CAN报文中设定的CAN报文中设定的CAN报文可以是已发送CAN报文中与第一CAN报文相邻的前一则CAN报文,也可以是相邻的前两则CAN报文,或者也可以是任何已发送的CAN报文,本申请实施例中并不限定,网关ECU和CAN总线ECU所使用的第二CAN报文保持一致即可。
本申请实施例中为减少存储开销,一种可能的实施方式中可将所述第一CAN标识符对应已发送CAN报文中设定的CAN报文配置为已发送CAN报文中与所述第一CAN报文相邻的前一则CAN报文。
S105:第一CAN总线ECU发送所述加密认证的第一CAN报文,第二CAN总线ECU接收所述加密认证的第一CAN报文。
S106:第二CAN总线ECU验证接收到的、加密认证的第一CAN报文的合法性。
图13所示为本申请实施例中第二CAN总线ECU验证加密认证的第一CAN报文合法性的实施过程示意图。图13中第二CAN总线ECU对所述加密认证的第一CAN报文进行解密,以得到第一解密信息认证码σ、第一CAN报文的解密数据、第一CAN标识符的第一解密计数值。所述CAN总线ECU获取网关ECU发送的随机数(第一网关ECU使用的随机数),并基于第一CAN标识符CIDA的密钥KA、所述随机数、第一CAN标识符的第一解密计数值、第一CAN报文的解密数据生成第二信息认证码σ’。判断第一解密信息认证码σ和第二信息认证码σ’是否一致,且第一CAN标识符的第一解密计数值是否合法,若所述CAN总线ECU确定所述第一解密信息认证码和所述第二信息认证码一致,且所述第一CAN标识符的第一解密计数值合法,则确定所述加密认证的第一CAN报文合法,即确定接收到的加密认证的第一CAN报文合法。
本申请实施例中,所述第一CAN标识符的第一解密计数值合法是指所述第一CAN标识符的第一解密计数值在预设的计数值允许误差范围内。例如,预配置的计数值允许误差范围为上下浮动3个数值,则若第一解密计数值为第一CAN标识符的计数值TA,或者为TA±3范围内,都可确定第一解密计数值合法。
本申请实施例中,第二CAN总线ECU确定加密认证的第一CAN报文合法后,可继续进行后续处理,若确定加密认证的第一CAN报文不合法,则可舍弃此CAN报文。
本申请实施例提供的CAN总线安全通信方法,第一CAN总线ECU对CAN报文加密运算过程以及生成信息认证码过程中,不仅使用待发送报文的数据,还使用率随机数、计数值以及已发送CAN报文中设定的CAN报文,故即使注入相同的数据值,生成的信息认证码和加密运算结构也不同,故CAN总线ECU发送加密认证CAN报文,可以抵挡重放攻击,并由于结合了加密与认证双重过程,使传输的CAN报文数据区的数据可同时抵挡窃听攻击,注入攻击与重放攻击,安全度较高。并且信息认证码可理解为是直接镶嵌于CAN报文数据区中的,不使用另外CAN报文装载,传输开销较低,并且整体设计不修改CAN收发器硬件,可应用于目前已有的CAN总线系统。
进一步的,本申请实施例中,第一CAN总线ECU和第二CAN总线ECU使用网关ECU发送的随机数对第一CAN标识符的密钥进行密钥生成处理,使得每次使用的密钥更具有随机性,可更有效的提高CAN报文传输的安全性。
上述主要从网关ECU、第一CAN总线ECU和第二CAN总线ECU交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,网关ECU、第一CAN总线ECU和第二CAN总线ECU为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对网关ECU、第一CAN总线ECU和第二CAN总线ECU进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用软件功能单元的形式实现时,图14示出了一种应用于第一CAN总线ECU的CAN总线安全通信装置100的结构示意图,参阅图14所示,应用于第一CAN总线ECU的CAN总线安全通信装置100包括接收单元101、处理单元102和发送单元103,其中,接收单元101用于获取网关ECU发送的随机数。处理单元102,用于基于第一CAN标识符的密钥、第一CAN标识符的计数值、第一CAN报文的数据和所述接收单元101获取的随机数,生成第一信息认证码,其中,所述第一CAN标识符为所述第一CAN报文的CAN标识符;并基于所述第一CAN标识符的密钥对第二CAN报文进行加密运算,以得到第一加密运算结果,对所述第一加密运算结果、所述第一信息认证码、所述第一CAN标识符的计数值、所述第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文。发送单元103,用于发送所述处理单元102生成的加密认证的第一CAN报文。
其中,第一CAN标识符的密钥由CAN总线安全通信系统为第一CAN标识符预先分配,第一CAN标识符的计数值根据第一CAN总线ECU使用第一CAN标识符传输CAN报文的数量确定,且随第一CAN总线ECU使用第一CAN标识符传输CAN报文的数量的变化而变化,第一CAN报文为第一CAN总线ECU待发送的报文,且第一CAN总线ECU使用第一CAN标识符发送所述第一CAN报文。
其中,第二CAN报文为第一CAN总线ECU的历史CAN报文。
具体的,若第一CAN报文为第一CAN总线ECU使用第一CAN标识符发送的首个CAN报文,则第一CAN总线ECU的历史CAN报文可以为CAN总线安全通信系统为第一CAN标识符预先分配的初始默认CAN报文。若第一CAN报文为第一CAN总线ECU使用第一CAN标识符发送的非首个CAN报文,则第一CAN总线ECU的历史CAN报文可以为第一CAN总线ECU使用第一CAN标识符已完成发送的CAN报文中设定的CAN报文。
一种可能的实施方式中,所述接收单元101,还用于获取第三CAN报文、第二CAN标识符以及所述网关ECU发送的加密认证随机数。所述处理单元102,还用于:基于所述接收单元101接收的所述第二CAN标识符的密钥和所述第三CAN报文,得到第二随机数发送密钥;对所述第二随机数发送密钥以及所述第三CAN报文,进行加密运算,以得到第三加密运算结果;对所述第三加密运算结果和所述获取单元获取的加密认证的随机数进行等长解密运算,以得到第一随机数解密信息认证码;基于所述网关ECU发送的所述随机数与第二随机数发送密钥,生成第二随机数信息认证码;若所述第一随机数解密信息认证码和所述第二随机数信息认证码一致,则确定所述接收单元101获取到的所述网关ECU发送的所述随机数合法。
其中,网关ECU使用第二CAN标识符向至少一个CAN总线ECU发送CAN报文,第二CAN标识符的密钥由CAN总线安全通信系统为第二CAN标识符预先分配。第三CAN报文为所述网关ECU的历史CAN报文。
具体的,若网关ECU待发送的随机数为网关ECU发送的首个随机数,则网关ECU的历史CAN报文为CAN总线安全通信系统为网关ECU预先分配的初始默认CAN报文。若网关ECU待发送的随机数为网关ECU发送的非首个随机数,则网关ECU的历史CAN报文为网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
一种可能的示例中,所述处理单元102,可基于所述随机数以及第一CAN标识符的密钥得到第一生成密钥,并基于第一CAN标识符的计数值、第一CAN报文的数据、所述第一生成密钥和所述随机数生成第一信息认证码。
另一种可能的示例中,使用所述第一CAN标识符已完成发送CAN报文中设定的CAN报文为已发送CAN报文中与所述第一CAN报文相邻的前一则CAN报文。
在采用硬件形式实现时,上述处理单元102可以是处理器,接收单元101和发送单元103可以是收发器,当处理单元102是处理器,接收单元101和发送单元103是收发器时,应用于第一CAN总线ECU的CAN总线安全通信装置100可采用图3所示CAN总线安全通信系统中CAN总线ECU的结构。采用图3所示的CAN总线ECU结构的CAN总线安全通信装置100可以是第一CAN总线ECU。
在采用软件功能单元的形式实现时,图15示出了一种应用于第二CAN总线ECU的CAN总线安全通信装置200的结构示意图,参阅图15所示,应用于第二CAN总线ECU的CAN总线安全通信装置200包括接收单元201和处理单元202。其中,接收单元201,用于获取加密认证的第一CAN报文以及网关ECU发送的随机数。处理单元202,用于对所述接收单元201获取的加密认证的第一CAN报文进行解密,以得到第一解密信息认证码、第一CAN报文的解密数据、第一CAN标识符的第一解密计数值,并基于第一CAN报文的解密数据、第一CAN标识符的第一解密计数值、所述第一CAN标识符的密钥、所述接收单元接收到的所述随机数,生成第二信息认证码,并确定所述第一解密信息认证码和所述第二信息认证码是否一致,若所述第一解密信息认证码和所述第二信息认证码一致,且所述第一CAN标识符的第一解密计数值合法,则确定所述加密认证的第一CAN报文合法。
其中,所述第一CAN标识符的第一解密计数值合法是指所述第一CAN标识符的第一解密计数值在预设的计数值允许误差范围内。
一种可能的示例中,所述处理单元202采用如下方式基于所述第一CAN标识符的密钥、所述随机数、第一CAN标识符的第一解密计数值、第一CAN报文的解密数据生成第二信息认证码:基于所述网关ECU发送的随机数以及第一CAN标识符的密钥得到第一生成密钥,并基于所述第一生成密钥、所述网关ECU发送的随机数、第一CAN标识符的第一解密计数值、第一CAN报文的解密数据生成第二信息认证码。
在采用硬件形式实现时,上述处理单元202可以是处理器,接收单元201可以是收发器,当处理单元202是处理器,接收单元201是收发器时,应用于第二CAN总线ECU的CAN总线安全通信装置200可采用图3所示CAN总线安全通信系统中CAN总线ECU的结构。采用图3所示的CAN总线ECU结构的CAN总线安全通信装置200可以是第二CAN总线ECU。
在采用软件功能单元的形式实现时,图16示出了一种应用于网关ECU的CAN总线安全通信装置300的结构示意图,参阅图16所示,应用于网关ECU的CAN总线安全通信装置300包括处理单元301和发送单元302。其中,处理单元301,用于生成随机数。发送单元302,用于向至少一个CAN总线ECU发送所述处理单元301生成的随机数。
其中,处理单元301可基于第二CAN标识符的密钥和第三CAN报文,得到第一随机数发送密钥;基于所述第一随机数发送密钥以及所述网关ECU待发送的随机数,生成第一随机数信息认证码;对所述第一随机数发送密钥,以及第三CAN报文进行加密运算,以得到第二加密运算结果;对所述第二加密运算结果、所述第一随机数信息认证码、所述待发送的随机数进行等长加密运算,以得到加密认证的随机数。所述发送单元302,向所述至少一个CAN总线ECU,发送所述处理单元301生成的加密认证的随机数。
其中,网关ECU使用第二CAN标识符向至少一个CAN总线ECU发送CAN报文,第二CAN标识符的密钥由CAN总线安全通信系统为第二CAN标识符预先分配。第三CAN报文为所述网关ECU的历史CAN报文。
具体的,若网关ECU待发送的随机数为网关ECU发送的首个随机数,则网关ECU的历史CAN报文为CAN总线安全通信系统为网关ECU预先分配的初始默认CAN报文。若网关ECU待发送的随机数为网关ECU发送的非首个随机数,则网关ECU的历史CAN报文为网关ECU使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
一种可能的实施方式中,使用第二CAN标识符已完成发送的CAN报文中设定的CAN报文,为已完成发送CAN报文中与使用第二CAN标识符当前发送的CAN报文相邻的前一则CAN报文。
在采用硬件形式实现时,上述处理单元301可以是处理器,发送单元302可以是收发器,当处理单元301是处理器,发送单元302是收发器时,应用于网关ECU的CAN总线安全通信装置300可采用图3所示CAN总线安全通信系统中网关ECU的结构。采用图3所示CAN总线安全通信系统中网关ECU结构的CAN总线安全通信装置300可以是网关ECU。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (28)
1.一种控制器区域网CAN总线安全通信系统,其特征在于,包括网关电子控制单元ECU、与所述网关ECU相连接的至少一个CAN总线;其中,每个CAN总线上连接有至少一个CAN总线ECU,所述至少一个CAN总线ECU中包括第一CAN总线ECU,其中:
所述网关ECU,用于生成随机数并通过所述至少一个CAN总线向所述至少一个CAN总线ECU发送所述随机数;
所述第一CAN总线ECU,用于获取所述网关ECU发送的所述随机数,并基于第一CAN标识符的密钥、第一CAN标识符的计数值、第一CAN报文的数据以及所述网关ECU发送的所述随机数,生成第一信息认证码,其中,第一CAN标识符的密钥由所述CAN总线安全通信系统为所述第一CAN标识符预先分配,第一CAN标识符的计数值根据所述第一CAN总线ECU使用所述第一CAN标识符传输CAN报文的数量确定,且随所述第一CAN总线ECU使用所述第一CAN标识符传输CAN报文的数量的变化而变化,第一CAN报文为所述第一CAN总线ECU待发送的报文,且所述第一CAN总线ECU使用所述第一CAN标识符发送所述第一CAN报文;
所述第一CAN总线ECU,还用于基于第二CAN报文和所述第一CAN标识符的密钥进行加密运算,以得到第一加密运算结果,并对所述第一加密运算结果、所述第一信息认证码、所述第一CAN标识符的计数值、所述第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文,并发送所述加密认证的第一CAN报文;
其中,所述第二CAN报文为所述第一CAN总线ECU的历史CAN报文。
2.如权利要求1所述的系统,其特征在于,所述网关ECU具体用于:
基于第三CAN报文和第二CAN标识符的密钥,得到第一随机数发送密钥,其中,所述网关ECU使用所述第二CAN标识符向所述至少一个CAN总线ECU发送CAN报文,所述第二CAN标识符的密钥由所述CAN总线安全通信系统为所述第二CAN标识符预先分配,所述第三CAN报文为所述网关ECU的历史CAN报文;
基于所述第一随机数发送密钥以及所述网关ECU待发送的随机数,生成第一随机数信息认证码;
对所述第一随机数发送密钥和所述第三CAN报文进行加密运算,以得到第二加密运算结果;
对所述第二加密运算结果、所述第一随机数信息认证码、所述待发送的随机数进行等长加密运算,以得到加密认证的随机数;
向所述至少一个CAN总线ECU,发送所述加密认证的随机数。
3.如权利要求2所述的系统,其特征在于,所述第一CAN总线ECU,还用于:
获取所述第二CAN标识符、所述第三CAN报文以及所述加密认证的随机数;
基于所述第二CAN标识符的密钥和所述第三CAN报文,得到第二随机数发送密钥;
对所述第二随机数发送密钥以及所述第三CAN报文进行加密运算,以得到第三加密运算结果;
对所述第三加密运算结果和所述加密认证的随机数进行等长解密运算,以得到第一随机数解密信息认证码;
基于所述网关ECU发送的所述随机数与所述第二随机数发送密钥,生成第二随机数信息认证码;
若所述第一随机数解密信息认证码和所述第二随机数信息认证码一致,则确定所述网关ECU发送的所述随机数合法。
4.如权利要求1至3任一项所述的系统,其特征在于,所述至少一个CAN总线ECU中还包括第二CAN总线ECU,所述第二CAN总线ECU用于:
获取所述加密认证的第一CAN报文,并对所述加密认证的第一CAN报文进行解密,以得到第一解密信息认证码、第一CAN报文的解密数据、第一CAN标识符的第一解密计数值;
获取所述网关ECU发送的所述随机数,并基于所述第一CAN标识符的密钥、所述网关ECU发送的所述随机数、所述第一CAN标识符的第一解密计数值和所述第一CAN报文的解密数据,生成第二信息认证码;
若所述第一解密信息认证码和所述第二信息认证码一致,且所述第一CAN标识符的第一解密计数值合法,则确定所述加密认证的第一CAN报文合法。
5.如权利要求4所述的系统,其特征在于,所述第一CAN标识符的第一解密计数值合法是指所述第一CAN标识符的第一解密计数值在预设的计数值允许误差范围内。
6.如权利要求4或5所述的系统,其特征在于,所述第一CAN总线ECU,具体用于:
基于所述网关ECU发送的所述随机数以及第一CAN标识符的密钥,得到第一生成密钥,并
基于第一CAN标识符的计数值、第一CAN报文的数据、所述第一生成密钥以及所述网关ECU发送的所述随机数,生成第一信息认证码;
所述第二CAN总线ECU,具体用于:
基于所述网关ECU发送的所述随机数以及第一CAN标识符的密钥,得到第一生成密钥,并
基于所述第一生成密钥、所述网关ECU发送的所述随机数、所述第一CAN标识符的第一解密计数值、所述第一CAN报文的解密数据,生成第二信息认证码。
7.如权利要求1至6任一项所述的系统,其特征在于,若所述第一CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符发送的首个CAN报文,则所述第一CAN总线ECU的历史CAN报文为所述CAN总线安全通信系统为所述第一CAN标识符预先分配的初始默认CAN报文;
若所述第一CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符发送的非首个CAN报文,则所述第一CAN总线ECU的历史CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符已完成发送的CAN报文中设定的CAN报文。
8.如权利要求2至6任一项所述的系统,其特征在于,若所述网关ECU待发送的随机数为所述网关ECU发送的首个随机数,则所述网关ECU的历史CAN报文为所述CAN总线安全通信系统为所述网关ECU预先分配的初始默认CAN报文;
若所述网关ECU待发送的随机数为所述网关ECU发送的非首个随机数,则所述网关ECU的历史CAN报文为所述网关ECU使用所述第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
9.一种控制器区域网CAN总线安全通信装置,其特征在于,应用于第一CAN总线电子控制单元ECU,包括:
接收单元,用于获取网关ECU发送的随机数;
处理单元,用于基于第一CAN标识符的密钥、第一CAN标识符的计数值、第一CAN报文的数据以及所述接收单元获取的随机数,生成第一信息认证码,其中,第一CAN标识符的密钥由CAN总线安全通信系统为所述第一CAN标识符预先分配,第一CAN标识符的计数值根据所述第一CAN总线ECU使用所述第一CAN标识符传输CAN报文的数量确定,且随所述第一CAN总线ECU使用所述第一CAN标识符传输CAN报文的数量的变化而变化,第一CAN报文为所述第一CAN总线ECU待发送的报文,且所述第一CAN总线ECU使用所述第一CAN标识符发送所述第一CAN报文;并
基于所述第二CAN报文和第一CAN标识符的密钥进行加密运算,以得到第一加密运算结果,对所述第一加密运算结果、所述第一信息认证码、所述第一CAN标识符的计数值、所述第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文;
其中,所述第二CAN报文为所述第一CAN总线ECU的历史CAN报文;
发送单元,用于发送所述处理单元生成的加密认证的第一CAN报文。
10.如权利要求9所述的装置,其特征在于,所述接收单元,还用于获取第二CAN标识符、第三CAN报文以及加密认证的随机数,其中,所述网关ECU使用所述第二CAN标识符向所述至少一个CAN总线ECU发送CAN报文,所述第三CAN报文为所述网关ECU的历史CAN报文;
所述处理单元,还用于:
基于所述第二CAN标识符的密钥和所述第三CAN报文,得到第二随机数发送密钥,所述第二CAN标识符的密钥由所述CAN总线安全通信系统为所述第二CAN标识符预先分配;
对所述第二随机数发送密钥以及所述第三CAN报文进行加密运算,以得到第三加密运算结果;
对所述第三加密运算结果和所述接收单元接收到的加密认证的随机数,进行等长解密运算,以得到第一随机数解密信息认证码;
基于所述接收单元接收到的随机数与所述第二随机数发送密钥,生成第二随机数信息认证码;
若所述第一随机数解密信息认证码和所述第二随机数信息认证码一致,则确定所述接收单元获取到的所述随机数合法。
11.如权利要求9或10所述的装置,其特征在于,所述处理单元,采用如下方式基于第一CAN标识符的密钥、第一CAN标识符的计数值、第一CAN报文的数据以及所述接收单元获取的随机数,生成第一信息认证码:
基于所述接收单元接收到的随机数以及第一CAN标识符的密钥,得到第一生成密钥,并
基于第一CAN标识符的计数值、第一CAN报文的数据、所述第一生成密钥以及所述接收单元接收到的随机数,生成第一信息认证码。
12.如权利要求9至11任一项所述的装置,其特征在于,若所述第一CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符发送的首个CAN报文,则所述第一CAN总线ECU的历史CAN报文为所述CAN总线安全通信系统为所述第一CAN标识符预先分配的初始默认CAN报文;
若所述第一CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符发送的非首个CAN报文,则所述第一CAN总线ECU的历史CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符已完成发送的CAN报文中设定的CAN报文。
13.一种控制器区域网CAN总线安全通信装置,其特征在于,应用于第二CAN总线电子控制单元ECU,包括:
接收单元,用于获取加密认证的第一CAN报文以及网关ECU发送的随机数;
处理单元,用于对所述接收单元获取的加密认证的第一CAN报文进行解密,以得到第一解密信息认证码、第一CAN报文的解密数据、第一CAN标识符的第一解密计数值,并基于所述第一CAN标识符的密钥、所述接收单元接收到的所述随机数、所述第一CAN标识符的第一解密计数值、所述第一CAN报文的解密数据,生成第二信息认证码,并确定所述第一解密信息认证码和所述第二信息认证码是否一致,若所述第一解密信息认证码和所述第二信息认证码一致,且所述第一CAN标识符的第一解密计数值合法,则确定所述加密认证的第一CAN报文合法;
其中,第一CAN标识符的密钥由CAN总线安全通信系统为所述第一CAN标识符预先分配。
14.如权利要求13所述的装置,其特征在于,所述第一CAN标识符的第一解密计数值合法是指所述第一CAN标识符的第一解密计数值在预设的计数值允许误差范围内。
15.如权利要求13或14所述的装置,其特征在于,所述处理单元采用如下方式基于所述第一CAN标识符的密钥、所述接收单元接收到的所述随机数、所述第一CAN标识符的第一解密计数值、所述第一CAN报文的解密数据,生成第二信息认证码:
基于所述接收单元接收到的随机数以及第一CAN标识符的密钥,得到第一生成密钥,并
基于所述第一生成密钥、所述接收单元接收到的随机数、所述第一CAN标识符的第一解密计数值、所述第一CAN报文的解密数据,生成第二信息认证码。
16.一种控制器区域网CAN总线安全通信装置,其特征在于,应用于网关电子控制单元ECU,包括:
处理单元,用于生成随机数;
发送单元,用于向至少一个控制器区域网CAN总线ECU发送所述处理单元生成的随机数。
17.如权利要求16所述的装置,其特征在于,所述处理单元采用如下方式生成随机数:
基于第三CAN报文和第二CAN标识符的密钥,得到第一随机数发送密钥,其中,所述网关ECU使用所述第二CAN标识符向所述至少一个CAN总线ECU发送CAN报文,所述第二CAN标识符的密钥由所述CAN总线安全通信系统为所述第二CAN标识符预先分配,所述第三CAN报文为所述网关ECU的历史CAN报文;
基于所述第一随机数发送密钥以及所述网关ECU待发送的随机数,生成第一随机数信息认证码;
对所述第一随机数发送密钥和所述第三CAN报文进行加密运算,以得到第二加密运算结果;
对所述第二加密运算结果、所述第一随机数信息认证码、所述待发送的随机数进行等长加密运算,以得到加密认证的随机数;
所述发送单元,采用如下方式向至少一个CAN总线ECU发送所述处理单元生成的随机数:
向所述至少一个CAN总线ECU,发送所述处理单元生成的加密认证随机数。
18.如权利要求17所述的装置,其特征在于,若所述网关ECU待发送的随机数为所述网关ECU发送的首个随机数,则所述网关ECU的历史CAN报文为所述CAN总线安全通信系统为所述网关ECU预先分配的初始默认CAN报文;
若所述网关ECU待发送的随机数为所述网关ECU发送的非首个随机数,则所述网关ECU的历史CAN报文为所述网关ECU使用所述第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
19.一种控制器区域网CAN总线安全通信方法,其特征在于,包括:
CAN总线电子控制单元ECU获取网关ECU发送的随机数;
所述CAN总线ECU基于第一CAN标识符的密钥、第一CAN标识符的计数值、第一CAN报文的数据以及所述网关ECU发送的所述随机数,生成第一信息认证码,其中,第一CAN标识符的密钥由CAN总线安全通信系统为所述第一CAN标识符预先分配,第一CAN标识符的计数值根据所述第一CAN总线ECU使用所述第一CAN标识符传输CAN报文的数量确定,且随所述第一CAN总线ECU使用所述第一CAN标识符传输CAN报文的数量的变化而变化,第一CAN报文为所述第一CAN总线ECU待发送的报文,且所述第一CAN总线ECU使用所述第一CAN标识符发送所述第一CAN报文;
所述CAN总线ECU基于第二CAN报文和所述第一CAN标识符的密钥进行加密运算,以得到第一加密运算结果,对所述第一加密运算结果、所述第一信息认证码、所述第一CAN标识符的计数值、所述第一CAN报文的数据进行等长加密运算,以得到加密认证的第一CAN报文,并发送所述加密认证的第一CAN报文;
其中,所述第二CAN报文为所述第一CAN总线ECU的历史CAN报文。
20.如权利要求19所述的方法,其特征在于,所述CAN总线ECU获取网关ECU发送的随机数之后,所述方法还包括:
所述CAN总线ECU获取第二CAN标识符、第三CAN报文以及所述加密认证的随机数,其中,所述网关ECU使用所述第二CAN标识符向所述至少一个CAN总线ECU发送CAN报文,所述第三CAN报文为所述网关ECU的历史CAN报文;
所述CAN总线ECU基于所述第二CAN标识符的密钥和所述第三CAN报文,得到第二随机数发送密钥,所述第二CAN标识符的密钥由所述CAN总线安全通信系统为所述第二CAN标识符预先分配;
所述CAN总线ECU对所述第二随机数发送密钥以及所述第三CAN报文,进行加密运算,以得到第三加密运算结果;
所述CAN总线ECU对所述第三加密运算结果和所述加密认证的随机数,进行等长解密运算,以得到第一随机数解密信息认证码;
所述CAN总线ECU基于所述网关ECU发送的所述随机数与所述第二随机数发送密钥,生成第二随机数信息认证码;
若所述CAN总线ECU确定所述第一随机数解密信息认证码和所述第二随机数信息认证码一致,则确定获取到的所述网关ECU发送的所述随机数合法。
21.如权利要求19或20所述的方法,其特征在于,所述CAN总线ECU基于第一CAN标识符的密钥、第一CAN标识符的计数值、第一CAN报文的数据以及所述网关ECU发送的所述随机数,生成第一信息认证码,包括:
所述CAN总线ECU基于所述网关ECU发送的所述随机数以及第一CAN标识符的密钥,得到第一生成密钥,并
基于第一CAN标识符的计数值、第一CAN报文的数据、所述第一生成密钥以及所述网关ECU发送的所述随机数,生成第一信息认证码。
22.如权利要求19至21任一项所述的方法,其特征在于,若所述第一CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符发送的首个CAN报文,则所述第一CAN总线ECU的历史CAN报文为所述CAN总线安全通信系统为所述第一CAN标识符预先分配的初始默认CAN报文;
若所述第一CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符发送的非首个CAN报文,则所述第一CAN总线ECU的历史CAN报文为所述第一CAN总线ECU使用所述第一CAN标识符已完成发送的CAN报文中设定的CAN报文。
23.一种控制器区域网CAN总线安全通信方法,其特征在于,包括:
CAN总线电子控制单元ECU获取加密认证的第一CAN报文,并对所述加密认证的第一CAN报文进行解密,以得到第一解密信息认证码、第一CAN报文的解密数据、第一CAN标识符的第一解密计数值;
所述CAN总线ECU获取网关ECU发送的所述随机数,并基于第一CAN标识符的密钥、所述网关ECU发送的所述随机数、所述第一CAN标识符的第一解密计数值和所述第一CAN报文的解密数据,生成第二信息认证码;
若所述CAN总线ECU确定所述第一解密信息认证码和所述第二信息认证码一致,且所述第一CAN标识符的第一解密计数值合法,则确定所述加密认证的第一CAN报文合法。
24.如权利要求23所述的方法,其特征在于,所述第一CAN标识符的第一解密计数值合法是指所述第一CAN标识符的第一解密计数值在预设的计数值允许误差范围内。
25.如权利要求23或24所述的方法,其特征在于,所述CAN总线ECU基于所述第一CAN标识符的密钥、所述网关ECU发送的所述随机数、所述第一CAN标识符的第一解密计数值和所述第一CAN报文的解密数据,生成第二信息认证码,包括:
所述CAN总线ECU基于所述网关ECU发送的所述随机数以及第一CAN标识符的密钥,得到第一生成密钥,并
基于所述第一生成密钥、所述网关ECU发送的所述随机数、所述第一CAN标识符的第一解密计数值和所述第一CAN报文的解密数据,生成第二信息认证码。
26.一种控制器区域网CAN总线安全通信方法,其特征在于,包括:
网关ECU生成随机数;
所述网关ECU向至少一个控制器区域网CAN总线ECU发送所述生成的随机数。
27.如权利要求26所述的方法,其特征在于,所述网关ECU生成随机数,包括:
所述网关ECU基于第三CAN报文和第二CAN标识符的密钥,得到第一随机数发送密钥,其中,所述网关ECU使用所述第二CAN标识符向所述至少一个CAN总线ECU发送CAN报文,所述第二CAN标识符的密钥由所述CAN总线安全通信系统为所述第二CAN标识符预先分配,所述第三CAN报文为所述网关ECU的历史CAN报文;
所述网关ECU基于所述第一随机数发送密钥以及所述网关ECU待发送的随机数,生成第一随机数信息认证码;
所述网关ECU对所述第一随机数发送密钥和所述第三CAN报文进行加密运算,以得到第二加密运算结果;
所述网关ECU对所述第二加密运算结果、所述第一随机数信息认证码、所述待发送的随机数进行等长加密运算,以得到加密认证的随机数;
所述网关ECU向至少一个CAN总线ECU发送所述生成的随机数,包括:
所述网关ECU向所述至少一个CAN总线ECU,发送所述加密认证随机数。
28.如权利要求27所述的方法,其特征在于,若所述网关ECU待发送的随机数为所述网关ECU发送的首个随机数,则所述网关ECU的历史CAN报文为所述CAN总线安全通信系统为所述网关ECU预先分配的初始默认CAN报文;
若所述网关ECU待发送的随机数为所述网关ECU发送的非首个随机数,则所述网关ECU的历史CAN报文为所述网关ECU使用所述第二CAN标识符已完成发送的CAN报文中设定的CAN报文。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019565171A JP6915095B2 (ja) | 2017-05-25 | 2017-12-18 | コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム |
KR1020197037871A KR102316872B1 (ko) | 2017-05-25 | 2017-12-18 | 제어기 영역 네트워크 버스 기반 보안 통신 방법, 장치 및 시스템 |
EP17911391.5A EP3641215B1 (en) | 2017-05-25 | 2017-12-18 | Secure communication method, apparatus and system for controller area network bus |
PCT/CN2017/116986 WO2018214487A1 (zh) | 2017-05-25 | 2017-12-18 | 一种控制器区域网总线安全通信方法、装置及系统 |
US16/692,654 US11271771B2 (en) | 2017-05-25 | 2019-11-22 | Controller area network bus based security communications method, apparatus, and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710381307 | 2017-05-25 | ||
CN2017103813074 | 2017-05-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965218A true CN108965218A (zh) | 2018-12-07 |
CN108965218B CN108965218B (zh) | 2020-09-29 |
Family
ID=64495128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710854489.2A Active CN108965218B (zh) | 2017-05-25 | 2017-09-20 | 一种控制器区域网总线安全通信方法、装置及系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11271771B2 (zh) |
EP (1) | EP3641215B1 (zh) |
JP (1) | JP6915095B2 (zh) |
KR (1) | KR102316872B1 (zh) |
CN (1) | CN108965218B (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921908A (zh) * | 2019-02-13 | 2019-06-21 | 北京仁信证科技有限公司 | 一种can总线身份认证方法及身份认证系统 |
CN110430215A (zh) * | 2019-08-16 | 2019-11-08 | 深圳特蓝图科技有限公司 | 一种机器人通信控制方法 |
CN110472200A (zh) * | 2019-07-29 | 2019-11-19 | 深圳市中兴新云服务有限公司 | 一种基于表单的数据处理方法、装置及电子设备 |
CN110826054A (zh) * | 2019-11-05 | 2020-02-21 | 哈尔滨工业大学 | 一种基于报文数据场特征的车载can总线入侵检测方法 |
CN111077883A (zh) * | 2019-12-27 | 2020-04-28 | 国家计算机网络与信息安全管理中心 | 一种基于can总线的车载网络安全防护方法及装置 |
CN111310222A (zh) * | 2019-11-20 | 2020-06-19 | 金现代信息产业股份有限公司 | 文件加密方法 |
CN111443623A (zh) * | 2018-12-29 | 2020-07-24 | 北京奇虎科技有限公司 | 基于车辆can总线结构的安全防护装置及方法 |
CN111683081A (zh) * | 2020-06-04 | 2020-09-18 | 北京百度网讯科技有限公司 | 用于数据安全传输的方法和装置 |
CN111865922A (zh) * | 2020-06-23 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信方法、装置、设备及存储介质 |
CN112118095A (zh) * | 2020-08-27 | 2020-12-22 | 江苏徐工工程机械研究院有限公司 | 一种工程机械can总线随机数生成方法、系统及身份认证系统 |
CN112134702A (zh) * | 2020-10-29 | 2020-12-25 | 北京邮电大学 | 车内网安全通信发送、接收方法及装置 |
TWI718008B (zh) * | 2020-02-21 | 2021-02-01 | 宏碁股份有限公司 | 控制器區域網路資料壓縮/解壓縮之方法與裝置 |
WO2021036252A1 (zh) * | 2019-08-30 | 2021-03-04 | 华为技术有限公司 | 一种通信、更新密钥的方法及装置 |
CN112602303A (zh) * | 2020-08-28 | 2021-04-02 | 华为技术有限公司 | 一种数据传输方法以及装置 |
CN112640365A (zh) * | 2020-02-29 | 2021-04-09 | 华为技术有限公司 | 一种控制器区域网can总线安全通信方法及装置 |
CN112652097A (zh) * | 2020-12-16 | 2021-04-13 | 浙江大学 | 商用车远程防盗系统及其工作方法 |
CN112953801A (zh) * | 2019-12-11 | 2021-06-11 | 现代自动车株式会社 | 车辆网关及其控制方法 |
CN113098860A (zh) * | 2021-03-30 | 2021-07-09 | 三一汽车起重机械有限公司 | 一种can总线加密方法、装置、工程机械和存储介质 |
WO2021139190A1 (zh) * | 2020-01-10 | 2021-07-15 | 华为技术有限公司 | 一种基于车内网的通信方法及装置 |
CN113132092A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 通信方法和电子设备 |
CN113179152A (zh) * | 2021-03-11 | 2021-07-27 | 江苏大学 | 一种基于ecu通信频率特性的车内网络数据通信方法 |
CN113328919A (zh) * | 2021-05-28 | 2021-08-31 | 江苏徐工工程机械研究院有限公司 | 一种can总线标识符、通信方法以及通信系统 |
CN113489588A (zh) * | 2021-06-30 | 2021-10-08 | 湖南三一智能控制设备有限公司 | 作业机械的数据处理方法、装置及作业机械 |
CN113746642A (zh) * | 2021-11-08 | 2021-12-03 | 西安热工研究院有限公司 | 一种计算机间通信方法及系统 |
CN113794734A (zh) * | 2021-09-26 | 2021-12-14 | 上汽通用五菱汽车股份有限公司 | 车载can总线加密通信方法、控制装置和可读存储介质 |
CN114500150A (zh) * | 2022-01-11 | 2022-05-13 | 上海三一重机股份有限公司 | 基于can总线的通信方法、装置及作业机械 |
CN114760163A (zh) * | 2022-04-22 | 2022-07-15 | 惠州华阳通用电子有限公司 | 一种can通信方法 |
CN115941204A (zh) * | 2022-12-06 | 2023-04-07 | 镁佳(北京)科技有限公司 | 一种基于hse的数据防重放方法及系统 |
CN116691415A (zh) * | 2023-08-07 | 2023-09-05 | 深圳航天科创泛在电气有限公司 | 充电信息管理方法、系统、设备及介质 |
CN117714055A (zh) * | 2024-02-05 | 2024-03-15 | 合肥工业大学 | 一种基于身份信息的车内网络通信方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019146976A1 (ko) * | 2018-01-23 | 2019-08-01 | 현대자동차주식회사 | 차량 내 네트워크에 보안을 제공하는 시스템 및 방법 |
CN112477781B (zh) * | 2019-09-12 | 2022-08-26 | 华为技术有限公司 | 实现汽车中电子控制功能的系统、方法以及汽车 |
US11258755B2 (en) * | 2019-09-19 | 2022-02-22 | GM Global Technology Operations LLC | Method and system for processing coherent data |
CN113806827A (zh) * | 2020-06-15 | 2021-12-17 | 卓品智能科技无锡有限公司 | 一种基于sm2硬件加密的总线线控方法 |
CN114142998B (zh) * | 2021-11-26 | 2024-03-15 | 北京神经元网络技术有限公司 | 一种数据加密处理方法、装置、电子设备及存储介质 |
CN117221010B (zh) * | 2023-11-07 | 2024-01-12 | 合肥工业大学 | 一种基于云端的车辆ecu身份认证方法、通信方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025506A (zh) * | 2011-10-31 | 2014-09-03 | 丰田自动车株式会社 | 通信系统中的消息认证方法及通信系统 |
CN105897669A (zh) * | 2015-11-11 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 数据发送、接收方法、发送端、接收端和can总线网络 |
CN106027260A (zh) * | 2016-05-12 | 2016-10-12 | 成都信息工程大学 | 基于密钥预分配的汽车ecu完整性验证和加密通信方法 |
US20160315766A1 (en) * | 2014-11-13 | 2016-10-27 | Panasonic Intellectual Property Corporation Of America | Key management method used in encryption processing for safely transmitting and receiving messages |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171750A (ja) * | 1996-12-09 | 1998-06-26 | Fujitsu Ltd | メモリ間データ転送システム |
US20110093639A1 (en) | 2009-10-19 | 2011-04-21 | Microchip Technology Incorporated | Secure Communications Between and Verification of Authorized CAN Devices |
US9288048B2 (en) * | 2013-09-24 | 2016-03-15 | The Regents Of The University Of Michigan | Real-time frame authentication using ID anonymization in automotive networks |
JP6126980B2 (ja) | 2013-12-12 | 2017-05-10 | 日立オートモティブシステムズ株式会社 | ネットワーク装置およびネットワークシステム |
US9231936B1 (en) | 2014-02-12 | 2016-01-05 | Symantec Corporation | Control area network authentication |
US20160026787A1 (en) | 2014-07-25 | 2016-01-28 | GM Global Technology Operations LLC | Authenticating messages sent over a vehicle bus that include message authentication codes |
US10211990B2 (en) | 2014-07-25 | 2019-02-19 | GM Global Technology Operations LLC | Authenticating messages sent over a vehicle bus that include message authentication codes |
KR101572935B1 (ko) | 2014-10-02 | 2015-12-11 | 현대자동차주식회사 | 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치 |
CN106161224B (zh) * | 2015-04-02 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 数据交换方法、装置及设备 |
CN104767618B (zh) | 2015-04-03 | 2018-02-09 | 清华大学 | 一种基于广播的can总线认证方法及系统 |
DE102015211451A1 (de) * | 2015-06-22 | 2017-01-05 | Volkswagen Aktiengesellschaft | Verfahren zu einem Manipulationsschutz von über ein Bussystem zwischen Systemkomponenten zu übertragenden Nutzdatenpaketen |
-
2017
- 2017-09-20 CN CN201710854489.2A patent/CN108965218B/zh active Active
- 2017-12-18 JP JP2019565171A patent/JP6915095B2/ja active Active
- 2017-12-18 KR KR1020197037871A patent/KR102316872B1/ko active IP Right Grant
- 2017-12-18 EP EP17911391.5A patent/EP3641215B1/en active Active
-
2019
- 2019-11-22 US US16/692,654 patent/US11271771B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025506A (zh) * | 2011-10-31 | 2014-09-03 | 丰田自动车株式会社 | 通信系统中的消息认证方法及通信系统 |
US20160315766A1 (en) * | 2014-11-13 | 2016-10-27 | Panasonic Intellectual Property Corporation Of America | Key management method used in encryption processing for safely transmitting and receiving messages |
CN105897669A (zh) * | 2015-11-11 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 数据发送、接收方法、发送端、接收端和can总线网络 |
CN106027260A (zh) * | 2016-05-12 | 2016-10-12 | 成都信息工程大学 | 基于密钥预分配的汽车ecu完整性验证和加密通信方法 |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443623A (zh) * | 2018-12-29 | 2020-07-24 | 北京奇虎科技有限公司 | 基于车辆can总线结构的安全防护装置及方法 |
CN109921908A (zh) * | 2019-02-13 | 2019-06-21 | 北京仁信证科技有限公司 | 一种can总线身份认证方法及身份认证系统 |
CN109921908B (zh) * | 2019-02-13 | 2021-09-10 | 北京仁信证科技有限公司 | 一种can总线身份认证方法及身份认证系统 |
CN110472200A (zh) * | 2019-07-29 | 2019-11-19 | 深圳市中兴新云服务有限公司 | 一种基于表单的数据处理方法、装置及电子设备 |
CN110472200B (zh) * | 2019-07-29 | 2023-10-27 | 深圳市中兴新云服务有限公司 | 一种基于表单的数据处理方法、装置及电子设备 |
CN110430215A (zh) * | 2019-08-16 | 2019-11-08 | 深圳特蓝图科技有限公司 | 一种机器人通信控制方法 |
CN110430215B (zh) * | 2019-08-16 | 2021-11-09 | 深圳特蓝图科技有限公司 | 一种机器人通信控制方法 |
WO2021036252A1 (zh) * | 2019-08-30 | 2021-03-04 | 华为技术有限公司 | 一种通信、更新密钥的方法及装置 |
CN112449326A (zh) * | 2019-08-30 | 2021-03-05 | 华为技术有限公司 | 一种通信、更新密钥的方法及装置 |
CN110826054A (zh) * | 2019-11-05 | 2020-02-21 | 哈尔滨工业大学 | 一种基于报文数据场特征的车载can总线入侵检测方法 |
CN110826054B (zh) * | 2019-11-05 | 2022-07-15 | 哈尔滨工业大学 | 一种基于报文数据场特征的车载can总线入侵检测方法 |
CN111310222B (zh) * | 2019-11-20 | 2023-08-15 | 金现代信息产业股份有限公司 | 文件加密方法 |
CN111310222A (zh) * | 2019-11-20 | 2020-06-19 | 金现代信息产业股份有限公司 | 文件加密方法 |
CN112953801B (zh) * | 2019-12-11 | 2024-03-15 | 现代自动车株式会社 | 车辆网关及其控制方法 |
CN112953801A (zh) * | 2019-12-11 | 2021-06-11 | 现代自动车株式会社 | 车辆网关及其控制方法 |
CN111077883A (zh) * | 2019-12-27 | 2020-04-28 | 国家计算机网络与信息安全管理中心 | 一种基于can总线的车载网络安全防护方法及装置 |
CN113132092B (zh) * | 2019-12-31 | 2022-04-22 | 华为技术有限公司 | 通信方法和电子设备 |
CN113132092A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 通信方法和电子设备 |
WO2021139190A1 (zh) * | 2020-01-10 | 2021-07-15 | 华为技术有限公司 | 一种基于车内网的通信方法及装置 |
TWI718008B (zh) * | 2020-02-21 | 2021-02-01 | 宏碁股份有限公司 | 控制器區域網路資料壓縮/解壓縮之方法與裝置 |
CN112640365A (zh) * | 2020-02-29 | 2021-04-09 | 华为技术有限公司 | 一种控制器区域网can总线安全通信方法及装置 |
CN111683081A (zh) * | 2020-06-04 | 2020-09-18 | 北京百度网讯科技有限公司 | 用于数据安全传输的方法和装置 |
CN111865922B (zh) * | 2020-06-23 | 2022-09-23 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信方法、装置、设备及存储介质 |
CN111865922A (zh) * | 2020-06-23 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信方法、装置、设备及存储介质 |
CN112118095A (zh) * | 2020-08-27 | 2020-12-22 | 江苏徐工工程机械研究院有限公司 | 一种工程机械can总线随机数生成方法、系统及身份认证系统 |
CN112602303A (zh) * | 2020-08-28 | 2021-04-02 | 华为技术有限公司 | 一种数据传输方法以及装置 |
CN112134702B (zh) * | 2020-10-29 | 2022-02-15 | 北京邮电大学 | 车内网安全通信发送、接收方法及装置 |
CN112134702A (zh) * | 2020-10-29 | 2020-12-25 | 北京邮电大学 | 车内网安全通信发送、接收方法及装置 |
CN112652097A (zh) * | 2020-12-16 | 2021-04-13 | 浙江大学 | 商用车远程防盗系统及其工作方法 |
CN113179152A (zh) * | 2021-03-11 | 2021-07-27 | 江苏大学 | 一种基于ecu通信频率特性的车内网络数据通信方法 |
CN113098860A (zh) * | 2021-03-30 | 2021-07-09 | 三一汽车起重机械有限公司 | 一种can总线加密方法、装置、工程机械和存储介质 |
CN113328919A (zh) * | 2021-05-28 | 2021-08-31 | 江苏徐工工程机械研究院有限公司 | 一种can总线标识符、通信方法以及通信系统 |
CN113328919B (zh) * | 2021-05-28 | 2023-10-10 | 江苏徐工工程机械研究院有限公司 | 一种can总线标识符、通信方法以及通信系统 |
CN113489588A (zh) * | 2021-06-30 | 2021-10-08 | 湖南三一智能控制设备有限公司 | 作业机械的数据处理方法、装置及作业机械 |
CN113794734A (zh) * | 2021-09-26 | 2021-12-14 | 上汽通用五菱汽车股份有限公司 | 车载can总线加密通信方法、控制装置和可读存储介质 |
CN113746642A (zh) * | 2021-11-08 | 2021-12-03 | 西安热工研究院有限公司 | 一种计算机间通信方法及系统 |
CN114500150A (zh) * | 2022-01-11 | 2022-05-13 | 上海三一重机股份有限公司 | 基于can总线的通信方法、装置及作业机械 |
CN114760163A (zh) * | 2022-04-22 | 2022-07-15 | 惠州华阳通用电子有限公司 | 一种can通信方法 |
CN114760163B (zh) * | 2022-04-22 | 2024-01-12 | 惠州华阳通用电子有限公司 | 一种can通信方法 |
CN115941204A (zh) * | 2022-12-06 | 2023-04-07 | 镁佳(北京)科技有限公司 | 一种基于hse的数据防重放方法及系统 |
CN115941204B (zh) * | 2022-12-06 | 2024-04-12 | 镁佳(北京)科技有限公司 | 一种基于hse的数据防重放方法及系统 |
CN116691415B (zh) * | 2023-08-07 | 2023-10-10 | 深圳航天科创泛在电气有限公司 | 充电信息管理方法、系统、设备及介质 |
CN116691415A (zh) * | 2023-08-07 | 2023-09-05 | 深圳航天科创泛在电气有限公司 | 充电信息管理方法、系统、设备及介质 |
CN117714055A (zh) * | 2024-02-05 | 2024-03-15 | 合肥工业大学 | 一种基于身份信息的车内网络通信方法 |
CN117714055B (zh) * | 2024-02-05 | 2024-04-12 | 合肥工业大学 | 一种基于身份信息的车内网络通信方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3641215B1 (en) | 2021-03-31 |
US11271771B2 (en) | 2022-03-08 |
KR20200007972A (ko) | 2020-01-22 |
CN108965218B (zh) | 2020-09-29 |
JP2020521405A (ja) | 2020-07-16 |
EP3641215A4 (en) | 2020-04-29 |
JP6915095B2 (ja) | 2021-08-04 |
EP3641215A1 (en) | 2020-04-22 |
KR102316872B1 (ko) | 2021-10-22 |
US20200092129A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965218A (zh) | 一种控制器区域网总线安全通信方法、装置及系统 | |
CN110073634B (zh) | 数据转换系统及方法 | |
CN108696411B (zh) | 用于在can系统中使用的装置 | |
EP3437247B1 (en) | System and method for distribution of identity based key material and certificate | |
JP4814339B2 (ja) | 制約された暗号キー | |
WO2018214487A1 (zh) | 一种控制器区域网总线安全通信方法、装置及系统 | |
Groza et al. | LiBrA-CAN: A lightweight broadcast authentication protocol for controller area networks | |
CN108599925B (zh) | 一种基于量子通信网络的改进型aka身份认证系统和方法 | |
KR101508497B1 (ko) | 차량용 데이터의 인증 및 획득 방법 | |
KR101657705B1 (ko) | 네트워크를 운영하기 위한 방법, 시스템 관리 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램 | |
EP3349393A1 (en) | Mutual authentication of confidential communication | |
CN105049401B (zh) | 一种基于智能车的安全通信方法 | |
KR101549034B1 (ko) | Can에서 데이터의 기밀성과 무결성을 보장하는 방법 | |
KR20160104565A (ko) | 통신 시스템 및 통신 장치 | |
KR20130056199A (ko) | 보안 키 생성 | |
CN114364062B (zh) | 一种车联网安全接入网关的方法 | |
CN102916810A (zh) | 传感器认证方法、系统和装置 | |
CN110012467A (zh) | 窄带物联网的分组认证方法 | |
Fazzat et al. | A comparative performance study of cryptographic algorithms for connected vehicles | |
Agosta et al. | Cyber-security analysis and evaluation for smart home management solutions | |
US11115187B2 (en) | Apparatus and method for block ciphers for real-time data transmission | |
JP2012060366A (ja) | 通信システム、通信方法、およびコンピュータ・プログラム | |
CN114584321B (zh) | 一种基于puf器件的数据信息加密部署方法 | |
Horvat et al. | Protection of CAN communication on embedded platform using symmetric encryption | |
CN116545636A (zh) | 一种证书链的生成方法及认证方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |