一种汽车OTA升级系统及方法与流程

文档序号:33123544发布日期:2023-02-01 04:28阅读:174来源:国知局
一种汽车OTA升级系统及方法与流程
一种汽车ota升级系统及方法
技术领域
1.本发明属于汽车软件升级技术领域,尤其涉及一种汽车ota升级系统及方法。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.汽车ota升级,空中下载技术(over-the-air technology)是通过移动通信的空中接口实现对移动终端设备及sim卡数据进行远程管理的技术。应用到到汽车领域就是实现系统的在线更新升级。但是,无论是在数据传输环节还是软件更新环节,都有可能对汽车功能、个人隐私,甚至是人身安全造成危害。
4.目前针对汽车ota升级的信息安全方面,主要有以下几种改进策略:采用哈希值校验、通过数字签名算法,或者通过加密算法对软件升级包进行加密。其中,采用哈希值校验或采用数字签名算法验证,并不能保证软件包在云端是否发送篡改;而采用加密算法对软件升级包进行加密,通常需要在车端存储相应的密钥,密钥的安全防护也是需要解决的一个重要问题。


技术实现要素:

5.为克服上述现有技术的不足,本发明提供了一种汽车ota升级系统及方法,通过在车端和服务端均针对不同业务配置不同的密钥,采用非对称加密和对称加密相结合的方式,保证了软件升级包下载传输过程中的安全性。
6.为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
7.一种汽车ota升级系统,包括:
8.设于车端的ota管理模块,用于接收业务升级请求,查找所述业务对应的车端公私钥对,并将车端公钥和业务升级请求发送至云端;
9.设于云端的ota服务模块,用于接收所述业务升级请求,查找所述业务对应的软件升级包,以及服务端对称密钥;将所述软件升级包采用所述对称密钥进行加密,得到加密软件升级包;将所述对称密钥采用车端公钥进行加密,得到加密对称密钥;将所述加密软件升级包和加密对称密钥发送至车端。
10.进一步地,所述ota管理模块还接收云端发送的加密软件升级包和加密对称密钥,基于车端私钥对所述加密对称密钥解密得到对称密钥;基于对称密钥对所述加密软件升级包解密得到软件升级包。
11.进一步地,所述ota服务模块还查找所述业务对应的服务端公钥数字证书和服务端私钥;
12.在对所述软件升级包采用所述对称密钥进行加密之前,首先对所述软件升级包进行哈希运算,得到所述软件升级包的云端摘要值,将所述云端摘要值采用服务端私钥进行加密,得到数字签名;将数字签名和服务端公钥数字证书连同所述加密软件升级包和加密
对称密钥一并发送至车端。
13.进一步地,所述ota管理模块通过服务端公钥数字证书获取服务端公钥,基于所述服务端公钥对数字签名进行解密得到所述软件升级包的云端摘要值;
14.解密得到软件升级包后,进行哈希运算,得到车端摘要值,判断是否与云端摘要值相同。
15.进一步地,基于sm4加密算法将所述软件升级包采用所述对称密钥进行加密;基于sm2加密算法将所述对称密钥采用车端公钥进行加密。
16.进一步地,所述ota管理模块挂载至少一个闪存,用于存储解密后的软件升级包。
17.一个或多个实施例提供了一种汽车ota升级方法,应用于云端,包括以下步骤:
18.接收车端发送的业务升级请求和车端公钥;
19.查找对应的软件升级包,并获取服务端对称密钥;
20.将所述软件升级包采用所述对称密钥进行加密,得到加密软件升级包;
21.将所述对称密钥采用车端公钥进行加密,得到加密对称密钥;
22.将所述加密软件升级包和加密对称密钥发送至车端。
23.进一步地,接收到业务升级请求后,还查找所述业务对应的服务端公钥数字证书和服务端私钥;在对所述软件升级包采用所述对称密钥进行加密之前,首先对所述软件升级包进行哈希运算,得到摘要值,将所述摘要值采用服务端私钥进行加密,得到数字签名;将数字签名和服务端公钥数字证书连同所述加密软件升级包和加密对称密钥一并发送至车端。
24.一个或多个实施例提供了一种汽车ota升级方法,应用于车端,所述车端与所述云端连接,包括以下步骤:
25.接收业务升级请求,查找所述业务对应的车端公私钥对,并将车端公钥和业务升级请求发送至云端;
26.接收云端发送的加密软件升级包和加密对称密钥,基于车端私钥对所述加密对称密钥解密得到对称密钥;基于对称密钥对所述加密软件升级包解密得到软件升级包。
27.进一步地,获取云端发送的数字签名和服务端公钥数字证书;
28.通过服务端公钥数字证书获取服务端公钥,基于所述服务端公钥对数字签名进行解密得到所述软件升级包的云端摘要值;
29.解密得到软件升级包后,进行哈希运算,得到车端摘要值,判断是否与云端摘要值相同。
30.以上一个或多个技术方案存在以下有益效果:
31.通过在车端和服务端均针对不同业务配置不同的密钥,采用非对称加密和对称加密相结合的方式,保证了软件升级包下载传输过程中的安全性,提高整车ota升级安全性;即使其中某个业务对应的密钥被破解,也仅影响该业务自身,对于其他业务不会造成影响。
32.云端针对软件升级包计算数字签名后,进行多层级加密,依次对软件升级包进行对称加密、对加密所采用的密钥进行非对称加密;车端通过多层级解密后得到软件升级包,然后执行数字签名验证,通过将文件加密与数字签名验证相结合的形式,既保证了数据传输过程中的安全性,又保证了文件的真实性和完整性。
附图说明
33.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
34.图1为本发明实施例一中所述汽车ota升级系统框架图;
35.图2为本发明实施例一至三中基于所述汽车ota升级系统的升级原理示意图。
具体实施方式
36.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
37.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
38.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
39.实施例一
40.本实施例的目的是实现车端从云端服务器下载软件升级包到指定ecu的过程,并且一方面要确保下载并传输的软件升级包是与该业务匹配的、且是最新的软件升级包,另一方面要确保传输过程和软件升级包本身的安全性。基于此,本实施例提供了一种汽车ota升级系统,所述系统涉及车端和云端,车辆端通过远程信息控制单元与云端建立连接,所述连接可以采用3g/4g/5g移动网络等现有通讯技术,在此不做限定。具体说明如下。
41.车端包括ota管理模块(ota manager)和车辆远程信息控制单元(telematics control unit,tcu),所述ota管理模块负责管理车辆所有ecu或app的升级过程、告知ecu升级策略,以及升级完成后向云端反馈确认信息;本实施例中,所述ota管理模块还被配置为管理不同业务类型对应的车端公私钥对。所述车辆远程信息控制单元作为车辆与云端通信的枢纽,用于向云端发送升级请求以及从云端获取软件升级包。
42.云端被配置为包括ota服务模块及kms服务模块(key management system),其中,ota服务模块,是针对不同业务集的模块化的服务集合,包括不同业务的软件升级包,并内置软件版本管理,对应不同的软件升级包类型,如全量包、差分包,配置不同的升级策略、及不同业务集调用的密钥管理系统即kms服务模块的服务接口功能。kms服务模块主要是提供汽车ota中云端所需的对应不同业务的,数字时间戳服务、对称密钥生成服务(一次一密)、非对称密钥生成服务、及证书管理服务(ca)。kms服务模块用于为ota服务模块提供全面的密钥相关服务的集合。
43.其中,所述kms服务模块管理ota服务中的各业务模块的密钥使用需求及应用场景。可以采用静态密钥管理,也可以实现动态密钥管理。静态密钥管理即所述kms服务模块预先为不同的业务类型生成对称密钥、服务端公私钥,并申请数字证书进行关联存储,对称密钥定期更新。可以理解为,采用表结构存储不同业务类型和对应密钥的物理存储位置。动态密钥管理是所述kms服务模块每次在接收到业务升级请求后,均针对该类业务生成新的对称密钥,并覆盖上一次的对称密钥,实现一次一密。通过为不同业务类型软件升级包的对
称密钥采用一次一密的策略,增加了软件升级包的破解和篡改难度。
44.具体地,所述汽车ota升级系统包括:
45.设于车端的ota管理模块和设于云端的ota服务模块和kms服务模块。具体阐述如下:
46.设于车端的ota管理模块,用于接收业务升级请求,查找所述业务对应的车端公私钥对,并将车端公钥和业务升级请求发送至云端;
47.以及接收云端发送的加密软件升级包、加密对称密钥、数字签名和服务端公钥数字证书,执行以下步骤:
48.(1)基于车端私钥对所述加密对称密钥解密得到对称密钥;
49.(2)基于对称密钥对所述加密软件升级包解密得到软件升级包;
50.(3)通过服务端公钥数字证书获取服务端公钥,基于所述服务端公钥对数字签名进行解密得到所述软件升级包的云端摘要值;对解密得到的软件升级包进行哈希运算,得到车端摘要值,判断是否与云端摘要值相同。
51.所述ota管理模块还挂载至少一个闪存,用来存储软件升级包,和/或ecus备份,以便于在ecu升级失败之后回滚恢复使用。
52.设于云端的ota服务模块,用于接收所述业务升级请求,查找所述业务对应的软件升级包,以及自kms服务模块获取所述业务对应的服务端公钥数字证书、服务端私钥和服务端对称密钥;然后执行以下步骤:
53.(1)对所述软件升级包进行哈希运算,得到所述软件升级包的云端摘要值,将所述云端摘要值采用服务端私钥进行加密,得到数字签名;
54.(2)将所述软件升级包采用所述对称密钥进行加密,得到加密软件升级包;
55.(3)将所述对称密钥采用车端公钥进行加密,得到加密对称密钥;将所述加密软件升级包、加密对称密钥、数字签名和服务端公钥数字证书发送至车端。
56.其中,车端或云端对于软件升级包采用对称加密和解密的形式,基于sm4加密算法;采用车端公钥对对称密钥加密、采用服务器私钥对数字签名进行加密,以及对应的解密过程均采用sm2加密算法。
57.sm4加密算法是一个分组加密算法,分组长度和密钥长度均128bit。sm4加密算法使用32轮的非线性迭代结构。sm4在最后一轮非线性迭代之后加上了一个反序变换,因此sm4中只要解密密钥是加密密钥的逆序,它的解密算法与加密算法就可以保持一致。sm4的主体运算是非平衡feistel网络。整体逻辑结构如图1所示,经过32轮变换把明文变换为密文。本实施例利用国密sm4、sm2加密技术,对汽车ota升级中的软件升级包进行了数字签名、验签、数字证书的验证等步骤,实现了软件升级包的加密传输,实现了软件升级包的防篡改功能,保障了车端申请软件升级包的信息安全。sm2加密技术(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。sm4加密算法是我国商用密码标准,其前身是sms4算法。
58.为更清楚地对上述系统工作过程进行说明,进行以下阐述:
59.步骤1:车端ota管理模块,接收用户触发的针对某业务升级的业务升级请求,如模式升级之小憩模式,发送至车端ota服务;其中,所述业务升级请求包括待升级业务的标识信息,所述标识信息可以为业务名称,也可以为其他业务标识,例如为每一类业务赋予唯一编号。
60.步骤2:车端ota管理模块查找所述待升级业务对应的车端公私钥对(hpublickey、hprivatekey),将其中的车端公钥(hpublickey)和所述业务升级请求经由远程信息控制单元发送至云端;
61.步骤3:云端ota服务模块接收业务升级请求和车端公钥,根据待升级业务的标识信息查找对应的软件升级包,记为a;自kms服务模块获取待升级业务所需的服务端私钥(serverprivatekey)、服务端公钥数字证书(内部包含服务端公钥(serverpublickey)、服务端对称密钥(k);
62.步骤4:对所述软件升级包进行哈希计算,得出摘要值(z),并将摘要值(z)采用服务端私钥(serverprivatekey),基于sm2加密算法进行加密,得到数字签名(z*);
63.步骤5:将所述软件升级包采用对称密钥(k)作为密钥,基于sm4加密算法进行加密,得到加密软件升级包,记为a*;对对称密钥(k)采用车端公钥(hpublickey),使用sm2加密算法进行打包处理,得到加密对称密钥(k*);将加密软件升级包(a*)、加密对称密钥(k*)、数字签名(z*)及服务端公钥数字证书通过移动网络反馈给车端远程信息控制单元;
64.步骤6:车端ota管理模块经由所述远程信息控制单元接收云端发送的加密软件升级包(a*)、加密对称密钥(k*)、数字签名(z*)及服务端公钥数字证书;
65.步骤7:采用车端私钥(hprivatekey),基于sm2加密算法对加密对称密钥(k*)进行解密,得到服务端对称密钥(k);用对称密钥(k)对软件升级包(a*)解密,得到软件升级包(a)明文;
66.步骤8:通过服务端公钥数字证书获得属于服务端公钥serverpublickey,并用sm2加密算法解开数字签名(z*),得到摘要值(z)(称做摘要值z1);
67.步骤9:对解密后的软件升级包(a)使用和发送者同样的哈希计算创建摘要值(称做摘要z2);比较摘要值z1和摘要值z2,若不相同,则说明信息被篡改,丢弃软件升级包,并原路向云端服务器发送该警告信息。若相同,则表示软件升级包未被篡改,且来自于可信云端服务,执行步骤10;
68.步骤10:车端ota管理模块将软件升级包更新分发到待升级业务(模式更新-小憩模式)相关的ecu或者部分操作系统中,并告知所述待升级业务对应的升级策略信息。升级过程完成后,将向服务器发送确认信息。
69.本实施例通过在车端和服务端均针对不同业务配置不同的密钥,采用非对称加密和对称加密相结合的方式,保证了软件升级包下载传输过程中的安全性,提高整车ota升级安全性;即使其中某个业务对应的密钥被破解,也仅影响该业务自身,对于其他业务不会造成影响。此外,由于车端公私钥对必须配合云端完成整体的加解密,即使被破解或盗取,也无法对软件升级包进行截取。
70.实施例二
71.基于实施例一提供了汽车ota升级系统,本实施例公开了一种汽车ota升级方法,应用于云端,包括以下步骤:
72.步骤1:接收车端发送的业务升级请求和车端公钥;
73.步骤2:查找对应的软件升级包,并获取服务端对称密钥;
74.步骤3:将所述软件升级包采用所述对称密钥进行加密,得到加密软件升级包;
75.步骤4:将所述对称密钥采用车端公钥进行加密,得到加密对称密钥;
76.步骤5:将所述加密软件升级包和加密对称密钥发送至车端。
77.所述步骤2中,还查找所述业务对应的服务端公钥数字证书和服务端私钥。并且在执行所述步骤3之前,首先对所述软件升级包进行哈希运算,得到摘要值,将所述摘要值采用服务端私钥进行加密,得到数字签名;将数字签名和服务端公钥数字证书连同所述加密软件升级包和加密对称密钥一并发送至车端。
78.其中,将所述摘要值采用服务端私钥进行加密,以及步骤4中将所述对称密钥采用车端公钥进行加密采用sm2加密算法。
79.所述步骤3中将所述软件升级包采用所述对称密钥进行加密采用sm4加密算法。
80.实施例三
81.基于实施例一提供了汽车ota升级系统,本实施例公开了一种汽车ota升级方法,应用于车端,包括:
82.接收业务升级请求,查找所述业务对应的车端公私钥对,并将车端公钥和业务升级请求发送至云端;
83.接收云端发送的加密软件升级包和加密对称密钥,基于车端私钥对所述加密对称密钥解密得到对称密钥;基于对称密钥对所述加密软件升级包解密得到软件升级包。
84.更为具体地,还获取云端发送的数字签名和服务端公钥数字证书;通过服务端公钥数字证书获取服务端公钥,基于所述服务端公钥对数字签名进行解密得到所述软件升级包的云端摘要值;解密得到软件升级包后,进行哈希运算,得到车端摘要值,判断是否与云端摘要值相同。
85.以上实施例二和三涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。
86.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1