一种工程机械安全升级方法、装置及工程机械与流程
未命名
10-19
阅读:79
评论:0

1.本技术涉及工程机械升级技术领域,具体涉及一种工程机械安全升级方法、装置及工程机械。
背景技术:
2.随着工程机械的智能化和网联化程度快速提高,工程机械中控制器的应用程序(特别是域控制器、显示屏等)越来越大,升级次数也越来越频繁,以太网ota(over-the-air,空中下载)技术在工程机械领域的应用越来越受到重视,相较于传统基于can总线的ota技术,以太网ota技术可以极大提高控制器软件的升级效率和稳定性。但现有以太网ota技术尚不成熟,存在身份假冒、窃听攻击、数据篡改等风险,给工程机械的安全带来较大的隐患,不能满足工程机械对于升级安全、快速的需求。
技术实现要素:
3.为了解决上述技术问题,提出了本技术。本技术的实施例提供了一种工程机械安全升级方法、装置及工程机械,可以提高工程机械升级的安全性。
4.根据本技术的一个方面,提供了一种工程机械安全升级方法,应用于工程机械端,所述工程机械端与升级管理服务器通信连接,所述工程机械安全升级方法包括:接收所述升级管理服务器发送的种子文件、加密升级文件以及加密摘要值;其中,所述种子文件表示根据远程升级指令生成的随机数,所述加密摘要值根据所述加密升级文件计算并加密得到,所述加密摘要值表示一段加密的函数值;根据所述种子文件生成第一密钥;根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证;当所述签名验证通过后,根据所述种子文件生成第二密钥;
5.根据所述第二密钥,解密所述加密升级文件并根据解密后的所述加密升级文件进行升级。
6.在一实施例中,所述根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证包括:根据所述第一密钥,解密所述加密摘要值,获得第一摘要值;对所述加密升级文件进行计算,获得第二摘要值;当所述第一摘要值与所述第二摘要值匹配时,确定所述加密摘要值通过所述签名验证。
7.在一实施例中,所述接收所述升级管理服务器发送的种子文件、加密升级文件以及加密摘要值包括:接收所述升级管理服务器发送的所述种子文件、使用对称密钥进行加密的所述加密升级文件以及使用非对称密钥中的公钥或私钥进行加密的所述加密摘要值。
8.在一实施例中,所述根据所述种子文件生成第一密钥包括:将所述种子文件输入预设的第一密钥生成函数中,生成与所述公钥或所述私钥对应的所述第一密钥。
9.在一实施例中,所述当所述签名验证通过后,根据所述种子文件生成第二密钥包括:当所述签名验证通过后,将所述种子文件输入预设的第二密钥生成函数中,生成与所述对称密钥匹配的所述第二密钥。
10.在一实施例中,所述工程机械安全升级方法还包括:获取所述升级管理服务器的身份证书;当所述身份证书与预存的根证书匹配时,确认发送所述加密升级文件的所述升级管理服务器的身份正确。
11.根据本技术的另一个方面,提供了一种工程机械安全升级方法,应用于升级管理服务器,所述升级管理服务器与工程机械端通信连接,所述工程机械安全升级方法包括:根据远程升级指令,生成种子文件;根据所述种子文件生成对称密钥、私钥或公钥;根据所述对称密钥对升级文件进行加密,获得加密升级文件;计算所述加密升级文件生成摘要值;根据所述私钥或所述公钥对所述摘要值进行加密,获得加密摘要值;将所述种子文件、所述加密升级文件以及所述加密摘要值发送至所述工程机械端处。
12.根据本技术的另一个方面,提供了一种工程机械安全升级装置,应用于工程机械端,所述工程机械端与升级管理服务器通信连接,所述工程机械安全升级装置包括:接收模块,用于接收所述升级管理服务器发送的种子文件、加密升级文件以及加密摘要值;其中,所述种子文件表示根据远程升级指令生成的随机数,所述加密摘要值根据所述加密升级文件计算并加密得到,所述加密摘要值表示一段加密的函数值;第一生成模块,用于根据所述种子文件生成第一密钥;第一解密模块,用于根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证;第二生成模块,用于当所述签名验证通过后,根据所述种子文件生成第二密钥;第二解密模块,用于根据所述第二密钥,解密所述加密升级文件并根据解密后的所述加密升级文件进行升级。
13.根据本技术的另一个方面,提供了一种工程机械安全升级装置,应用于升级管理服务器,所述升级管理服务器与工程机械端通信连接,所述工程机械安全升级装置包括:第三生成模块,用于根据远程升级指令,生成种子文件;第四生成模块,用于根据所述种子文件生成对称密钥、私钥或公钥;第一获得模块,用于根据所述对称密钥对升级文件进行加密,获得加密升级文件;第五生成模块,用于计算所述加密升级文件生成摘要值;第二获得模块,用于根据所述私钥或所述公钥对所述摘要值进行加密,获得加密摘要值;发送模块,用于将所述种子文件、所述加密升级文件以及所述加密摘要值发送至所述工程机械端处。
14.根据本技术的另一个方面,提供了一种工程机械,包括:车内通信终端以及控制器,所述车内通信终端以及所述控制器用于执行上述任一项实施例所述的工程机械安全升级方法。
15.本技术提供的工程机械安全升级方法、装置及工程机械,升级文件加密、解密适用的密钥不通过网络传输,而是采用临时生成的种子文件,在工程机械端本地生成密钥解密,杜绝了密钥泄露的风险,极大提升了文件的破解难度,安全性能够得到很好的保障。
附图说明
16.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
17.图1是本技术一示例性实施例提供的ota管理模块的结构示意图。
18.图2是本技术一示例性实施例提供的工程机械安全升级方法的流程示意图。
19.图3是本技术另一示例性实施例提供的工程机械安全升级方法的流程示意图。
20.图4是本技术一示例性实施例提供的工程机械安全升级方法的原理示意图。
21.图5是本技术一示例性实施例提供的ota周期的流程示意图。
22.图6是本技术一示例性实施例提供的工程机械安全升级装置的结构示意图。
23.图7是本技术另一示例性实施例提供的工程机械安全升级装置的结构示意图。
24.图8是本技术一示例性实施例提供的电子设备的结构图。
具体实施方式
25.下面,将参考附图详细地描述根据本技术的示例实施例。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。
26.示例性工程机械
27.根据本技术的另一个方面,提供了一种工程机械,包括:车内通信终端以及控制器,车内通信终端以及控制器用于执行本技术提供的工程机械安全升级方法。
28.工程机械通常与升级管理服务器(车联网的平台端)连接,并且从升级管理服务器获取升级包用于升级。升级管理服务器设置有关升级的ota(over-the-air,空中下载)管理模块,升级管理服务器负责生成并下发升级包至工程机械中,具体通过升级管理服务器的ota管理模块实现,图1是本技术一示例性实施例提供的ota管理模块的结构示意图,如图1所示,ota管理模块包含密钥模块61、升级管理模块62、证书模块63、日志模块64个部分。密钥模块61内置种子文件生成函数、密钥生成函数a、密钥生成函数b、密钥生成函数c、对称加密算法(包括但不限于aes算法)、非对称加密算法(包括但不限于rsa算法),因此密钥模块61用于完成种子(seed)文件生成、对称密钥生成、对升级文件的加密、非对称密钥对(私钥、公钥)生成、摘要值的加密。种子生成函数生成种子seed,seed作为密钥生成函数的输入,用于生成密钥。基于随机生成的种子文件,密钥生成函数a生成对称密钥;密钥生成函数b生成私钥a;密钥生成函数c生成公钥b,其中,私钥a与公钥b组成升级管理服务器非对称密钥对;对称密钥用于升级文件的加密和解密;非对称密钥对用于升级数据的完整性校验以及数字签名和验签。证书模块63用于存储升级管理服务器的数字身份证书等信息。升级管理模块62实现升级包的生成和下发。其中,升级包包含加密的升级文件、身份证书、种子文件、加密的摘要值。日志模块64用于生成和管理升级日志。
29.升级管理服务器的密钥模块预先存储了种子文件生成函数、密钥生成函数a、密钥生成函数b、密钥生成函数c,车内通信终端预先存储了密钥生成函数c;控制器预先存储了密钥生成函数a。
30.车内通信终端(例如telematics box,tbox,远程通信终端)位于工程机械上,可以联网用于与升级管理服务器进行信息交互,并且具备ota功能,从而可以通过移动通信实现对工程机械软件版本的远程升级。因此,车内通信终端可以与升级管理服务器共同实现ota功能。即车内通信终端接收升级管理服务器发送的种子文件、加密升级文件以及加密摘要值,验证信息无误后将加密升级文件以及种子文件发送给控制器,由控制器基于密钥生成函数a和种子文件,解密加密升级文件,进行软件升级。在升级过程中,升级文件加密、解密适用的密钥不通过网络传输,在本地基于种子文件临时生成,杜绝了密钥泄露的风险,极大
提升了文件的破解难度,安全性能够得到很好的保障,并且升级管理服务器与工程机械端安全协商、通信方式简洁,提高了升级效率,能很好地适配工程机械对于升级的要求。
31.示例性方法1
32.图2是本技术一示例性实施例提供的工程机械安全升级方法的流程示意图,如图2所示,工程机械安全升级方法应用于升级管理服务器,升级管理服务器与工程机械端通信连接,升级管理服务器设置有ota管理模块,因此,基于ota管理模块中的密钥模块、升级管理模块、证书模块、日志模块,工程机械安全升级方法包括:
33.步骤210:根据远程升级指令,生成种子文件。
34.当升级管理服务器接收到ota指令(远程升级指令)后,密钥模块中的种子文件生成函数随机生成种子文件,一个ota周期生成一个新的种子文件,该种子文件用于整个ota周期。
35.步骤220:根据种子文件生成对称密钥、私钥或公钥。
36.基于升级管理服务器的密钥模块预先存储了的密钥生成函数a、密钥生成函数b、密钥生成函数c以及同一种子文件,密钥生成函数a生成对称密钥,密钥生成函数b生成私钥,密钥生成函数c生成公钥。
37.步骤230:根据对称密钥对升级文件进行加密,获得加密升级文件。
38.采用对称密钥对升级文件进行加密,即进行对称加密,对称加密算法中的解密密钥和加密密钥是相同的。也正因为同一密钥既用于加密又用于解密,所以这个密钥是不能公开的。若是直接传输对称密钥则有密钥泄露的风险。通过对称密钥对升级文件进行加密后获得加密升级文件。
39.步骤240:计算加密升级文件生成摘要值。
40.通过hash算法(包括但不限于md5)将加密后的加密升级文件进行运算生成摘要值。摘要值是哈希值,通过散列算法例如md5就可以得到这个哈希值,摘要值只是用于验证数据完整性和唯一性的哈希值,不管原始数据是什么样的,得到的哈希值都是固定长度的,也就是说摘要值并不是原始数据加密后的密文,只是一个验证身份的令牌,无法通过摘要值解密得到原始数据。因此,通过摘要值验证身份具备较高的安全性,且通过摘要值验证身份的验证速度更快,可以提高整体的升级效率。
41.步骤250:根据私钥或公钥对摘要值进行加密,获得加密摘要值。
42.使用升级管理服务器生成的私钥对摘要值进行加密,进行数字签名。数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名(例如公钥),另一个用于验证(例如对应公钥的私钥)。数字签名是非对称密钥加密技术与数字摘要技术的应用。并且,数字签名的文件的完整性是很容易验证的,数字签名具有不可抵赖性(不可否认性)。因此,采用非对称密钥用于升级数据的完整性校验以及数字签名、验签,可以进一步提升升级文件的传输完整性,确保数据不被篡改,对升级管理服务器进行身份认证,防止身份假冒,避免了不被信任的终端进行通信和数据传输。
43.步骤260:将种子文件、加密升级文件以及加密摘要值发送至工程机械端处。
44.升级管理服务器可以将种子文件、加密升级文件以及加密摘要值进行打包,生成升级包发送至工程机械端,例如将加密后的升级文件、种子文件、升级管理服务器的身份证书进行打包,生成升级包1,升级包1与加密后的摘要值打包生成升级包2,下发升级包2到工程机械端。工程机械端中预先存储密钥生成函数,输入种子文件后即可获得加密摘要值以及加密升级文件的解密密钥,密钥均在工程机械端本地生成,不需要在通信网络中传输,杜绝了密码被泄露的可能。并且升级文件采用成熟的对称加密方法,文件加密、解密速度快,几乎无法破解,提高了升级效率和安全性。
45.升级管理服务器主要用于生成并且下发升级包,完成升级包的加密以及打包。并且,升级管理服务器与工程机械端在每次ota周期中仅进行一次升级包交互,极大简化了升级流程,提高了升级效率,加密和解密的密钥在升级管理服务器、车内通信终端、控制端本地生成,不在通信网络中传输,杜绝密钥泄露的可能,极大提高了升级的安全性。
46.示例性方法2
47.图3是本技术另一示例性实施例提供的工程机械安全升级方法的流程示意图,如图3所示,工程机械安全升级方法,应用于工程机械端,工程机械端与升级管理服务器通信连接,工程机械安全升级方法包括:
48.步骤110:接收升级管理服务器发送的种子文件、加密升级文件以及加密摘要值。
49.其中,种子文件表示根据远程升级指令生成的随机数,加密摘要值根据加密升级文件计算并加密得到,加密摘要值表示一段加密的函数值。
50.种子(seed)文件用于输入种子文件生成函数(例如rand函数)中,种子文件生成函数、密钥生成函数的使用都需要一个种子文件,一个种子文件即一个序列,该序列中含有很多值,经过rand函数播种,每一个rand函数就会从种子文件(数字序列)那里获得一个值,从而开始运行rand函数产生一个随机数。随机数输入不同的密钥生成函数中,可以生成不同的密钥。在每一个升级周期中,随机生成一个种子文件,并且该种子文件只在一个升级周期中存活,对应一个新的ota(远程升级)请求。即基于一个远程升级指令生成一个对应的种子文件,可以确保升级周期的安全性。传输种子文件而不是直接传输密钥,杜绝了密钥泄露的风险,极大提升了文件的破解难度,安全性能够得到很好的保障。
51.步骤120:根据种子文件生成第一密钥。
52.工程机械端的车内通信终端用于接收种子文件、加密升级文件以及加密摘要值,并且车内通信终端预先存储了密钥生成函数,将种子文件输入密钥生成函数中可以生成用于验签加密摘要值的第一密钥。
53.步骤130:根据第一密钥,解密加密摘要值并对解密后的加密摘要值进行签名验证。
54.若升级管理服务器的密钥生成函数b生成私钥,并采用私钥对摘要值进行加密,则第一密钥为对应私钥的公钥,若升级管理服务器的密钥生成函数c生成公钥,并采用公钥对摘要值进行加密,则第一密钥为对应公钥的私钥。私钥与公钥组成升级管理服务器非对称密钥对,如果用公钥对数据加密,只有对应的私钥才能解密,如果用私钥对数据进行加密,则只有对应的公钥才能解密。因此,采用第一密钥可对加密摘要值进行验签,从而对升级文件的数据完整性进行验证,同时对升级管理服务器的身份进行确认。
55.步骤140:当签名验证通过后,根据种子文件生成第二密钥。
56.当车内通信终端确认签名验证通过后,即确认升级文件的数据完整,并且升级管理服务器的身份信息正确,即可向待升级的控制器下发加密的升级文件以及种子文件。若升级文件加密采用对称加密算法,则控制器根据种子文件以及提前内置的密钥生成函数a,生成第二密钥。由于升级管理服务器用于生成对称密钥的也是密钥生成函数a,因此,控制器生成的第二密钥即是对称密钥。对称加密算法中,解密密钥和加密密钥是相同的,也正是因为同一密钥既用于加密又用于解密,所以这个密钥是不能公开的,若是直接在网络中传输,有较大的泄露风险。因此,传输种子文件并由控制器在本地生成第二密钥(即对称密钥),杜绝了密钥泄露的风险,极大提升了文件的破解难度,安全性能够得到很好的保障。
57.步骤150:根据第二密钥,解密加密升级文件并根据解密后的加密升级文件进行升级。
58.控制器本地生成第二密钥后,解密加密升级文件,并且校验升级软件的版本信息,确认无误后进行软件升级。
59.在整个升级流程中,升级管理服务器与工程机械端之间只需要进行一次交互,升级管理服务器与工程机械端安全协商、通信方式简洁,提高了升级效率,并且,升级文件加密、解密适用的密钥不通过网络传输,而是采用临时生成的种子文件,杜绝了密钥泄露的风险,极大提升了文件的破解难度,安全性能够得到很好的保障。
60.在一实施例中,上述步骤130可以包括:根据第一密钥,解密加密摘要值,获得第一摘要值;对加密升级文件进行计算,获得第二摘要值;当第一摘要值与第二摘要值匹配时,确定加密摘要值通过签名验证。
61.若升级管理服务器的密钥生成函数b生成私钥,并采用私钥对摘要值进行加密,则第一密钥为对应私钥的公钥,若升级管理服务器的密钥生成函数c生成公钥,并采用公钥对摘要值进行加密,则第一密钥为对应公钥的私钥。采用第一密钥对加密摘要值进行解密,获得解密后的第一摘要值,该第一摘要值为通过hash算法(包括但不限于md5算法)计算加密升级文件得到的哈希值。该第一摘要值是由升级管理服务器对加密升级文件进行计算得到的哈希值。工程机械端获取到加密升级文件后,对加密升级文件采用相同的hash算法(包括但不限于md5算法)进行二次运算,得到第二摘要值,若第一摘要值与第二摘要值完全相同,则可以说明加密升级文件未被篡改过,数据完整性无误,并且升级管理服务器的身份也可以确认。若第一摘要值与第二摘要值不一致,则说明升级文件不完整或受到篡改,工程机械端需向升级管理服务器反馈验证失败,并且不进行下一步的软件升级。
62.在一实施例中,上述步骤110可以包括:接收升级管理服务器发送的种子文件、使用对称密钥进行加密的加密升级文件以及使用非对称密钥中的公钥或私钥进行加密的加密摘要值。
63.从升级管理服务器获取基于当前ota指令(远程升级指令),随机生成的种子文件,以及已经使用对称密钥进行加密的加密升级文件、使用非对称密钥中的公钥或私钥进行加密的加密摘要值。对称加密算法快速简单,其缺点是密钥在传输过程中容易被拦截,但是本技术传输种子文件即可杜绝密钥泄露,在提高效率的同时兼顾安全性。非对称加密则用于进行完整性校验以及数字验签,在提高效率、兼顾安全性的同时还可以确保文件传输的完整性以及准确性,实现安全快速又完整的软件升级。
64.在一实施例中,上述步骤120可以包括:将种子文件输入预设的第一密钥生成函数
中,生成与公钥或私钥对应的第一密钥。
65.工程机械端预先存储了密钥生成函数c,将种子文件输入预设的第一密钥生成函数(即密钥生成函数c)中,生成第一密钥。若升级管理服务器的密钥生成函数b生成私钥,并采用私钥对摘要值进行加密,则第一密钥生成函数生成的第一密钥为对应私钥的公钥,若升级管理服务器的密钥生成函数c生成公钥,并采用公钥对摘要值进行加密,则第一密钥生成函数生成的第一密钥为对应公钥的私钥。
66.在一实施例中,上述步骤140可以包括:当签名验证通过后,将种子文件输入预设的第二密钥生成函数中,生成与对称密钥匹配的第二密钥。
67.工程机械端包括车内通信终端和控制器,车内通信终端位于工程机械上,可以联网用于与升级管理服务器进行信息交互,控制器用于实现软件的升级,因此,车内通信终端用于签名验证,当车内通信终端确定签名验证通过后,将种子文件和加密升级文件下发至待升级的控制器处。加密升级文件采用对称加密算法,因此加密和解密的密钥是完全相同的。控制器将种子文件输入控制器中预设的第二密钥生成函数,第二密钥生成函数与升级管理服务器预先存储的密钥生成函数a为同一函数,因此,种子文件输入第二密钥生成函数后生成的第二密钥,与对称密钥完全相同。降低了对称密钥在网络中传输的泄露风险,极大提升了文件的破解难度,加密升级文件的安全性能够得到很好的保障。
68.在一实施例中,工程机械安全升级方法还可以包括:获取升级管理服务器的身份证书;当身份证书与预存的根证书匹配时,确认发送加密升级文件的升级管理服务器的身份正确。
69.升级管理服务器在下发种子文件、加密升级文件以及加密摘要值时,还可以打包下发升级管理服务器的数字身份证书,在工程机械端预存根证书,当工程机械端收到升级管理服务器打包下发的数字身份证书以及升级文件时,可通过对比身份证书以及根证书,来进一步确认发送升级文件的升级管理服务器的身份是否正确,若身份证书与预存的根证书相同,则说明升级管理服务器的身份正确,若身份证书与预存的根证书不相同,则说明升级管理服务器的身份错误。
70.示例性方法3
71.示例性方法1是从升级管理服务器的角度说明如何加密升级文件以及摘要值,而示例性方法2是从工程机械端的角度说明如何确认升级文件的完整性、正确性以及如何解密升级文件,因此,结合示例性方法1和示例性方法2,并且结合升级管理服务器和工程机械端,图4是本技术一示例性实施例提供的工程机械安全升级方法的原理示意图,如图4所示,在示例性方法3中完整说明整个升级过程。
72.步骤一、在升级管理服务器1生成并下发升级包。升级包内容包含:加密升级文件、种子文件、加密摘要值ε、升级管理服务器1数字证书。
73.具体步骤如下:
74.1.1、升级管理服务器1的密钥模块随机生成ota所需密钥的种子文件。
75.1.2、将种子文件输入升级管理服务器1的密钥生成函数a,生成对称密钥a,将种子文件输入密钥生成函数b,生成私钥a;将种子文件输入密钥生成函数c,生成公钥b。
76.1.3、使用对称密钥a对升级文件进行加密,获得加密升级文件。
77.1.4、通过hash算法(包括但不限于md5)将加密后的加密升级文件进行运算生成摘
要值ε,并使用私钥a对摘要值ε进行加密,进行数字签名。
78.1.5、将加密后的升级文件、种子文件、升级管理服务器1的数字身份证书进行打包,生成升级包1,升级包1与加密后端摘要值ε打包生成升级包2。
79.1.6、下发升级包2到工程机械端的车内通信终端2(tbox端)。
80.步骤二、在车内通信终端2进行数据完整性校验以及身份验证。升级管理服务器1下发升级包2至车内通信终端2,车内通信终端2用于车内网络与外部网络的数据交互。车内通信终端2接收到升级包2后对数字签名进行验签,对升级文件的数据完整性进行验证,并对升级管理服务器1进行身份验证。具体实施步骤如下:
81.2.1、解压升级包2得到升级包1和加密后的摘要值ε。
82.2.2、车内通信终端2预存密钥生成函数c,使用种子文件s输入车内通信终端2预存密钥生成函数c,生成公钥b,对加密后的摘要值ε进行验签(例如使用公钥b对加密摘要值进行解密得到摘要值ε,同时车内通信终端2使用与升级管理服务器1相同的hash算法对升级包1进行运算得到摘要值f,将摘要值f与摘要值ε进行对比,若一致,则说明升级包未被篡改,同时说明升级管理服务器1身份无误),对升级文件的数据完整性进行验证,同时对升级管理服务器1的身份进行确认。
83.2.3、解压升级包1,将升级管理服务器1的数字身份证书与存储在车内通信终端2的根证书进行对比,对升级管理服务器1身份进一步认证。
84.2.4、向升级管理服务器1反馈验证结果。
85.2.5、若验证通过,则向待升级的控制器3下发加密升级文件以及种子文件。
86.步骤三、在控制器3端进行加密升级文件的解密以及升级。控制器3接收到加密升级文件和种子文件后,首先通过预存的密钥生成函数a生成对称密钥a对升级文件进行解密,完成版本校验后,进行升级。具体实施步骤如下:
87.3.1、将种子文件输入控制器3预存的密钥生成函数a,生成对称密钥a,对升级文件进行解密。
88.3.2、校验升级文件的软件版本,若校验通过,则进行升级。
89.3.3、控制器3进行升级后,向车内通信终端2反馈升级结果,再由车内通信终端2向升级管理服务器1反馈升级结果。
90.4.1、升级管理服务器1最终根据升级结果生成ota日志文件,结束本周期ota。
91.示例性ota周期
92.图5是本技术一示例性实施例提供的ota周期的流程示意图,如图5所示,基于示例性方法3的步骤说明一个ota周期,一个ota周期包含如下流程:当升级管理服务器上下发ota指令操作后,升级管理服务器执行步骤一(s51)进行升级包生成和下发。车内通信终端在接收到升级包后,执行步骤二(s52),检查验证是否通过(s53),若验证未通过则向升级管理服务器反馈未通过原因,并在升级管理服务器生成相应的日志(s59),结束本周期ota流程。若验证通过,则进一步检验升级管理服务器的身份,检查认证是否通过(s54),若认证未通过,则向升级管理服务器反馈未通过原因,并在升级管理服务器生成相应的日志(s59),结束本周期ota流程。若认证通过,则继续执行步骤三(s55),检查升级文件是否解密成功(s56),若解密未成功则向升级管理服务器反馈未成功原因,并在升级管理服务器生成相应的日志(s59),结束本周期ota流程。若解密成功则对升级版本进行校验,检查校验是否成功
(s57),若未成功则向升级管理服务器反馈未成功原因,并在升级管理服务器生成相应的日志(s59),结束本周期ota流程。若校验成功,控制器开始升级,并在升级结束后检查升级是否成功(s58)。若升级成功则向升级管理服务器反馈升级成功,升级管理服务器最终根据升级结果生成ota日志文件(s59),结束本周期ota。若升级未成功,也需向升级管理服务器反馈未升级成功的原因,升级管理服务器最终根据升级结果生成ota日志文件(s59),结束本周期ota。
93.示例性装置1
94.图6是本技术一示例性实施例提供的工程机械安全升级装置的结构示意图,如图6所示,工程机械安全升级装置应用于工程机械端,工程机械安全升级装置包括:接收模块31,用于接收升级管理服务器发送的种子文件、加密升级文件以及加密摘要值;其中,种子文件表示根据远程升级指令生成的随机数,加密摘要值根据加密升级文件计算并加密得到,加密摘要值表示一段加密的函数值;第一生成模块32,用于根据种子文件生成第一密钥;第一解密模块33,用于根据第一密钥,解密加密摘要值并对解密后的加密摘要值进行签名验证;第二生成模块34,用于当签名验证通过后,根据种子文件生成第二密钥;第二解密模块35,用于根据第二密钥,解密加密升级文件并根据解密后的加密升级文件进行升级。
95.本技术提供的工程机械安全升级装置,升级文件加密、解密适用的密钥不通过网络传输,而是采用临时生成的种子文件,在本地生成密钥解密,杜绝了密钥泄露的风险,极大提升了文件的破解难度,安全性能够得到很好的保障。并且,在整个升级流程中,升级管理服务器与工程机械端之间只需要进行一次交互,升级管理服务器与工程机械端安全协商、通信方式简洁,提高了升级效率。
96.在一实施例中,上述第一解密模块33可以配置为:根据第一密钥,解密加密摘要值,获得第一摘要值;对加密升级文件进行计算,获得第二摘要值;当第一摘要值与第二摘要值匹配时,确定加密摘要值通过签名验证。
97.在一实施例中,上述接收模块31可以配置为:接收升级管理服务器发送的种子文件、使用对称密钥进行加密的加密升级文件以及使用非对称密钥中的公钥或私钥进行加密的加密摘要值。
98.在一实施例中,上述第一生成模块32可以配置为:将种子文件输入预设的第一密钥生成函数中,生成与公钥或私钥对应的第一密钥。
99.在一实施例中,上述第二生成模块34可以配置为:当签名验证通过后,将种子文件输入预设的第二密钥生成函数中,生成与对称密钥匹配的第二密钥。
100.在一实施例中,工程机械安全升级装置3还可以配置为:获取升级管理服务器的身份证书;当身份证书与预存的根证书匹配时,确认发送加密升级文件的升级管理服务器的身份正确。
101.示例性装置2
102.图7是本技术另一示例性实施例提供的工程机械安全升级装置的结构示意图,如图7所示,工程机械安全升级装置应用于升级管理服务器,升级管理服务器与工程机械端通信连接,工程机械安全升级装置包括:第三生成模块41,用于根据远程升级指令,生成种子文件;第四生成模块42,用于根据种子文件生成对称密钥、私钥或公钥;第一获得模块43,用于根据对称密钥对升级文件进行加密,获得加密升级文件;第五生成模块44,用于计算升级
文件生成摘要值;第二获得模块45,用于根据私钥或公钥对摘要值进行加密,获得加密摘要值;发送模块46,用于将种子文件、加密升级文件以及加密摘要值发送至工程机械端处。
103.本技术提供的工程机械安全升级装置,升级文件加密、解密适用的密钥不通过网络传输,而是采用临时生成的种子文件,杜绝了密钥泄露的风险,极大提升了文件的破解难度,安全性能够得到很好的保障。
104.示例性电子设备
105.一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于执行本技术提供的实施例所述的工程机械安全升级方法。
106.下面,参考图8来描述根据本技术实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
107.图8图示了根据本技术实施例的电子设备的框图。
108.如图8所示,电子设备10包括一个或多个处理器11和存储器12。
109.处理器11可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
110.存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本技术的各个实施例的工程机械安全升级方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
111.在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
112.在该电子设备是单机设备时,该输入装置13可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
113.此外,该输入装置13还可以包括例如键盘、鼠标等等。
114.该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
115.当然,为了简化,图8中仅示出了该电子设备10中与本技术有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
116.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
117.一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序用于执行本技术提供的实施例所述的工程机械安全升级方法。
118.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
119.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本技术的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
技术特征:
1.一种工程机械安全升级方法,其特征在于,应用于工程机械端,所述工程机械端与升级管理服务器通信连接,所述工程机械安全升级方法包括:接收所述升级管理服务器发送的种子文件、加密升级文件以及加密摘要值;其中,所述种子文件表示根据远程升级指令生成的随机数,所述加密摘要值根据所述加密升级文件计算并加密得到,所述加密摘要值表示一段加密的函数值;根据所述种子文件生成第一密钥;根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证;当所述签名验证通过后,根据所述种子文件生成第二密钥;根据所述第二密钥,解密所述加密升级文件并根据解密后的所述加密升级文件进行升级。2.根据权利要求1所述的工程机械安全升级方法,其特征在于,所述根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证包括:根据所述第一密钥,解密所述加密摘要值,获得第一摘要值;对所述加密升级文件进行计算,获得第二摘要值;当所述第一摘要值与所述第二摘要值匹配时,确定所述加密摘要值通过所述签名验证。3.根据权利要求1所述的工程机械安全升级方法,其特征在于,所述接收所述升级管理服务器发送的种子文件、加密升级文件以及加密摘要值包括:接收所述升级管理服务器发送的所述种子文件、使用对称密钥进行加密的所述加密升级文件以及使用非对称密钥中的公钥或私钥进行加密的所述加密摘要值。4.根据权利要求3所述的工程机械安全升级方法,其特征在于,所述根据所述种子文件生成第一密钥包括:将所述种子文件输入预设的第一密钥生成函数中,生成与所述公钥或所述私钥对应的所述第一密钥。5.根据权利要求3所述的工程机械安全升级方法,其特征在于,所述当所述签名验证通过后,根据所述种子文件生成第二密钥包括:当所述签名验证通过后,将所述种子文件输入预设的第二密钥生成函数中,生成与所述对称密钥匹配的所述第二密钥。6.根据权利要求1所述的工程机械安全升级方法,其特征在于,所述工程机械安全升级方法还包括:获取所述升级管理服务器的身份证书;当所述身份证书与预存的根证书匹配时,确认发送所述加密升级文件的所述升级管理服务器的身份正确。7.一种工程机械安全升级方法,其特征在于,应用于升级管理服务器,所述升级管理服务器与工程机械端通信连接,所述工程机械安全升级方法包括:根据远程升级指令,生成种子文件;根据所述种子文件生成对称密钥、私钥或公钥;根据所述对称密钥对升级文件进行加密,获得加密升级文件;
计算所述加密升级文件生成摘要值;根据所述私钥或所述公钥对所述摘要值进行加密,获得加密摘要值;将所述种子文件、所述加密升级文件以及所述加密摘要值发送至所述工程机械端处。8.一种工程机械安全升级装置,其特征在于,应用于工程机械端,所述工程机械端与升级管理服务器通信连接,所述工程机械安全升级装置包括:接收模块,用于接收所述升级管理服务器发送的种子文件、加密升级文件以及加密摘要值;其中,所述种子文件表示根据远程升级指令生成的随机数,所述加密摘要值根据所述加密升级文件计算并加密得到,所述加密摘要值表示一段加密的函数值;第一生成模块,用于根据所述种子文件生成第一密钥;第一解密模块,用于根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证;第二生成模块,用于当所述签名验证通过后,根据所述种子文件生成第二密钥;第二解密模块,用于根据所述第二密钥,解密所述加密升级文件并根据解密后的所述加密升级文件进行升级。9.一种工程机械安全升级装置,其特征在于,应用于升级管理服务器,所述升级管理服务器与工程机械端通信连接,所述工程机械安全升级装置包括:第三生成模块,用于根据远程升级指令,生成种子文件;第四生成模块,用于根据所述种子文件生成对称密钥、私钥或公钥;第一获得模块,用于根据所述对称密钥对升级文件进行加密,获得加密升级文件;第五生成模块,用于计算所述加密升级文件生成摘要值;第二获得模块,用于根据所述私钥或所述公钥对所述摘要值进行加密,获得加密摘要值;发送模块,用于将所述种子文件、所述加密升级文件以及所述加密摘要值发送至所述工程机械端处。10.一种工程机械,其特征在于,包括:车内通信终端以及控制器,所述车内通信终端以及所述控制器用于执行上述权利要求1-6中任一项所述的工程机械安全升级方法。
技术总结
本申请公开了一种工程机械安全升级方法、装置及工程机械,其中,工程机械安全升级方法包括接收升级管理服务器发送的种子文件、加密升级文件以及加密摘要值;其中,所述种子文件表示根据远程升级指令生成的随机数,所述加密摘要值根据所述加密升级文件计算并加密得到,所述加密摘要值表示一段加密的函数值;根据所述种子文件生成第一密钥;根据所述第一密钥,解密所述加密摘要值并对解密后的所述加密摘要值进行签名验证;当所述签名验证通过后,根据所述种子文件生成第二密钥;根据所述第二密钥,解密所述加密升级文件并根据解密后的所述加密升级文件进行升级。本申请可以提高工程机械升级的安全性。械升级的安全性。械升级的安全性。
技术研发人员:黄海涛 陈博 白佳熙
受保护的技术使用者:三一汽车起重机械有限公司
技术研发日:2023.06.30
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/