【技术实现步骤摘要】
一种控制器区域网总线安全通信方法、装置及系统
本申请涉及通信
,尤其涉及一种控制器区域网(ControllerAreaNetwork,CAN)总线安全通信方法、装置及系统。
技术介绍
CAN通信协议定义了物理层(PhysicalLayer,PHY)与数据链路层(DataLinkLayer,DLL)的数据传输标准,是一个广播型态的传输信道,且被广泛应用,例如被广泛地被运用在车内通信当中。基于CAN通信协议进行通信的CAN通信网络架构中,一个中央网关电子控制单元(ElectronicControlUnit,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总线系统进行 ...
【技术保护点】
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报文 ...
【技术特征摘要】
2017.05.25 CN 20171038130741.一种控制器区域网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标识符的第一解...
【专利技术属性】
技术研发人员:林孝盈,魏卓,沙庆迪,唐康,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。