CN107451432A - 一种启动程序检查方法和装置 - Google Patents
一种启动程序检查方法和装置 Download PDFInfo
- Publication number
- CN107451432A CN107451432A CN201610369568.XA CN201610369568A CN107451432A CN 107451432 A CN107451432 A CN 107451432A CN 201610369568 A CN201610369568 A CN 201610369568A CN 107451432 A CN107451432 A CN 107451432A
- Authority
- CN
- China
- Prior art keywords
- startup program
- bag
- mapping
- spoon
- public spoon
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013507 mapping Methods 0.000 claims abstract description 91
- 230000006835 compression Effects 0.000 claims abstract description 56
- 238000007906 compression Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000007599 discharging Methods 0.000 claims abstract description 9
- 230000000052 comparative effect Effects 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012795 verification 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
-
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种启动程序检查方法,在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在电编程熔丝(efuse)中设置所述第一压缩映射值;释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程。本发明还公开了一种启动程序检查装置。
Description
技术领域
本发明涉及嵌入式系统技术领域,尤其涉及一种启动程序检查方法和装置。
背景技术
启动芯片(Bootrom)常用于实时操作系统的设备启动引导;当设备启动时,Bootrom将设备的应用程序,如二级启动程序等,搬运到内存中的指定位置并开始运行;此外,Bootrom还具有设备上电自检、文件下载升级、闪存(flash)管理等功能。
实时操作系统通常运行于嵌入式系统上,嵌入式系统可以应用于平板、手机、便携式宽带无线装置(MIFI)、数据卡等多种产品,也可以应用于专网的某些特殊产品上;嵌入式系统通常包含了处理器;面向不同的客户和不同的产品功能,会有不同的定价策略,从而采用不同的处理器。
由于在设计过程中常采用处理器兼容设计的方法,因此引起了低价的处理器和高价处理器之间、面向不同客户的处理器之间、以及不同产品的处理器之间的互相串货问题。
如何设计一种安全不易破解的技术方案,能在处理器内部进行启动程序和处理器的匹配检查,确保启动程序运行只能运行在对应的处理器上,有效防止处理器串货,是设备厂商急需解决的问题。
发明内容
有鉴于此,本发明实施例期望提供一种启动程序检查方法和装置,不仅安全不易破解,而且能确保启动程序只运行在对应的处理器上,从而有效防止处理器串货。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种启动程序检查方法,所述方法包括:在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在电编程熔丝(efuse)中设置所述第一压缩映射值;所述方法还包括:
释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程。
上述方案中,所述方法还包括:
对所述启动程序包中的启动程序进行压缩映射;
将所述启动程序的压缩映射值用所述公匙对应的私匙进行加密,并将所述加密运算值作为所述启动程序的数字签名;
在所述启动程序包中设置所述启动程序的数字签名。
上述方案中,所述方法还包括:
将所述启动程序包中释放出的数字签名用所述公匙进行解密;
将所述启动程序包中释放出的启动程序进行压缩映射;
对比所述解密结果与所述启动程序包中释放出的启动程序的压缩映射值,如果一致,则启动所述启动程序,否则,不启动所述启动程序。
上述方案中,所述用所述公匙对应的私匙进行加密为:采用RSA算法,用所述公匙对应的私匙对所述启动程序的压缩映射值加密;
用所述公匙进行解密为:采用RSA算法,用所述公匙对所述启动程序的数字签名进行解密。
上述方案中,所述启动程序为二级启动程序;所述启动程序包为二级启动程序包。
本发明实施例还提供了一种启动程序检查装置,所述装置包括:第一设置模块、第一对比模块,其中,
所述第一设置模块,用于:在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在efuse中设置所述第一压缩映射值;
所述第一对比模块,用于释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程。
上述方案中,所述装置还包括:第二设置模块,用于:
对所述启动程序包中的启动程序进行压缩映射;
将所述启动程序的压缩映射值用所述公匙对应的私匙进行加密,并将所述加密运算值作为所述启动程序的数字签名;
在所述启动程序包中设置所述启动程序的数字签名。
上述方案中,所述装置还包括:第二对比模块,用于:
将所述启动程序包中释放出的数字签名用所述公匙进行解密;
将所述启动程序包中释放出的启动程序进行压缩映射;
对比所述解密结果与所述启动程序包中释放出的启动程序的压缩映射值,如果一致,则启动所述启动程序,否则,不启动所述启动程序。
上述方案中,所述第二设置模块,用于采用RSA算法,用所述公匙对应的私匙对所述启动程序的压缩映射值加密;
所述第二对比模块,用于采用RSA算法,用所述公匙对所述启动程序的数字签名进行解密。
上述方案中,所述启动程序为二级启动程序;所述启动程序包为二级启动程序包。
本发明实施例所提供的启动程序检查方法和装置,在启动程序包中设置公匙(PUK,Public Key);对所述公匙进行压缩映射生成第一压缩映射值,在efuse中设置所述第一压缩映射值;释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程;所述启动程序包中设置有启动程序。如此,在处理器内部完成通过启动程序与处理器的安全匹配,无法从外部进行破解,确保启动程序只能运行在与其对应的处理器上,进而避免了处理器串货的发生。
附图说明
图1为本发明实施例启动程序检查方法的流程示意图;
图2为本发明实施例二级启动程序包文件结构示意图;
图3为本发明实施例efuse文件结构示意图;
图4为本发明实施例应用实例匹配检查方法的流程示意图;
图5为本发明实施例启动程序检查装置的组成结构示意图。
具体实施方式
本发明实施例中,在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在efuse中设置所述第一压缩映射值;释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程。
下面结合实施例对本发明再作进一步详细的说明。
当前区分不同处理器的主要手段是在处理器内部增加efuse模块,并为每块芯片烧录唯一序列号(ID,Identification),依靠不同版本的上层的软件来判断当前载体处理器是否串货。但是,此方案纯粹依靠上层软件判断,很容易被破解。
本发明实施例提供的启动程序检查方法,如图1所示,所述方法包括:
步骤101:在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在efuse中设置所述第一压缩映射值;
这里,所述启动程序包括:嵌入式系统中的二级启动程序等,所述公匙可以采用RSA算法中的公匙;通常,嵌入式系统启动时由Bootrom将所述二级启动程序释放到内存中的指定位置,并开始运行所述二级启动程序;所述二级启动程序添加文件头等信息,后以二级启动程序包的形式烧录到嵌入式系统的处理器或存储器等装置中;通常,二级启动程序包中可以包含有:二级启动程序的长度、二级启动程序等信息;这里,可以在二级启动程序包中再加入一个公匙;加入所述公匙后二级启动程序包的文件结构可以如图2所示,这里,用ZLOAD(Zloader Data)表示二级启动程序包,用ZDATA表示二级启动程序,ZDATA_SIZE表示ZDATA的长度,由PUK_RSA_N和PUK_RSA_D两部分组成所述公匙,所述公匙可以采用256字节的长度;
确定了二级启动程序包中的公匙后,可以将所述公匙的压缩映射值烧入与所述二级启动程序匹配的处理器的efuse中;这里,所述压缩映射可以是哈希(Hash)运算;efuse的文件结构可以如图3所示,其中,SECURE_BOOT_EN表示是否安全检测的标志,可以是2字节的数据,默认值可以设置成0,默认值0可以表示启动时不进行二级启动程序和处理器的匹配,直接进行启动进程;如需要对芯片添加安全检测,可以在SECURE_BOOT_EN中烧录相关的预设信息;SECURE_BOOT_PUK_HASH表示公匙的Hash值;实际应用中,在二级启动程序包中针对不同芯片的批次、应用领域或者不同的供应商可以设置不同的公匙,如此,在efuse中可以根据芯片的批次、应用领域或者不同的供应商烧录不同的公匙Hash值。
步骤102:释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程;
二级启动程序包被烧录进嵌入式系统处理器或存储器中,当系统启动时复位被释放后,处理器开始工作,处理器准备开始启动;可以由Bootrom来进行所述二级启动程序与处理器的匹配工作;首先,可以读取efuse中SECURE_BOOT_EN,如果该值是非0,则需要进行二级启动程序与处理器的匹配,然后才能进行启动进程;否则,可以直接进行启动进程;这里,启动进程是指嵌入式系统启动过程中的一系列动作,可以包括:自检、匹配检查、启动所述启动程序等一系列动作;
这里,可以由Bootrom来进行二级启动程序与处理器的匹配操作,首先Bootrom从ZLOAD中读取公匙,即PUK_RSA_D和PUK_RSA_N,并对所述公匙做Hash运算,得到Hash值,并记为HASH_PUK;再读取efuse中预先烧录的公匙的Hash值SECURE_PUK_HASH,将SECURE_PUK_HASH与HASH_PUK比较;如果不等,则说明公匙无效,表明当前二级启动程序和处理器不匹配,终止启动进程;二者一致则说明公匙有效,进行下一步的启动进程。
进一步的,在二级启动程序和处理器成功匹配后,本发明实施例提供的启动程序安全检查的方法还可以包括:检查二级启动程序的合法性;
这里,可以在烧录二级启动程序包前,预先对二级启动程序进行压缩映射;并将所述二级启动程序的压缩映射值用所述公匙对应的私匙进行加密运算,将所述加密运算值确定为所述二级启动程序的数字签名,并将所述二级启动程序对应的数字签名加入到所述二级启动程序包中;这里,可以采用如图2所示的二级启动程序包文件结构,其中,所述二级启动程序对应的数字签名用ZDATA_HASH_Y_SIGNED表示;其中,所述加密运算可以是RSA加密运算。
当系统启动后,Bootrom可以在二级启动程序与处理器匹配后,进行检查二级启动程序数据的合法性;将所述二级启动程序包中释放出的二级启动程序包的数字签名采用所述公匙进行解密;将所述启动程序包中释放出的启动程序进行压缩映射;对比所述解密结果与所述启动程序包中释放出的启动程序的压缩映射值,如果一致,则确定所述启动程序合法,启动所述启动程序,否则,确定所述启动程序非法,不启动所述启动程序。其中,可以采用RSA算法进行二级启动程序包的数字签名的解密;
具体的,可以首先对ZLOAD中的ZDATA做Hash运算,并记为HASH_X;再读取ZLOAD中的ZDATA的数字签名ZDATA_HASH_Y_SIGNED,并对ZDATA_HASH_Y_SIGNED采用RSA算法用所述公匙进行解密处理,得到HASH_Y;比较HASH_X和HASH_Y,若二者不等则说明ZDATA值非法,boot启动终止;如果二者相等则说明ZDATA数据合法;可以开始启动ZDATA,即启动二级启动程序。
实际应用中,如果不进行二级启动程序与处理器匹配,同样可以进行二级启动程序的合法性检测。
下面结合具体示例对本发明的使用作进一步详细的描述:
如图4所示,具体安全验证流程的具体处理步骤如下:
步骤401:通过外部设备往efuse烧录相关信息,包括SECURE_BOOT_EN(Bootrom的安全检查标识)和SECURE_PUK_HASH(公匙的Hash值);
步骤402:根据ZDATA的长度,将ZDATA头文件信息添加到ZLOAD数据里面,保留ZDATA数据长度、公匙、ZDATA数字签名、ZDATA;这些信息作为二级启动程序的指令加载数据;
步骤403:当系统复位释放后,处理器开始工作,处理器准备开始启动,读取SECURE_BOOT_EN,如果该值是非0,则需要进行安全检查才能继续Bootrom流程;否则可以直接进行启动流程;
步骤404:SECURE_BOOT_EN为非0,则开始检查公匙的有效性;从ZLOAD中读取公匙值(PUK_RSA_D,PUK_RSA_N)并做Hash运算,得到Hash值记为HASH_PUK;
步骤405:读取efuse中公匙的hash值SECURE_PUK_HASH,将SECURE_PUK_HASH与HASH_PUK对比;如果不等则说明公匙无效,则终止BOOT启动;否则,说明公匙有效,继续启动流程;
步骤406:若公匙有效则开始检查ZDATA数据的合法性;使用对ZDATA做Hash运算,记为HASH_X;
步骤407:读取ZLOAD中的ZDATA的数字签名ZDATA_HASH_Y_SIGNED,调用公匙对ZDATA_HASH_Y_SIGNED进行RSA解密处理,得到HASH_Y;
步骤408:比较HASH_X和HASH_Y,若二者不等则说明ZDTA值非法,boot启动终止;否则,说明ZDATA数据合法;
步骤409:若ZDATA合法,步骤405确认处理器信息与启动程序匹配,则开始启动所述ZDATA的内容,执行开机流程。
本发明实施例提供的启动程序检查装置,如图5所示,所述装置包括:第一设置模块51、第一对比模块52,其中,
所述第一设置模块51,用于:在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在efuse中设置所述第一压缩映射值;
这里,所述启动程序包括:嵌入式系统中的二级启动程序等,所述公匙可以采用RSA算法中的公匙;通常,嵌入式系统启动时由Bootrom将所述二级启动程序释放到内存中的指定位置,并开始运行所述二级启动程序;所述二级启动程序添加文件头等信息后,以二级启动程序包的形式烧录到嵌入式系统的处理器或存储器等装置中;通常,二级启动程序包中可以包含有:二级启动程序的长度、二级启动程序等信息;这里,可以在二级启动程序包中再加入一个公匙;加入所述公匙后二级启动程序包的文件结构可以如图2所示,这里,用ZLOAD表示二级启动程序包,用ZDATA表示二级启动程序,ZDATA_SIZE表示ZDATA的长度,由PUK_RSA_N和PUK_RSA_D两部分组成所述公匙,所述公匙可以采用256字节的长度;
确定了二级启动程序包中的公匙后,可以将所述公匙的压缩映射值烧入与所述二级启动程序匹配的处理器的efuse中;这里,所述压缩映射可以是哈希(Hash)运算;efuse的文件结构可以如图3所示,其中,SECURE_BOOT_EN表示是否安全检测的标志,可以是2字节的数据,默认值可以设置成0,默认值0可以表示启动时不进行二级启动程序和处理器的匹配,直接进行启动进程;如需要对芯片添加安全检测,可以在SECURE_BOOT_EN中烧录相关的预设信息;SECURE_BOOT_PUK_HASH表示公匙的Hash值;实际应用中,在二级启动程序包中针对不同芯片的批次、应用领域或者不同的供应商可以设置不同的公匙,如此,在efuse中可以根据芯片的批次、应用领域或者不同的供应商烧录不同的公匙Hash值。
所述第一对比模块52,用于释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程;
二级启动程序包被烧录进嵌入式系统处理器或存储器中,当系统启动时复位被释放后,处理器开始工作,处理器准备开始启动;可以由Bootrom来进行所述二级启动程序与处理器的匹配工作;首先,可以读取efuse中SECURE_BOOT_EN,如果该值是非0,则需要进行二级启动程序与处理器的匹配,然后才能进行启动进程;否则,可以直接进行启动进程;这里,启动进程是指嵌入式系统启动过程中的一系列动作,可以包括:自检、匹配检查、启动所述启动程序等一系列动作;
这里,可以由Bootrom来进行二级启动程序与处理器的匹配操作,首先Bootrom从ZLOAD中读取公匙,即PUK_RSA_D和PUK_RSA_N,并对所述公匙做Hash运算,得到Hash值,并记为HASH_PUK;再读取efuse中预先烧录的公匙的Hash值SECURE_PUK_HASH,将SECURE_PUK_HASH与HASH_PUK比较;如果不等,则说明公匙无效,表明当前二级启动程序和处理器不匹配,终止启动进程;二者一致则说明公匙有效,进行下一步的启动进程。
本发明实施例提供的启动程序安全检查的装置还可以包括:第二设置模块53、第二对比模块54,用于检查二级启动程序的合法性;
所述第二设置模块53可以在烧录二级启动程序包前,预先对二级启动程序进行压缩映射;并将所述二级启动程序的压缩映射值用所述公匙对应的私匙进行加密运算,将所述加密运算值确定为所述二级启动程序的数字签名,并将所述二级启动程序对应的数字签名加入到所述二级启动程序包中;这里,可以采用如图2所示的二级启动程序包文件结构,其中,所述二级启动程序对应的数字签名用ZDATA_HASH_Y_SIGNED表示;其中,所述加密运算可以是RSA加密运算;
当系统启动后,Bootrom可以在二级启动程序与处理器匹配后,进行检查二级启动程序数据的合法性;所述第二对比模块54将所述二级启动程序包中释放出的二级启动程序包的数字签名采用所述公匙进行解密;将所述启动程序包中释放出的启动程序进行压缩映射;对比所述解密结果与所述启动程序包中释放出的启动程序的压缩映射值,如果一致,则确定所述启动程序合法,启动所述启动程序,否则,确定所述启动程序非法,不启动所述启动程序。其中,可以采用RSA算法进行二级启动程序包的数字签名的解密;
具体的,可以首先对ZLOAD中的ZDATA做Hash运算,并记为HASH_X;再读取ZLOAD中的ZDATA的数字签名ZDATA_HASH_Y_SIGNED,并对ZDATA_HASH_Y_SIGNED采用RSA算法用所述公匙进行解密处理,得到HASH_Y;比较HASH_X和HASH_Y,若二者不等则说明ZDATA值非法,boot启动终止;如果二者相等则说明ZDATA数据合法;可以开始启动ZDATA,即启动二级启动程序。
实际应用中,如果不进行二级启动程序与处理器匹配,同样可以进行二级启动程序的合法性检测。
在实际应用中,所述第一设置模块51、第二设置模块53可以由外部电脑等装置实现,所述第一对比模块52、第二对比模块54均可由嵌入式系统中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
以上所述,仅为本发明的最佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种启动程序检查方法,其特征在于,所述方法包括:在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在电编程熔丝efuse中设置所述第一压缩映射值;所述方法还包括:
释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述启动程序包中的启动程序进行压缩映射;
将所述启动程序的压缩映射值用所述公匙对应的私匙进行加密,并将所述加密运算值作为所述启动程序的数字签名;
在所述启动程序包中设置所述启动程序的数字签名。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述启动程序包中释放出的数字签名用所述公匙进行解密;
将所述启动程序包中释放出的启动程序进行压缩映射;
对比所述解密结果与所述启动程序包中释放出的启动程序的压缩映射值,如果一致,则启动所述启动程序,否则,不启动所述启动程序。
4.根据权利要求3所述的方法,其特征在于,
所述用所述公匙对应的私匙进行加密为:采用RSA算法,用所述公匙对应的私匙对所述启动程序的压缩映射值加密;
用所述公匙进行解密为:采用RSA算法,用所述公匙对所述启动程序的数字签名进行解密。
5.根据权利要求1至4任一项所述的方法,其特征在于,
所述启动程序为二级启动程序;
所述启动程序包为二级启动程序包。
6.一种启动程序检查装置,其特征在于,所述装置包括:第一设置模块、第一对比模块,其中,
所述第一设置模块,用于:在启动程序包中设置公匙;对所述公匙进行压缩映射生成第一压缩映射值,在efuse中设置所述第一压缩映射值;
所述第一对比模块,用于释放所述启动程序包后,对所述公匙进行压缩映射得到压缩映射结果;将所述压缩映射结果与当前efuse中的第一压缩映射值进行比较;比较结果一致时,继续启动进程。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二设置模块,用于:
对所述启动程序包中的启动程序进行压缩映射;
将所述启动程序的压缩映射值用所述公匙对应的私匙进行加密,并将所述加密运算值作为所述启动程序的数字签名;
在所述启动程序包中设置所述启动程序的数字签名。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第二对比模块,用于:
将所述启动程序包中释放出的数字签名用所述公匙进行解密;
将所述启动程序包中释放出的启动程序进行压缩映射;
对比所述解密结果与所述启动程序包中释放出的启动程序的压缩映射值,如果一致,则启动所述启动程序,否则,不启动所述启动程序。
9.根据权利要求8所述的装置,其特征在于,所述第二设置模块,用于采用RSA算法,用所述公匙对应的私匙对所述启动程序的压缩映射值加密;
所述第二对比模块,用于采用RSA算法,用所述公匙对所述启动程序的数字签名进行解密。
10.根据权利要求6至9任一项所述的装置,其特征在于,
所述启动程序为二级启动程序;
所述启动程序包为二级启动程序包。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369568.XA CN107451432A (zh) | 2016-05-30 | 2016-05-30 | 一种启动程序检查方法和装置 |
PCT/CN2017/085577 WO2017206768A1 (zh) | 2016-05-30 | 2017-05-23 | 一种启动程序检查方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369568.XA CN107451432A (zh) | 2016-05-30 | 2016-05-30 | 一种启动程序检查方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107451432A true CN107451432A (zh) | 2017-12-08 |
Family
ID=60478494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610369568.XA Withdrawn CN107451432A (zh) | 2016-05-30 | 2016-05-30 | 一种启动程序检查方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107451432A (zh) |
WO (1) | WO2017206768A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159711A (zh) * | 2019-12-06 | 2020-05-15 | 珠海慧联科技有限公司 | 一种防串货方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102301381A (zh) * | 2011-07-08 | 2011-12-28 | 华为技术有限公司 | 信息安全处理的方法及装置 |
CN103544413A (zh) * | 2013-10-31 | 2014-01-29 | 宇龙计算机通信科技(深圳)有限公司 | 一种在智能终端中校验软件版权的方法及装置 |
CN103914658A (zh) * | 2013-01-05 | 2014-07-09 | 展讯通信(上海)有限公司 | 终端设备的安全启动方法及终端设备 |
CN104835537A (zh) * | 2015-05-13 | 2015-08-12 | 福州瑞芯微电子有限公司 | Soc芯片自适应启动方法及装置 |
CN105117651A (zh) * | 2015-09-16 | 2015-12-02 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
US20160070933A1 (en) * | 2011-01-20 | 2016-03-10 | International Business Machines Corporation | Protecting chip settings using secured scan chains |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193024A (ja) * | 2008-02-18 | 2009-08-27 | Toshiba Corp | 復号化処理装置、暗号処理システム、復号化処理方法およびプログラム |
JP2010049213A (ja) * | 2008-08-25 | 2010-03-04 | Toshiba Corp | 暗号化装置、復号装置、暗号通信システム、方法及びプログラム |
US9152794B1 (en) * | 2013-09-05 | 2015-10-06 | Xilinx, Inc. | Secure key handling for authentication of software for a system-on-chip |
US9270469B2 (en) * | 2014-02-20 | 2016-02-23 | Xilinx, Inc. | Authentication using public keys and session keys |
CN105426750A (zh) * | 2015-12-03 | 2016-03-23 | 致象尔微电子科技(上海)有限公司 | 一种嵌入式系统的启动方法及嵌入式装置 |
-
2016
- 2016-05-30 CN CN201610369568.XA patent/CN107451432A/zh not_active Withdrawn
-
2017
- 2017-05-23 WO PCT/CN2017/085577 patent/WO2017206768A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070933A1 (en) * | 2011-01-20 | 2016-03-10 | International Business Machines Corporation | Protecting chip settings using secured scan chains |
CN102301381A (zh) * | 2011-07-08 | 2011-12-28 | 华为技术有限公司 | 信息安全处理的方法及装置 |
CN103914658A (zh) * | 2013-01-05 | 2014-07-09 | 展讯通信(上海)有限公司 | 终端设备的安全启动方法及终端设备 |
CN103544413A (zh) * | 2013-10-31 | 2014-01-29 | 宇龙计算机通信科技(深圳)有限公司 | 一种在智能终端中校验软件版权的方法及装置 |
CN104835537A (zh) * | 2015-05-13 | 2015-08-12 | 福州瑞芯微电子有限公司 | Soc芯片自适应启动方法及装置 |
CN105117651A (zh) * | 2015-09-16 | 2015-12-02 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159711A (zh) * | 2019-12-06 | 2020-05-15 | 珠海慧联科技有限公司 | 一种防串货方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017206768A1 (zh) | 2017-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6678833B1 (en) | Protection of boot block data and accurate reporting of boot block contents | |
EP2962241B1 (en) | Continuation of trust for platform boot firmware | |
FI114416B (fi) | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite | |
EP2069992B1 (en) | Protecting interfaces on processor architectures | |
CN109194625B (zh) | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 | |
CN102981881B (zh) | 一种防止移动终端升级到非法固件版本的方法及系统 | |
TWI454935B (zh) | 自非本端儲存器安全地啟動及組態一子系統 | |
US8099789B2 (en) | Apparatus and method for enabling applications on a security processor | |
CN103189877B (zh) | 软件认证 | |
US20220224546A1 (en) | Software integrity protection method and apparatus, and software integrity verification method and apparatus | |
US20200026882A1 (en) | Methods and systems for activating measurement based on a trusted card | |
CN101655814A (zh) | 一种智能电池的认证方法及终端 | |
CN107273150B (zh) | 预加载固件下载写入方法及装置 | |
KR20190012233A (ko) | 코어 os 및 애플리케이션 os를 갖는 통합된 가입자 식별 모듈 | |
CN107451432A (zh) | 一种启动程序检查方法和装置 | |
US20120231763A1 (en) | Method and system for antivirus on a mobile device by sim card | |
US10242175B2 (en) | Method and system for authentication of a storage device | |
RU2408071C2 (ru) | Защищенные загрузка и хранение данных в устройстве обработки данных | |
US10796004B1 (en) | Split boot for computing devices with secure and insecure states | |
JP7472194B2 (ja) | 秘密データの多段階のプロビジョニング | |
CN114070548A (zh) | 一种基于软加密狗装置的软件版权加密保护方法 | |
CN109872136B (zh) | 隔离数字钱包的升级方法、系统、冷钱包、热钱包 | |
EP3506559A1 (en) | Method, first device, second device and system for authenticating a first device to a second device | |
US9058484B2 (en) | Method for checking whether program instructions have been executed by a portable end device | |
KR20120109456A (ko) | 소프트웨어 애플리케이션들의 획득 방법 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20171208 |
|
WW01 | Invention patent application withdrawn after publication |