CN110138642B - 一种基于can总线的安全通信方法和系统 - Google Patents
一种基于can总线的安全通信方法和系统 Download PDFInfo
- Publication number
- CN110138642B CN110138642B CN201910297601.6A CN201910297601A CN110138642B CN 110138642 B CN110138642 B CN 110138642B CN 201910297601 A CN201910297601 A CN 201910297601A CN 110138642 B CN110138642 B CN 110138642B
- Authority
- CN
- China
- Prior art keywords
- information
- ecu
- security level
- signature
- signature verification
- 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
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
Abstract
一种基于CAN总线的安全通信方法和系统。方法包括,预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;将n个安全等级分别赋予参与CAN总线通信的多个ECU;多个ECU根据被赋予的安全等级进行通信。通过本发明实施例,可提升CAN总线通信的安全性,并有效控制计算资源的损耗。
Description
技术领域
本发明涉及通信安全领域,尤其涉及一种基于CAN总线的安全通信方法和系统。
背景技术
汽车安全的总的一个核心问题是CAN总线安全,对于汽车来说,车内很多单元都可以使用CAN总线进行通信,而CAN总线的信息以广播方式传播。当前CAN总线传播有一个关键问题是,接收到广播信息的元器件无法判断广播信息的来源,这样当攻击者可以向CAN总线任意发包的时候就可以控制汽车关键元器件的动作。
现有技术中,为了解决广播信息来源问题,会在元器件一次加入一个过滤模块,这个过滤模块可以将相应的非安全来源指令通过ID识别,从而让攻击者无法伪造数据包。但是该方法有很多问题:通过ID识别本身容易被攻击者伪造,安全性低。同时如果对所有的ID都进行判断识别,会损耗大量的计算资源。因此,如何提升CAN总线通信的安全性,并控制计算资源的损耗,是本领域亟待解决的问题。
发明内容
本发明实施例提供一种基于CAN总线的安全通信方法和系统,可提升CAN总线通信的安全性,并有效控制计算资源的损耗。
一方面,本发明实施例公开一种基于CAN总线的安全通信方法,包括:预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;将所述n个安全等级分别赋予参与CAN总线通信的多个ECU;所述多个ECU根据被赋予的安全等级进行通信。
可选的,将所述n个安全等级分别赋予参与CAN总线通信的多个ECU,包括:将每个安全等级的验签公钥赋予任何处于或低于该安全等级的ECU;将每个安全等级的签名私钥赋予任何该安全等级的ECU。
可选的,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的发送:提取与所述ECU安全等级对应的签名私钥;利用所述签名私钥对信息和时间签名;发送经所述签名私钥签名的信息和时间。
可选的,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的接收:公钥提取,提取与所述ECU安全等级对应的验签公钥;验证,利用提取的所述验签公钥对信息进行签名验签,以及进行时间范围验证;接收执行,若验签通过且时间范围正确,则接收信息并执行所述接收到的信息所对应的命令。
可选的,所述任一ECU对信息的接收,还包括:若验签不通过,判断所述ECU安全等级与n的大小关系;若所述ECU安全等级小于n,则提取更高一级ECU安全等级对应的签名公钥,重复所述验证过程,直到接收执行;若所述ECU安全等级大于或等于n,则拒收所述信息。
可选的,若经验证,所述时间范围错误,则拒收所述信息。
可选的,所述任一ECU对信息的发送,其发送内容还包括:发送信息等级标识,用于标识发送信息的ECU的安全等级。
可选的,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的接收:提取所述信息中的发送信息等级标识;将所述等级标识与所述ECU的安全等级进行比较;若所述等级标识大于或等于所述ECU的安全等级,则提取与所述标识的等级对应的验签公钥;利用与所述标识的等级对应的验签公钥对信息进行签名验签,以及进行时间范围验证;若验签通过且时间范围正确,则接收信息并执行所述接收到的信息所对应的命令。
可选的,若所述等级标识小于或等于所述ECU的安全等级、所述签名验签不通过或所述时间范围错误,则拒收所述信息。
另一方面,本发明实施例公开一种基于CAN总线的安全通信系统,包括:CAN总线以及参与CAN总线通信的多个ECU;所述多个ECU经配置被分别赋予预设的n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;所述多个ECU根据被赋予的安全等级进行通信。
可选的,所述多个ECU经配置被分别赋予预设的n个安全等级,包括:任何安全等级的ECU经配置被赋予高于其安全等级以及等于其安全等级的验签公钥;任何安全等级的ECU经配置被赋予等于其安全等级的签名私钥。
可选的,所述多个ECU根据被赋予的安全等级进行通信,包括任一ECU对信息的发送;所述多个ECU中的任一ECU包括:提取模块,用于提取与所述ECU安全等级对应的签名私钥;签名模块,用于利用所述签名私钥对信息和时间签名;发送模块,用于发送经所述签名私钥签名的信息和时间。
可选的,所述多个ECU根据被赋予的安全等级进行通信,包括任一ECU对信息的接收:所述多个ECU中任一ECU的提取模块,还用于提取与所述ECU安全等级对应的验签公钥;所述多个ECU中任一ECU还包括:验证模块,利用提取的所述验签公钥对信息进行签名验签,以及进行时间范围验证;接收模块,用于若验签通过且时间范围正确,则接收信息;执行模块,用于执行所述接收到的信息对应的命令。
可选的,所述多个ECU中的任一ECU还包括:第一判断模块,用于若验签不通过,判断所述ECU安全等级与n的大小关系;所述提取模块,还用于若所述ECU安全等级小于n,则提取更高一级ECU安全等级对应的签名公钥,交由所述验证模块、接收模块以及执行模块处理。第一拒收模块,用于若所述ECU安全等级大于或等于n,则拒收所述信息。
可选的,所述第一拒收模块,还用于若经验证,所述时间范围错误,则拒收所述信息。
可选的,所述提取模块,还用于提取信息等级标识,用于标识发送信息的ECU的安全等级;所述发送模块,还用于发送所述信息等级标识。
可选的,所述多个ECU根据被赋予的安全等级进行通信,包括任一ECU对信息的接收;所述提取模块,还用于提取所述信息中的发送信息等级标识;所述多个ECU中任一ECU还包括:第二判断模块,用于将所述等级标识与所述ECU的安全等级进行比较;所述提取模块,还用于若所述等级标识大于或等于所述ECU的安全等级,则提取与所述标识的等级对应的验签公钥。
可选的,所述多个ECU中任一ECU还包括:第二验证模块,用于利用所述与所述标识的等级对应的验签公钥对信息进行签名验证,以及进行时间范围验证;第二接收模块,用于若验签通过且时间范围正确,则接收信息;第二执行模块,用于执行所述接收到的信息对应的命令。
可选的,所述多个ECU中的任一ECU还包括:第二拒收模块,用于若所述等级标识小于所述ECU的安全等级、所述签名验签不通过或所述时间范围错误,则拒收所述信息。
本发明实施例中,预设多于一个的安全等级,每个安全等级各自对应一对验签公钥和签名私钥,将这些安全等级分别赋予参与CAN总线通信的多个ECU,这些ECU根据被赋予的安全等级进行通信。通过本发明实施例,可提升CAN总线通信的安全性,并有效控制计算资源的损耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于CAN总线的安全通信方法的流程图;
图2为本发明实施例提供的通信方法实施例中,任一ECU对信息发送的实施例流程图;
图3为本发明实施例提供的任一ECU对信息接收的一个实施例的流程图;
图4为本发明实施例提供的任一ECU对信息接收的另一个实施例的流程图;
图5为本发明实施例提供的一种基于CAN总线的安全通信系统实施例的示意图;
图6为本发明实施例提供的一种基于CAN总线的安全通信系统中ECU一种实施例的示意图。
图7为本发明实施例提供的一种基于CAN总线的安全通信系统中ECU另一种实施例的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
ECU(Electronic Control Unit)电子控制单元,也称为行车电脑、车载电脑等。ECU在汽车中广泛应用,管理着车辆方方面面的功能。不仅在发动机上,在其它许多地方都可发现ECU的踪影。例如,点火控制系统、防抱死制动系统、4轮驱动系统、电控自动变速器、主动悬架系统、安全气囊系统、雨刷控制、仪表显示系统、多向可调电控座椅、车窗控制、座椅加热、自动空调等都配置有各自的ECU,一些汽车上的ECU数量已经多达70多个,各ECU之间通过CAN总线传递信息。本发明实施例通过将各ECU赋予不同的安全等级,使各ECU在被赋予的不同安全等级下按照预设规则通信来提升CAN总线通信的安全性,并有效控制计算资源的损耗。
下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明的限定。
图1为本发明实施例提供的一种芯片年龄的判断方法的流程图;该实施例包括:
S101、预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;
安全等级的数量可根据需要预设,每个安全等级对应一对验签公钥和签名私钥。比如,n=4,预设四个安全等级:安全等级一、安全等级二、安全等级三和安全等级四。安全等级一,对应一级验签公钥和一级签名私钥;安全等级二,对应二级验签公钥和二级签名密钥;依此类推,故安全等级三,对应三级验签公钥和三级签名密钥;安全等级四,对应四级验签公钥和四级签名密钥。
S102、将所述n个安全等级分别赋予参与CAN总线通信的多个ECU;
继续以前述四个安全等级为例,赋予发动机ECU、点火控制系统ECU安全等级四;赋予防抱死制动系统ECU、4轮驱动系统ECU、电控自动变速器ECU、主动悬架系统ECU、安全气囊系统ECU安全等级三;赋予仪表显示系统ECU、车窗控制ECU安全等级二;赋予雨刷控制ECU、多向可调电控座椅ECU、座椅加热ECU、自动空调ECU安全等级一。
具体的,将所述n个安全等级分别赋予参与CAN总线通信的多个ECU,包括将每个安全等级的验签公钥赋予任何处于或低于该安全等级的ECU;以及,将每个安全等级的签名私钥赋予任何该安全等级的ECU。
结合前述四个安全等级的分配,将四个安全等级分别赋予这些ECU,具体为接下来四段的描述。以下描述仅为举例,在实际应用中可根据具体需求,将某个或某些ECU赋予任何较高或较低的安全等级。
将四级验签公钥赋予前述提到的所有ECU;将四级签名密钥赋予发动机ECU和点火控制系统ECU。
将三级验签公钥赋予前述被赋予安全等级三、安全等级二以及安全等级一的ECU,即防抱死制动系统ECU、4轮驱动系统ECU、电控自动变速器ECU、主动悬架系统ECU、安全气囊系统ECU、赋予仪表显示系统ECU、车窗控制ECU、赋予雨刷控制ECU、多向可调电控座椅ECU、座椅加热ECU、自动空调ECU安全等级一;将三级签名密钥赋予安全等级三的ECU,即防抱死制动系统ECU、4轮驱动系统ECU、电控自动变速器ECU、主动悬架系统ECU、安全气囊系统ECU。
将二级验签公钥赋予前述被赋予安全等级二和安全等级一的ECU,即仪表显示系统ECU、车窗控制ECU、雨刷控制ECU、多向可调电控座椅ECU、座椅加热ECU、自动空调ECU;将二级签名密钥赋予安全等级二的ECU,即仪表显示系统ECU、车窗控制ECU。
将一级验签公钥和一级签名密钥赋予前述被赋予安全等级一的ECU,即雨刷控制ECU、多向可调电控座椅ECU、座椅加热ECU、自动空调ECU。
S103、所述多个ECU根据被赋予的安全等级进行通信。
大体上来讲,当某一个安全等级的ECU接收到更高安全等级的ECU发送来的信息时,由于其存有与该更高安全等级ECU对应的验签公钥,所以可以验签通过而有机会执行信息中的命令。当某一个安全等级的ECU接收到更低安全等级的ECU发送来的信息时,由于其并没有存有该更低安全等级ECU所对应的验签公钥,因此无法验签通过而执行信息中的命令。
需要说明的是,验签通过是执行信息中命令的必要条件,但本发明实施例并不将其限制为充分必要条件。在一些实施方式中,还需要有其他条件来增强安全性能,比如时间范围等。更细节的执行方法会在后面实施例中加以详细描述。
通过前面描述可以看出,低安全等级的ECU发送的信息中对应的命令,绝对不会被更高安全等级的ECU所执行;而低安全等级的ECU会有机会执行来自更高安全等级的ECU所发送信息中的命令,从而构建了一个从上至下的安全体系。
本发明实施例中,基于CAN总线构建了一个从上至下的安全体系,且各ECU通过安全等级的方式对通信内容进行判断,在一些情况下,多个ECU可共享一个安全等级,因此并不需要像现有技术中对所有ECU的ID都进行判断识别。实施本发明实施例,安全性高且有效控制了计算资源的损耗。
图2为本发明实施例提供的通信方法实施例中,任一ECU对信息发送的实施例流程图;任一ECU对信息的发送,包括:
S201、提取与所述ECU安全等级对应的签名私钥;
例如,承接前述举例的ECU安全等级描述,当安全气囊系统ECU将要发送信息时,因为安全气囊ECU为安全等级三的ECU,故提取三级签名密钥。
S202、利用所述签名私钥对信息和时间签名;
例如,安全气囊系统ECU用三级签名密钥将信息和时间签名。
S203、发送经所述签名私钥签名的信息和时间;
例如,安全气囊系统ECU将经三级签名密钥签名后的信息和时间发送。
图3为本发明实施例中,任一ECU对信息接收的一个实施例的流程图。任一ECU对信息的接收,包括:
S301、公钥提取,即提取与所述ECU安全等级对应的验签公钥;
承接前述对各ECU安全等级的描述,以仪表显示系统ECU为例,因其为安全等级二的ECU,故提取二级验签公钥。
S302、验证,即利用提取的所述验签公钥对信息签名进行签名验签,以及进行时间范围验证;
例如,仪表显示系统ECU利用二级验签公钥对信息进行签名验签,并对信息进行时间范围的验证;对时间范围的验证,是为了确定该信息的发送是在预设时间范围内发送的,而不是重放攻击的实施者将以往的信息再次发送,从而进一步提升安全性,抵御重放攻击。
S303、判断验签是否通过以及,时间范围是否正确;如果是,执行S304;
S304、接收执行,即,若验签通过且时间范围正确,则接收信息并执行所述接收到的信息所对应的命令。
例如,仪表显示系统ECU利用二级验签公钥对信息验签通过,且经时间范围验证正确,那么即证明该信息的合法和安全性,可以对其相应的命令执行。根据前面所述,可以理解,该信息是其他被赋予安全等级二的ECU所发来的。
然而,也存在时间范围正确,但验签没能通过的情况,在这种情况下,请看下面描述。
若验签不通过但时间范围正确,即仅验签不通过,判断所述提取的验签公钥安全等级与n的大小关系:
S305、判断提取的所述验签公钥安全等级是否为≥n的;如果是,执行S307;如果否,执行S306;
S306、提取更高一安全等级的验签公钥,重复验证过程,直到接收执行;
显然,本发明实施例中,n=4。以仪表显示系统ECU为例,若其使用安全等级为二级的验签公钥无法验签通过时,证明该信息并非是安全等级为二的ECU发来的,但仪表显示系统ECU还存有安全等级为三级和四级的验签公钥,可以继续尝试验证信息是否是更高安全等级的ECU所发来的。
S307、拒收所述信息;
如果提取的所述验签公钥安全等级已经达到上限n=4,仍不能验签通过,仪表显示系统ECU已经没有其他的验签公钥对该信息的签名进行验签,不是任何安全等级为二级、三级、四级的ECU所发来的,那么对安全等级为二的ECU来说,该信息并非是合法信息,对其拒收。
当然,在上述过程中,如果验证时间范围是错误的,或无时间范围,那么该信息必然为非法信息,拒收所述信息。
本发明实施例,基于CAN总线构建了一个从上至下的安全体系,且各ECU通过安全等级的方式对通信内容进行判断,任一ECU在对消息进行验签时,由低到高通过各安全等级的验签公钥对消息签名进行验签;并对消息时间范围进行验证。通过实施本发明实施例,进一步加强了安全性,且有效控制了计算资源的损耗。
需要说明的是,并非只能由低到高通过各安全等级的验签公钥对消息签名进行验签,也可由高到低或跳序验签。
图4为本发明实施例中,任一ECU对信息接收的另一个实施例的流程图。
在描述本实施例之前,需要对与该实施例相对应的任一ECU对信息发送的实施例做一些描述。
在一些实施例中,任一ECU对信息的发送,其发送内容还包括发送信息等级标识,用于标识发送信息的ECU的安全等级,当然,该ECU的安全等级对应了其签名私钥的安全等级,该安全等级对应的验签公钥还被赋予任何处于或低于该安全等级的ECU。
在本发明实施例中,任一ECU对信息的接收,包括:
S401、任一ECU提取所述信息中的发送信息等级标识;
如前面所述,因为发送内容中还包括发送信息等级标识,那么在任一ECU将要接收信息时,可提取出发送信息等级标识,从而直接得到发送所述消息的发送方的安全等级。
S402、将所述等级标识与所述ECU的安全等级进行比较,判断所述等级标识是否大于或等于所述ECU安全等级;
因为已直接得到发送方的安全等级,根据前述分级方法,大于或等于所述ECU安全等级的发送方发送来的消息才有可能是合法的,会被执行的。
S403、若所述等级标识大于或等于所述ECU安全等级,则提取与所述标识的等级对应的验签公钥;
如前所述,如果所述等级标识小于所述ECU安全等级,则该信息对于所述ECU来说是非法的,转步骤S407;
S404、利用与所述标识的等级对应的验签公钥对所述信息进行签名验签,以及进行时间范围验证;
因为已经确认了标识等级,只需从所述ECU存储的验签公钥中提取与所述标识的等级对应的验签公钥来进行签名验签即可;当然,也进行时间范围的验证。
S405、判断是否验签通过且时间范围正确;若是,转S406;若否,转S407;
需要验签通过和时间范围均正确,最终确认该信息是合法的,转S406执行所述信息对应的命令。如果任一条件不符合,那么该信息即非法,转S407拒绝接收所述信息。
S406、接收所述信息并执行所述信息对应的命令;
S407、拒收所述信息。
根据前述的ECU安全等级分配,此处举一个具体的例子:仪表显示系统ECU(安全等级二)提取信息中的发送信息等级标识,发现为四(安全等级四),则直接从仪表显示系统ECU中提取相应的四级验签公钥,对信息签名验签,并作时间范围验证,验签通过且时间范围正确,则接收所述信息并执行所述接收到的信息所对应的命令。安全等级、验签、时间范围三项中任一项不合要求,即判断所述信息为非法的,拒绝接收所述信息。
本发明实施例中,通过在信息中增加发送信息等级标识,来使得接受方ECU在对信息签名验签之前可以快速确定需要使用的验签公钥,而不是由低到高或由高到低的遍历其被赋予的多个验签公钥,执行效率高,安全性强,也进一步节省了计算资源。
请参阅图5,为本发明实施例提供的一种基于CAN总线的安全通信系统实施例的示意图;
基于CAN总线的安全通信系统包括CAN总线以及参与CAN总线通信的多个ECU;多个ECU经配置被分别赋予预设的n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;这多个ECU根据被赋予的安全等级进行通信。
具体的,任何安全等级的ECU经配置被赋予高于其安全等级以及等于其安全等级的验签公钥;任何安全等级的ECU经配置被赋予等于其安全等级的签名私钥。
需要说明的是,虽然图5中只有一条CAN总线,但本发明实施例并不对CAN总线的条数加以限制,实际应用中可以有两条甚至以上数量的CAN总线采用本发明实施例的方案,均属于本发明实施例公开范围。
请再参阅图6,为本发明实施例提供的一种基于CAN总线的安全通信系统中ECU一种实施例的示意图。
ECU 60包括提取模块601、签名模块602、发送模块603,用于对信息的发送。具体的,提取模块601,用于提取与所述ECU安全等级对应的签名私钥;签名模块602,用于利用所述签名私钥对信息和时间签名;发送模块603,用于发送经所述签名私钥签名的信息和时间。
进一步的,ECU 60还包括如下描述的内容,用于对信息的接收。验证模块604,用于利用提取的所述验签公钥对信息进行签名验签,以及进行时间范围验证;接收模块605,用于若验签通过且时间范围正确,则接收信息;执行模块606,用于执行所述接收到的信息对应的命令。此外,还有第一判断模块607,用于若验签不通过,判断所述提取的验签公钥安全等级与n的大小关系;所述提取模块601,还用于若所述提取的验签公钥安全等级小于n,则提取更高一安全等级的验签公钥,交由所述验证模块、接收模块以及执行模块处理;还包括第一拒收模块608,用于若所述提取的验签公钥安全等级大于或等于n,则拒收所述信息。第一拒收模块608,还用于若经验证,所述时间范围错误,则拒收所述信息。
更详细的实施方式因在前述方法实施例中已有描述,此处不再赘述。
本发明实施例,基于CAN总线构建了一个从上至下的安全体系,且各ECU通过安全等级的方式对通信内容进行判断,任一ECU在对消息进行验签时,由低到高通过各安全等级的验签公钥,对消息签名进行验签;并对消息时间范围进行验证。通过实施本发明实施例,加强了安全性,且有效控制了计算资源的损耗。
请再参阅图7,为本发明实施例提供的一种基于CAN总线的安全通信系统中ECU另一种实施例的示意图。
在本实施例中,ECU 70包括提取模块701、签名模块702、发送模块703用于信息的发送;具体的,提取模块701,用于提取与所述ECU安全等级对应的签名私钥;还用于提取信息等级标识,用于标识发送信息的ECU的安全等级。签名模块702,用于利用所述签名私钥对信息和时间签名;发送模块703,用于发送经所述签名私钥签名的信息和时间;还用于发送所述信息等级标识。
进一步的,ECU 70还包括如下描述的内容,用于对信息的接收。在接收信息时,所述提取模块701还用于提取所述信息中的发送信息等级标识;第二判断模块707,用于将所述等级标识与所述ECU的安全等级进行比较;所述提取模块701还用于若所述等级标识大于或等于所述ECU的安全等级,则提取与所述标识的等级对应的验签公钥;第二验证模块704,用于利用所述与所述标识的等级对应的验签公钥对信息进行签名验证,以及进行时间范围验证;第二接收模块705,用于若验签通过且时间范围正确,则接收信息;第二执行模块706,用于执行所述接收到的信息对应的命令。第二拒收模块708,用于若所述等级标识小于或等于所述ECU的安全等级、所述签名验签不通过或所述时间范围错误,则拒收所述信息。
更详细的实施方式因在前述方法实施例中已有描述,此处不再赘述。
本发明实施例中,通过在信息中增加发送信息等级标识,来使得接受方ECU在对信息签名验签之前可以快速确定需要使用的验签公钥,而不是由低到高或由高到低的遍历其被赋予的多个验签公钥,执行效率高,安全性强,也进一步节省了计算资源。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于诸如ECU、其他装置、终端或设备中的计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
本发明实施例的方法的步骤顺序可以根据实际需要进行调整、合并或删减,且顺序不作为限制,对本发明方法实施例、系统实施例中步骤顺序的调整、步骤的合并或删减均应属于本发明的保护范围。
本发明实施例系统中对于ECU模块的描述是为举例,具体实现方式可以根据实际需要进行整合、进一步划分或删减,各模块功能的执行具体由相应的硬件支持,对于模块采用第一、第二等方式命名是为了对功能描述加以区别,以免混淆。在实际应用中,第一,第二的描述可以是针对同一个功能模块或装置的描述,是为了表述其在不同执行方案下的不同功能。对于模块的任何整合、划分或删减均应属于本发明保护范围。
以上对本发明实施例公开的基于CAN总线的安全通信方法和系统进行了详细的介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,而不是对本发明的范围的限制。同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均可能会有改变之处,亦应属本发明保护范围。
Claims (16)
1.一种基于CAN总线的安全通信方法,其特征在于,包括:
预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;
将所述n个安全等级分别赋予参与CAN总线通信的多个ECU;
所述多个ECU根据被赋予的安全等级进行通信;
将所述n个安全等级分别赋予参与CAN总线通信的多个ECU,包括:
将每个安全等级的验签公钥赋予任何处于或低于该安全等级的ECU;
将每个安全等级的签名私钥赋予任何该安全等级的ECU。
2.根据权利要求1所述的方法,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的发送:
提取与ECU安全等级对应的签名私钥;
利用所述签名私钥对信息和时间签名;
发送经所述签名私钥签名的信息和时间。
3.根据权利要求2所述的方法,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的接收:
公钥提取,提取与所述ECU安全等级对应的验签公钥;
验证,利用提取的所述验签公钥对信息进行签名验签,以及进行时间范围验证;
接收执行,若验签通过且时间范围正确,则接收信息并执行接收到的信息所对应的命令。
4.根据权利要求3所述的方法,其特征在于,所述任一ECU对信息的接收,还包括:若验签不通过,
判断提取的验签公钥安全等级与n的大小关系;
若所述提取的验签公钥安全等级小于n,则提取更高一安全等级的验签公钥,重复所述验证过程,直到接收执行;
若所述提取的验签公钥安全等级大于或等于n,则拒收所述信息。
5.根据权利要求3或4所述的方法,其特征在于,若经验证,所述时间范围错误,则拒收所述信息。
6.根据权利要求2所述的方法,其特征在于,所述任一ECU对信息的发送,其发送内容还包括:发送信息等级标识,用于标识发送信息的ECU的安全等级。
7.根据权利要求6所述的方法,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的接收:
提取所述信息中的发送信息等级标识;
将所述等级标识与所述ECU的安全等级进行比较;
若所述等级标识大于或等于所述ECU的安全等级,则提取与所述标识的等级对应的验签公钥;
利用与所述标识的等级对应的验签公钥对信息进行签名验签,以及进行时间范围验证;
若验签通过且时间范围正确,则接收信息并执行接收到的信息所对应的命令。
8.根据权利要求7所述的方法,其特征在于,若所述等级标识小于所述ECU的安全等级、所述签名验签不通过或所述时间范围错误,则拒收所述信息。
9.一种基于CAN总线的安全通信系统,其特征在于,包括:CAN总线以及参与CAN总线通信的多个ECU;
所述多个ECU经配置被分别赋予预设的n个安全等级,n为大于1的整数;
每个安全等级各自对应一对验签公钥和签名私钥;
所述多个ECU根据被赋予的安全等级进行通信;
所述多个ECU经配置被分别赋予预设的n个安全等级,包括:
任何安全等级的ECU经配置被赋予高于其安全等级以及等于其安全等级的验签公钥;
任何安全等级的ECU经配置被赋予等于其安全等级的签名私钥。
10.根据权利要求9所述的系统,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括任一ECU对信息的发送;所述多个ECU中的任一ECU包括:
提取模块,用于提取与ECU安全等级对应的签名私钥;
签名模块,用于利用所述签名私钥对信息和时间签名;
发送模块,用于发送经所述签名私钥签名的信息和时间。
11.根据权利要求10所述的系统,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括任一ECU对信息的接收;所述多个ECU中任一ECU的提取模块,还用于提取与所述ECU安全等级对应的验签公钥;所述多个ECU中任一ECU还包括:
验证模块,用于利用提取的所述验签公钥对信息进行签名验签,以及进行时间范围验证;
接收模块,用于若验签通过且时间范围正确,则接收信息;
执行模块,用于执行接收到的信息对应的命令。
12.根据权利要求11所述的系统,其特征在于,所述多个ECU中的任一ECU还包括:
第一判断模块,用于若验签不通过,判断提取的验签公钥安全等级与n的大小关系;
所述提取模块,还用于若所述提取的验签公钥安全等级小于n,则提取更高一安全等级的验签公钥,交由所述验证模块、接收模块以及执行模块处理;
第一拒收模块,用于若所述提取的验签公钥安全等级大于或等于n,则拒收所述信息。
13.根据权利要求12所述的系统,其特征在于,所述第一拒收模块,还用于若经验证,所述时间范围错误,则拒收所述信息。
14.根据权利要求10所述的系统,其特征在于,所述提取模块,还用于提取信息等级标识,用于标识发送信息的ECU的安全等级;所述发送模块,还用于发送所述信息等级标识。
15.根据权利要求14所述的系统,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括任一ECU对信息的接收;
所述提取模块,还用于提取所述信息中的发送信息等级标识;
所述多个ECU中任一ECU还包括:
第二判断模块,用于将所述等级标识与所述ECU的安全等级进行比较;
所述提取模块,还用于若所述等级标识大于或等于所述ECU的安全等级,则提取与所述标识的等级对应的验签公钥;
所述多个ECU中任一ECU还包括:
第二验证模块,用于利用所述与所述标识的等级对应的验签公钥对信息进行签名验证,以及进行时间范围验证;
第二接收模块,用于若验签通过且时间范围正确,则接收信息;
第二执行模块,用于执行接收到的信息对应的命令。
16.根据权利要求15所述的系统,其特征在于,所述多个ECU中的任一ECU还包括:
第二拒收模块,用于若所述等级标识小于所述ECU的安全等级、所述签名验签不通过或所述时间范围错误,则拒收所述信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910297601.6A CN110138642B (zh) | 2019-04-15 | 2019-04-15 | 一种基于can总线的安全通信方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910297601.6A CN110138642B (zh) | 2019-04-15 | 2019-04-15 | 一种基于can总线的安全通信方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110138642A CN110138642A (zh) | 2019-08-16 |
CN110138642B true CN110138642B (zh) | 2021-09-07 |
Family
ID=67569858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910297601.6A Active CN110138642B (zh) | 2019-04-15 | 2019-04-15 | 一种基于can总线的安全通信方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110138642B (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602004030534D1 (de) * | 2003-01-28 | 2011-01-27 | Cellport Systems Inc | Ein System und ein Verfahren zum Steuern des Zugriffs von Anwendungen auf geschützte Mittel innerhalb eines sicheren Fahrzeugtelematiksystems |
EP3219553B1 (en) * | 2014-11-12 | 2019-01-23 | Panasonic Intellectual Property Corporation of America | Update management method, update management device, and control program |
CN106330858A (zh) * | 2015-07-02 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 实现数据云端存储的方法和装置 |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
US10135618B2 (en) * | 2016-03-25 | 2018-11-20 | Synergex Group (corp.) | Method for using dynamic Public Key Infrastructure to send and receive encrypted messages between software applications |
CN108241803B (zh) * | 2016-12-23 | 2019-03-08 | 中科星图股份有限公司 | 一种异构系统的访问控制方法 |
JP6508188B2 (ja) * | 2016-12-26 | 2019-05-08 | トヨタ自動車株式会社 | 暗号通信システム |
CN106850230B (zh) * | 2017-02-15 | 2018-04-17 | 北京航空航天大学 | 一种基于can网络的数据安全交换方法 |
CN107508796B (zh) * | 2017-07-28 | 2019-01-04 | 北京明朝万达科技股份有限公司 | 一种数据通信方法和装置 |
CN108259465B (zh) * | 2017-12-08 | 2020-05-05 | 清华大学 | 一种智能汽车内部网络的认证加密方法 |
CN108989024B (zh) * | 2018-06-29 | 2023-04-14 | 百度在线网络技术(北京)有限公司 | 控制ecu间通信的方法、装置、设备以及相应车辆 |
CN111935317B (zh) * | 2020-09-27 | 2021-01-01 | 恒大新能源汽车投资控股集团有限公司 | 车辆信息验证方法及装置、计算机可读存储介质 |
-
2019
- 2019-04-15 CN CN201910297601.6A patent/CN110138642B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110138642A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748474B2 (en) | Security system and methods for identification of in-vehicle attack originator | |
EP3197730B1 (en) | Vehicle correlation system for cyber attacks detection and method thereof | |
US8909927B2 (en) | Method for processing messages and message processing device | |
CN110831004B (zh) | 适用于车联网的节点身份认证方法及系统 | |
KR101521412B1 (ko) | 인증기반 메시지 집계 프로토콜 관리시스템 | |
CN108259484B (zh) | 车载控制器的安全访问方法及系统 | |
CN103731469A (zh) | 车载通信系统 | |
US11381585B2 (en) | Method and system for providing security on in-vehicle network | |
CN106792681B (zh) | 用于车联网的入侵检测方法和装置及设备 | |
CN110191437A (zh) | 一种紧急车辆认证方法及相关设备 | |
CN115550069B (zh) | 一种电动汽车智能充电系统及其安全防护方法 | |
CN114040406A (zh) | 一种车载设备的异常信息检测方法及装置 | |
CN112950201A (zh) | 一种应用于区块链系统的节点管理方法及相关装置 | |
CN111163439A (zh) | 基于非对称算法的车载单元收费和打卡方法 | |
CN110138642B (zh) | 一种基于can总线的安全通信方法和系统 | |
CN113795008B (zh) | V2x验签方法、装置、电子设备及可读存储介质 | |
KR101086900B1 (ko) | 기지국을 이용한 주위 차량 위치인식 시스템 및 기지국과 차량 사이의 인증방법 | |
CN108718309B (zh) | 车辆身份的认证方法及装置 | |
DE102015011920A1 (de) | Verfahren zur Überprüfung der Datenintegrität einer C2C Übertragung | |
CN114449513A (zh) | 路侧设备的鉴权方法、装置、设备及计算机存储介质 | |
CN114338073A (zh) | 车载网络的防护方法、系统、存储介质及设备 | |
CN112153638A (zh) | 车载移动终端安全认证方法及设备 | |
CN112104610B (zh) | V2x终端异常行为识别和联合告警方法及系统 | |
CN108234428B (zh) | 车辆自动救援的方法和装置 | |
WO2022218205A1 (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 |