CN108376212B - 执行代码安全保护方法、装置及电子装置 - Google Patents
执行代码安全保护方法、装置及电子装置 Download PDFInfo
- Publication number
- CN108376212B CN108376212B CN201810284154.6A CN201810284154A CN108376212B CN 108376212 B CN108376212 B CN 108376212B CN 201810284154 A CN201810284154 A CN 201810284154A CN 108376212 B CN108376212 B CN 108376212B
- Authority
- CN
- China
- Prior art keywords
- signature
- execution code
- ciphertext
- plaintext
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005184 irreversible process Methods 0.000 description 1
Images
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
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- 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
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提出一种执行代码安全保护方法、装置及电子装置,涉及代码安全保护领域。该方法包括:获取密文执行代码及密文签名,对所述密文签名进行第一级解密得到明文签名,对所述明文签名进行第二级解密得到第一信息摘要,依据所述明文签名及所述密文执行代码得到第二信息摘要,在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错。通过比较第一信息摘要与第二信息摘要的一致性来确定密文签名与密文执行代码是否有被篡改或被替换,大大提高了执行代码的安全性。
Description
技术领域
本发明涉及代码安全保护领域,具体而言,涉及一种执行代码安全保护方法、装置及电子装置。
背景技术
SOC(System on Chip)芯片是一种系统级芯片,在SOC芯片的运行过程中可解析出许多需保密的信息,例如国家受控码流信息、支付系统客户密码、指纹等,因此安全等级高的系统是SOC芯片信息安全的重要保障。由于系统的执行代码通常存储在外部存储设备,易被外界获取或篡改,因此存在较大的安全风险问题。
目前多数嵌入式系统采用的信息安全保护措施主要采用校验的方式,例如ECC校验、哈希校验、奇偶校验等,方式简单但存在一定局限性导致无法校验到所有可能的错误,比如奇偶校验是通过校验执行代码中“1”或“0”的个数来确定执行代码的正确性,当执行代码中双位同时发生错误,奇偶校验则无法检测到错误;同时,执行代码本身的保密性不够,也增加了代码被拷贝与破译的风险。
发明内容
本发明实施例的目的在于提供一种执行代码安全保护方法、装置及电子装置,以避免嵌入式系统执行代码被窃取或篡改而导致的安全风险,提升执行代码的安全性。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提出一种执行代码安全保护方法,所述方法包括:获取密文执行代码及密文签名;对所述密文签名进行第一级解密得到明文签名;对所述明文签名进行第二级解密得到第一信息摘要;依据所述明文签名及所述密文执行代码得到第二信息摘要;在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错。
第二方面,本发明实施例还提出一种执行代码安全保护方法,所述方法包括:依据获得的初始明文执行代码生成第四信息摘要,对所述第四信息摘要进行第一级加密得到初始明文签名,对所述初始明文签名进行第二级加密得到密文签名,依据所述初始明文签名对所述初始明文执行代码加密得到密文执行代码。
第三方面,本发明实施例还提出一种执行代码安全保护装置,所述装置包括:获取模块,用于获取密文执行代码及密文签名;第一解密模块,用于对所述密文签名进行第一级解密得到明文签名;第二解密模块,用于对所述明文签名进行第二级解密得到第一信息摘要;第三解密模块,用于依据所述明文签名及所述密文执行代码得到第二信息摘要;确定模块,用于在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错。
第四方面,本发明实施例还提出一种电子装置,包括存储有计算机程序的外部存储器及嵌入式SOC芯片,所述计算机程序被所述嵌入式SOC芯片读取并运行时,实现上述各方面所述的方法。
相对现有技术,本发明实施例具有以下有益效果:
在本发明实施例中,通过对初始明文执行代码添加防篡改的签名信息即初始明文签名,并对初始明文签名和初始明文执行代码进行加密后存储在外部存储器,嵌入式SOC芯片在启动后,从外部存储器读取经过加密的密文执行代码和密文签名,通过对密文签名进行第一级解密得到明文签名,对明文签名进行第二级解密得到第一信息摘要,依据明文签名及密文执行代码得到第二信息摘要,比较第一信息摘要与第二信息摘要的一致性,在第一信息摘要与第二信息摘要不一致时,则确定密文执行代码及密文签名二者至少之一出现差错。也即是说,在本申请中,由于当密文执行代码或密文签名中的任一段或多段代码出现了差错时,都会导致得到的第一信息摘要与第二信息摘要不一致,故通过比较第一信息摘要与第二信息摘要是否一致可以确定密文执行代码及密文签名是否出现差错,从而实现了提升执行代码的安全性的技术效果。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的执行代码安全保护方法的流程示意图。
图2示出了本发明实施例所提供的明文签名生成的原理框图。
图3示出了本发明实施例所提供的明文签名加密的原理框图。
图4示出了图1中步骤S104的流程示意图。
图5示出了本发明实施例所提供的明文执行代码加密的原理框图。
图6示出了本发明实施例所提供的电子装置的结构框图。
图7示出了本发明另一实施例所提供的执行代码安全保护方法的流程示意图。
图8示出了图7中步骤S204的流程示意图。
图9示出了本发明实施例所提供的执行代码解密及验签的原理框图。
图10示出了本发明实施例所提供的执行代码安全保护装置的功能模块示意图。
图11示出了本发明另一实施例所提供的执行代码安全保护装置的功能模块示意图。
图标:100-电子装置;400-执行代码安全保护装置;500-执行代码安全保护装置;110-外部存储器;120-嵌入式SOC芯片;410-获取模块;420-第一解密模块;430-第二解密模块;440-第三解密模块;450-确定模块;510-信息摘要生成模块;520-第一加密模块;530-第二加密模块;540-第三加密模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,为本发明实施例所提供的执行代码安全保护方法的流程示意图。该方法可应用于电子设备,例如,个人电脑(Personal Computer,PC),用于实现对执行代码添加签名以及对执行代码及签名进行加密的过程。需要说明的是,本发明实施例所述的执行代码安全保护方法并不以图1以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本发明实施例所述的执行代码安全保护方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图1所示的流程进行详细阐述。
步骤S101,依据获得的初始明文执行代码生成第四信息摘要。
在本实施例中,该初始明文执行代码可由PC端的编译工具编译生成,编译工具通过将编程语言(如汇编语言、C语言等)按照一定规则生成机器能够识别的可执行代码,即本申请中的初始明文执行代码。在获得初始明文执行代码后,根据该初始明文执行代码生成唯一的第四信息摘要。例如,在本实施例中,可对该初始明文执行代码采用哈希算法生成唯一的第四信息摘要,其中该哈希算法具有不可逆、易计算、无冲突的特点,将该初始明文执行代码作为哈希算法唯一的输入,所生成的唯一的第四信息摘要的长度固定(例如,可为32byte)。需要说明的是,在其它实施例中,也可采用与上述哈希算法具有类似特征的其他算法生成第四信息摘要,本申请对此不做任何限定。
步骤S102,对所述第四信息摘要进行第一级加密得到初始明文签名。
在本实施例中,可依据第一加密算法及第一加密密钥对所述第四信息摘要进行第一级加密,具体可参照图2。其中,该第一加密密钥可以是一个或一段数字,本申请对此不做限定;该第一加密算法为不对称加密算法,如国密SM2等,其钥匙可以是随机生成的一组非对称密钥(包括公钥和私钥),若将私钥作为第一加密密钥对第四信息摘要加密从而得到经过第一级加密的初始明文签名,则可用公钥对该初始明文签名进行解密得到第四信息摘要。由于初始明文签名的生成是通过上述的哈希算法与不对称加密算法实现的,从而确保了由初始明文执行代码生成初始明文签名的过程不可逆,即不能由初始明文签名得到初始明文执行代码,安全等级较高。
步骤S103,对所述初始明文签名进行第二级加密得到密文签名。
在本实施例中,可依据第二加密算法及第二加密密钥对所述初始明文签名进行第二级加密,具体可参照图3。其中,该第二加密密钥可以采用上述的公钥,也可以采用其他的密钥,本申请对此不做限定;该第二加密算法为对称加密算法,如AES、TDES或国密SM4等,该第二加密密钥作为初始明文签名加密过程的密钥,与初始明文签名一起作为第二加密算法的输入,从而得到经过第二级加密的密文签名;由于第二加密算法是对称加密算法,故对该密文签名进行解密时,所采用的解密密钥应与该第二加密密钥相同。
步骤S104,依据所述初始明文签名对所述初始明文执行代码加密得到密文执行代码。
如图4所示,该步骤S104具体包括如下子步骤:
子步骤S1041,依据所述初始明文签名生成第五信息摘要。
在本实施例中,可通过对该明文签名哈希得到第五信息摘要,该第五信息摘要可作为初始明文执行代码加密过程的密钥。其中,生成第五信息摘要可以采用上述生成第四信息摘要的哈希算法,也可以采用其他算法,本申请对此不做限定。
子步骤S1042,依据所述第五信息摘要对所述初始明文执行代码加密得到所述密文执行代码。
在本实施例中,可依据第三加密算法及第五信息摘要对初始明文执行代码进行加密,具体可参照图5。其中,该第五信息摘要作为初始明文执行代码加密过程的密钥,与初始明文执行代码一起作为第三加密算法的输入,从而得到加密后的执行代码,即密文执行代码。需要说明的是,在本申请中,该第三加密算法也为对称加密算法,其可以与第二加密算法相同,也可以与第二加密算法不同,本申请对此不做限定。由于第三加密算法是对称加密算法,故对该密文执行代码进行解密时,所采用的解密密钥应与该第五信息摘要相同。
在本实施例中,根据初始明文执行代码还可生成具有固定长度和固定格式的头信息(headers),其中,头信息的格式可以根据实际需求设定,包括执行代码长度等重要信息,当在PC端完成初始明文签名的生成、加密以及初始明文执行代码的加密后,可将生成的密文执行代码、密文签名及对应的头信息进行打包,存储到图6所示的电子装置100的外部存储器110中,例如Flash,该电子装置100还包括嵌入式SOC芯片120,嵌入式SOC芯片120在启动后从该外部存储器110中读取上述打包的信息(即密文执行代码、密文签名及头信息)到运行内存区间。
因此,本申请在将执行代码存储在外部存储器110之前对其先进行签名、加密以及对签名进行加密,对执行代码进行加密可以有效保护执行代码不被轻易获取,给执行代码加签名以及对签名进行加密确保执行代码在被篡改或被替换后将无法通过签名认证,实现了对执行代码进行保密以及防篡改机制的双重保护。
请参照图7,为本发明另一实施例所提供的执行代码安全保护方法的流程示意图。该方法可应用于图6所示的电子装置100。需要说明的是,本发明实施例所述的执行代码安全保护方法并不以图7以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本发明实施例所述的执行代码安全保护方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图7所示的流程进行详细阐述。
步骤S201,获取密文执行代码及密文签名。
在本实施例中,密文执行代码及密文签名可由嵌入式SOC芯片120中的CPU从外部存储器110中读取到运行内存区间的。其中,该密文签名可以通过以下步骤生成:依据获得的初始明文执行代码生成第四信息摘要,对所述第四信息摘要进行第一级加密得到所述初始明文签名,对所述初始明文签名进行第二级加密得到所述密文签名;该密文执行代码可以通过以下步骤生成:依据所述初始明文签名生成第五信息摘要,依据所述第五信息摘要对所述初始明文执行代码加密得到所述密文执行代码。具体内容可以参考上一个实施例中的步骤S102~S104的相应内容。
步骤S202,对所述密文签名进行第一级解密得到明文签名。
在本实施例中,上述的第二级加密为第一级解密对应的逆过程。该步骤S202具体包括:依据第一解密算法及第一解密密钥对所述密文签名解密,得到所述明文签名。其中,该第一解密算法为上一个实施例中第二加密算法的逆过程,该第一解密密钥与上一个实施例中第二加密密钥相同。
可以理解,当获得的密文签名没有被篡改或替换时,该密文签名经第一级解密得到的明文签名应与上述的初始明文签名相同;当获得的密文签名有被篡改或替换时,则经第一级解密得到的明文签名与初始明文签名不相同。
步骤S203,对所述明文签名进行第二级解密得到第一信息摘要。
在本实施例中,上述的第一级加密为第二级解密对应的逆过程。该步骤S203具体包括:依据第二解密算法及第二解密密钥对所述明文签名解密,得到所述第一信息摘要。容易理解的,该第二解密算法为上一个实施例中第一加密算法的逆过程,由于第一加密算法为不对称加密算法,第一加密密钥采用的私钥,则该第二解密密钥可采用该私钥所对应的公钥;该第一信息摘要与上一个实施例中第四信息摘要对应,原则上如果密文签名中的信息没有出现差错,即密文签名没有被篡改或替换,那么该第一信息摘要应与第四信息摘要相同。
步骤S204,依据所述明文签名及所述密文执行代码得到第二信息摘要。
如图8所示,该步骤S204包括如下子步骤:
子步骤S2041,依据所述明文签名对所述密文执行代码解密得到明文执行代码。
其中,该子步骤S2041具体包括:依据所述明文签名生成第三信息摘要,依据所述第三信息摘要对所述密文执行代码解密得到所述明文执行代码。
在本实施例中,该明文签名由密文签名经过第一级解密获得,将该明文签名哈希得到第三信息摘要,依据第三解密算法及第三信息摘要对密文执行代码进行解密,将该第三信息摘要作为密文执行代码的解密密钥,与密文执行代码一起作为第三解密算法的输入,从而得到解密后的执行代码,即明文执行代码。其中,生成第三信息摘要所采用的算法应与上一个实施例中生成第五信息摘要采用的算法相同,该第三解密算法为上一个实施例中第三加密算法的逆过程。
可以理解,当获得的密文签名及密文执行代码没有被篡改或替换时,依据明文签名对密文执行代码解密得到的明文执行代码应与上述的初始明文执行代码相同;当获得的密文签名或密文执行代码有被篡改或替换时,则解密得到的明文执行代码与上述的初始明文执行代码不相同。子步骤S2042,依据所述明文执行代码生成所述第二信息摘要。
与上一个实施例中的步骤S101类似,本实施例中,将解密后的执行代码(即明文执行代码)采用哈希算法生成第二信息摘要,其中,生成第二信息摘要所采用的算法应与步骤S101中生成第四信息摘要的算法相同。因此,在本实施例中,该第二信息摘要也与上一个实施例中第四信息摘要对应,原则上如果密文签名中的信息及密文执行代码中的信息没有出现差错,该第二信息摘要应与第四信息摘要相同。
步骤S205,在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错。
在本实施例中,在密文签名及密文执行代码经过图9所示的处理流程后,可分别获得第一信息摘要与第二信息摘要,由前述对第一信息摘要、第二信息摘要与第四信息摘要的对应关系的分析可知,如果密文执行代码与密文签名都没有被篡改或替换,则第一信息摘要与第二信息摘要应该完全一致;若不一致,则必有密文执行代码或密文签名中的任何一段或多段被篡改或被替换,即密文执行代码及密文签名二者至少之一出现差错,表明执行代码的验签失败,此时可控制嵌入式系统停止运行,达到保障信息安全的目的。
需要说明的是,在本实施例中,所有的解密密钥(包括第一解密密钥、第二解密密钥)均保存在嵌入式SOC芯片120内的一次性存储区间(OTP),该区间只供安全系统固定模块获取,普通端不可见,以确保解密密钥的安全性,实现对解密密钥的安全管理。此外,本实施例中所提到的所有算法(哈希算法、第一解密算法、第二解密算法、第三解密算法等)都需要由嵌入式SOC芯片120安全系统内的硬件模块实现,确保各组密钥不需要缓存至嵌入式SOC芯片120的外部缓存中,进一步保证了执行代码的安全性。
因此,本实施例中,嵌入式SOC芯片120的CPU在运行执行代码前,运用图9所示的原理进行密文执行代码的解密与验签,当执行代码被篡改或被替换时,第一信息摘要与第二信息摘要将会不一致,从而无法通过签名认证,极大提升了执行代码的安全性。
请参照图10,为本发明实施例所提供的执行代码安全保护装置400的功能模块示意图。需要说明的是,本实施例所提供的执行代码安全保护装置400,其基本原理及产生的技术效果与前述方法实施例相同,为简要描述,本实施例中未提及部分,可参考前述方法实施例中的相应内容。该执行代码安全保护装置400应用在上述的电子装置100,包括获取模块410、第一解密模块420、第二解密模块430、第三解密模块440及确定模块450。
可以理解,上述的获取模块410、第一解密模块420、第二解密模块430、第三解密模块440及确定模块450可以为存储于外部存储器110内的软件功能模块及计算机程序,并且可被嵌入式SOC芯片120读取并运行。
该获取模块410用于获取密文执行代码及密文签名。
该第一解密模块420用于对所述密文签名进行第一级解密得到明文签名。
在本实施例中,该第一解密模块420用于依据第一解密算法及第一解密密钥对所述密文签名解密,得到所述明文签名。
该第二解密模块430用于对所述明文签名进行第二级解密得到第一信息摘要。
在本实施例中,该第二解密模块430用于依据第二解密算法及第二解密密钥对所述明文签名解密,得到所述第一信息摘要。
该第三解密模块440用于依据所述明文签名及所述密文执行代码得到第二信息摘要。
在本实施例中,该第三解密模块440可包括第一处理模块和第二处理模块,所述第一处理模块用于依据所述明文签名对所述密文执行代码解密得到明文执行代码,具体地,所述第一处理模块用于依据所述明文签名生成第三信息摘要,依据所述第三信息摘要对所述密文执行代码解密得到所述明文执行代码;所述第二处理模块用于依据所述明文执行代码生成所述第二信息摘要。
该确定模块450用于在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错。
请参照图11,为本发明另一实施例所提供的执行代码安全保护装置500的功能模块示意图。需要说明的是,本实施例所提供的执行代码安全保护装置500,其基本原理及产生的技术效果与前述方法实施例相同,为简要描述,本实施例中未提及部分,可参考前述方法实施例中的相应内容。该执行代码安全保护装置500应用在上述的电子设备,包括信息摘要生成模块510、第一加密模块520、第二加密模块530及第三加密模块540。
该信息摘要生成模块510用于依据获得的初始明文执行代码生成第四信息摘要。
该第一加密模块520用于对所述第四信息摘要进行第一级加密得到初始明文签名。
该第二加密模块530用于对所述初始明文签名进行第二级加密得到密文签名。
该第三加密模块540用于依据所述初始明文签名对所述初始明文执行代码加密得到密文执行代码。
其中,该第三加密模块540具体用于依据所述初始明文签名生成第五信息摘要,依据所述第五信息摘要对所述初始明文执行代码加密得到所述密文执行代码。
综上所述,本发明实施例提供的执行代码安全保护方法、装置及电子装置,通过对初始明文执行代码添加防篡改的签名信息即初始明文签名,并对初始明文签名和初始明文执行代码进行加密后存储在外部存储器,嵌入式SOC芯片在启动后,从外部存储器读取经过加密的密文执行代码和密文签名,通过对密文签名进行第一级解密得到明文签名,对明文签名进行第二级解密得到第一信息摘要,依据明文签名及密文执行代码得到第二信息摘要,比较第一信息摘要与第二信息摘要的一致性,由于当密文执行代码或密文签名中的任一段或多段代码出现了差错时,都会导致得到的第一信息摘要与第二信息摘要不一致,故在第一信息摘要与第二信息摘要不一致时,可确定密文执行代码及密文签名二者至少之一出现差错,此时可控制嵌入式系统停止运行达到保障信息安全的目的。也即是说,本申请通过对执行代码签名、加密以及对签名加密,提高了加密安全等级,防止密文被轻易破解,同时通过在执行代码中加入不可逆且唯一的签名机制,使得执行代码即便被篡改、被替换或被破坏将无法通过签名认证,实现了对执行代码进行保密以及防篡改机制的双重保护,大大提高了执行代码的安全性。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (9)
1.一种执行代码安全保护方法,其特征在于,所述方法包括:
获取密文执行代码及密文签名;
对所述密文签名进行第一级解密得到明文签名;
对所述明文签名进行第二级解密得到第一信息摘要;
依据所述明文签名及所述密文执行代码得到第二信息摘要;
在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错;
所述依据所述明文签名及所述密文执行代码得到第二信息摘要的步骤包括:
依据所述明文签名对所述密文执行代码解密得到明文执行代码;
依据所述明文执行代码生成所述第二信息摘要。
2.如权利要求1所述的执行代码安全保护方法,其特征在于,所述依据所述明文签名对所述密文执行代码解密得到明文执行代码的步骤包括:
依据所述明文签名生成第三信息摘要;
依据所述第三信息摘要对所述密文执行代码解密得到所述明文执行代码。
3.如权利要求1所述的执行代码安全保护方法,其特征在于,所述对所述密文签名进行第一级解密得到明文签名的步骤包括:
依据第一解密算法及第一解密密钥对所述密文签名解密,得到所述明文签名。
4.如权利要求1所述的执行代码安全保护方法,其特征在于,所述对所述明文签名进行第二级解密得到第一信息摘要的步骤包括:
依据第二解密算法及第二解密密钥对所述明文签名解密,得到所述第一信息摘要。
5.如权利要求1所述的执行代码安全保护方法,其特征在于,所述密文签名通过以下步骤生成:
依据获得的初始明文执行代码生成第四信息摘要;
对所述第四信息摘要进行第一级加密得到初始明文签名,所述第一级加密为所述第二级解密对应的逆过程;
对所述初始明文签名进行第二级加密得到所述密文签名,所述第二级加密为所述第一级解密对应的逆过程;
所述密文执行代码通过以下步骤生成:
依据所述初始明文签名生成第五信息摘要;
依据所述第五信息摘要对所述初始明文执行代码加密得到所述密文执行代码。
6.一种执行代码安全保护方法,其特征在于,所述方法包括:
依据获得的初始明文执行代码生成第四信息摘要;
对所述第四信息摘要进行第一级加密得到初始明文签名;
对所述初始明文签名进行第二级加密得到密文签名;
依据所述初始明文签名对所述初始明文执行代码加密得到密文执行代码。
7.如权利要求6所述的执行代码安全保护方法,其特征在于,所述依据所述初始明文签名对所述初始明文执行代码加密得到密文执行代码的步骤包括:
依据所述初始明文签名生成第五信息摘要;
依据所述第五信息摘要对所述初始明文执行代码加密得到所述密文执行代码。
8.一种执行代码安全保护装置,其特征在于,所述装置包括:
获取模块,用于获取密文执行代码及密文签名;
第一解密模块,用于对所述密文签名进行第一级解密得到明文签名;
第二解密模块,用于对所述明文签名进行第二级解密得到第一信息摘要;
第三解密模块,用于依据所述明文签名及所述密文执行代码得到第二信息摘要;所述第三解密模块包括第一处理模块和第二处理模块,所述第一处理模块用于依据所述明文签名对所述密文执行代码解密得到明文执行代码,所述第二处理模块用于依据所述明文执行代码生成所述第二信息摘要;
确定模块,用于在所述第一信息摘要与所述第二信息摘要不一致时,确定所述密文执行代码及所述密文签名二者至少之一出现差错。
9.一种电子装置,其特征在于,包括存储有计算机程序的外部存储器及嵌入式SOC芯片,所述计算机程序被所述嵌入式SOC芯片读取并运行时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810284154.6A CN108376212B (zh) | 2018-04-02 | 2018-04-02 | 执行代码安全保护方法、装置及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810284154.6A CN108376212B (zh) | 2018-04-02 | 2018-04-02 | 执行代码安全保护方法、装置及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108376212A CN108376212A (zh) | 2018-08-07 |
CN108376212B true CN108376212B (zh) | 2021-01-01 |
Family
ID=63031763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810284154.6A Active CN108376212B (zh) | 2018-04-02 | 2018-04-02 | 执行代码安全保护方法、装置及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108376212B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613030A (zh) * | 2020-12-15 | 2021-04-06 | 深圳市燃气集团股份有限公司 | 一种基于物联网燃气表的可信安全启动方法及系统 |
CN113268717A (zh) * | 2021-04-08 | 2021-08-17 | 东信和平科技股份有限公司 | 基于se的代码程序保护方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959382B1 (en) * | 1999-08-16 | 2005-10-25 | Accela, Inc. | Digital signature service |
CN105429753A (zh) * | 2015-12-30 | 2016-03-23 | 宇龙计算机通信科技(深圳)有限公司 | 提高VoLTE通信安全性的语音数据方法、系统及移动终端 |
CN105554031B (zh) * | 2016-01-29 | 2019-01-15 | 宇龙计算机通信科技(深圳)有限公司 | 加密方法、加密装置、解密方法、解密装置和终端 |
CN105740699B (zh) * | 2016-03-04 | 2018-12-07 | 浙江大华技术股份有限公司 | 一种可执行程序的保护方法及装置 |
CN106022035A (zh) * | 2016-05-03 | 2016-10-12 | 识益生物科技(北京)有限公司 | 一种电子签章方法及系统 |
-
2018
- 2018-04-02 CN CN201810284154.6A patent/CN108376212B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108376212A (zh) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9977918B2 (en) | Method and system for verifiable searchable symmetric encryption | |
US9537657B1 (en) | Multipart authenticated encryption | |
EP2965254B1 (en) | Systems and methods for maintaining integrity and secrecy in untrusted computing platforms | |
US11797296B2 (en) | Hot updating method of script file package and hot updating device of script file package | |
US10904231B2 (en) | Encryption using multi-level encryption key derivation | |
US20080172562A1 (en) | Encryption and authentication of data and for decryption and verification of authenticity of data | |
US7499552B2 (en) | Cipher method and system for verifying a decryption of an encrypted user data key | |
CN112469036B (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CN101369889A (zh) | 一种对文档进行电子签名的系统和方法 | |
TW202121866A (zh) | 資料的加解密方法、裝置、系統及存儲介質 | |
CN112907375A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108376212B (zh) | 执行代码安全保护方法、装置及电子装置 | |
US8499357B1 (en) | Signing a library file to verify a callback function | |
US8862893B2 (en) | Techniques for performing symmetric cryptography | |
CN115550060B (zh) | 基于区块链的可信证书验证方法、装置、设备和介质 | |
CN116132041A (zh) | 密钥处理方法、装置、存储介质及电子设备 | |
JP2024528585A (ja) | 暗号的に検証された命令に基づくソフトウェアのセキュアな実行 | |
CN101043334B (zh) | 加密和认证数据以及解密和验证数据真实性的方法和装置 | |
CN116418511A (zh) | 一种基于国密算法的qkd设备的固件完整性校验方法及系统 | |
CN114928551B (zh) | 一种系统配置方法、装置和存储介质 | |
CN114697119B (zh) | 数据检验方法、装置、计算机可读存储介质及电子设备 | |
CN114095175B (zh) | 一种可灰度校验的数据保密方法、装置及存储介质 | |
CN116738507B (zh) | 一种芯片鉴权方法 | |
CN116647413B (zh) | 应用登录方法、装置、计算机设备和存储介质 | |
WO2023212838A1 (en) | Fast signature generation and verification |
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 |