System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及汽车mcu控制器软件信息安全领域,具体涉及mcu控制器安全启动校验及诊断的控制方法。
技术介绍
1、随着汽车行业高速网联化、智能化发展趋势下,汽车所遭受的风险以及威胁也随之增加,各地针对车辆的网络攻击事件层出不穷,如今,车辆网络安全已不再仅仅关乎道路使用者个人,更影响着社会,国家乃至世界的安全。而未来的汽车领域新能源已成为必然趋势,而mcu作为新能源车核心电子控制器,遭受网络的攻击导致安全事故的概率大,对mcu代码的真实性和准确的校验至关重要。目前大多数mcu启动校验采用hsm硬件模块的对代码的真实性做了安全性校验,保证mcu程序不被恶意篡改,安全级别在行业内普遍认可。但是存在两个问题:一是并没有锁定被攻击程序的具体地址段,无法提升mcu控制器软件的稳健性,软件迭代速度跟不上,升级迟缓导致程序一直被篡改;二是售后维修难度大,一般都是返回给mcu控制器供应商自行分析,增加售后维修成本和客户抱怨率。
技术实现思路
1、本专利技术提供了mcu控制器安全启动校验及诊断的控制方法,通过采用mcu控制单元对启动代码、引导加载程序代码、应用程序代码、标定程序代码进行校验和诊断控制设计,即可以保证整车mcu控制器安全启动,又能给整车售后维修提供准确的诊断信息。
2、解决上述问题的技术方案如下:
3、一种mcu控制器安全启动校验及诊断的控制方法,包括以下步骤:
4、步骤1)预设存入nvm的参数引导加载程序代码校验失败日志s1、应用程序校验失败日志s2
5、步骤2)预定义通过uds的读取数据22服务能访问的引导加载程序代码校验失败前后参数x1、应用程序校验失败前后参数x2以及标定程序代码校验失败前后参数x3;
6、步骤3)对启动代码全部进行校验,如果校验失败,将失败日志存入hsm模块dflash固定地址段中,通过调试器读取该部分的值,确认程序停在hsm模块的地址段中;如果校验成功,进入步骤4);
7、步骤4)对引导加载程序代码全部进行校验,如果校验失败,将失败日志存入预先设置的引导加载程序代码校验失败日志s1中,通过uds-22服务访问引导加载程序代码校验失败前后参数x1,程序停在启动代码的地址段中;如果校验成功,进入步骤5);
8、步骤5)对应用程序代码采用随机分段抽取方式进行校验,如果校验失败,将失败日志存入预先设置的应用程序校验失败日志s2中,通过uds-22服务访问应用程序校验失败前后参数x2获取,程序停在引导加载程序中;如果校验成功,进入步骤6;
9、步骤6)对标定程序代码全部进行校验,如果校验失败,将失败日志存入预先设置的标定程序代码失败日志s3中,通过uds-22服务访问参数标定程序代码校验失败前后参数x3获取,程序停在引导加载程序中;如果校验成功,mcu启动成功。
10、本专利技术的有益技术效果为:
11、1、采用mcu控制单元依次对安全启动代码、引导加载程序代码、应用程序代码、标定程序代码进行校验,确保了代码未被篡改和破环,同时保护了用户的安全。
12、2、当安全启动代码、引导加载程序代码、应用程序代码、标定程序代码进行校验失败后,将过程校验的日志全部存入hsm的dflash,安全性,不会丢失同时可通过读取did获取失败日志。
13、3、通过对mcu的代码采用分层次校验,可锁定具体安全启动失败位置,便于软件提升,同时便于售后人员进行维修,减少售后成本,提高维修效率,降低客户抱怨率。
本文档来自技高网...【技术保护点】
1.MCU控制器安全启动校验及诊断的控制方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤3)对启动代码全部进行校验的过程采用HSM模块,通过芯片自带的密钥,通过AES-128算法计算在工厂出厂第一次烧录启动代码时的CMAC1值,将该CMAC1值存入HSM模块的DFLASH固定地址中,每次启动使用同一种算法和芯片自带的密钥计算出CMAC2,判断CMAC1和CMAC2值是否相同,如果不同,将CMAC1和CMAC2值均存入HSM模块的DFLASH固定地址中,如果相同,进入步骤4)。
3.根据权利要求1所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤4)对引导加载程序代码全部进行校验的过程采用HSM模块,通过芯片自带的密钥,通过AES-128算法计算在工厂出厂第一次烧录引导加载程序代码时的CMAC3值,将该CMAC3值存入HSM模块的DFLASH中,每次启动使用同一种算法和芯片自带的密钥计算出CMAC4,判断CMAC3和CMAC3值是否相同,如果不同,将CMAC3和CMAC4值均存
4.根据权利要求3所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤4)引导加载程序代码校验失败日志S1,为引导加载程序代码校验过程的全部日志,且存入HSM的DFLASH固定地址中,可通过调试器导出分析失败的原因;参与比较的CMAC3和CMAC4的值赋值给参数X1,售后可通过UDS-22服务访问读取参数X1获取失败信息。
5.根据权利要求1所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤5)中应用程序代码采用随机分段抽取方式进行校验,将应用代码随机分为三段,每次启动通过随机函数抽取一段进行校验,可节省启动初始化时间,校验的过程采用HSM模块,通过自定义的密钥,按照AES-128算法计算在工厂出厂第一次烧录应用程序代码时的3段CMAC5、CMAC6、CMAC7的值并存入HSM模块的DFLASH中,每次启动使用同一种算法和自定义密钥随机抽取一段进行校验,判断随机抽取的一段的CMAC5、CMAC6、CMAC7和计算相同的一段的CMAC8是否相同,如果不同,将随机抽取的CMAC5、CMAC6、CMAC7其中一段和CMAC8值均存入预先设置应用程序校验失败日志S2中,如果相同,进入步骤6)。
6.根据权利要求5所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤5)中的应用程序校验失败日志S2,为应用程序校验过程的全部日志,且存入HSM的DFLASH固定地址中,可通过调试器导出分析失败的原因;参与比较的CMAC5、CMAC6、CMAC7和CMAC8值赋值给参数X2,售后可通过UDS-22服务访问读取参数X2获取失败信息。
7.根据权利要求1所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤6)标定程序代码全部进行校验的过程采用HSM模块,通过自定义的密钥,通过AES-128算法计算在工厂出厂第一次烧录引导加载程序代码时的CMAC9值,将该CMAC9值存入HSM的DFLASH中,每次启动使用同一种算法和自定义密钥计算出CMAC10,判断CMAC9和CMAC10值是否相同,如果不同,将CMAC9和CMAC10值均存入预先设置标定程序代码失败日志S3中,如果相同,MCU启动成功。
8.根据权利要求6所述的MCU控制器安全启动校验及诊断的控制方法,其特征在于:步骤6)中标定程序代码失败日志S3,为标定程序代码校验的过程全部日志,且存入HSMCMAC的DFLASH固定地址中,可通过调试器导出分析失败的原因;参与比较的CMAC9和CMAC10值赋值给参数X3,售后可通过UDS-22服务访问读取。
...【技术特征摘要】
1.mcu控制器安全启动校验及诊断的控制方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的mcu控制器安全启动校验及诊断的控制方法,其特征在于:步骤3)对启动代码全部进行校验的过程采用hsm模块,通过芯片自带的密钥,通过aes-128算法计算在工厂出厂第一次烧录启动代码时的cmac1值,将该cmac1值存入hsm模块的dflash固定地址中,每次启动使用同一种算法和芯片自带的密钥计算出cmac2,判断cmac1和cmac2值是否相同,如果不同,将cmac1和cmac2值均存入hsm模块的dflash固定地址中,如果相同,进入步骤4)。
3.根据权利要求1所述的mcu控制器安全启动校验及诊断的控制方法,其特征在于:步骤4)对引导加载程序代码全部进行校验的过程采用hsm模块,通过芯片自带的密钥,通过aes-128算法计算在工厂出厂第一次烧录引导加载程序代码时的cmac3值,将该cmac3值存入hsm模块的dflash中,每次启动使用同一种算法和芯片自带的密钥计算出cmac4,判断cmac3和cmac3值是否相同,如果不同,将cmac3和cmac4值均存入预先设置引导加载程序代码校验失败日志s1中,如果相同,进入步骤5)。
4.根据权利要求3所述的mcu控制器安全启动校验及诊断的控制方法,其特征在于:步骤4)引导加载程序代码校验失败日志s1,为引导加载程序代码校验过程的全部日志,且存入hsm的dflash固定地址中,可通过调试器导出分析失败的原因;参与比较的cmac3和cmac4的值赋值给参数x1,售后可通过uds-22服务访问读取参数x1获取失败信息。
5.根据权利要求1所述的mcu控制器安全启动校验及诊断的控制方法,其特征在于:步骤5)中应用程序代码采用随机分段抽取方式进行校验,将应用代码随机分为三段,每次启动通过随机函数抽取一段进行校验,可节省启动初始化时间,校验...
【专利技术属性】
技术研发人员:曾开莲,曾凤,戴吕俊雅,刘丽萍,刘传宝,林远宗,伍志峰,曾键,习建民,
申请(专利权)人:重庆青山工业有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。