CN110597538A - 一种基于ota升级系统的软件升级方法和ota升级系统 - Google Patents
一种基于ota升级系统的软件升级方法和ota升级系统 Download PDFInfo
- Publication number
- CN110597538A CN110597538A CN201910828452.1A CN201910828452A CN110597538A CN 110597538 A CN110597538 A CN 110597538A CN 201910828452 A CN201910828452 A CN 201910828452A CN 110597538 A CN110597538 A CN 110597538A
- Authority
- CN
- China
- Prior art keywords
- metadata
- software package
- vehicle
- encrypted
- package
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005336 cracking Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种基于OTA升级系统的软件升级方法和OTA升级系统,所述方法包括:包发布单元对软件包进行加密得到加密软件包,并生成针对软件包的元数据;包发布单元将加密软件包发送至下载单元,以及将元数据发送至升级服务单元;升级服务单元获取车辆发送的车辆证书,并采用车辆证书对元数据进行加密得到加密元数据,以及将加密元数据发送至车辆;车辆采用预置车辆私钥对加密元数据进行解密,并验证元数据的合法性;若元数据合法,则车辆从下载单元获取加密软件包,并根据元数据对加密软件包进行解密;车辆根据元数据验证软件包的合法性;若软件包合法,则车辆采用软件包进行升级。本发明实施例可以防止软件包被篡改以及重放攻击的问题。
Description
技术领域
本发明涉及车辆技术领域,特别是涉及一种基于OTA升级系统的软件升级方法和一种OTA升级系统。
背景技术
随着新能源汽车的智能化和互联网化,大量的MCU(Microcontroller Unit,微控制单元)和ECU(Electronic Control Unit,电子控制单元)被广泛应用于车端,软件迭代速度也越来越快。
传统的固件升级方式是在线下售后服务中心更新固件,这种不但效率低而且成本高,因此通过OTA(Over-the-Air Technology,空中下载技术)远程升级方式被广泛应用于车辆ECU设备的固件升级,然而固件的安全通常容易被忽略,目前业界做法包括:
第一种方式,完全没有安全保护措施直接通过网络下载裸包升级,但是这种方式固件包在公网传输过程中容易被中间人拦截,可以随意篡改或者在植入恶意代码。
第二种方式,通过固定或者相对固定的对称密钥进行固件包加密,这种方式密钥是预置在车端或者固件包中的,非常容易被破解和重放。
第三种方式,通过签名和加密方式,这种方式可以解决代码不被篡改,但依然解决不了被破解重放问题。破解重放问题是指,如果出现某辆车固件包被破解,就可以无限制的复制破解包安装到不同的车辆ECU中;同时云端负责管理密钥的安全模块通常跟升级服务单元一样被放置于开放域或者公有云中,大大增加了密钥泄露的风险,这些安全问题,轻则影响用户用车,重则车毁人亡。
综上所述,现有的固件更新方式存在缺乏加密或者加密方式容易被破解的问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于OTA升级系统的软件升级方法和一种OTA升级系统。
为了解决上述问题,本发明实施例公开了一种基于空中升级OTA升级系统的软件升级方法,其中,所述OTA升级系统包括:部署在安全域的包发布单元,部署在开放域的下载单元、部署在开放域的升级服务单元,以及车辆;所述方法包括:
所述包发布单元对软件包进行加密得到加密软件包,并生成针对所述软件包的元数据;
所述包发布单元将加密软件包发送至所述下载单元,以及将所述元数据发送至所述升级服务单元;
所述升级服务单元获取所述车辆发送的车辆证书,并采用所述车辆证书对所述元数据进行加密得到加密元数据,以及将所述加密元数据发送至所述车辆;
所述车辆采用预置车辆私钥对所述加密元数据进行解密,并验证所述元数据的合法性;
若所述元数据合法,则所述车辆从所述下载单元获取所述加密软件包,并根据所述元数据对所述加密软件包进行解密;
所述车辆根据所述元数据验证所述软件包的合法性;
若所述软件包合法,则所述车辆采用所述软件包进行升级。
可选地,所述包发布单元对软件包进行加密得到加密软件包,包括:
所述包发布单元随机生成加密密钥;
所述包发布单元采用所述加密密钥对软件包进行对称加密,得到加密软件包。
可选地,所述包发布单元生成针对所述软件包的元数据,包括:
所述包发布单元采用预置服务器私钥对所述元数据进行加密,得到服务器签名信息;
所述包发布单元将所述服务器签名信息添加到所述元数据。
可选地,所述车辆验证所述元数据的合法性,包括:
所述车辆采用预置服务器公钥和所述服务器签名信息,验证所述元数据的合法性。
可选地,所述元数据还包括与所述加密密钥对应的解密密钥;所述车辆根据所述元数据对加密软件包进行解密,包括:
所述车辆采用解密密钥,对加密软件包进行解密。
可选地,所述元数据还包括所述软件包的第一摘要信息;
所述车辆根据所述元数据验证所述软件包的合法性,包括:
所述车辆采用所述软件包,生成第二摘要信息;
所述车辆采用所述第一摘要信息和所述第二摘要信息,验证所述软件包的合法性。
可选地,所述下载单元包括部署在内容分发网络CDN平台的下载单元;所述元数据还包括所述软件包的下载地址;所述下载地址包括所述CDN平台的下载地址;
所述车辆从所述下载单元获取所述加密软件包,包括:
所述车辆采用所述CDN平台的下载地址,从所述CDN平台的下载单元下载软件包。
本发明实施例还公开了一种空中升级OTA升级系统,包括:部署在安全域的包发布单元,部署在开放域的下载单元、部署在开放域的升级服务单元,以及车辆;
所述包发布单元包括:
软件包加密处理模块,用于对软件包进行加密得到加密软件包,并生成针对所述软件包的元数据;
发送模块,用于将加密软件包发送至所述下载单元,以及将所述元数据发送至所述升级服务单元;
所述升级服务单元包括:
元数据加密模块,用于获取所述车辆发送的车辆证书,并采用所述车辆证书对所述元数据进行加密得到加密元数据,以及将加密元数据发送至所述车辆;
所述车辆包括:
元数据验证模块,用于采用预置车辆私钥对所述加密元数据进行解密,并验证所述元数据的合法性;
软件包解密处理模块,用于若所述元数据合法,则从所述下载单元获取所述加密软件包,并根据所述元数据对所述加密软件包进行解密;
软件包验证模块,用于根据所述元数据验证所述软件包的合法性;
软件包升级模块,用于若所述软件包合法,则采用所述软件包进行升级。
可选地,所述软件包加密处理模块包括:
加密密钥生成子模块,用于随机生成加密密钥;
软件包加密子模块,用于采用所述加密密钥对软件包进行对称加密,得到加密软件包。
可选地,所述软件包加密处理模块包括:
签名子模块,用于采用预置服务器私钥对所述元数据进行加密,得到服务器签名信息;
签名信息添加子模块,用于将所述服务器签名信息添加到所述元数据。
可选地,所述元数据验证模块包括:
元数据验证子模块,用于采用预置服务器公钥和所述服务器签名信息,验证所述元数据的合法性。
可选地,所述元数据还包括与所述加密密钥对应的解密密钥;所述软件包解密处理模块包括:
软件包解密子模块,用于采用解密密钥,对加密软件包进行解密。
可选地,所述元数据还包括所述软件包的第一摘要信息;
所述软件包验证模块包括:
摘要信息生成子模块,用于采用所述软件包,生成第二摘要信息;
软件包验证子模块,用于采用所述第一摘要信息和所述第二摘要信息,验证所述软件包的合法性。
可选地,所述下载单元包括部署在内容分发网络CDN平台的下载单元;所述元数据还包括所述软件包的下载地址;所述下载地址包括所述CDN平台的下载地址;
所述软件包解密处理模块包括:
软件包下载子模块,用于采用所述CDN平台的下载地址,从所述CDN平台的下载单元下载软件包。
本发明实施例还公开了一种装置,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的基于空中升级OTA升级系统的软件升级方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的基于空中升级OTA升级系统的软件升级方法的步骤。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
本发明实施例中,包发布单元负责对软件包进行加密,以及生成元数据;升级服务单元负责对元数据进行加密;车辆的软件更新依赖于软件包和元数据,包发布单元和升级服务单元分别设置在安全域和开放域,即使任一个域被破解,都不能在车辆安装经破解的软件包,无法对车辆造成威胁。
元数据需要由升级服务单元通过车辆证书加密,通过车辆采用预置的车辆私钥进行解密,因此每一车辆的元数据都无法在其他车辆被破解,确保元数据安全隔离。由于每一个加密软件包都需要通过对应的元数据进行解密,即使软件包被拷贝到多个车辆,由于不具有对应的元数据也无法使用该软件包,避免了重放攻击。
附图说明
图1是本发明的一种基于空中升级OTA升级系统的软件升级方法实施例的步骤流程图;
图2是本发明实施例中基于空中升级OTA升级系统的发布过程示意图;
图3是本发明的一种空中升级OTA升级系统实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种基于空中升级OTA升级系统的软件升级方法实施例的步骤流程图,其中,所述OTA升级系统可以包括:部署在安全域的包发布单元,部署在开放域的下载单元、部署在开放域的升级服务单元,以及车辆;
安全域是指不对外开放访问的网络区域,可以是不对外访问的服务器或者服务器中不对外访问的空间;开放域是指对外开放访问的网络区域,可以是可对外访问的服务器或者服务器中可对外访问的空间。安全域和开放域属于不同的网络区域。
下载单元和升级服务单元可以部署在同一台服务器,也可以分开部署。
在车辆的软件升级场景中,安全域可以是车辆厂商内部的办公网络区域,安全域不对用户车辆开放访问,而开放域则是能够被用户车辆访问的网络区域。
参照图2所示为本发明实施例中基于空中升级OTA升级系统的发布过程示意图。OTA升级系统可以包括:部署于安全域的包发布单元、部署在开放域的CDN平台、部署在开放域的下载服务单元,部署在开放域的升级服务单元,以及车辆。下载服务单元和CDN平台都属于下载单元,区别在于,下载服务单元可以是由车辆厂商提供,而CDN平台可以由网络服务商提供。
所述方法具体可以包括如下步骤:
步骤101,所述包发布单元对软件包进行加密得到加密软件包,并生成针对所述软件包的元数据;
在实际中,当车辆厂商开发了新的软件包之后,车辆厂商可以将软件包上传到部署在安全域的包发布单元。
包发布单元可以对软件包进行加密,并针对软件包生成元数据,元数据可以包括用于对软件包进行解密的解密信息和用于对软件包进行合法性验证的验证信息。
在本发明实施例中,所述包发布单元对软件包进行加密得到加密软件包,可以包括如下子步骤:
子步骤S11,所述包发布单元随机生成加密密钥;
包发布单元可以动态随机生成加密密钥,加密密钥可以随时替换更新。
通过动态随机生成的方式,可以使得每一个软件包一一对应一个加密密钥,达到“一包一密”的效果,避免了固定密钥带来的风险。
子步骤S12,所述包发布单元采用所述加密密钥对软件包进行对称加密,得到加密软件包。
所述包发布单元可以采用对称加密的方式对软件包进行加密。
在本发明实施例中,所述车辆生成针对所述软件包的元数据,可以包括如下子步骤:
子步骤S21,所述包发布单元采用预置服务器私钥对所述元数据进行加密,得到服务器签名信息;
预置服务器私钥可以是包发布单元所在的服务器的私钥。
子步骤S22,所述包发布单元将所述服务器签名信息添加到所述元数据。
服务器签名信息用于在车辆接收到元数据后,验证元数据是不是由正确的包发布单元发出的,而不是从其他服务器发出的。
步骤102,所述包发布单元将加密软件包发送至所述下载单元,以及将所述元数据发送至所述升级服务单元;
软件包和对应的元数据被分离,分别被发送到下载单元和升级服务单元。
元数据被发送到升级服务单元后,升级服务单元正式对外发布更新,升级服务单元可以向车辆推送升级通知信息,以告知车辆用户有软件包更新。
步骤103,所述升级服务单元获取所述车辆发送的车辆证书,并采用所述车辆证书对所述元数据进行加密得到加密元数据,以及将所述加密元数据发送至所述车辆;
在实际中,车辆可以向升级服务单元发送检查更新请求消息,检查更新请求消息中可以携带车辆证书。
车辆证书可以是由CA(Certficate Authority,数字证书认证中心)服务器颁发,车辆证书包含车辆唯一标识码和车辆属性基本信息,每辆车都有独立的车辆证书,车辆证书可以是车辆出厂前在安全环境下设置的。
升级服务单元在接收到检查更新请求消息后,可以先通过CA服务器对车辆证书进行合法性认证,若车辆证书不合法,则升级服务单元停止响应请求。若车辆合法,则升级服务单元可以采用车辆证书对元数据进行加密。
具体的,车辆证书中包括了车辆公钥,升级服务单元采用车辆公钥对元数据进行加密。
在本发明实施例中,检查更新请求消息还可以包括车辆的ECU版本信息,升级服务单元可以根据车辆的ECU版本信息,检查是否有可更新的软件包。如果存在可更新的软件包,则升级服务单元采用车辆证书对软件包对应的元数据进行加密。
如果存在多个可更新的软件包,升级服务单元可以分别对各个软件包对应的元数据进行加密,然后分别向车辆发送多个加密元数据。升级服务单元也可以将多个软件包对应的元数据打包为一个包再进行加密,然后将加密后的包发送给车辆。
步骤104,所述车辆采用预置车辆私钥对所述加密元数据进行解密,并验证所述元数据的合法性;
车辆私钥是可以是车辆出厂前在安全环境下设置的,车辆私钥可以采用随机分配方式,每辆车都有独立的私钥。车辆私钥以及车辆证书可以被写入到车辆的HSM(HardwareSecurity module,硬件安全模块)。
由于元数据是采用车辆证书的加密的,如果车辆能采用自身的车辆私钥对元数据进行解密,可以表明车辆证书和车辆私钥是对应的,即该元数据是要发送给自身的。如果车辆采用自身的车辆私钥无法对元数据进行解密,可以表明车辆证书和车辆私钥不是对应的,即该元数据不是发送给自身的。
若元数据解密成功,则车辆进一步验证元数据的合法性。
在本发明实施例中,所述车辆验证所述元数据的合法性,可以包括:所述车辆采用预置服务器公钥和所述服务器签名信息,验证所述元数据的合法性。
预置服务器公钥可以是车辆出厂前在安全环境下设置的,车辆采用服务器公钥对服务器签名信息进行解密,若解密成功,则确定元数据为合法;若解密失败,则确定元数据为不合法。
步骤105,若所述元数据合法,则所述车辆从所述下载单元获取所述加密软件包,并根据所述元数据对所述加密软件包进行解密;
如果元数据合法,则表明元数据没有被修改。
元数据中还可以包括软件包的下载地址,车辆可以按照下载地址下载加密软件包。
具体的,本发明实施例中的下载单元可以包括自建服务器的下载单元和内容分发网络CDN(Content Delivery Network)平台的下载单元;
自建服务器可以是车辆厂商提供的服务器,而CDN平台通常是由专门的网络服务商提供的,车辆厂商可以从网络服务商购买CDN服务,使得软件包可以通过CDN平台推送。CDN平台通常具有大量接入节点服务器,具有大量带宽资源,车辆可以选择从最近的接入节点服务器下载软件包。
所述元数据还可以包括所述软件包的下载地址;其中,所述下载地址可以包括CDN平台的下载地址和自建服务器的下载地址;
所述车辆从所述下载单元获取所述加密软件包可以包括:所述车辆采用所述CDN平台的下载地址,从所述CDN平台的下载单元下载软件包;或,所述车辆采用所述自建服务器的下载地址,从所述自建服务器的下载单元下载软件包。
车载下载了加密软件包后,根据元数据的解密信息对加密软件包进行解密。具体的,元数据中的解密信息可以为与加密密钥对应的解密密钥,车辆从元数据提取解密密钥,然后采用解密密钥对加密软件包进行解密。
步骤106,所述车辆根据所述元数据验证所述软件包的合法性;
车辆对加密软件包解密后,可以采用元数据中的验证信息,验证软件包的合法性。
具体的,元数据中的验证信息可以为软件包的第一摘要信息,软件包发布单元可以采用摘要生成算法对软件包生成第一摘要信息,摘要生成算法通常是HASH函数,包括但不限于:MD5、SHA-1、SHA-128、SHA-256、SHA-512。
在本发明实施例中,所述车辆根据所述元数据验证所述软件包的合法性,可以包括如下子步骤:
子步骤S31,所述车辆采用所述软件包,生成第二摘要信息;
车辆可以采用与软件包发布单元同样的算法,对软件包生成第二摘要信息。
子步骤S32,所述车辆采用所述第一摘要信息和所述第二摘要信息,验证所述软件包的合法性。
具体的,车辆判断第一摘要信息是否与第二摘要信息一致;如果第一摘要信息与第二摘要信息一致,则车辆确定软件包合法;如果第一摘要信息与第二摘要信息不一致,则车辆确定软件包不合法。
步骤107,若所述软件包合法,则所述车辆采用所述软件包进行升级。
若软件包合法,则车辆可以将软件包写入ECU闪存Flash对ECU进行升级。
本发明实施例中,包发布单元负责对软件包进行加密,以及生成元数据;升级服务单元负责对元数据进行加密;车辆的软件更新依赖于软件包和元数据,包发布单元和升级服务单元分别设置在安全域和开放域,即使任一个域被破解,都不能在车辆安装经破解的软件包,无法对车辆造成威胁。
元数据需要由升级服务单元通过车辆证书加密,通过车辆采用预置的车辆私钥进行解密,因此每一车辆的元数据都无法在其他车辆被破解,确保元数据安全隔离。由于每一个加密软件包都需要通过对应的元数据进行解密,即使软件包被拷贝到多个车辆,由于不具有对应的元数据也无法使用该软件包,避免了重放攻击。
例如,下发给车辆A的软件包a1,需要对应的元数据a2才能安装,如果将该软件包a1发送给车辆B,由于车辆B不具有对应的元数据a2,所以在车辆无法安装软件包a1。
软件包需要通过对应的元数据进行合法性验证,可以防止软件包被篡改和恶意攻击。
本发明实施例中,升级服务单元在接收到车辆发送的检查更新请求消息后,对检查更新请求消息中的车辆证书进行合法性验证。车辆在接收到元数据后,采用预置服务器公钥对元数据进行合法性验证,实现了双向证书,避免了中间人拦截攻击。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明的一种空中升级OTA升级系统实施例的结构框图,具体可以包括如下模块:部署在安全域的包发布单元30,部署在开放域的下载单元31、部署在开放域的升级服务单元32,以及车辆33;
所述包发布单元30可以包括:
软件包加密处理模块301,用于对软件包进行加密得到加密软件包,并生成针对所述软件包的元数据;
发送模块302,用于将加密软件包发送至所述下载单元31,以及将所述元数据发送至所述升级服务单元32;
所述升级服务单元32可以包括:
元数据加密模块321,用于获取所述车辆33发送的车辆证书,并采用所述车辆证书对所述元数据进行加密得到加密元数据,以及将加密元数据发送至所述车辆33;
所述车辆33可以包括:
元数据验证模块331,用于采用预置车辆私钥对所述加密元数据进行解密,并验证所述元数据的合法性;
软件包解密处理模块332,用于若所述元数据合法,则从所述下载单元31获取所述加密软件包,并根据所述元数据对所述加密软件包进行解密;
软件包验证模块333,用于根据所述元数据验证所述软件包的合法性;
软件包升级模块334,用于若所述软件包合法,则采用所述软件包进行升级。
在本发明实施例中,所述软件包加密处理模块332可以包括:
加密密钥生成子模块,用于随机生成加密密钥;
软件包加密子模块,用于采用所述加密密钥对软件包进行对称加密,得到加密软件包。
在本发明实施例中,所述软件包加密处理模块332可以包括:
签名子模块,用于采用预置服务器私钥对所述元数据进行加密,得到服务器签名信息;
签名信息添加子模块,用于将所述服务器签名信息添加到所述元数据。
在本发明实施例中,所述元数据验证模块331可以包括:
元数据验证子模块,用于采用预置服务器公钥和所述服务器签名信息,验证所述元数据的合法性。
在本发明实施例中,所述元数据还包括与所述加密密钥对应的解密密钥;所述软件包解密处理模块332可以包括:
软件包解密子模块,用于采用解密密钥,对加密软件包进行解密。
在本发明实施例中,所述元数据还包括所述软件包的第一摘要信息;
所述软件包验证模块333可以包括:
摘要信息生成子模块,用于采用所述软件包,生成第二摘要信息;
软件包验证子模块,用于采用所述第一摘要信息和所述第二摘要信息,验证所述软件包的合法性。
在本发明实施例中,所述下载单元包括部署在内容分发网络CDN平台的下载单元;所述元数据还包括所述软件包的下载地址;所述下载地址包括所述CDN平台的下载地址;
所述软件包解密处理模块332可以包括:
软件包下载子模块,用于采用所述CDN平台的下载地址,从所述CDN平台的下载单元下载软件包。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述基于空中升级OTA升级系统的软件升级方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述基于空中升级OTA升级系统的软件升级方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于OTA升级系统的软件升级方法和一种OTA升级系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于空中升级OTA升级系统的软件升级方法,其特征在于,所述OTA升级系统包括:部署在安全域的包发布单元,部署在开放域的下载单元、部署在开放域的升级服务单元,以及车辆;所述方法包括:
所述包发布单元对软件包进行加密得到加密软件包,并生成针对所述软件包的元数据;
所述包发布单元将加密软件包发送至所述下载单元,以及将所述元数据发送至所述升级服务单元;
所述升级服务单元获取所述车辆发送的车辆证书,并采用所述车辆证书对所述元数据进行加密得到加密元数据,以及将所述加密元数据发送至所述车辆;
所述车辆采用预置车辆私钥对所述加密元数据进行解密,并验证所述元数据的合法性;
若所述元数据合法,则所述车辆从所述下载单元获取所述加密软件包,并根据所述元数据对所述加密软件包进行解密;
所述车辆根据所述元数据验证所述软件包的合法性;
若所述软件包合法,则所述车辆采用所述软件包进行升级。
2.根据权利要求1所述的方法,其特征在于,所述包发布单元对软件包进行加密得到加密软件包,包括:
所述包发布单元随机生成加密密钥;
所述包发布单元采用所述加密密钥对软件包进行对称加密,得到加密软件包。
3.根据权利要求1所述的方法,其特征在于,所述包发布单元生成针对所述软件包的元数据,包括:
所述包发布单元采用预置服务器私钥对所述元数据进行加密,得到服务器签名信息;
所述包发布单元将所述服务器签名信息添加到所述元数据。
4.根据权利要求3所述的方法,其特征在于,所述车辆验证所述元数据的合法性,包括:
所述车辆采用预置服务器公钥和所述服务器签名信息,验证所述元数据的合法性。
5.根据权利要求2所述的方法,其特征在于,所述元数据还包括与所述加密密钥对应的解密密钥;所述车辆根据所述元数据对加密软件包进行解密,包括:
所述车辆采用解密密钥,对加密软件包进行解密。
6.根据权利要求1所述的方法,其特征在于,所述元数据还包括所述软件包的第一摘要信息;
所述车辆根据所述元数据验证所述软件包的合法性,包括:
所述车辆采用所述软件包,生成第二摘要信息;
所述车辆采用所述第一摘要信息和所述第二摘要信息,验证所述软件包的合法性。
7.根据权利要求1所述的方法,其特征在于,所述下载单元包括部署在内容分发网络CDN平台的下载单元;所述元数据还包括所述软件包的下载地址;所述下载地址包括所述CDN平台的下载地址;
所述车辆从所述下载单元获取所述加密软件包,包括:
所述车辆采用所述CDN平台的下载地址,从所述CDN平台的下载单元下载软件包。
8.一种空中升级OTA升级系统,其特征在于,包括:部署在安全域的包发布单元,部署在开放域的下载单元、部署在开放域的升级服务单元,以及车辆;
所述包发布单元包括:
软件包加密处理模块,用于对软件包进行加密得到加密软件包,并生成针对所述软件包的元数据;
发送模块,用于将加密软件包发送至所述下载单元,以及将所述元数据发送至所述升级服务单元;
所述升级服务单元包括:
元数据加密模块,用于获取所述车辆发送的车辆证书,并采用所述车辆证书对所述元数据进行加密得到加密元数据,以及将加密元数据发送至所述车辆;
所述车辆包括:
元数据验证模块,用于采用预置车辆私钥对所述加密元数据进行解密,并验证所述元数据的合法性;
软件包解密处理模块,用于若所述元数据合法,则从所述下载单元获取所述加密软件包,并根据所述元数据对所述加密软件包进行解密;
软件包验证模块,用于根据所述元数据验证所述软件包的合法性;
软件包升级模块,用于若所述软件包合法,则采用所述软件包进行升级。
9.一种装置,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的基于空中升级OTA升级系统的软件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于空中升级OTA升级系统的软件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910828452.1A CN110597538B (zh) | 2019-09-03 | 2019-09-03 | 一种基于ota升级系统的软件升级方法和ota升级系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910828452.1A CN110597538B (zh) | 2019-09-03 | 2019-09-03 | 一种基于ota升级系统的软件升级方法和ota升级系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597538A true CN110597538A (zh) | 2019-12-20 |
CN110597538B CN110597538B (zh) | 2023-06-30 |
Family
ID=68857182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910828452.1A Active CN110597538B (zh) | 2019-09-03 | 2019-09-03 | 一种基于ota升级系统的软件升级方法和ota升级系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597538B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464554A (zh) * | 2020-04-13 | 2020-07-28 | 浙江吉利新能源商用车集团有限公司 | 一种车辆信息安全控制方法及系统 |
CN111510485A (zh) * | 2020-04-10 | 2020-08-07 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
CN111629002A (zh) * | 2020-05-28 | 2020-09-04 | 爱瑟福信息科技(上海)有限公司 | 车辆ecu的ota安全升级方法及其系统 |
CN112399378A (zh) * | 2020-10-13 | 2021-02-23 | 联通智网科技有限公司 | 基于车联网的空中下载方法、系统、设备和介质 |
CN112491879A (zh) * | 2020-11-26 | 2021-03-12 | 中电金融设备系统(深圳)有限公司 | 固件远程更新的方法、计算机设备及存储介质 |
CN112673609A (zh) * | 2020-09-27 | 2021-04-16 | 华为技术有限公司 | 一种数据传输系统、数据传输方法,智能车以及装置 |
CN112947958A (zh) * | 2021-01-28 | 2021-06-11 | 浙江合众新能源汽车有限公司 | 一种汽车软件ota升级系统 |
CN113055181A (zh) * | 2021-03-08 | 2021-06-29 | 爱瑟福信息科技(上海)有限公司 | Ota文件安全处理方法、装置及系统 |
CN113190249A (zh) * | 2021-04-29 | 2021-07-30 | 华人运通(上海)云计算科技有限公司 | 基于ota的车控指令块软件包的下载方法、装置及系统 |
CN113204358A (zh) * | 2021-03-25 | 2021-08-03 | 联合汽车电子有限公司 | 软件包刷新服务方法、服务系统及可读存储介质 |
CN113299018A (zh) * | 2021-06-22 | 2021-08-24 | 上海和数软件有限公司 | 一种atm的软件远程升级方法 |
CN114189337A (zh) * | 2021-11-18 | 2022-03-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固件烧录方法、装置、设备以及存储介质 |
WO2022140903A1 (zh) * | 2020-12-28 | 2022-07-07 | 华为技术有限公司 | 一种ota升级方法及装置 |
CN115378667A (zh) * | 2022-08-04 | 2022-11-22 | 嬴彻科技(浙江)有限公司 | 数据包安全传输方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070047735A1 (en) * | 2005-08-23 | 2007-03-01 | Massimiliano Celli | Method, system and computer program for deploying software packages with increased security |
CN104461567A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 软件包的发布方法及系统 |
CN106648626A (zh) * | 2016-11-29 | 2017-05-10 | 郑州信大捷安信息技术股份有限公司 | 一种车辆安全远程升级系统及升级方法 |
CN108241517A (zh) * | 2018-02-23 | 2018-07-03 | 武汉斗鱼网络科技有限公司 | 一种软件升级方法、客户端及电子设备 |
CN108566381A (zh) * | 2018-03-19 | 2018-09-21 | 百度在线网络技术(北京)有限公司 | 一种安全升级方法、装置、服务器、设备和介质 |
CN109495307A (zh) * | 2018-11-27 | 2019-03-19 | 北京车和家信息技术有限公司 | 系统升级方法、ota升级包加密方法、终端设备及车辆 |
-
2019
- 2019-09-03 CN CN201910828452.1A patent/CN110597538B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070047735A1 (en) * | 2005-08-23 | 2007-03-01 | Massimiliano Celli | Method, system and computer program for deploying software packages with increased security |
CN104461567A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 软件包的发布方法及系统 |
CN106648626A (zh) * | 2016-11-29 | 2017-05-10 | 郑州信大捷安信息技术股份有限公司 | 一种车辆安全远程升级系统及升级方法 |
CN108241517A (zh) * | 2018-02-23 | 2018-07-03 | 武汉斗鱼网络科技有限公司 | 一种软件升级方法、客户端及电子设备 |
CN108566381A (zh) * | 2018-03-19 | 2018-09-21 | 百度在线网络技术(北京)有限公司 | 一种安全升级方法、装置、服务器、设备和介质 |
CN109495307A (zh) * | 2018-11-27 | 2019-03-19 | 北京车和家信息技术有限公司 | 系统升级方法、ota升级包加密方法、终端设备及车辆 |
Non-Patent Citations (1)
Title |
---|
张海强: "智能网联汽车安全远程升级技术的研究与实现", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510485A (zh) * | 2020-04-10 | 2020-08-07 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
CN111510485B (zh) * | 2020-04-10 | 2022-09-09 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
CN111464554A (zh) * | 2020-04-13 | 2020-07-28 | 浙江吉利新能源商用车集团有限公司 | 一种车辆信息安全控制方法及系统 |
CN111464554B (zh) * | 2020-04-13 | 2022-03-15 | 浙江吉利新能源商用车集团有限公司 | 一种车辆信息安全控制方法及系统 |
CN111629002A (zh) * | 2020-05-28 | 2020-09-04 | 爱瑟福信息科技(上海)有限公司 | 车辆ecu的ota安全升级方法及其系统 |
CN112673609A (zh) * | 2020-09-27 | 2021-04-16 | 华为技术有限公司 | 一种数据传输系统、数据传输方法,智能车以及装置 |
WO2022061804A1 (zh) * | 2020-09-27 | 2022-03-31 | 华为技术有限公司 | 一种数据传输系统、数据传输方法,智能车以及装置 |
CN112399378B (zh) * | 2020-10-13 | 2021-08-20 | 联通智网科技股份有限公司 | 基于车联网的空中下载方法、系统、设备和介质 |
CN112399378A (zh) * | 2020-10-13 | 2021-02-23 | 联通智网科技有限公司 | 基于车联网的空中下载方法、系统、设备和介质 |
CN112491879A (zh) * | 2020-11-26 | 2021-03-12 | 中电金融设备系统(深圳)有限公司 | 固件远程更新的方法、计算机设备及存储介质 |
WO2022140903A1 (zh) * | 2020-12-28 | 2022-07-07 | 华为技术有限公司 | 一种ota升级方法及装置 |
EP4258593A4 (en) * | 2020-12-28 | 2024-03-20 | Huawei Technologies Co., Ltd. | OTA UPDATE METHOD AND APPARATUS |
CN112947958A (zh) * | 2021-01-28 | 2021-06-11 | 浙江合众新能源汽车有限公司 | 一种汽车软件ota升级系统 |
CN113055181A (zh) * | 2021-03-08 | 2021-06-29 | 爱瑟福信息科技(上海)有限公司 | Ota文件安全处理方法、装置及系统 |
CN113204358A (zh) * | 2021-03-25 | 2021-08-03 | 联合汽车电子有限公司 | 软件包刷新服务方法、服务系统及可读存储介质 |
CN113190249A (zh) * | 2021-04-29 | 2021-07-30 | 华人运通(上海)云计算科技有限公司 | 基于ota的车控指令块软件包的下载方法、装置及系统 |
CN113299018A (zh) * | 2021-06-22 | 2021-08-24 | 上海和数软件有限公司 | 一种atm的软件远程升级方法 |
CN114189337A (zh) * | 2021-11-18 | 2022-03-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固件烧录方法、装置、设备以及存储介质 |
CN115378667A (zh) * | 2022-08-04 | 2022-11-22 | 嬴彻科技(浙江)有限公司 | 数据包安全传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110597538B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597538B (zh) | 一种基于ota升级系统的软件升级方法和ota升级系统 | |
CN110532735B (zh) | 固件升级方法 | |
US11128477B2 (en) | Electronic certification system | |
US10999078B2 (en) | Software distribution processing device, software distribution processing method, and vehicle | |
US9996679B2 (en) | Methods and apparatus for device authentication and secure data exchange between a server application and a device | |
US11356425B2 (en) | Techniques for improving security of encrypted vehicle software updates | |
KR102089513B1 (ko) | 모바일 저장장치에 기반한 소프트웨어 검증 시스템 및 그 방법 | |
US8966248B2 (en) | Secure software file transfer systems and methods for vehicle control modules | |
CN110401629B (zh) | 一种激活授权的方法及相关装置 | |
US8856536B2 (en) | Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system | |
EP2954448B1 (en) | Provisioning sensitive data into third party network-enabled devices | |
CN109831311B (zh) | 一种服务器验证方法、系统、用户终端及可读存储介质 | |
JP2009116901A (ja) | 更新方法、送信方法、サーバ及び端末 | |
TW201735578A (zh) | 受控的安全碼認證 | |
CN107872532B (zh) | 一种第三方云存储平台的存储、下载的方法及系统 | |
US20220417028A1 (en) | Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession | |
WO2016165215A1 (zh) | 应用程序加载代码签名的方法和装置 | |
CN110572454A (zh) | 一种保障广告投放过程安全的广告投放系统 | |
CN116419217B (zh) | Ota数据升级方法、系统、设备及存储介质 | |
CN111953477B (zh) | 终端设备及其标识令牌的生成方法和客户端的交互方法 | |
CN108512824B (zh) | 一种家庭云端文件的管理方法及移动终端 | |
CN107241341B (zh) | 访问控制方法及装置 | |
JP7191999B2 (ja) | ミニプログラムパッケージ送信方法、装置、電子機器コンピュータ可読媒体およびコンピュータプログラム製品 | |
CN115242471A (zh) | 信息传输方法、装置、电子设备及计算机可读存储介质 | |
US20240249029A1 (en) | Utilizing hardware tokens in conjunction with HSM for code signing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |