CN107911218A - 一种固件签名装置、***及方法 - Google Patents

一种固件签名装置、***及方法 Download PDF

Info

Publication number
CN107911218A
CN107911218A CN201711077194.5A CN201711077194A CN107911218A CN 107911218 A CN107911218 A CN 107911218A CN 201711077194 A CN201711077194 A CN 201711077194A CN 107911218 A CN107911218 A CN 107911218A
Authority
CN
China
Prior art keywords
public key
signature
firmware
encryption
signature device
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.)
Withdrawn
Application number
CN201711077194.5A
Other languages
English (en)
Inventor
李光华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taizhou Jiji Intellectual Property Operation Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201711077194.5A priority Critical patent/CN107911218A/zh
Publication of CN107911218A publication Critical patent/CN107911218A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种固件签名装置、***及方法,所述装置包括:公钥获取请求接收单元,用于接收签名设备端的公钥获取请求;判断单元,用于根据公钥获取请求判断是否已生成过公钥;判断结果处理单元,于判断单元的判断结果为已生成过公钥时直接向所述签名设备端返回该公钥,否则调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端;签名请求接收处理单元,用于接收签名设备端的签名请求,根据该签名请求调用加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至签名设备端;本发明可提供多种设备多种类型的加密、签名服务,并防止密钥的泄露和丢失。

Description

一种固件签名装置、***及方法
技术领域
本发明涉及于数据安全技术领域,尤其涉及一种用于物联网设备的固件签名装置、***及方法。
背景技术
一般,固件(Firmware)由一组编译好的二进制代码组成,包括启动加载程序(BootLoader)、内核文件、文件***等模块,其固件通常是保存在主板上的快闪存储器(Flash)中。BootLoader是硬件***加电所运行的第1段软件代码,它的主要任务包括:初始化最基本的硬件;奖BootLoader本身拷贝到内存RAM中运行;将内核文件复制到RAM中并运行内核文件为了确保***的安全,通常情况下在产品出厂后***的BootLoader不会进行更新,而内核文件和文件***等模块则根据需要通过升级程序对Flash中相应地址的模进行升级。
出于完善产品的软件功能或修复bug的目的,厂商会在产品出厂后不断对其产品的固件进行软件升级,将准备发布的固件按模块生成对应名称的二进制文件,然后将其发布到网络上通知用户去下载,由用户根据需要自行从网络上下载相应版本的固件进行升级。由于网络传输的扩散性和多样性,大多数用户无法保证所下载的固件的合法性和完整性,当用户不慎下载破损的或者非法版本的甚至被不法者恶意篡改的固件对产品进行升级后,往往会导致产品无法启动而使用户蒙受较大损失,如果固件中生产厂商的版权、版本等信息也被修改了,生产厂商的利益也会受到损伤。
基于上述固件升级存在的风险,现有技术一般采用固件加密的方式来解决,但是现有的加密方案普遍存在的如下问题和缺点:
1)现有的固件加密***灵活性不够好,只支持一种加密算法,不同类型的设备由于硬件内存等方面的限制,需要选择不同的加密算法,不能很好的满足现阶段各个产品的需求,通用性不强;
2)存在安全性问题。由于密钥直接存储在项目代码中,软件开发人员能看到,存在泄露的风险;
3)密钥没有备份,万一服务器保存的秘钥丢失,后续的固件都不能得到升级。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种固件签名装置、***及方法,以提供多种设备多种类型的加密、签名服务,并且可防止密钥的泄露和丢失。
为达上述目的,本发明提供的技术方案如下:
一种固件签名装置,包括:
公钥获取请求接收单元,用于接收签名设备端的公钥获取请求;
判断单元,用于根据所述公钥获取请求判断是否已经生成过公钥;
判断结果处理单元,于所述判断单元的判断结果为已生成过公钥时直接向所述签名设备端返回该公钥,否则则调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至所述签名设备端;
签名请求接收处理单元,用于接收所述签名设备端的签名请求,根据该签名请求调用加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端;
加密选择单元,用于根据所述判断结果处理单元与所述签名请求接收处理单元的调用选择并执行相应的加密算法。
进一步地,所述公钥获取请求参数中包括加密算法以及用于标识设备的加密ID。
进一步地,所述签名请求中包括所述签名设备端固件的ID、加密算法以及固件的加密信息,所述加密信息为所述签名设备端根据所述公钥生成的。
进一步地,所述固件签名装置还包括备份单元,以于监视到所述加密选择单元有更新时,将加密选择单元的更新结果予以备份。
为达到上述目的,本发明还提供一种固件签名***,包括:
签名设备端,用于向固件签名装置发送公钥获取请求以获取加密的公钥,于接收到公钥后,将获取到的公钥作为编译选项编译代码,于编译完成后,生成固件的加密信息,并向固件签名装置发送签名请求,将返回的签名信息写入固件的指定位置;
固件签名装置,用于接收所述公钥获取请求,根据该公钥获取请求判断是否已经生成过公钥,于判断单元的判断结果为已生成过公钥,直接向签名设备端返回该公钥,否则则根据加密算法调用对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端,接收所述签名设备端的签名请求,根据该签名请求调用对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端。
进一步地,所述签名设备端包括:
公钥获取请求单元,用于向所述固件签名装置发送公钥获取请求;
公钥获取单元,用于获取所述固件签名装置返回的公钥,并保存于固件中;
固件编译单元,于接收到所述固件签名装置返回的公钥后,将获取到的公钥作为编译选项编译代码;
签名请求单元,于所述固件编译单元编译完成后,生成固件的加密信息,并向所述固件签名装置发送签名请求;
签名获取单元,用于获取所述固件签名装置返回的签名信息,并将其写入固件的指定位置。
进一步地,所述签名设备端还包括:升级控制单元,用于将利用所述公钥获取单元获取到的公钥解密所述固件签名装置返回的签名信息,将解密后的值与固件的加密信息进行匹配,若一致则认为是合法的固件,则允许进行升级,否则拒绝升级。
为达到上述目的,本发明还提供一种固件签名方法,包括如下步骤:
步骤一,接收公钥获取请求;
步骤二,根据所述公钥获取请求判断是否已经生成过公钥;
步骤三,若判断结果为已生成过公钥,则直接向签名设备端返回该公钥,否则则根据该公钥获取请求调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端;
步骤四,接收签名设备端的签名请求,根据该签名请求调用所述加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端。
进一步地,所述方法还包括如下步骤:
以于监视到加密选择单元有更新时,将所述加密选择单元的更新结果予以备份。
进一步地,于步骤二中,于获得所述公钥获取请求后,读取其中的加密算法和加密ID,根据该加密算法和加密ID判断是否已经生成过公钥。
与现有技术相比,本发明一种固件签名装置、***及方法的有益效果在于:
本发明一种固件签名装置、***及方法通过在接收到公钥获取请求,根据该公钥获取请求中的加密算法以及加密ID选择调用加密选择单元中对应的加密算法生成公钥、私钥对并将公钥返回至签名设备端存储,并于接收到签名设备端的签名请求时,调用加密选择单元中对应的加密算法,以获得签名信息返回至该签名设备端,提供了多种设备多种类型的加密、签名服务,可防止密钥的泄露和丢失,并且本发明通过自动备份秘钥数据,以防止丢失,降低了因秘钥丢失导致固件无法正常升级带来的风险。。
附图说明
图1为本发明一种固件签名装置的一个实施例的***架构图;
图2为本发明一种固件签名***的一个实施例的***架构图;
图3为本发明具体实施例中签名设备端的细部结构图;
图4为本发明具体实施例之固件签名***的***架构图;
图5为图4的***时序图;
图6为本发明一种固件签名方法的一个实施例的步骤流程图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
在本发明的一个实施例中,如图1所示,本发明一种固件签名装置,包括:公钥获取请求接收单元101、判断单元102、判断结果处理单元103、签名请求接收处理单元104以及加密单元105。
其中,公钥获取请求接收单元101,用于接收公钥获取请求,所述公钥获取请求参数中包含选择哪种加密算法、加密ID(Identification,身份标识),加密ID用于标识设备,不同设备、不同版本的加密ID不同。也就是说,签名设备端对源码进行编译和打包后,会向固件签名装置发送公钥获取请求以获取加密的公钥,该请求参数中包含选择哪种加密算法、加密ID(标识)。加密ID用于标识设备,不同设备、不同版本的加密ID不同,同一产品每次签名时发送请求的加密ID相同。
判断单元102,用于根据该公钥获取请求获取对应的加密算法以及加密ID,并判断是否已经生成过公钥。在本发明具体实施例中,判断单元102于获得该公钥获取请求后,读取其中的加密算法和加密ID,然后根据该加密算法和加密ID判断是否已经生成过公钥。
判断结果处理单元103,于判断单元的判断结果为已生成过公钥时直接向签名设备端返回该公钥,否则则根据加密算法调用加密选择单元105中对应的加密算法,以获得该加密单元105执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端。
签名请求接收处理单元104,用于接收签名设备端的签名请求,调用加密选择单元105中对应的加密算法,以获得该加密单元105执行该加密算法后得到的签名信息,并将签名信息返回至签名设备端。具体地说,该签名请求中包括签名设备端固件的ID、加密算法以及固件的加密信息,具体地说,签名设备端于获取到公钥后,会将该公钥作为编译选项开始编译代码,编译完成后,生成固件的加密信息,在本发明具体实施例中,可根据二进制文件生成所述加密信息,其中加密信息可以是所述二进制文件的信息摘要,例如,MD5码,然后发送签名请求去固件签名装置以签名固件的加密信息(例如MD5),该签名请求中携带了本固件的ID、加密算法和固件的加密信息(MD5),签名请求接收处理单元104于接收到该请求后,根据该请求调用加密单元104中对应的加密算法,并返回签名信息。
加密选择单元105,包括多个加密算法,以根据判断结果处理单元103与签名请求接收处理单元104的调用选择并执行相应的加密算法。
优选地,本发明之固件签名装置还包括备份单元,以于监视到加密选择单元105有更新时,将加密选择单元105的更新结果予以备份。具体地说,当所述备份单元监视到加密单元生成新的公钥、私钥对时,则会将新生成的秘钥备份到另一服务器上,当所述备份单元监视到加密单元生成的签名信息时,则会将生成的签名信息备份到另一服务器上。
在本发明的一个实施例中,如图2所示,本发明一种固件签名***,包括:
签名设备端20,用于对源码进行编译和打包,完成后向固件签名装置发送公钥获取请求,以用于获取加密的公钥,于接收到公钥后,将获取到的公钥作为编译选项编译代码,于编译完成后,生成固件的加密信息,并向固件签名装置发送签名请求,于并将返回的签名信息写入固件的指定位置,在本发明具体实施例中,该公钥获取请求包括选择哪种加密算法、加密ID(标识),该加密ID用于标识设备,不同设备、不同版本的加密ID不同,同一产品每次签名时发送请求的加密ID相同,该加密信息可以是二进制文件的信息摘要,例如,MD5码,所述签名请求包括签名设备端固件的ID、加密算法以及固件的加密信息(MD5)。
固件签名装置21,用于接收所述公钥获取请求,根据该公钥获取请求获取对应的加密算法以及加密ID,并判断是否已经生成过公钥,于判断单元的判断结果为已生成过公钥,直接向签名设备端返回该公钥,否则则根据加密算法调用对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端,接收签名设备端的签名请求,调用对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至签名设备端。
具体地,如图3所示,签名设备端20进一步包括:
公钥获取请求单元201,用于向固件签名装置发送公钥获取请求,所述公钥获取请求参数中包含选择哪种加密算法、加密ID(Identification,身份标识),加密ID用于标识设备,不同设备、不同版本的加密ID不同。也就是说,公钥获取请求单元201对源码进行编译和打包后,会向固件签名装置发送公钥获取请求以获取加密的公钥,该请求参数中包含选择哪种加密算法、加密ID(标识)。加密ID用于标识设备,不同设备、不同版本的加密ID不同,同一产品每次签名时发送请求的加密ID相同;
公钥获取单元202,用于获取固件签名装置返回的公钥,并将其保存于固件中。
固件编译单元203,于接收到固件签名装置返回的公钥后,将获取到的公钥作为编译选项开始编译代码;
签名请求单元204,于固件编译单元203编译完成后,生成固件的加密信息,并向固件签名装置发送签名请求,所述签名请求为HTTP请求,该请求携带了本固件的ID、加密算法和固件的加密信息,这里的加密信息可以是二进制文件的信息摘要,例如,MD5码;
签名获取单元205,用于获取固件签名装置返回的签名信息,并将其写入固件的指定位置,在本发明具体实施例中,所述签名信息为MD5签名信息。
优选地,签名设备端还包括升级控制单元,将利用公钥获取单元202获取到的公钥解密固件签名装置返回的签名信息,将解密后的值与固件的加密信息进行匹配,若一致则认为是合法的固件,则允许进行升级,否则拒绝升级。在本发明具体实施例中,将获取到的公钥解密固件的MD5签名信息,将解密后的值和固件的MD5值进行匹配,若一致则认为是合法的固件则进行升级,否则拒绝升级。
图4为本发明具体实施例之固件签名***的***架构图,图5为图4的***时序图。在本发明具体实施例中,固件签名装置设置于签名服务器端,具体地,本发明之固件签名***,其工作过程如下:
1、签名设备端30首先通过获取公钥获取请求单元(301)向签名服务器31发送HTTP请求以获取公钥,请求中携带了本固件的ID(唯一标识)和指定哪种加密算法。
2、签名服务器(31)收到请求后,调用其加密选择单元(310),选择相应的加密算法以获取公钥,具体地,签名服务器收到公钥获取请求后,执行如下操作:
1)根据加密ID和加密算法判断是否已经生成过秘钥,如果生成则直接返回已生成的秘钥;
2)如果没生成过秘钥,调用加密选择单元选择具体的加密算法(加密算法1/加密算法2/...)生成公钥、私钥对,保存在本地。
3)每当有新的密码生成时,备份单元(311)的监视模块会被触发,调用备份模块备份秘钥到另外一台备份服务器上。
4、签名服务器(31)将公钥返回给签名设备端(30)。
5、签名设备端(30)的固件编译单元(302)将获取到的公钥作为编译选项,开始编译代码,编译完成后,执行签名请求单元(303)生成固件的MD5(Message Digest AlgorithmMD5,消息摘要算法第五版),并发送HTTP请求去签名固件的MD5,请求中携带了本固件的ID、加密算法和固件的MD5。
6、签名服务器(30)收到请求后,调用加密选择单元(310)的对应的加密算法,返回签名信息(与此同时触发备份单元311备份签名信息)。
7、签名设备端(30)通过签名获取单元(304)将返回的MD5签名信息写入固件的指定位置,后续在固件升级时,升级程序会使用步骤4获取到的公钥解密固件的MD5签名信息,将解密后的值和固件的MD5值进行匹配,如果一致则认为是合法的固件进行升级,否则拒绝升级。
可见,本发明根据该公钥获取请求参数中的加密算法以及加密ID选择调用包括多个加密算法的加密选择单元中对应的加密算法生成公钥、私钥对并将公钥返回至签名设备端存储,于接收到签名设备端的签名请求时,根据签名请求中的加密算法和加密ID调用多个加密算法的加密选择单元中对应的加密算法并执行,以获得签名信息返回至该签名设备端,本发明可提供多种设备多种类型的加密、签名服务,并且本发明通过自动备份秘钥数据,以防止丢失,降低了因秘钥丢失导致固件无法正常升级带来的风险。
图6为本发明一种固件签名方法的步骤流程图。如图6所示,本发明一种固件签名方法,包括如下步骤:
步骤601,接收公钥获取请求,所述公钥获取请求参数中包含选择哪种加密算法、加密ID(Identification,身份标识),加密ID用于标识设备,不同设备、不同版本的加密ID不同。也就是说,签名设备端对源码进行编译和打包后,会向固件签名装置发送公钥获取请求以获取加密的公钥,该请求参数中包含选择哪种加密算法、加密ID(标识)。加密ID用于标识设备,不同设备、不同版本的加密ID不同,同一产品每次签名时发送请求的加密ID相同。
步骤602,根据该公钥获取请求获取对应的加密算法以及加密ID,并判断是否已经生成过公钥。在本发明具体实施例中,于获得该公钥获取请求后,读取其中的加密算法和加密ID,然后根据该加密算法和加密ID判断是否已经生成过公钥。
步骤603,若判断结果为已生成过公钥,则直接向签名设备端返回该公钥,否则则根据加密算法调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端。
步骤604,接收签名设备端的签名请求,调用加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至签名设备端。具体地说,该签名请求中包括签名设备端固件的ID、加密算法以及固件的加密信息,具体地说,签名设备端于获取到公钥后,会将该公钥作为编译选项开始编译代码,编译完成后,生成固件的加密信息,在本发明具体实施例中,可根据二进制文件生成所述加密信息,其中加密信息可以是所述二进制文件的信息摘要,例如,MD5码,然后发送签名请求去固件签名装置以签名固件的加密信息(例如MD5),该签名请求中携带了本固件的ID、加密算法和固件的加密信息(MD5),于步骤504中,于接收到该请求后,根据该请求调用对应的加密算法,并返回签名信息。
优选地,本发明之固件签名方法还包括如下步骤:
以于监视到加密选择单元有更新时,将所述加密选择单元的更新结果予以备份。具体地说,当所述备份单元监视到加密单元生成新的公钥、私钥对时,则会将新生成的秘钥备份到另一服务器上,当所述备份单元监视到加密单元生成的签名信息时,则会将生成的签名信息备份到另一服务器上。
综上所述,本发明一种固件签名装置、***及方法通过在接收到公钥获取请求后,根据该公钥获取请求中的加密算法以及加密ID选择调用加密选择单元中对应的加密算法生成公钥、私钥对并将公钥返回至签名设备端存储,并于接收到签名设备端的签名请求时,调用加密选择单元中对应的加密算法,以获得签名信息返回至该签名设备端,提供了多种设备多种类型的加密、签名服务,可防止密钥的泄露和丢失,并且本发明通过自动备份秘钥数据,以防止丢失,降低了因秘钥丢失导致固件无法正常升级带来的风险。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种固件签名装置,包括:
公钥获取请求接收单元,用于接收签名设备端的公钥获取请求;
判断单元,用于根据所述公钥获取请求判断是否已经生成过公钥;
判断结果处理单元,于所述判断单元的判断结果为已生成过公钥时直接向所述签名设备端返回该公钥,否则则调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至所述签名设备端;
签名请求接收处理单元,用于接收所述签名设备端的签名请求,根据该签名请求调用加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端;
加密选择单元,用于根据所述判断结果处理单元与所述签名请求接收处理单元的调用选择并执行相应的加密算法。
2.如权利要求1所述的一种固件签名装置,其特征在于:所述公钥获取请求参数中包括加密算法以及用于标识设备的加密ID。
3.如权利要求1所述的一种固件签名装置,其特征在于:所述签名请求中包括所述签名设备端固件的ID、加密算法以及固件的加密信息,所述加密信息为所述签名设备端根据所述公钥生成的。
4.如权利要求1所述的一种固件签名装置,其特征在于:所述固件签名装置还包括备份单元,以于监视到所述加密选择单元有更新时,将加密选择单元的更新结果予以备份。
5.一种固件签名***,包括:
签名设备端,用于向固件签名装置发送公钥获取请求以获取加密的公钥,于接收到公钥后,将获取到的公钥作为编译选项编译代码,于编译完成后,生成固件的加密信息,并向固件签名装置发送签名请求,将返回的签名信息写入固件的指定位置;
固件签名装置,用于接收所述公钥获取请求,根据该公钥获取请求判断是否已经生成过公钥,于判断单元的判断结果为已生成过公钥时直接向签名设备端返回该公钥,否则则根据加密算法调用对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端,接收所述签名设备端的签名请求,根据该签名请求调用对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端。
6.如权利要求5所述的一种固件签名***,其特征在于,所述签名设备端包括:
公钥获取请求单元,用于向所述固件签名装置发送公钥获取请求;
公钥获取单元,用于获取所述固件签名装置返回的公钥,并保存于固件中;
固件编译单元,于接收到所述固件签名装置返回的公钥后,将获取到的公钥作为编译选项编译代码;
签名请求单元,于所述固件编译单元编译完成后,生成固件的加密信息,并向所述固件签名装置发送签名请求;
签名获取单元,用于获取所述固件签名装置返回的签名信息,并将其写入固件的指定位置。
7.如权利要求6所述的一种固件签名***,其特征在于,所述签名设备端还包括:升级控制单元,用于将利用所述公钥获取单元获取到的公钥解密所述固件签名装置返回的签名信息,将解密后的值与固件的加密信息进行匹配,若一致则认为是合法的固件,则允许进行升级,否则拒绝升级。
8.一种固件签名方法,包括如下步骤:
步骤一,接收公钥获取请求;
步骤二,根据所述公钥获取请求判断是否已经生成过公钥;
步骤三,若判断结果为已生成过公钥,则直接向签名设备端返回该公钥,否则则根据该公钥获取请求调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端;
步骤四,接收签名设备端的签名请求,根据该签名请求调用所述加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端。
9.如权利要求8所述的一种固件签名方法,其特征在于,所述方法还包括如下步骤:
以于监视到加密选择单元有更新时,将所述加密选择单元的更新结果予以备份。
10.如权利要求8所述的一种固件签名方法,其特征在于,于步骤二中,于获得所述公钥获取请求后,读取其中的加密算法和加密ID,根据该加密算法和加密ID判断是否已经生成过公钥。
CN201711077194.5A 2017-11-06 2017-11-06 一种固件签名装置、***及方法 Withdrawn CN107911218A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711077194.5A CN107911218A (zh) 2017-11-06 2017-11-06 一种固件签名装置、***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711077194.5A CN107911218A (zh) 2017-11-06 2017-11-06 一种固件签名装置、***及方法

Publications (1)

Publication Number Publication Date
CN107911218A true CN107911218A (zh) 2018-04-13

Family

ID=61842530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711077194.5A Withdrawn CN107911218A (zh) 2017-11-06 2017-11-06 一种固件签名装置、***及方法

Country Status (1)

Country Link
CN (1) CN107911218A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762788A (zh) * 2018-05-31 2018-11-06 四川斐讯信息技术有限公司 一种基于服务器的嵌入式设备固件加密方法和***
CN110298145A (zh) * 2019-06-28 2019-10-01 兆讯恒达微电子技术(北京)有限公司 一种基于公开密钥密码算法的固件程序装载保护方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762788A (zh) * 2018-05-31 2018-11-06 四川斐讯信息技术有限公司 一种基于服务器的嵌入式设备固件加密方法和***
CN110298145A (zh) * 2019-06-28 2019-10-01 兆讯恒达微电子技术(北京)有限公司 一种基于公开密钥密码算法的固件程序装载保护方法

Similar Documents

Publication Publication Date Title
CN104166565B (zh) 一种智能显示终端固件升级方法
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
US8155320B2 (en) Data storage device, management server, integrated circuit, data update system, home electric apparatuses, data update method, encryption method, and encryption/decryption key generation method
CN104077160B (zh) 一种升级安卓软件的方法、设备和***
US10268845B2 (en) Securing of the loading of data into a nonvolatile memory of a secure element
CN107273151A (zh) 一种安全的Android App功能插件化方法
CN103946856A (zh) 加解密处理方法、装置和设备
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
CN104199654A (zh) 开放平台的调用方法及装置
CN108830113A (zh) 一种Android设备唯一标识的获取方法
KR20150035249A (ko) 어플리케이션 패키지를 저장하는 기록 매체, 어플리케이션 패키지 생성 방법 및 장치, 어플리케이션 패키지 실행 방법 및 장치
CN105678192A (zh) 一种基于智能卡的密钥应用方法及应用装置
CN111191195A (zh) 一种用于保护apk的方法和装置
CN116388980A (zh) 一种Android环境密钥分段处理方法及装置
KR20160020294A (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
CN112363771B (zh) 应用程序的处理方法及相关产品
CN107911218A (zh) 一种固件签名装置、***及方法
CN108322466A (zh) 基于Android的APK的验证方法、服务器及可读存储介质
CN111176685A (zh) 一种升级方法及装置
CN101170765A (zh) 电信智能卡生产及鉴权方法
CN107145342B (zh) 应用的渠道信息的处理方法和装置
CN102118737A (zh) 一种远程获取锁网信息的方法及终端
CN107995230B (zh) 一种下载方法及终端
CN109474924A (zh) 一种锁网文件的恢复方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20200818

Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Applicant after: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Applicant before: Phicomm (Shanghai) Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20180413

WW01 Invention patent application withdrawn after publication