System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于CAN协议控制器时序协同的安全认证方法技术_技高网

一种基于CAN协议控制器时序协同的安全认证方法技术

技术编号:42053921 阅读:11 留言:0更新日期:2024-07-16 23:33
本发明专利技术公开了一种基于CAN协议控制器时序协同的安全认证方法,属于汽车安全技术领域,包括发送方控制器的处理流程及接收方控制器的处理流程;该认证方法基于CAN车内总线通信协议,采用顺序号每次+1的方式达成控制器间的时序协同,同时采用AES‑CBC算法对远控指令和顺序号计算CMAC值,计算结果再采用SHA‑2算法计算散列值,并在其中复用CMAC的核心理念,取散列值计算结果的H0‑H7逐个进行异或,将结果作为最终的MAC值;该方法基于CAN协议,采用控制器时序协同及安全认证的方式,达成基于CAN协议的各控制器间的安全性、实时性与总线负载率的平衡。该方法有别于直接截取或多帧传输的方式,同时兼顾了远程控车指令的安全性和总线负载率的额外增加带来的隐患。在安全与效率之间达到平衡,既保护车辆用户的安全又减少了远程控车功能的故障率。

【技术实现步骤摘要】

本专利技术属于汽车安全,具体涉及一种基于can协议控制器时序协同的安全认证方法。


技术介绍

1、当前主流车内各控制器之间以can协议作为基础协议进行通信,在车内各控制器间传输远程控车指令时,因远程控车指令属于云端下发的远程指令的特殊性,同时远程控车指令可以控制车内关键系统执行一些可能会危害车内人身安全的操作,故需要对远程控车指令的车内传输过程进行重点保护,主要体现在需要采取信息安全技术对远程控车指令的真实性和完整性进行保护。

2、但标准的can通信协议中,一帧报文只具备8字节的有效数据传输长度,传统的消息认证算法的散列值最低为128bit,即16字节。此外只采用散列值的方式只能保护数据的完整性,无法保护数据的真实性,同时也达不到控制器间的时序协同,以防止可能会发生的重放攻击。当前行业内通用的做法是采用基于autosar的secoc,但碍于一帧can报文的有效字节长度只有8字节,只能对secoc的新鲜值和mac值进行截取,这样做会导致mac值的碰撞率变高,安全性无法得到保障,但若不截取,则需要多帧传输,还会增加总线负载率。


技术实现思路

1、针对现有技术中存在的上述问题,本专利技术提供了一种基于can协议控制器时序协同的安全认证方法;该认证方法基于can车内总线通信协议,采用顺序号每次+1的方式达成控制器间的时序协同,同时采用aes-cbc算法对远控指令和顺序号计算cmac值,计算结果再采用sha-2算法计算散列值,并在其中复用cmac的核心理念,取散列值计算结果的h0-h7逐个进行异或,将结果作为最终的mac值;该方法基于can协议,采用控制器时序协同及安全认证的方式,达成基于can协议的各控制器间的安全性、实时性与总线负载率的平衡。

2、本专利技术通过如下技术方案实现:

3、一种基于can协议控制器时序协同的安全认证方法,包括发送方控制器的处理流程及接收方控制器的处理流程;

4、所述发送方控制器的处理流程包括:

5、s11:发送方控制器识别到需要安全认证的消息后,将发送方控制器的顺序号s发送方控制器数值+1;

6、s12:发送方控制器对待安全认证的消息执行消息认证处理,处理完成后将8字节can报文发送至can总线,等待接收方控制器处理;

7、s13:发送方控制器等待反馈结果;

8、所述接收方控制器的处理流程包括:

9、s21:接收方控制器在can总线上识别到需要安全认证的报文后,接收方控制器比较发送方控制器的顺序号s发送控制器与接收方控制器的顺序号s接收方控制器的差值是否符合要求;

10、s22:若顺序号差值符合要求,则执行消息认证处理,处理完成后比较计算结果是否一致;若一致,进行下一步;

11、s23:认证成功,则执行报文前2字节中相应的处理/操作,认证失败,则终止报文前2字节中相应的处理/操作。

12、进一步地,步骤s13中,若认证失败则上传结果,认证成功则继续执行后续任务。

13、进一步地,步骤s21中,所述差值需大于1且小于x,x需依据实际情况设定,在30-100之间,若顺序号差值不符合要求,则记录顺序号不匹配故障。

14、进一步地,步骤s22中,若计算结果不一致,则记录认证结果不匹配故障,即认证失败,反馈认证失败结果,若计算结果一致,则代表认证成功,更新接收方控制器的顺序号。

15、进一步地,所述接收方控制器的顺序号具体是将报文中发送方控制器的顺序号赋值给接收方控制器的顺序号。

16、进一步地,所述消息认证处理,具体包括如下内容:

17、s31:can报文的byte0-byte1为发送方控制器接收到的需要认证的消息;

18、s32:can报文的byte2-byte3为发送方控制器的顺序号s控制器1,每次执行消息认证处理流程,顺序号数值+1;

19、s33:can报文的byte4-byte7为对前4字节进行消息认证计算的消息认证码mac。

20、进一步地,步骤s33具体包括如下内容:

21、(1)、对报文前4byte,结合密钥,采用aes-cbc加密函数计算得16字节cmac值;

22、(2)、对步骤(1)中得出的16字节cmac值,采用sha-256散列函数计算散列值,其中对散列函数计算过程中的h0-h7进行异或,得4字节结果,作为最终的消息认证码mac。

23、与现有技术相比,本专利技术的优点如下:

24、本专利技术的一种基于can协议控制器时序协同的安全认证方法,基于aes-cbc的cmac的算法保护了远程控车指令的真实性,顺序号保护了远程控车指令在控制器之间的时序协同,sha-2算法保护远程控车指令的完整性的同时,有别于直接截取或多帧传输的方式,同时兼顾了远程控车指令的安全性和总线负载率的额外增加带来的隐患。在安全与效率之间达到平衡,既保护车辆用户的安全又减少了远程控车功能的故障率。

本文档来自技高网...

【技术保护点】

1.一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,包括发送方控制器的处理流程及接收方控制器的处理流程;

2.如权利要求1所述的一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,步骤S13中,若认证失败则上传结果,认证成功则继续执行后续任务。

3.如权利要求1所述的一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,步骤S21中,所述差值需大于1且小于X,X在30-100之间。

4.如权利要求1所述的一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,步骤S22中,若计算结果不一致,则记录认证结果不匹配故障,即认证失败,反馈认证失败结果,若计算结果一致,则代表认证成功,更新接收方控制器的顺序号。

5.如权利要求1所述的一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,所述接收方控制器的顺序号具体是将报文中发送方控制器的顺序号赋值给接收方控制器的顺序号。

6.如权利要求1所述的一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,所述消息认证处理,具体包括如下内容:p>

7.如权利要求1所述的一种基于CAN协议控制器时序协同的安全认证方法,其特征在于,步骤S33具体包括如下内容:

...

【技术特征摘要】

1.一种基于can协议控制器时序协同的安全认证方法,其特征在于,包括发送方控制器的处理流程及接收方控制器的处理流程;

2.如权利要求1所述的一种基于can协议控制器时序协同的安全认证方法,其特征在于,步骤s13中,若认证失败则上传结果,认证成功则继续执行后续任务。

3.如权利要求1所述的一种基于can协议控制器时序协同的安全认证方法,其特征在于,步骤s21中,所述差值需大于1且小于x,x在30-100之间。

4.如权利要求1所述的一种基于can协议控制器时序协同的安全认证方法,其特征在于,步骤s22中,若计算结果不一...

【专利技术属性】
技术研发人员:王奕尧李文强刘茂林刘译萱侯芯宇张旭亮王钰瀚潘志庆马良马文峰
申请(专利权)人:一汽奔腾轿车有限公司
类型:发明
国别省市:

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

1