System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及新能源汽车领域,具体地涉及一种实现网络安全的mcu软件升级方法和系统。
技术介绍
1、如今汽车工业向智能化、网联化的转变,网络安全技术在汽车上的应用变得尤为重要,尤其是汽车关键部位mcu电控软件的更新;传统mcu在更新软件的过程中,很容易遭受网络攻击,使得软件程序面临被篡改的风险,从而危及用户的财产与生命安全。因此,需要一种能够实现网络安全功能的mcu软件升级方法,以降低mcu升级中的安全风险。
技术实现思路
1、本专利技术实施例的目的是提供一种实现网络安全的mcu软件升级方法和系统,该mcu软件升级方法和系统能够在升级过程中多次验证网络安全,以降低mcu升级中的安全风险。
2、为了实现上述目的,一方面,本专利技术实施例提供一种实现网络安全的mcu软件升级方法,所述mcu软件升级方法包括:
3、诊断仪接收用户的升级指令后,加载软件升级的数据包以生成关于所述数据包的版本信息,且根据哈希算法计算数据包的第一摘要值;
4、所述诊断仪根据rsa2048非对称算法的私钥计算所述第一摘要值的签名值;
5、mcu在升级程序之前验证版本信息;
6、在验证版本信息正确后,mcu在升级之前验证发送方身份信息,在验证成功后接收所述诊断仪发出的数据包;
7、接收所述数据包成功后,所述mcu在升级过程中对数据包进行验证;
8、所述mcu在升级过程中对所述数据包验证成功后,再次验证发送方信息,并根据结果进行程序升
9、可选的,所述mcu在升级程序之前验证版本信息包括:
10、所述mcu接收所述诊断仪发送的版本信息、第一摘要值和签名值;
11、所述mcu判断接收的版本信息是否是在mcu程序里固定的升级版本范围内;
12、在所述版本信息不在所述mcu程序里固定的升级版本范围内时,退出升级;
13、在所述版本信息在所述mcu程序里固定的升级版本范围内时,继续升级。
14、可选的,所述在验证版本信息正确后,mcu在升级之前验证发送方身份信息,在验证成功后接收所述诊断仪发出的数据包包括:
15、所述mcu使用rsa2048非对称算法的公钥计算所述签名值得到计算摘要值;
16、对比接收的所述第一摘要值和计算摘要值是否一致;
17、在所述第一摘要值和计算摘要值一致的情况下,进入bootloader并请求诊断仪传输所述数据包;
18、所述诊断仪接收到所述mcu的传输请求时,将所述数据包传送至所述mcu,直至传输结束;
19、在所述第一摘要值和所述计算摘要值不一致的情况下,退出升级。
20、可选的,所述接收所述数据包成功后,所述mcu在升级过程中对数据包进行验证包括:
21、所述mcu接收所述数据包;
22、所述mcu根据哈希算法计算所述数据包的第二摘要值;
23、对比所述第一摘要值和第二摘要值是否一致;
24、在所述第一摘要值和第二摘要值一致的情况下,所述mcu请求所述诊断仪发送安全启动数据及其摘要与签名值;
25、所述诊断仪接收请求后,生成安全启动数据,并根据哈希算法计算所述安全启动数据的第三摘要值;
26、所述诊断仪使用rsa2048非对称算法的私钥计算所述第三摘要值的第一签名值;
27、所述诊断仪将所述安全启动数据和所述第一签名值发送至所述mcu,以进行升级;
28、在所述第一摘要值和第二摘要值不一致的情况下,退出升级。
29、可选的,所述mcu在升级过程中对所述数据包验证成功后,再次验证发送方信息,并根据结果进行程序升级包括:
30、所述mcu接收所述安全启动数据和第一签名值;
31、所述mcu根据哈希算法计算所述安全启动数据的第四摘要值;
32、所述mcu根据rsa2048非对称算法的公钥计算所述第一签名值的摘要值;
33、判断所述第四摘要值和第一签名值的摘要值是否一致;
34、在所述第四摘要值和第一签名值的摘要值一致的情况下,将接收的数据包更新到flash里,退出bootloader;
35、在所述第四摘要值和第一签名值的摘要值不一致的情况下,停止升级。
36、另一方面,本专利技术提供一种实现网络安全的mcu软件升级系统,所述mcu软件升级系统包括诊断仪和mcu;
37、所述诊断仪用于接收用户的升级指令,加载软件升级的数据包以生成关于所述数据包的版本信息,且根据哈希算法计算数据包的第一摘要值;
38、所述诊断仪根据rsa2048非对称算法的私钥计算所述第一摘要值的签名值;
39、mcu用于在升级程序之前验证版本信息;
40、在验证版本信息正确后,mcu在升级之前验证发送方身份信息,在验证成功后接收所述诊断仪发出的数据包;
41、接收所述数据包成功后,所述mcu在升级过程中对数据包进行验证;
42、所述mcu在升级过程中对所述数据包验证成功后,再次验证发送方信息,并根据结果进行程序升级。
43、可选的,所述mcu在升级程序之前验证版本信息包括:
44、所述mcu接收所述诊断仪发送的版本信息、第一摘要值和签名值;
45、所述mcu判断接收的版本信息是否是mcu程序里固定的升级版本范围内;
46、在所述版本信息不在所述mcu程序里固定的升级版本范围内时,退出升级;
47、在所述版本信息在所述mcu程序里固定的升级版本范围内时,继续升级。
48、可选的,所述在验证版本信息正确后,mcu在升级之前验证发送方身份信息,在验证成功后接收所述诊断仪发出的数据包包括:
49、所述mcu使用rsa2048非对称算法的公钥计算所述签名值得到计算摘要值;
50、对比接收的所述第一摘要值和计算摘要值是否一致;
51、在所述第一摘要值和计算摘要值一致的情况下,进入bootloader并请求诊断仪传输所述数据包;
52、所述诊断仪接收到所述mcu的传输请求时,将所述数据包传送至所述mcu,直至传输结束;
53、在所述第一摘要值和所述计算摘要值不一致的情况下,退出升级。
54、可选的,所述接收所述数据包成功后,所述mcu在升级过程中对数据包进行验证包括:
55、所述mcu接收所述数据包;
56、所述mcu根据哈希算法计算所述数据包的第二摘要值;
57、对比所述第一摘要值和第二摘要值是否一致;
58、在所述第一摘要值和第二摘要值一致的情况下,所述mcu请求所述诊断仪发送安全启动数据及其摘要与签名值;
59、所述诊断仪接收请求后,生成安全启动数据,并根据哈希算法计算所述安全启动数据的第三摘要本文档来自技高网...
【技术保护点】
1.一种实现网络安全的MCU软件升级方法,其特征在于,所述MCU软件升级方法包括:
2.根据权利要求1所述的MCU软件升级方法,其特征在于,MCU在升级程序之前验证版本信息包括:
3.根据权利要求2所述的MCU软件升级方法,其特征在于,在验证版本信息正确后,MCU在升级之前验证发送方身份信息,在验证成功后接收所述诊断仪发出的数据包包括:
4.根据权利要求3所述的MCU软件升级方法,其特征在于,接收所述数据包成功后,所述MCU在升级过程中对数据包进行验证包括:
5.根据权利要求4所述的MCU软件升级方法,其特征在于,MCU在升级过程中对所述数据包验证成功后,再次验证发送方信息,并根据结果进行程序升级包括:
6.一种实现网络安全的MCU软件升级系统,其特征在于,所述MCU软件升级系统包括诊断仪和MCU;
7.根据权利要求6所述的MCU软件升级系统,其特征在于,MCU在升级程序之前验证版本信息包括:
8.根据权利要求7所述的MCU软件升级系统,其特征在于,在验证版本信息正确后,MCU在升级之前验证发送方
9.根据权利要求8所述的MCU软件升级系统,其特征在于,接收所述数据包成功后,所述MCU在升级过程中对数据包进行验证包括:
10.根据权利要求9所述的MCU软件升级系统,其特征在于,MCU在升级过程中对所述数据包验证成功后,再次验证发送方信息,并根据结果进行程序升级包括:
...【技术特征摘要】
1.一种实现网络安全的mcu软件升级方法,其特征在于,所述mcu软件升级方法包括:
2.根据权利要求1所述的mcu软件升级方法,其特征在于,mcu在升级程序之前验证版本信息包括:
3.根据权利要求2所述的mcu软件升级方法,其特征在于,在验证版本信息正确后,mcu在升级之前验证发送方身份信息,在验证成功后接收所述诊断仪发出的数据包包括:
4.根据权利要求3所述的mcu软件升级方法,其特征在于,接收所述数据包成功后,所述mcu在升级过程中对数据包进行验证包括:
5.根据权利要求4所述的mcu软件升级方法,其特征在于,mcu在升级过程中对所述数据包验证成功后,再次验证发送方信息,并根据结果进行程序升级包括:
6...
【专利技术属性】
技术研发人员:潘艳强,赵志军,贾华香,
申请(专利权)人:合肥钧联汽车电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。