CN110532735A - 固件升级方法 - Google Patents
固件升级方法 Download PDFInfo
- Publication number
- CN110532735A CN110532735A CN201810500685.4A CN201810500685A CN110532735A CN 110532735 A CN110532735 A CN 110532735A CN 201810500685 A CN201810500685 A CN 201810500685A CN 110532735 A CN110532735 A CN 110532735A
- Authority
- CN
- China
- Prior art keywords
- firmware
- user equipment
- digital signature
- encrypted
- upgrade
- 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 53
- 238000013500 data storage Methods 0.000 claims description 14
- 210000000352 storage cell Anatomy 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims description 4
- 239000007787 solid Substances 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012546 transfer 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及固件升级方法,包括:用户设备与升级服务器建立安全连接,并通过加密通道下载固件升级包以得到经加密固件和第二数字签名;校验第二数字签名,以验证经加密固件的完整性和/或合法性;利用解密算法来对经加密固件进行解密,以得到待升级固件和第一数字签名;用户设备将待升级固件写入应用逻辑程序单元;用户设备校验第一数字签名来验证待升级固件的完整性、合法性。该方法从固件升级的全部流程环节上进行整体性安全设计,对每个环节存在的安全风险都能够有效防范。
Description
技术领域
本发明涉及固件技术领域,更具体地说,涉及一种固件升级方法。
背景技术
现阶段,用户的需求越来越多,用户设备功能也越来越丰富,为了增强用户体验与设备的可靠性,各种联网设备都增加了固件升级功能,这样使得制造商可以在合适的时间给设备增加新的功能,或修改所发现的技术问题。
但是,正因为设备能够链接到网络更新固件,就带来了诸多安全隐患,比如在固件转移传输的过程中遭到损毁,固件被植入恶意代码甚至被篡改,升级固件的服务器被不法利用从而不可信任,这些情况都可能使得固件被盗取、被复制、被修改,进而造成设备被恶意利用,甚至危害用户权益。
当下,随着研发人员与各个公司对安全与产权意识越来越强,出现了不少的解决方案,如为了保证固件的完整性使用哈希算法等计算固件的明文摘要,保证固件的合法性使用签名等,但是,现有技术在用户设备的升级上没有达成完整的安全解决方案,而在安全性、稳定性要求较高的固件的使用场景下,其中任一个环节的考虑不周都有可能引入巨大的安全风险。
发明内容
本发明的一个目的在于提供一种固件打包方法。
为实现上述目的,本发明提供一种技术方案如下:
一种固件打包方法,包括如下步骤:a)、为待升级固件生成第一数字签名;b)、将待升级固件和第一数字签名打包,并使用加密算法进行加密,以生成经加密固件;c)、为经加密固件生成第二数字签名;d)、将经加密固件和第二数字签名打包,以形成固件升级包。
优选地,该方法还包括:升级服务器与用户设备相互认证彼此的数字证书,并在认证完成后,将固件升级包传送至用户设备。
本发明的另一目的在于提供一种安全性更佳的固件升级方法。
为实现上述目的,本发明又提供一种技术方案如下:
一种固件升级方法,包括如下步骤:a)、用户设备与升级服务器建立安全连接,并通过加密通道下载固件升级包以得到经加密固件和第二数字签名;b)、校验第二数字签名,以验证经加密固件的完整性和/或合法性;c)、利用解密算法来对经加密固件进行解密,以得到待升级固件和第一数字签名;d)、用户设备将待升级固件写入应用逻辑程序单元;以及e)、用户设备校验第一数字签名来验证待升级固件的完整性、合法性。
优选地,该方法还包括在步骤a)之前执行以下步骤:用户设备与升级服务器相互认证彼此的数字证书。
优选地,步骤a)进一步包括:将经加密固件储存于用户设备内的安全存储区域。
优选地,步骤a)还包括:对储存于安全存储区域的经加密固件进行加密混淆处理。
优选地,步骤d)具体包括:一边对经加密固件的至少一部分进行解密,一边基于经加密固件的已解密部分来进行固件升级。
优选地,在步骤e)之后还包括:若待升级固件的完整性或合法性未通过验证,用户设备进行固件版本回退处理。
本发明还公开一种用户设备,包括:数据存储单元,用于从升级服务器处下载固件升级包并从中提取经加密固件;安全芯片,其至少储存用户设备的数字证书,以用于用户设备与升级服务器之间的相互认证;以及主控芯片,包括启动引导程序单元以及应用逻辑程序单元,启动引导程序单元利用待升级固件来进行用户设备的固件升级,应用逻辑程序单元用于实现用户设备的逻辑功能,其中,待升级固件及其相应的第一数字签名经打包并加密而形成经加密固件,经加密固件及其相应的第二数字签名经打包而形成固件升级包。
优选地,主控芯片、数据存储单元及安全芯片彼此之间硬件独立。
本发明各实施例提供的固件升级方法及相应的固件打包方法,从数字签名-加密-身份认证-数据安全传输-验证固件完整性及合法性-安全存储的全部流程环节上进行整体性安全设计,对每个环节存在的安全风险都能够有效防范。此外,还对待升级固件先后进行两次数字签名,这使得固件能够以更可信的方式得到升级,通过适当地对固件升级,用户设备也能够安全、稳定、可靠地运行,从而有效防止被恶意利用。
附图说明
图1示出本发明第一实施例提供的固件打包方法及固件升级方法各自的流程图。
图2示出本发明第二实施例提供的一种嵌入式设备的模块结构示意图。
具体实施方式
在以下描述中提出具体细节,以便提供对本发明的更透彻理解。然而,本领域的技术人员将清楚地知道,即使没有这些具体细节也可实施本发明的实施例。在本发明中,可进行具体的数字引用,例如“第一元件”、“第二装置”等。但是,具体数字引用不应当被理解为必须服从于其字面顺序,而是应被理解为“第一元件”与“第二元件”不同。
本发明所提出的具体细节只是示范性的,具体细节可以变化,但仍然落入本发明的精神和范围之内。术语“耦合”定义为表示直接连接到组件或者经由另一个组件而间接连接到组件。
以下通过参照附图来描述适于实现本发明的方法、***和装置的优选实施例。虽然各实施例是针对元件的单个组合来描述,但是应理解,本发明包括所公开元件的所有可能组合。因此,如果一个实施例包括元件A、B和C,而第二实施例包括元件B和D,则本发明也应被认为包括A、B、C或D的其他剩余组合,即使没有明确公开。
需要说明的是,以下在嵌入式设备及相应的嵌入式固件的基础上来描述本发明的优选实施例,但是,应理解,本发明的思想与设备及固件的类型无关,也就是说,本发明可应用于其他类型的用户设备及固件上,并可实现相同的技术效果。
如图1所示,本发明第一实施例提供一种固件打包方法以及一种固件升级方法,两者相互配合、也能够相互独立地执行(例如,分别在升级服务器端和用户设备端执行),它们能够用于对各种用户设备(例如,嵌入式设备)进行固件升级,或,对在嵌入式设备上运行的嵌入式固件进行版本更新。
具体来说,固件打包方法包括如下各步骤。
步骤S10、为待升级固件生成第一数字签名。
具体地,在该步骤中,优选地采用专用的升级服务器来为待升级嵌入式固件生成第一数字签名,以便确保数字签名的安全性,数字签名可以基于待升级嵌入式固件的摘要信息来生成。其中,待升级嵌入式固件可具体定义为明文形式的嵌入式固件本身、或经打包的嵌入式固件、或嵌入式固件的增量更新包。
步骤S11、将待升级固件和第一数字签名打包并加密,以生成经加密固件。
具体地,该步骤中,先将待升级嵌入式固件和第一数字签名打包加密,其中,加密采用特定的加密算法,进而生成经加密嵌入式固件。
加密所采用的密钥需进行特殊严格保管,以防止泄露或被窃取。在打包中,视情况而定,还可以将升级服务器的数字证书一并打包在内,以供后续由嵌入式设备进行认证。
作为示例,在步骤S11中,可以将第一数字签名添加到待升级嵌入式固件的指定位置,除了第一数字签名,还可以将待升级嵌入式固件的版本号、适用用户设备的型号或其他描述信息也添加到指定位置,该指定位置可以是任何适合位置。
步骤S12、为经加密固件生成第二数字签名。
在该步骤,可以采用专用服务器来为经加密嵌入式固件生成第二数字签名。可以预期的是,第二数字签名不同于第一数字签名。优选情况下,两者的生成方式(例如,生成算法)可以不同。
步骤S13、将经加密固件和第二数字签名打包,以形成固件升级包。
具体来说,该过程由升级服务器来执行,打包得到的固件升级包也存放于升级服务器端,供多个嵌入式设备从升级服务器下载。
根据本发明一种具体实施方式,数字签名由签名模块生成,签名模块可以是个程序模块,也可以是个专用服务器。在生成签名时,可采用非对称加密算法。签名模块签名时用的是签名模块(或者,签名模块所代表的、固件文件的生产商)的私钥;签名模块的公钥预置到了用户设备里,例如,预置到了用户设备的数据存储单元里,该数据存储单元是非易失性存储器,对于用户设备的主控芯片来说是外部的。公钥也可以预置到用户设备的加密芯片(又称安全芯片)里,加密芯片是以硬件方式专门支持加密解密的芯片,这样安全性更高。
备选地,签名模块生成签名时用的是签名模块的私钥,签名模块预先向证书服务器申请得到了证书服务器给它签发的证书,该证书绑定了签名模块的公钥与签名模块的身份信息;签名模块的证书则预置到了用户设备里,例如,预置到了用户设备的数据存储单元里,也可以预置到用户设备的加密芯片里,这样安全性更高。
在加密时,则可采用对称加密算法进行加密,该对称加密算法所用的密钥可预置到用户设备里,优选地,预置到用户设备的加密芯片里。对加密后第一包(经加密固件)进行签名,获得第二数字签名。例如,计算出加密后第一包的摘要后发给签名模块,由签名模块签名。计算摘要所用的算法可以是任何适当算法,签名模块签名时采用的是非对称加密算法,以及签名模块的私钥。本步骤中用的私钥与生成第一数字签名时用的私钥可以是相同的,也可以是不同的。
将经加密嵌入式固件和第二数字签名打包获得第二包(固件升级包)。打包时,可将第二数字签名添加到加密后第一包的指定位置,这里的有益效果是:实现了固件的机密性,因为第二包里的是加密后的固件文件(待升级固件)。与之相比,在只进行一次数字签名的情况下,固件升级包就是固件文件明文与第一数字签名的合并,固件文件容易被窃听者盗取。
作为进一步的改进,在向嵌入式设备传送固件升级包之前,升级服务器与嵌入式设备相互认证数字证书。
具体来说,嵌入式设备和升级服务器两者分别安装同一个CA签署的各自的数字证书,利用各自的数字证书,嵌入式设备与升级服务器可以相互认证彼此的身份。在认证身份时,嵌入式设备与升级服务器互换数字证书,并验证数字证书的信任链。这种双向身份验证可以通过升级模块(升级服务器)与嵌入式设备交换证书来进行,该升级模块(或者,升级模块所代表的、固件文件的分发商)和用户设备预先向同一个证书服务器分别申请得到了证书,进而可以进行互换。
通过认证,嵌入式设备与升级服务器相互确定对方为可信方,从而可以启动固件升级包的传输,以将固件升级包从升级服务器传送到嵌入式设备。
作为示例,嵌入式固件安装第一数字证书,而升级服务器则安装有第二数字证书,仅在嵌入式固件确认升级服务器的第二数字证书为可信,同时升级服务器也确认嵌入式固件的第一数字证书为可信的情况下,才继续进行嵌入式固件的升级,否则,将终止固件升级过程。
另一方面,按照该第一实施例,固件升级方法在用户设备(嵌入式设备)端执行,其具体包括以下各步骤。
步骤S20、用户设备与升级服务器建立安全连接,通过加密通道下载固件升级包,以得到经加密固件和第二数字签名。
对固件升级包的下载过程可以经由安全连接来实现,安全连接可独立于其他通信连接,进而形成嵌入式设备与升级服务器之间的加密通道,加密通道独立于其他数据通道,以使得嵌入式固件的升级过程不会受到其他数据通信的干扰从而保证升级过程的安全性与可靠性,以及,在嵌入式设备与升级服务器之间的数据传输能够高速进行。
优选情况下,上述加密通道基于安全加密的传输层协议来实现。
由于所下载的固件升级包中包含经加密嵌入式固件和第二数字签名,从中可以分别提取出经加密嵌入式固件以及第二数字签名。
优选情况下,在步骤S20下载固件升级包之前,可以从应用服务器获得升级提示,该升级提示可包括固件文件的版本号、适用用户设备的型号或其他描述信息,以及升级服务器的地址。应用服务器用于处理日常请求,升级服务器用于提供升级包下载,应用服务器与升级服务器可以是同一台服务器上的两个程序模块也可以是不同的服务器。进而,设备与升级服务器建立连接,该建立连接基于升级服务器与用户设备之间的双向身份认证。建立连接后升级包的传输是通过加密通道进行的。
步骤S21、通过校验第二数字签名,用户设备验证经加密固件的完整性和/或合法性。
作为进一步的改进,嵌入式设备将经加密嵌入式固件储存于安全存储区域,安全存储区域专用于储存嵌入式设备从升级服务器获取的经加密嵌入式固件;优选情况下,还可选择对储存于安全存储区域的经加密嵌入式固件进行加密混淆处理。
作为进一步的改进,将嵌入式设备的数字证书(用于步骤S14中的嵌入式设备与升级服务器之间的相互认证)储存于嵌入式设备内的安全芯片,该安全芯片独立于嵌入式设备的安全存储区域以及其他硬件单元,即,作为单独的一个硬件单元(芯片)形成于嵌入式设备上。
校验第二数字签名可以按以下方式执行:从升级包的预定位置a取得第二数据(经加密固件和第二数字签名),用预定算法计算出第二数据的摘要;从升级包的预定位置b取得第二数字签名;取得预置的公钥(或者是从预置的证书中读出公钥,或从数据存储单元获得或者从加密芯片获得。根据该摘要、第二数字签名和该公钥,校验第二数字签名。例如,可以将该摘要、第二数字签名和该公钥传送至加密芯片,由加密芯片来校验第二数字签名。如果校验成功,将第二数据存储到数据存储单元。这种方式的有益效果是:保存在数据存储单元(对于用户设备的主控芯片来说是外部的)中的是加密数据,从而可有效防止被盗取。
步骤S22、用户设备对经加密固件进行解密,从而得到待升级固件和第一数字签名。
在获取经加密嵌入式固件之后,嵌入式设备利用与升级服务器所采用的加密算法相对称的解密算法,来对经加密嵌入式固件进行解密,从而可以得到采用明文形式的待升级嵌入式固件。
作为示例,升级服务器与嵌入式设备可以事先就加密算法、解密算法进行约定,以实现加密与解密之间的对称。
在该步骤中,利用预定对称加密算法和预置的密钥(例如,从数据存储单元获得或者从加密芯片获得)对第二数据进行解密,以获得第一数据(待升级固件和第一数字签名)。例如,本步骤是由引导程序来完成的,引导程序是***启动时自动执行的程序,用来启动整个***,引导程序是每次启动都执行的。之后,可以从第一数据的预定位置c取得预定信息,以检查是否匹配(例如,版本号是否与升级提示中的版本号匹配、适用用户设备的型号是否与当前设备匹配等)。
步骤S23,用户设备利用明文形式的待升级固件来进行固件升级。具体来说,嵌入式设备将待升级嵌入式固件写入应用逻辑程序单元中,从而实现固件升级过程。
应注意,在对经加密嵌入式固件全部解密完成后再进行整体固件升级仅作为本发明的一种实施方式。
根据本发明另一实施方式,解密过程与固件升级过程同时进行,具体来说,一边对经加密嵌入式固件的至少一部分进行解密,一边又基于经加密嵌入式固件的已解密部分(明文形式的待升级嵌入式固件的一部分)来进行固件升级,这使得固件升级能够更高效地进行。
步骤S24、用户设备校验第一数字签名,以验证待升级固件的完整性与合法性。
在该步骤中,通过校验第一数字签名,可以验证待升级嵌入式固件的完整性、合法性以及功能性其中一项或多项。若上述校验未通过,嵌入式设备可以选择进行固件版本的回退处理。即,一旦升级失败,嵌入式固件将加载先前的程序版本,以便仍能够持续实现其各种业务功能。
校验第一数字签名可以由引导程序来完成。例如,该校验可以包括:从第一数据(待升级固件和第一数字签名)的预定位置d取得固件文件,用预定算法计算出固件文件的摘要;从第一数据的预定位置f取得第一数字签名;取得预置的公钥(或者,从预置的证书中读出公钥、从数据存储单元获得、或从加密芯片获得)。根据该摘要、第一数字签名和该公钥,校验第一数字签名,例如,可以将该摘要、第一数字签名和该公钥传送至加密芯片,由加密芯片来校验第一数字签名。如果校验第一数字签名失败,重试n次后,回退到原版本固件。如果校验第一数字签名成功,由引导程序启动固件文件(即启动新的固件程序),固件更新完成。这种方式的有益效果:1. 写入到用户设备的主控芯片内的固件是带签名的(第一数字签名);2. 实际上用户设备每次启动都将校验签名,也就是说每次启动都将检查固件的合法性和完整性3. 这样解决了“固件升级后不能再抵御恶意植入与篡改”的问题。
应理解,上述第一实施例提供的方法的各个步骤可以相互组合、改变次序来执行,对该方法步骤的简单组合或替换均应落入本发明的范围。作为示例,关于嵌入式设备与升级服务器之间相互认证的步骤可以在步骤S10、S11、S12或S13任一个之前、或任两个之间来进行,而不影响本发明的技术效果。
上述第一实施例提供的嵌入式固件升级方法,从数字签名-加密-身份认证-数据安全传输-验证固件完整性及合法性-安全存储的全部流程环节上进行整体性安全设计,对每个环节可能引入的安全风险都有效防范。该方法还先后进行两次数字签名及相应的校验,这使得嵌入式固件升级能够以更可信的方式进行。
如图2所示,本发明第二实施例提供一种嵌入式设备,其至少包括主控芯片200、数据存储单元210以及安全芯片220三个相互独立的单元。
多个嵌入式设备可以与一个升级服务器通信耦合,从而可利用该升级服务器提供的固件升级包来(本地或远程)升级运行于各设备上的嵌入式固件。
具体地,主控芯片200包括启动引导程序单元201以及应用逻辑程序单元202,启动引导程序单元201能够用来启动并引导用户设备,在每次启动时都会执行相应的启动引导程序,应用逻辑程序单元202能够实现嵌入式固件的逻辑功能(实现各种特定的应用场合下的各种业务功能)。为了进行固件版本更新,需要将新版固件写入嵌入式设备的应用逻辑程序单元中。
根据第二实施例,虽然都位于主控芯片200上,但启动引导程序单元201与应用逻辑程序单元202相互独立,即,分别具有独立电路且互不影响彼此的功能性。
此外,数据存储单元210与主控芯片200硬件(电路)相互独立。在从升级服务器处下载固件升级包之后,固件升级包储存于数据存储单元210中,随后嵌入式设备可从中提取经加密嵌入式固件。
安全芯片220在物理上、逻辑上均独立于第一芯片200,其至少存储有嵌入式设备的数字证书,以供嵌入式设备与升级服务器之间的相互认证。
其中,待升级嵌入式固件及其相应的第一数字签名经打包并加密形成经加密嵌入式固件,经加密嵌入式固件及其相应的第二数字签名经打包形成固件升级包。固件升级包由升级服务器提供以供下载。
作为进一步的改进,安全芯片220还用于对第一数字签名、第二数字签名分别进行校验。换言之,安全芯片220能够专用于对数字签名、数字证书进行相关校验或安全方面的验证。其中,校验可以包括完整性校验、合法性校验以及功能性校验。
作为对第二实施例的一种具体实现,嵌入式固件设置于本地端,升级服务器部署于远端。此外,升级服务器甚至可以按照分布式计算装置来实现,或,基于“云”来实现。在这种***中,多个计算装置共同操作,以通过使用其共享资源来提供服务。
基于“云”的实现可提供一个或多个优点,包括:开放性、灵活性和可扩展性、可中心管理、可靠性、可缩放性、对计算资源所优化、具有聚合和分析跨多个用户的信息的能力、跨多个地理区域进行连接、以及将多个移动或数据网络运营商用于网络连通性的能力。
本发明进一步提供一种计算机存储介质,其上存储有一套计算机可执行指令,这套计算机可执行指令在由计算机执行时,将会执行如本发明上述第一实施例所提供的方法。
本发明进一步提供一种控制器,该控制器在执行储存于存储器中的计算机可执行指令时,将会执行上述第一实施例提供的方法的各个步骤。
上述说明仅针对于本发明的优选实施例,并不在于限制本发明的保护范围。本领域技术人员可能作出各种变形设计,而不脱离本发明的思想及附随的权利要求。
Claims (14)
1.一种固件打包方法,包括如下步骤:
a)、为待升级固件生成第一数字签名;
b)、将所述待升级固件和所述第一数字签名打包,并使用加密算法进行加密,以生成经加密固件;
c)、为所述经加密固件生成第二数字签名;
d)、将所述经加密固件和所述第二数字签名打包,以形成固件升级包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
升级服务器与用户设备相互认证彼此的数字证书,并在认证完成后,将所述固件升级包传送至所述用户设备。
3.一种固件升级方法,包括如下步骤:
a)、用户设备与升级服务器建立安全连接,并通过加密通道下载固件升级包以得到经加密固件和第二数字签名;
b)、校验所述第二数字签名,以验证所述经加密固件的完整性和/或合法性;
c)、利用解密算法来对所述经加密固件进行解密,以得到待升级固件和第一数字签名;
d)、用户设备将所述待升级固件写入应用逻辑程序单元;以及
e)、所述用户设备校验所述第一数字签名来验证所述待升级固件的完整性、合法性。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括在步骤a)之前执行以下步骤:
所述用户设备与所述升级服务器相互认证彼此的数字证书。
5.根据权利要求4所述的方法,其特征在于,所述步骤a)进一步包括:
将所述经加密固件储存于所述用户设备内的安全存储区域。
6.根据权利要求5所述的方法,其特征在于,所述步骤a)还包括:
对储存于所述安全存储区域的所述经加密固件进行加密混淆处理。
7.根据权利要求4所述的方法,其特征在于,其中所述数字证书储存于所述用户设备内的安全芯片中,所述安全芯片独立于所述安全存储区域。
8.根据权利要求4所述的方法,其特征在于,所述步骤d)具体包括:
一边对所述经加密固件的至少一部分进行解密,一边基于所述经加密固件的已解密部分来进行固件升级。
9.根据权利要求3-8中任一项所述的方法,其特征在于,在所述步骤e)之后还包括:
若所述待升级固件的完整性或合法性未通过验证,所述用户设备进行固件版本回退处理。
10.一种用户设备,包括:
数据存储单元,用于从升级服务器处下载固件升级包并从中提取经加密固件;
安全芯片,其至少储存所述用户设备的数字证书,以用于所述用户设备与所述升级服务器之间的相互认证;以及
主控芯片,包括启动引导程序单元以及应用逻辑程序单元,所述启动引导程序单元利用待升级固件来进行所述用户设备的固件升级,所述应用逻辑程序单元用于实现所述用户设备的逻辑功能,
其中,所述待升级固件及其相应的第一数字签名经打包并加密而形成所述经加密固件,所述经加密固件及其相应的第二数字签名经打包而形成所述固件升级包。
11.根据权利要求10所述的用户设备,其特征在于,所述主控芯片、所述数据存储单元以及所述安全芯片彼此之间硬件独立。
12.根据权利要求10或11所述的用户设备,其特征在于,所述安全芯片还用于对所述第一数字签名、所述第二数字签名分别进行校验。
13.一种计算机存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由计算机执行时,将执行如权利要求3-10中任一项所述的方法。
14.一种控制器,其特征在于,所述控制器在执行储存于存储器中的计算机可执行指令时,执行如以上权利要求3至9中任一项所述的方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810500685.4A CN110532735B (zh) | 2018-05-23 | 2018-05-23 | 固件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810500685.4A CN110532735B (zh) | 2018-05-23 | 2018-05-23 | 固件升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532735A true CN110532735A (zh) | 2019-12-03 |
CN110532735B CN110532735B (zh) | 2023-04-18 |
Family
ID=68656575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810500685.4A Active CN110532735B (zh) | 2018-05-23 | 2018-05-23 | 固件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532735B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143856A (zh) * | 2019-12-27 | 2020-05-12 | 郑州信大捷安信息技术股份有限公司 | 一种plc远程固件升级***及方法 |
CN111142906A (zh) * | 2019-12-25 | 2020-05-12 | 浙江大华技术股份有限公司 | 一种设备固件升级方案迭代的方法、装置与设备 |
CN111240709A (zh) * | 2019-12-26 | 2020-06-05 | 深圳市优***科技股份有限公司 | 一种基于android***的POS设备的固件升级方法及*** |
CN111382397A (zh) * | 2020-02-26 | 2020-07-07 | 浙江大华技术股份有限公司 | 升级软件包配置方法、软件升级方法、设备及存储装置 |
CN111694590A (zh) * | 2020-06-15 | 2020-09-22 | 泉州慧霁科技有限公司 | 一种智能水电表的升级方法 |
CN111787093A (zh) * | 2020-06-29 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 应用管理方法、应用管理装置、相关设备及介质 |
CN112346759A (zh) * | 2020-10-14 | 2021-02-09 | 深圳市共进电子股份有限公司 | 一种固件升级方法、装置及计算机可读存储介质 |
CN112463184A (zh) * | 2020-11-06 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种基板管理控制器固件安全升级方法及*** |
CN112491557A (zh) * | 2020-11-26 | 2021-03-12 | 福州智象信息技术有限公司 | 一种智能音箱操作***ota包升级方法及*** |
CN112995768A (zh) * | 2019-12-17 | 2021-06-18 | 青岛海尔多媒体有限公司 | 电视升级控制的方法及装置、电视 |
CN113138775A (zh) * | 2020-01-20 | 2021-07-20 | 上海交通大学 | 车载诊断***固件保护方法及*** |
CN113515747A (zh) * | 2021-05-17 | 2021-10-19 | 深圳市友华通信技术有限公司 | 设备升级方法、装置、设备及存储介质 |
CN113535200A (zh) * | 2021-05-28 | 2021-10-22 | 宁波三星医疗电气股份有限公司 | 一种能源控制器app升级方法 |
CN113721965A (zh) * | 2021-08-02 | 2021-11-30 | 国创移动能源创新中心(江苏)有限公司 | 一种充电桩的基于安全固件的升级方法 |
CN113805908A (zh) * | 2020-06-17 | 2021-12-17 | 瑞昱半导体股份有限公司 | 固件更新***和方法 |
CN113868672A (zh) * | 2021-12-01 | 2021-12-31 | 武汉天喻信息产业股份有限公司 | 模组无线固件升级方法、安全芯片和无线固件升级平台 |
WO2022017457A1 (zh) * | 2020-07-24 | 2022-01-27 | 欧姆龙株式会社 | 固件数据的校验设备和方法、固件更新设备和方法及*** |
CN114143198A (zh) * | 2021-11-30 | 2022-03-04 | 四川启睿克科技有限公司 | 固件升级的方法 |
CN115242413A (zh) * | 2021-04-06 | 2022-10-25 | ***通信有限公司研究院 | 物联网设备固件安全升级方法、装置、电子设备及介质 |
CN115967502A (zh) * | 2023-01-03 | 2023-04-14 | 重庆长安汽车股份有限公司 | 终端的安全升级方法及***、电子设备、可读存储介质 |
EP4209953A1 (en) * | 2022-01-07 | 2023-07-12 | Samsung Electronics Co., Ltd. | Storage controller, storage system, and method of operating storage device |
CN117093245A (zh) * | 2023-10-18 | 2023-11-21 | 湖北芯擎科技有限公司 | Ota升级包验证方法、装置、设备及可读存储介质 |
CN117215621A (zh) * | 2023-11-02 | 2023-12-12 | 北京紫光青藤微***有限公司 | 用于更新电子设备固件的方法、装置和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008054058A1 (en) * | 2006-10-31 | 2008-05-08 | Samsung Electronics Co., Ltd. | Apparatus and method for updating firmware |
CN101436141A (zh) * | 2008-11-21 | 2009-05-20 | 深圳创维数字技术股份有限公司 | 基于数字签名的固件升级、固件封装方法与装置 |
US20120005480A1 (en) * | 2010-07-01 | 2012-01-05 | Rockwell Automation Technologies, Inc. | Methods for firmware signature |
CN102981881A (zh) * | 2012-12-10 | 2013-03-20 | 中兴通讯股份有限公司 | 一种防止移动终端升级到非法固件版本的方法及*** |
CN104506515A (zh) * | 2014-12-17 | 2015-04-08 | 北京极科极客科技有限公司 | 一种固件的保护方法和保护装置 |
US20150106925A1 (en) * | 2013-10-11 | 2015-04-16 | Oki Brasil Indústria E Comércio De Produtos E Tecnologia Em Automação S.A. | Security system and method |
-
2018
- 2018-05-23 CN CN201810500685.4A patent/CN110532735B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008054058A1 (en) * | 2006-10-31 | 2008-05-08 | Samsung Electronics Co., Ltd. | Apparatus and method for updating firmware |
CN101436141A (zh) * | 2008-11-21 | 2009-05-20 | 深圳创维数字技术股份有限公司 | 基于数字签名的固件升级、固件封装方法与装置 |
US20120005480A1 (en) * | 2010-07-01 | 2012-01-05 | Rockwell Automation Technologies, Inc. | Methods for firmware signature |
CN102981881A (zh) * | 2012-12-10 | 2013-03-20 | 中兴通讯股份有限公司 | 一种防止移动终端升级到非法固件版本的方法及*** |
US20150106925A1 (en) * | 2013-10-11 | 2015-04-16 | Oki Brasil Indústria E Comércio De Produtos E Tecnologia Em Automação S.A. | Security system and method |
CN104506515A (zh) * | 2014-12-17 | 2015-04-08 | 北京极科极客科技有限公司 | 一种固件的保护方法和保护装置 |
Non-Patent Citations (3)
Title |
---|
刘道春: "有线电视机顶盒升级***的研究", 《电视技术》 * |
周军辉: "OS环境下固件升级安全技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
李卫强: "有线智能电视终端网络接入模块安全设计探讨", 《有线电视技术》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995768A (zh) * | 2019-12-17 | 2021-06-18 | 青岛海尔多媒体有限公司 | 电视升级控制的方法及装置、电视 |
CN111142906A (zh) * | 2019-12-25 | 2020-05-12 | 浙江大华技术股份有限公司 | 一种设备固件升级方案迭代的方法、装置与设备 |
CN111142906B (zh) * | 2019-12-25 | 2023-11-10 | 浙江大华技术股份有限公司 | 一种设备固件升级方案迭代的方法、装置与设备 |
CN111240709A (zh) * | 2019-12-26 | 2020-06-05 | 深圳市优***科技股份有限公司 | 一种基于android***的POS设备的固件升级方法及*** |
CN111143856A (zh) * | 2019-12-27 | 2020-05-12 | 郑州信大捷安信息技术股份有限公司 | 一种plc远程固件升级***及方法 |
CN113138775B (zh) * | 2020-01-20 | 2022-11-18 | 上海交通大学 | 车载诊断***固件保护方法及*** |
CN113138775A (zh) * | 2020-01-20 | 2021-07-20 | 上海交通大学 | 车载诊断***固件保护方法及*** |
CN111382397A (zh) * | 2020-02-26 | 2020-07-07 | 浙江大华技术股份有限公司 | 升级软件包配置方法、软件升级方法、设备及存储装置 |
CN111694590A (zh) * | 2020-06-15 | 2020-09-22 | 泉州慧霁科技有限公司 | 一种智能水电表的升级方法 |
CN113805908A (zh) * | 2020-06-17 | 2021-12-17 | 瑞昱半导体股份有限公司 | 固件更新***和方法 |
CN111787093B (zh) * | 2020-06-29 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 应用管理方法、应用管理装置、相关设备及介质 |
CN111787093A (zh) * | 2020-06-29 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 应用管理方法、应用管理装置、相关设备及介质 |
WO2022017457A1 (zh) * | 2020-07-24 | 2022-01-27 | 欧姆龙株式会社 | 固件数据的校验设备和方法、固件更新设备和方法及*** |
CN112346759A (zh) * | 2020-10-14 | 2021-02-09 | 深圳市共进电子股份有限公司 | 一种固件升级方法、装置及计算机可读存储介质 |
CN112463184A (zh) * | 2020-11-06 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种基板管理控制器固件安全升级方法及*** |
CN112491557A (zh) * | 2020-11-26 | 2021-03-12 | 福州智象信息技术有限公司 | 一种智能音箱操作***ota包升级方法及*** |
CN115242413A (zh) * | 2021-04-06 | 2022-10-25 | ***通信有限公司研究院 | 物联网设备固件安全升级方法、装置、电子设备及介质 |
CN113515747A (zh) * | 2021-05-17 | 2021-10-19 | 深圳市友华通信技术有限公司 | 设备升级方法、装置、设备及存储介质 |
CN113515747B (zh) * | 2021-05-17 | 2024-02-09 | 深圳市友华通信技术有限公司 | 设备升级方法、装置、设备及存储介质 |
CN113535200A (zh) * | 2021-05-28 | 2021-10-22 | 宁波三星医疗电气股份有限公司 | 一种能源控制器app升级方法 |
CN113721965B (zh) * | 2021-08-02 | 2024-05-03 | 国创移动能源创新中心(江苏)有限公司 | 一种充电桩的基于安全固件的升级方法 |
CN113721965A (zh) * | 2021-08-02 | 2021-11-30 | 国创移动能源创新中心(江苏)有限公司 | 一种充电桩的基于安全固件的升级方法 |
CN114143198A (zh) * | 2021-11-30 | 2022-03-04 | 四川启睿克科技有限公司 | 固件升级的方法 |
CN114143198B (zh) * | 2021-11-30 | 2023-06-13 | 四川启睿克科技有限公司 | 固件升级的方法 |
CN113868672B (zh) * | 2021-12-01 | 2022-03-15 | 武汉天喻信息产业股份有限公司 | 模组无线固件升级方法、安全芯片和无线固件升级平台 |
CN113868672A (zh) * | 2021-12-01 | 2021-12-31 | 武汉天喻信息产业股份有限公司 | 模组无线固件升级方法、安全芯片和无线固件升级平台 |
EP4209953A1 (en) * | 2022-01-07 | 2023-07-12 | Samsung Electronics Co., Ltd. | Storage controller, storage system, and method of operating storage device |
CN115967502A (zh) * | 2023-01-03 | 2023-04-14 | 重庆长安汽车股份有限公司 | 终端的安全升级方法及***、电子设备、可读存储介质 |
CN117093245A (zh) * | 2023-10-18 | 2023-11-21 | 湖北芯擎科技有限公司 | Ota升级包验证方法、装置、设备及可读存储介质 |
CN117093245B (zh) * | 2023-10-18 | 2024-01-16 | 湖北芯擎科技有限公司 | Ota升级包验证方法、装置、设备及可读存储介质 |
CN117215621A (zh) * | 2023-11-02 | 2023-12-12 | 北京紫光青藤微***有限公司 | 用于更新电子设备固件的方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN110532735B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532735A (zh) | 固件升级方法 | |
CN1839581B (zh) | 装置认证信息安装*** | |
CN103081399B (zh) | 认证设备和*** | |
CN103905207B (zh) | 一种统一apk签名的方法及其*** | |
CN104412273B (zh) | 用于进行激活的方法和*** | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CA3164765A1 (en) | Secure communication method and device based on identity authentication | |
CN103685138A (zh) | 移动互联网上的Android平台应用软件的认证方法和*** | |
CN109286599A (zh) | 数据安全防护方法、智能设备、服务器及可读存储介质 | |
CN101771699A (zh) | 一种提高SaaS应用安全性的方法及*** | |
CN109302369B (zh) | 一种基于密钥验证的数据传输方法及装置 | |
CN106227503A (zh) | 安全芯片cos固件更新方法、服务端、终端及*** | |
CN110050437A (zh) | 分布式证书注册的装置和方法 | |
JP2020530726A (ja) | サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証 | |
CN102413132A (zh) | 基于双向安全认证的数据下载方法及*** | |
CN109450854A (zh) | 一种配电终端通信安全防护方法及*** | |
CN108683674A (zh) | 门锁通信的验证方法、装置、终端及计算机可读存储介质 | |
CN109905384B (zh) | 数据迁移方法及*** | |
CN113868672B (zh) | 模组无线固件升级方法、安全芯片和无线固件升级平台 | |
CN109286502A (zh) | 恢复加密机管理员锁的方法以及加密机 | |
KR20130118951A (ko) | 고유의 코드 서명 키들의 보안 관리 및 개인화 | |
CN111435390A (zh) | 一种配电终端运维工具安全防护方法 | |
CN105872848A (zh) | 一种适用于非对称资源环境的可信双向认证方法 | |
CN109981671A (zh) | 基于加密机的数据处理方法及加密机 | |
CN106027254A (zh) | 一种身份证认证***中身份证读卡终端使用密钥的方法 |
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 |