系统升级方法、OTA升级包加密方法、终端设备及车辆与流程

文档序号:17158143发布日期:2019-03-20 00:16阅读:404来源:国知局
本发明涉及汽车
技术领域
:,尤其涉及一种系统升级方法、ota升级包加密方法、终端设备及车辆。
背景技术
::随着物联网的发展,智能终端如智能家居、智能车载以及传统设备智能化是未来的发展趋势。空中下载技术(over-the-airtechnology,ota)升级就是为了解决智能终端的系统升级和优化问题。ota升级主要是指一种通过空中接口远程管理,更新终端设备中固件的方法,通过ota升级可以更新设备的操作系统,系统配置等。目前,ota升级主要是通过网络(如wi-fi、4g)自动下载ota升级包进行升级,然而现有技术中,由于缺乏对升级包安全性的考虑,导致升级包在传输过程中易出现恶意串改的情况,或者通过网络传输出现升级包的结构不完整而无法验证升级包的准确性。技术实现要素:本发明实施例的目的在于提供一种系统升级方法、ota升级包加密方法、终端设备及车辆,解决了现有系统升级方法安全性较差的问题。为了达到上述目的,本发明实施例提供一种系统升级方法,应用于终端设备,所述方法包括:获取ota升级包的描述信息,所述描述信息包括:密钥、ota公钥、ota公钥签名和ota升级包的摘要签名;下载经所述密钥加密的所述ota升级包;利用所述密钥对所述ota升级包进行解密;利用预配置的根公钥、所述ota公钥签名和所述ota升级包的摘要签名,验证解密后的所述ota升级包的合法性;若验证所述ota升级包合法,则存储解密后的所述ota升级包,并基于解密后的所述ota升级包进行系统升级。可选的,所述利用预配置的根公钥、所述ota公钥签名和所述ota升级包的摘要签名,验证解密后的所述ota升级包的合法性,包括:计算解密后的所述ota升级包的摘要;利用预配置的根公钥和所述ota公钥签名,验证所述ota公钥的合法性;若验证所述ota公钥合法,则利用所述ota公钥和所述ota升级包的摘要签名,验证所计算得到的所述ota升级包的摘要的合法性;若验证所述ota升级包的摘要合法,则确定所述ota升级包合法。可选的,所述计算解密后的所述ota升级包的摘要,包括:通过安全散列算法(securehashalgorithm256,sha256)计算解密后的所述ota升级包的摘要。可选的,所述获取ota升级包的描述信息,包括:从ota云端服务器获取ota升级包的描述信息;所述下载所述ota升级包,包括:从ota云端服务器下载所述ota升级包。可选的,所述密钥为加密的密钥,在获取ota升级包的描述信息之后,所述方法还包括:请求对所述加密的密钥进行解密。本发明实施例还提供一种ota升级包加密方法,应用于ota管理系统,所述方法包括:获取ota公钥、ota公钥签名和加密的ota私钥;请求对所述加密的ota私钥进行解密;利用解密后的所述ota私钥对ota升级包的摘要进行签名,得到所述ota升级包的摘要签名;利用随机生成的密钥对所述ota升级包进行加密;存储加密后的所述ota升级包;对所述密钥进行加密;将加密后的所述密钥、所述ota公钥、所述ota公钥签名和所述ota升级包的摘要签名存入数据库。可选的,所述获取ota公钥、ota公钥签名和加密的ota私钥,包括:从配置中心获取ota公钥、ota公钥签名和加密的ota私钥。本发明实施例还提供一种ota升级包部署方法,所述方法包括:获取ota公钥和ota私钥,并利用根私钥对所述ota公钥进行签名,得到ota公钥签名;加密所述ota私钥;将所述ota公钥、所述ota公钥签名和加密后的所述ota私钥导入配置中心;将根公钥分发给终端设备。本发明实施例还提供一种终端设备,包括:获取模块,用于获取空中下载技术ota升级包的描述信息,所述描述信息包括:密钥、ota公钥、ota公钥签名和ota升级包的摘要签名;下载模块,用于下载经所述密钥加密的所述ota升级包;解密模块,用于利用所述密钥对所述ota升级包进行解密;验证模块,用于利用预配置的根公钥、所述ota公钥签名和所述ota升级包的摘要签名,验证解密后的所述ota升级包的合法性;升级模块,用于若验证所述ota升级包合法,则存储解密后的所述ota升级包,并基于解密后的所述ota升级包进行系统升级。可选的,所述验证模块包括:计算单元,用于计算解密后的所述ota升级包的摘要;第一验证单元,用于利用预配置的根公钥和所述ota公钥签名,验证所述ota公钥的合法性;第二验证单元,用于若验证所述ota公钥合法,则利用所述ota公钥和所述ota升级包的摘要签名,验证所计算得到的所述ota升级包的摘要的合法性;确定单元,用于若验证所述ota升级包的摘要合法,则确定所述ota升级包合法。可选的,所述计算单元用于通过安全散列算法sha256计算解密后的所述ota升级包的摘要。可选的,所述获取模块用于从ota云端服务器获取ota升级包的描述信息;所述下载模块用于从ota云端服务器下载所述ota升级包。可选的,所述密钥为加密的密钥,所述终端设备还包括:请求模块,用于请求对所述加密的密钥进行解密。本发明实施例还提供一种ota管理系统,包括:获取模块,用于获取ota公钥、ota公钥签名和加密的ota私钥;请求模块,用于请求对所述加密的ota私钥进行解密;签名模块,用于利用解密后的所述ota私钥对ota升级包的摘要进行签名,得到所述ota升级包的摘要签名;第一加密模块,用于利用随机生成的密钥对所述ota升级包进行加密;第一存储模块,用于存储加密后的所述ota升级包;第二加密模块,用于对所述密钥进行加密;第二存储模块,用于将加密后的所述密钥、所述ota公钥、所述ota公钥签名和所述ota升级包的摘要签名存入数据库。可选的,所述获取模块用于从配置中心获取ota公钥、ota公钥签名和加密的ota私钥。本发明实施例还提供一种车辆,包括本发明实施例所提供的终端设备。本发明实施例中,在系统升级过程中,由于下载的ota升级包是经加密的升级包,且需对解密后的ota升级包的合法性进行验证,从而使得ota升级包在传输过程中不易被恶意串改,且可以保证升级包的结构完整,使其准确性能够得以验证,进而提高系统升级的安全性。附图说明图1为本发明实施例提供的一种系统升级方法的流程图;图2为本发明实施例提供的一种ota升级包加密方法的流程图;图3为本发明实施例提供的一种ota升级包部署方法的流程图;图4为本发明实施例提供的一种系统升级方法的举例示意图;图5为本发明实施例提供的一种终端设备的结构示意图;图6为本发明实施例提供的一种终端设备的验证模块的结构示意图;图7为本发明实施例提供的另一种终端设备的结构示意图;图8为本发明实施例提供的一种ota管理系统的结构示意图。具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。参见图1,图1是本发明实施例提供一种系统升级方法的流程图,应用于终端设备,如图1所示,所述方法包括以下步骤:步骤101、获取ota升级包的描述信息,所述描述信息包括:密钥、ota公钥、ota公钥签名和ota升级包的摘要签名。本实施例中,在准备升级前,可以先获取ota升级包的描述信息,以获知待升级的ota升级包的基本信息,且便于下载ota升级包后利用所述描述信息对其进行解密和验签,确保升级的安全性。其中,所述描述信息可包括密钥、ota公钥、ota公钥签名和ota升级包的摘要签名,所述密钥可以是采用高级加密标准(advancedencryptionstandard,aes)加密的密钥,所述终端设备在获取所述描述信息后,可以请求对所述加密的密钥进行解密,具体可以是向密钥服务请求解密,得到解密后的密钥;所述ota公钥签名可以是利用根私钥对ota公钥进行签名得到的,所述ota升级包的摘要签名可以是利用ota私钥对生成的ota升级包的摘要进行签名得到的,所述ota升级包的摘要可以是利用sha256算法生成得到的,所述根私钥、所述ota公钥和所述ota私钥均可以是由密钥管理平台生成的。所述获取ota升级包的描述信息,可以是从ota云端服务器获取ota升级包的描述信息,即在下载ota升级包前先向ota云端服务器发送获取ota升级包描述信息的请求,所述ota云端服务器在接收到该请求后,将预先存储在数据库中的ota升级包的描述信息返回至所述终端设备。步骤102、下载经所述密钥加密的所述ota升级包。在获取所述ota升级包的描述信息后,便可下载经所述密钥加密的所述ota升级包,具体可以是从所述ota云端服务器下载所述ota升级包,即可以向所述ota云端服务器发送下载ota升级包的请求,所述ota云端服务器在接收到该请求后,将存储的所述ota升级包返回至所述终端设备。步骤103、利用所述密钥对所述ota升级包进行解密。由于下载的所述ota升级包为经所述密钥加密的密文升级包,因此,需要利用所述密钥对所述ota升级包进行解密,具体可以是在对所述密钥进行解密后,利用解密的所述密钥对加密的所述ota升级包进行解密,以得到明文的ota升级包。步骤104、利用预配置的根公钥、所述ota公钥签名和所述ota升级包的摘要签名,验证解密后的所述ota升级包的合法性。为确保下载的所述ota升级包的完整性和安全性,在升级前还可以对所述ota升级包进行验签,即可以利用预配置的根公钥、所述ota公钥签名和所述ota升级包的摘要签名,验证解密后的所述ota升级包的合法性,其中,所述根公钥可以是由密钥管理平台生成的对外公开的密钥,与所述根私钥为公私钥对。具体地,在验证前,可以先计算解密后的所述ota升级包的摘要,优选地,可以通过sha256算法计算解密后的所述ota升级包的摘要;然后利用预配置的根公钥和所述ota公钥签名,验证所述ota公钥的合法性,由于所述ota公钥签名是利用根私钥进行签名得到的,因此,可以利用所述根公钥验证所述ota公钥签名是否合法,具体为利用所述根公钥对所述ota公钥签名进行解密验签,然后比较解密后的ota公钥是否与所述描述信息中的ota公钥一致,若一致,则确定所述ota公钥合法。最后可以利用所述ota公钥和所述ota升级包的摘要签名,验证所计算得到的所述ota升级包的摘要的合法性,即由于所述ota升级包的摘要签名是利用ota私钥签名得到的,因此可利用所述ota公钥验证所述ota升级包的摘要签名是否合法,具体为利用所述ota公钥对所述ota升级包的摘要签名进行解密验签,然后比较解密后的ota升级包的摘要是否与所计算得到的所述ota升级包的摘要一致,若一致,则验证所述ota升级包的摘要合法,且若验证所述ota升级包的摘要合法,则可以确定所述ota升级包合法。步骤105、若验证所述ota升级包合法,则存储解密后的所述ota升级包,并基于解密后的所述ota升级包进行系统升级。若验证所述ota升级包合法,则可以确认所述ota升级包是安全且完整的,从而可以存储解密后的所述ota升级包,并利用解密后的所述ota升级包进行系统升级。这样,本实施例中,所述终端设备在下载得到所述ota升级包后,所述ota升级包将仍以密文的形式保存,而所述终端设备在利用所述ota升级包进行系统升级前,需先对所述ota升级包进行解密和验签,且只有验证通过的情况下才能进行下一步的升级,从而保证系统升级的安全性。本实施例中的系统升级方法,在系统升级过程中,由于下载的ota升级包是经加密的升级包,且需对解密后的ota升级包的合法性进行验证,从而使得ota升级包在传输过程中不易被恶意串改,且可以保证升级包的结构完整,使其准确性能够得以验证,进而提高系统升级的安全性。本发明实施例中,上述终端设备可以是任何具有存储媒介的设备,例如:计算机(computer)、车载终端、平板电脑(tabletpersonalcomputer)等终端设备。参见图2,图2是本发明实施例提供一种ota升级包加密方法的流程图,应用于ota管理系统,如图2所示,所述方法包括以下步骤:步骤201、获取ota公钥、ota公钥签名和加密的ota私钥。本实施例适用于系统升级前的准备工作,即对ota升级包和所述ota升级包的描述信息进行加密和存储。因此,首先可以先获取ota公钥、ota公钥签名和加密的ota私钥,具体地,可以是从配置中心获取ota公钥、ota公钥签名和加密的ota私钥,即所述ota公钥、ota公钥签名和加密的ota私钥在生成后可以预先导入于配置中心。其中,对于所述ota公钥、ota公钥签名和加密的ota私钥的解释可以参见图1所示的方法实施例中的相关介绍,为避免重复,此处不再赘述。上述ota管理系统可以是ota云端服务器等。步骤202、请求对所述加密的ota私钥进行解密。在获取到所述加密的ota私钥后,可以请求对所述加密的ota私钥进行解密,具体可以是向密钥服务发送解密请求,以使密钥服务对所述ota私钥进行解密,并返回至所述ota管理系统。步骤203、利用解密后的所述ota私钥对ota升级包的摘要进行签名,得到所述ota升级包的摘要签名。然后,可以利用解密后的所述ota私钥对ota升级包的摘要进行签名,即使用所述ota私钥对所述ota升级包的摘要进行加密,生成所述ota升级包的摘要签名,其中,所述ota升级包的摘要可以是采用sha256算法对所述ota升级包生成的摘要。步骤204、利用随机生成的密钥对所述ota升级包进行加密。步骤205、存储加密后的所述ota升级包。接着,可以随机生成密钥,具体可以生成aes密钥,用于对所述ota升级包进行加密,得到密文的ota升级包,并可以将加密后的所述ota升级包进行存储,以便终端设备需要系统升级时下载。步骤206、对所述密钥进行加密。步骤207、将加密后的所述密钥、所述ota公钥、所述ota公钥签名和所述ota升级包的摘要签名存入数据库。在使用完所述密钥对所述ota升级包进行加密后,还可以对所述密钥进行加密,以防所述密钥被盗,最后,可以将加密后的所述密钥、所述ota公钥、所述ota公钥签名和所述ota升级包的摘要签名存入数据库,以便终端设备需要系统升级时获取所述ota升级包的描述信息。需说明的是,所述ota升级包可以是全量大包或增量大包,其中,全量大包为完整的批量压缩的系统升级包,增量大包为只包括更新部分的补丁升级包,当所述终端设备为车载终端时,所述ota升级包可以是用于车载终端升级的电子控制单元(electroniccontrolunit,ecu)升级包,所述ecu升级包可以是ecu全量包或ecu差分包。无论所述ota升级包为何种形式的升级包,都可以生成该升级包的摘要签名,以便终端设备在获取该升级包进行升级前都需要进行验签,且都可以以密文的形式存储在网络附属存储(networkattachedstorage,nas)或对象存储服务(objectstorageservice,oss)中,以确保所述ota升级包不易被串改。本实施例中的ota升级包加密方法,通过预先对ota升级包进行加密,并生成ota升级包的摘要签名,来保证ota升级包的安全性,以使终端设备在进行系统升级时,需要通过解密和验签等操作才能来完成系统升级,进而可提高系统升级的安全性。参见图3,图3是本发明实施例提供一种ota升级包部署方法的流程图,如图3所示,所述方法包括以下步骤:步骤301、获取ota公钥和ota私钥,并利用根私钥对所述ota公钥进行签名,得到ota公钥签名。本实施例适用于系统升级前的部署工作,可以先获取ota公钥和ota私钥,具体可以是获取由密钥管理平台生成的ota公钥和ota私钥、根公钥和根私钥以及ota公钥签名,其中,所述ota公钥签名可以是使用根私钥对所述ota公钥进行加密所生成的ota公钥签名。步骤302、加密所述ota私钥。步骤303、将所述ota公钥、所述ota公钥签名和加密后的所述ota私钥导入配置中心。使用完所述ota私钥后,便可以对所述ota私钥进行加密,得到密文的ota私钥,接着可以将所述ota公钥、所述ota公钥签名和加密后的所述ota私钥导入配置中心,以供ota管理系统需要对ota升级包加密时从配置中心获取。步骤304、将根公钥分发给终端设备。本实施例中,还可以将根公钥分发给终端设备,以便终端设备在进行系统升级时,可以使用所述根公钥对ota公钥签名进行验证。本实施例中的ota升级包部署方法,通过生成ota公钥签名、加密ota私钥和分发根公钥等,来保证ota升级包的加密和验签流程,进而保证终端设备在进行系统升级时的安全性。下面结合图4,以举例的方式对本发明实施例的具体实施方式进行说明:如图4所示,可以先进行ota升级部署工作,准备公私钥信息,具体地,客户端可以先向离线密钥管理平台发送获取根公钥、ota公钥、ota私钥和ota公钥签名的请求,离线密钥管理平台在收到请求后,会生成ota公私钥对和根公私钥对,并利用口令对ota私钥进行保护,以及利用根私钥对ota公钥进行签名,然后将根公钥、ota公钥、ota公钥签名和携带有口令的ota私钥返回客户端。然后,客户端输入ota私钥和口令,向在线密钥管理平台请求加密ota私钥,在线密钥管理平台对所述ota私钥进行加密后,将密文的ota私钥返回客户端。客户端再将ota公钥、ota公钥签名和密文的ota私钥导入配置中心,并将根公钥分发给车载终端预埋,其中,车载终端可以支持ota软件开发工具包(softwaredevelopmentkit,sdk)、车辆网关、android系统和linux系统等。在完成ota升级部署工作后,可以进行ota升级包加密工作,具体地,ota云端服务器可以先从配置中心获取ota公钥、ota公钥签名和密文的ota私钥,然后向密钥服务请求还原ota私钥,即请求对ota私钥进行解密;接着可以利用sha256算法生成ota升级包的摘要,并利用解密后的ota私钥生成所述ota升级包的摘要签名;再接着可以随机生成密钥aes-key,利用所述密钥aes-key对ota升级包进行加密,并存储密文的ota升级包;最后可以再向密钥服务请求加密所述密钥aes-key,并将所述ota公钥、所述ota公钥签名、所述ota升级包的摘要签名和加密后的所述密钥aes-key存入数据库。在ota升级包准备工作完成之后,可以开始下载和验证ota升级包,具体地,车载终端可以从ota云端服务器获取ota升级包的描述信息,即ota公钥、ota公钥签名、ota升级包的摘要签名和加密后的密钥aes-key,其中,ota云端服务器可以先向密钥服务请求还原所述密钥aes-key,然后将ota公钥、ota公钥签名、ota升级包的摘要签名和解密后的密钥aes-key返回车载终端。接着,车载终端可以从所述ota云端服务器下载ota升级包,并利用所述密钥aes-key对下载的ota升级包进行解密;然后可以利用sha256算法计算所述ota升级包的摘要,并利用获取的所述ota公钥、所述ota公钥签名、所述ota升级包的摘要签名和预埋的根公钥对所述ota升级包的合法性进行验证,具体地,可以利用所述根公钥和所述ota公钥签名,验证所述ota公钥的合法性,在验证所述ota公钥合法的基础上,再利用所述ota公钥和所述ota升级包的摘要签名,验证所计算得到的ota升级包的摘要的合法性;若验证所述ota升级包的摘要合法,则确定所述ota升级包为正确且安全的,并可以存储解密后的所述ota升级包,并利用所述ota升级包进行系统升级。参见图5,图5是本发明实施例提供一种终端设备的结构示意图,如图5所示,终端设备500包括:获取模块501,用于获取空中下载技术ota升级包的描述信息,所述描述信息包括:密钥、ota公钥、ota公钥签名和ota升级包的摘要签名;下载模块502,用于下载经所述密钥加密的所述ota升级包;解密模块503,用于利用所述密钥对所述ota升级包进行解密;验证模块504,用于利用预配置的根公钥、所述ota公钥签名和所述ota升级包的摘要签名,验证解密后的所述ota升级包的合法性;升级模块505,用于若验证所述ota升级包合法,则存储解密后的所述ota升级包,并基于解密后的所述ota升级包进行系统升级。可选的,如图6所示,验证模块504包括:计算单元5041,用于计算解密后的所述ota升级包的摘要;第一验证单元5042,用于利用预配置的根公钥和所述ota公钥签名,验证所述ota公钥的合法性;第二验证单元5043,用于若验证所述ota公钥合法,则利用所述ota公钥和所述ota升级包的摘要签名,验证所计算得到的所述ota升级包的摘要的合法性;确定单元5044,用于若验证所述ota升级包的摘要合法,则确定所述ota升级包合法。可选的,计算单元5041用于通过安全散列算法sha256计算解密后的所述ota升级包的摘要。可选的,获取模块501用于从ota云端服务器获取ota升级包的描述信息;下载模块502用于从ota云端服务器下载所述ota升级包。可选的,如图7所示,所述密钥为加密的密钥,终端设备500还包括:请求模块506,用于请求对所述加密的密钥进行解密。终端设备500能够实现图1的方法实施例中终端设备实现的各个过程,为避免重复,这里不再赘述。本发明实施例中,由于下载的ota升级包是经加密的升级包,且需对解密后的ota升级包的合法性进行验证,从而使得ota升级包在传输过程中不易被恶意串改,且可以保证升级包的结构完整,使其准确性能够得以验证,进而提高系统升级的安全性。参见图8,图8是本发明实施例提供一种ota管理系统的结构示意图,如图8所示,ota管理系统800包括:获取模块801,用于获取ota公钥、ota公钥签名和加密的ota私钥;请求模块802,用于请求对所述加密的ota私钥进行解密;签名模块803,用于利用解密后的所述ota私钥对ota升级包的摘要进行签名,得到所述ota升级包的摘要签名;第一加密模块804,用于利用随机生成的密钥对所述ota升级包进行加密;第一存储模块805,用于存储加密后的所述ota升级包;第二加密模块806,用于对所述密钥进行加密;第二存储模块807,用于将加密后的所述密钥、所述ota公钥、所述ota公钥签名和所述ota升级包的摘要签名存入数据库。可选的,获取模块801用于从配置中心获取ota公钥、ota公钥签名和加密的ota私钥。ota管理系统800能够实现图2的方法实施例中ota管理系统实现的各个过程,为避免重复,这里不再赘述。本发明实施例中,通过预先对ota升级包进行加密,并生成ota升级包的摘要签名,来保证ota升级包的安全性,以使终端设备在进行系统升级时,需要通过解密和验签等操作才能来完成系统升级,进而可提高系统升级的安全性。本发明实施例还提供一种车辆,包括图5至图7中任一项所述的终端设备,本实施例中,所述车辆能达到和图5至图7所示的实施例相同的有益效果,为避免重复,这里不再赘述。以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1