一种基于CAN总线的安全通信方法和系统技术方案

技术编号:21899035 阅读:21 留言:0更新日期:2019-08-17 18:27
一种基于CAN总线的安全通信方法和系统。方法包括,预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;将n个安全等级分别赋予参与CAN总线通信的多个ECU;多个ECU根据被赋予的安全等级进行通信。通过本发明专利技术实施例,可提升CAN总线通信的安全性,并有效控制计算资源的损耗。

A Secure Communication Method and System Based on CAN Bus

【技术实现步骤摘要】
一种基于CAN总线的安全通信方法和系统
本专利技术涉及通信安全领域,尤其涉及一种基于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本文档来自技高网...

【技术保护点】
1.一种基于CAN总线的安全通信方法,其特征在于,包括:预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;将所述n个安全等级分别赋予参与CAN总线通信的多个ECU;所述多个ECU根据被赋予的安全等级进行通信。

【技术特征摘要】
1.一种基于CAN总线的安全通信方法,其特征在于,包括:预设n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;将所述n个安全等级分别赋予参与CAN总线通信的多个ECU;所述多个ECU根据被赋予的安全等级进行通信。2.根据权利要求1所述的方法,其特征在于,将所述n个安全等级分别赋予参与CAN总线通信的多个ECU,包括:将每个安全等级的验签公钥赋予任何处于或低于该安全等级的ECU;将每个安全等级的签名私钥赋予任何该安全等级的ECU。3.根据权利要求2所述的方法,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的发送:提取与所述ECU安全等级对应的签名私钥;利用所述签名私钥对信息和时间签名;发送经所述签名私钥签名的信息和时间。4.根据权利要求3所述的方法,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的接收:公钥提取,提取与所述ECU安全等级对应的验签公钥;验证,利用提取的所述验签公钥对信息进行签名验签,以及进行时间范围验证;接收执行,若验签通过且时间范围正确,则接收信息并执行所述接收到的信息所对应的命令。5.根据权利要求4所述的方法,其特征在于,所述任一ECU对信息的接收,还包括:若验签不通过,判断所述提取的验签公钥安全等级与n的大小关系;若所述提取的验签公钥安全等级小于n,则提取更高一安全等级的验签公钥,重复所述验证过程,直到接收执行;若所述提取的验签公钥安全等级大于或等于n,则拒收所述信息。6.根据权利要求4或5所述的方法,其特征在于,若经验证,所述时间范围错误,则拒收所述信息。7.根据权利要求3所述的方法,其特征在于,所述任一ECU对信息的发送,其发送内容还包括:发送信息等级标识,用于标识发送信息的ECU的安全等级。8.根据权利要求7所述的方法,其特征在于,所述多个ECU根据被赋予的安全等级进行通信,包括,任一ECU对信息的接收:提取所述信息中的发送信息等级标识;将所述等级标识与所述ECU的安全等级进行比较;若所述等级标识大于或等于所述ECU的安全等级,则提取与所述标识的等级对应的验签公钥;利用与所述标识的等级对应的验签公钥对信息进行签名验签,以及进行时间范围验证;若验签通过且时间范围正确,则接收信息并执行所述接收到的信息所对应的命令。9.根据权利要求8所述的方法,其特征在于,若所述等级标识小于所述ECU的安全等级、所述签名验签不通过或所述时间范围错误,则拒收所述信息。10.一种基于CAN总线的安全通信系统,其特征在于,包括:CAN总线以及参与CAN总线通信的多个ECU;所述多个ECU经配置被分别赋予预设的n个安全等级,n为大于1的整数;每个安全等级各自对应一对验签公钥和签名私钥;所述多个ECU根据被赋予的安全等级进行通信。11.根据权利要求10所述...

【专利技术属性】
技术研发人员:周煜梁
申请(专利权)人:深圳市纽创信安科技开发有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1