CN111901095A - 一种基于硬件加密的安全启动方法及系统 - Google Patents

一种基于硬件加密的安全启动方法及系统 Download PDF

Info

Publication number
CN111901095A
CN111901095A CN202010718031.6A CN202010718031A CN111901095A CN 111901095 A CN111901095 A CN 111901095A CN 202010718031 A CN202010718031 A CN 202010718031A CN 111901095 A CN111901095 A CN 111901095A
Authority
CN
China
Prior art keywords
boot
img
digital signature
encrypted
card
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
Application number
CN202010718031.6A
Other languages
English (en)
Other versions
CN111901095B (zh
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.)
Shanghai Smart Peak Technology Co ltd
Original Assignee
Shanghai Smart Peak 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 Smart Peak Technology Co ltd filed Critical Shanghai Smart Peak Technology Co ltd
Priority to CN202010718031.6A priority Critical patent/CN111901095B/zh
Publication of CN111901095A publication Critical patent/CN111901095A/zh
Application granted granted Critical
Publication of CN111901095B publication Critical patent/CN111901095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • 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

Abstract

本发明涉及智能设备安全启动的技术领域,提供了一种基于硬件加密的安全启动方法及系统,方法包括:S1:读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;S2:将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。在通过Bootloader启动kernel时,使用硬件加密T卡对boot.img镜像进行完整性的校验,确保智能设备能够安全的启动。

Description

一种基于硬件加密的安全启动方法及系统
技术领域
本发明涉及智能设备安全启动的技术领域,尤其涉及一种基于硬件加密的安全启动方法及系统。
背景技术
近年来,随着集成电路技术的快速发展,智能手机,平板电脑等移动智能终端已经拥有极为强大的处理能力,其存储能力、计算能力、运行速度都得到了大幅度提升。伴随着移动智能终端从功能机向智能机的转变,移动终端操作系统应运而生。智能终端操作系统不再以提供通话管理为主要目的,而是提供一个包括通话管理、游戏娱乐、办公记事等各类应用软件在内的运行环境,智能化程度日益向桌面PC操作系统不断靠近。移动智能终端操作系统的快速发展使得各类互联网应用也随之向移动智能终端迁移,移动互联网应用层出不穷,日益繁荣。
移动智能终端的普及和移动互联网应用的繁荣使得越来越多的用户借助移动智能终端处理各类安全敏感业务。因此,移动终端越来越多的涉及商业秘密和个人隐私等敏感信息,从而导致移动终端面临着各种安全威胁,如盗取账户信息、监听通话等。
当启动智能设备的系统时,很容易受到黑客的攻击,如何保证系统启动时的安全性,保证智能设备的安全,变得尤其重要。
发明内容
针对上述问题,本发明的目的在于提供一种基于硬件加密的安全启动方法及系统,在通过Bootloader启动kernel时,使用硬件加密T卡对boot.img镜像进行完整性的校验,确保智能设备能够安全的启动。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种基于硬件加密的安全启动方法,其特征在于,包括:
通过Bootloader启动kernel时,从智能设备对应的存储器里读取boot.img镜像,加载到内存后开始运行内核,其中,在Bootloader启动kernel时,还包括:对镜像完整性进行校验,以保证所述boot.img镜像不被纂改,具体为:
S1:读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;
S2:将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。
进一步地,在步骤S1之前,还包括:
检测所述加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,进入步骤S1。
进一步地,在对镜像完整性进行校验之前,还包括:
使用所述加密T卡中的真随机数功能生成192bits的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥。
进一步地,在步骤S1中,对32字节的数字签名BOOT_IMG_SM3进行加密得到加密后的数字签名BOOT_IMG_SM3_SEC,具体为:
使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。
进一步地,在步骤S2中,在将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较之前,还包括:
检测所述加密T卡里面是否设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE;
若设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则执行步骤S2;
若所述加密T卡中未设置所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将步骤S1中计算得到的加密后的数字签名BOOT_IMG_SM3_SEC,存储于所述加密T卡中,保存为BOOT_IMG_SM3_SEC_STORE。
一种基于硬件加密的安全启动系统,包括:
镜像数字签名计算模块,用于在对镜像完整性进行校验时,读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;
镜像数字签名比较模块,用于将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。
加密T卡检测模块,用于在生成镜像数字签名之前,检测所述加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,进入生成镜像数字签名的步骤。
进一步地,在所述镜像数字签名计算模块中,还包括:
数字签名加密单元,用于使用所述加密T卡中的真随机数功能生成192bits的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥;使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。
进一步地,所述镜像数字签名比较模块,还包括:
数字签名检测单元,用于检测所述加密T卡里面是否设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE;若设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则执行所述镜像数字签名比较模块中比较的步骤;若所述加密T卡中未设置所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将所述镜像数字签名计算模块中计算得到的加密后的数字签名BOOT_IMG_SM3_SEC,存储于所述加密T卡中,保存为BOOT_IMG_SM3_SEC_STORE。
与现有技术相比,本发明包括以下至少一种有益效果是:
(1)通过一种基于硬件加密的安全启动方法,在Bootloader启动kernel时,加入了对镜像完整性进行校验的过程,具体包括步骤:S1:读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;S2:将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。上述技术方案,通过对boot.img镜像生成数字签名,并与加密T卡中保存的密数据签名进行比较的方式,确保了启动时boot.img镜像是没有被纂改过的,保证了系统启动时的安全性。
(2)通过检测所述加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,才进入后续流程。上述技术方案,在比较之前,检测加密T卡是否存在,进一步确保了系统启动的安全性,若硬件不存在,则系统永远不可能启动。
(3)通过使用所述加密T卡中的真随机数功能生成192bits的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥,进一步地,使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。上述技术方案对数字签名进一步地进行加密,使得数字签名不容易被黑客攻击,保证了数字签名的安全性。
附图说明
图1为本发明一种基于硬件加密的安全启动方法的整体流程图;
图2为本发明一种基于硬件加密的安全启动方法的具体流程图;
图3为本发明计算生成整个镜像的32字节的数字签名BOOT_IMG_SM3的示意图;
图4为本发明生成3DES密钥的示意图;
图5为本发明通过3DES加密算法对32位的数字签名进行加密的示意图;
图6为本发明密数字签名BOOT_IMG_SM3_SEC与加密T卡里的密数字签名BOOT_IMG_SM3_SEC_STORE做比较的示意图;
图7为本发明一种基于硬件加密的安全启动系统的整体结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
随着智能设备的普及,智能设备系统安全变得越来越重要。本方案在基于硬件加密T卡对Android系统的启动过程进行了改造,使其具备更高的安全性。
为了实现本发明的安全启动功能,我们需要选用支持如下功能的加密T卡:
支持对称加密算法,比如SM1、SM4、DES、3DES等;
支持摘要算法,比如SM3、SHA1等;
支持安全密钥、证书、用户自定义敏感信息的存储。
本方案中对称加密算法使用3DES。
第一实施例
如图1和图2所示,本实施例提供了一种基于硬件加密的安全启动方法,包括:
智能设备中Android系统的启动流程为:
bootloader->kernel(boot.img)->android
bootloader为在嵌入式操作系统中,在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
Kernel为实时操作系统,指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。
Bootloader启动kernel时,会从存储器,比如说EMMC或Flash,里面读取boot.img镜像,加载到内存后开始运行内核。其中,boot.img镜像是Android系统启动所必须加载的文件,简单的说boot.img包含两部分,分别为kernel和ramdisk。
本发明在通过Bootloader启动kernel时,加入了对镜像完整性校验的流程,确保了智能设备启动的安全性,以下对本发明镜像完整性校验的流程进行详细的说明:
通过Bootloader启动kernel时,从智能设备对应的存储器里读取boot.img镜像,加载到内存后开始运行内核,其中,在Bootloader启动kernel时,还包括:对镜像完整性进行校验,以保证所述boot.img镜像不被纂改,具体为:
S1:读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。
具体地,在计算出整个boot.img镜像的32字节的数字签名BOOT_IMG_SM3之前,首先需要检测加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,进入步骤计算数字签名的流程。
如图3所示,当加密T卡存在时,则读取boot.img整个镜像,并通过加密T卡SM3算法计算出整个镜像的32字节的数字签名BOOT_IMG_SM3。
为了进一步确保数字签名的安全性,需要对数字签名BOOT_IMG_SM3进行加密。如图4所示,先使用所述加密T卡中的真随机数功能生成192bits(24Bytes)的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥。如图5所示,再使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。
S2:如图6所示,将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。
具体地,检测所述加密T卡里面是否设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,若设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较。
若所述加密T卡中未设置所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将步骤S1中计算得到的加密后的数字签名BOOT_IMG_SM3_SEC,存储于所述加密T卡中,保存为BOOT_IMG_SM3_SEC_STORE,用于下一次的检测。
本实施例通过对boot.img镜像生成数字签名,并与加密T卡中保存的密数据签名进行比较的方式,确保了启动时boot.img镜像是没有被纂改过的,保证了系统启动时的安全性。
需要说明的是,本实施例中的举例,以及本实施例所引用的附图中的所有的加密计算的数据都是对本发明过程的一种举例,只是用于解释本发明,不用于限定本发明。
第二实施例
如图7所示,本实施例提供了一种基于硬件加密的安全启动系统,包括:
镜像数字签名计算模块1,用于在对镜像完整性进行校验时,读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;
镜像数字签名比较模块2,用于将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。
加密T卡检测模块3,用于在生成镜像数字签名之前,检测所述加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,进入生成镜像数字签名的步骤。
进一步地,在所述镜像数字签名计算模块1中,还包括:
数字签名加密单元,用于使用所述加密T卡中的真随机数功能生成192bits的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥;使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。
在所述镜像数字签名比较模块2中,还包括:
数字签名检测单元,用于检测所述加密T卡里面是否设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE;若设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则执行所述镜像数字签名比较模块中比较的步骤;若所述加密T卡中未设置所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将所述镜像数字签名计算模块中计算得到的加密后的数字签名BOOT_IMG_SM3_SEC,存储于所述加密T卡中,保存为BOOT_IMG_SM3_SEC_STORE。
一种计算机可读存储介质,计算机可读存储介质存储有计算机代码,当计算机代码被执行时,如上述方法被执行。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个功能或步骤的电路。如本说明书实施例所示实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子系统执行时,使得所述电子系统执行实施例一所述的方法。在此不再赘述。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

Claims (10)

1.一种基于硬件加密的安全启动方法,其特征在于,包括:
通过Bootloader启动kernel时,从智能设备对应的存储器里读取boot.img镜像,加载到内存后开始运行内核,其中,在Bootloader启动kernel时,还包括:对镜像完整性进行校验,以保证所述boot.img镜像不被纂改,具体为:
S1:读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;
S2:将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。
2.根据权利要求1所述的基于硬件加密的安全启动方法,其特征在于,在步骤S1之前,还包括:
检测所述加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,进入步骤S1。
3.根据权利要求1所述的基于硬件加密的安全启动方法,其特征在于,在对镜像完整性进行校验之前,还包括:
使用所述加密T卡中的真随机数功能生成192bits的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥。
4.根据权利要求3所述的基于硬件加密的安全启动方法,其特征在于,在步骤S1中,对32字节的数字签名BOOT_IMG_SM3进行加密得到加密后的数字签名BOOT_IMG_SM3_SEC,具体为:
使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_I MG_SM3_SEC。
5.根据权利要求1所述的基于硬件加密的安全启动方法,其特征在于,在步骤S2中,在将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较之前,还包括:
检测所述加密T卡里面是否设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE;
若设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则执行步骤S2;
若所述加密T卡中未设置所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将步骤S1中计算得到的加密后的数字签名BOOT_IMG_SM3_SEC,存储于所述加密T卡中,保存为BOOT_IMG_SM3_SEC_STORE。
6.一种基于硬件加密的安全启动系统,其特征在于,包括:
镜像数字签名计算模块,用于在对镜像完整性进行校验时,读取所述boot.img镜像,通过加密T卡中的SM3算法计算出整个所述boot.img镜像的32字节的数字签名BOOT_IMG_SM3,并对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC;
镜像数字签名比较模块,用于将加密后的数字签名BOOT_IMG_SM3_SEC与所述加密T卡中设置的所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE进行比较,若密数字签名不一致,提示用户所述boot.img镜像已被篡改,并关闭系统,若密数字签名一致,则启动所述boot.img镜像。
7.根据权利要求6所述的基于硬件加密的安全启动系统,其特征在于,还包括:
加密T卡检测模块,用于在生成镜像数字签名之前,检测所述加密T卡是否存在,若所述加密T卡不存在,关闭系统,停止启动流程,若所述加密T卡存在,进入生成镜像数字签名的步骤。
8.根据权利要求6所述的基于硬件加密的安全启动系统,其特征在于,在所述镜像数字签名计算模块中,还包括:
数字签名加密单元,用于使用所述加密T卡中的真随机数功能生成192bits的随机数3DES_BOOT_KEY,并存储在所述加密T卡中,作为3DES密钥;使用所述加密T卡的3DES算法,以及所述3DES密钥3DES_BOOT_KEY对32字节的数字签名BOOT_IMG_SM3进行加密,得到加密后的数字签名BOOT_IMG_SM3_SEC。
9.根据权利要求6所述的基于硬件加密的安全启动系统,其特征在于,所述镜像数字签名比较模块,还包括:
数字签名检测单元,用于检测所述加密T卡里面是否设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE;若设置了所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则执行所述镜像数字签名比较模块中比较的步骤;若所述加密T卡中未设置所述boot.img镜像的密数字签名BOOT_IMG_SM3_SEC_STORE,则将所述镜像数字签名计算模块中计算得到的加密后的数字签名BOOT_IMG_SM3_SEC,存储于所述加密T卡中,保存为BOOT_IMG_SM3_SEC_STORE。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至5中任一项所述的方法被执行。
CN202010718031.6A 2020-07-23 2020-07-23 一种基于硬件加密的安全启动方法及系统 Active CN111901095B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010718031.6A CN111901095B (zh) 2020-07-23 2020-07-23 一种基于硬件加密的安全启动方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010718031.6A CN111901095B (zh) 2020-07-23 2020-07-23 一种基于硬件加密的安全启动方法及系统

Publications (2)

Publication Number Publication Date
CN111901095A true CN111901095A (zh) 2020-11-06
CN111901095B CN111901095B (zh) 2021-04-30

Family

ID=73190783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010718031.6A Active CN111901095B (zh) 2020-07-23 2020-07-23 一种基于硬件加密的安全启动方法及系统

Country Status (1)

Country Link
CN (1) CN111901095B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901529A (zh) * 2021-10-09 2022-01-07 上海盛本智能科技股份有限公司 一种基于加密硬件的设备安全管理方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830996B (zh) * 2012-08-08 2016-01-20 广东欧珀移动通信有限公司 一种手持设备的快速开机方法
CN106575215A (zh) * 2014-09-04 2017-04-19 英特尔公司 Sm3哈希算法加速处理器、方法、系统和指令
US20170123925A1 (en) * 2015-10-30 2017-05-04 Google Inc. Methods and Apparatus for Mobile Computing Device Security in Testing Facilities
CN107403098A (zh) * 2017-06-13 2017-11-28 北京溢思得瑞智能科技研究院有限公司 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机
US20170346851A1 (en) * 2016-05-30 2017-11-30 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements.
CN104750492B (zh) * 2015-03-31 2018-01-19 广东欧珀移动通信有限公司 基于嵌入式操作系统的移动设备的开机控制方法及装置
CN108255505A (zh) * 2018-01-10 2018-07-06 浪潮(北京)电子信息产业有限公司 一种固件更新方法、装置、设备及计算机可读存储介质
CN108647499A (zh) * 2018-05-16 2018-10-12 广州视源电子科技股份有限公司 一种防拷贝校验码生成的方法、装置、设备和存储介质
CN110909366A (zh) * 2018-09-18 2020-03-24 珠海格力电器股份有限公司 一种基于软件端加密的防刷机方法及系统
WO2020119316A1 (zh) * 2018-12-11 2020-06-18 中兴通讯股份有限公司 终端系统构架、通信系统及通信方法、存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830996B (zh) * 2012-08-08 2016-01-20 广东欧珀移动通信有限公司 一种手持设备的快速开机方法
CN106575215A (zh) * 2014-09-04 2017-04-19 英特尔公司 Sm3哈希算法加速处理器、方法、系统和指令
CN104750492B (zh) * 2015-03-31 2018-01-19 广东欧珀移动通信有限公司 基于嵌入式操作系统的移动设备的开机控制方法及装置
US20170123925A1 (en) * 2015-10-30 2017-05-04 Google Inc. Methods and Apparatus for Mobile Computing Device Security in Testing Facilities
US20170346851A1 (en) * 2016-05-30 2017-11-30 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements.
US10574692B2 (en) * 2016-05-30 2020-02-25 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements
CN107403098A (zh) * 2017-06-13 2017-11-28 北京溢思得瑞智能科技研究院有限公司 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机
CN108255505A (zh) * 2018-01-10 2018-07-06 浪潮(北京)电子信息产业有限公司 一种固件更新方法、装置、设备及计算机可读存储介质
CN108647499A (zh) * 2018-05-16 2018-10-12 广州视源电子科技股份有限公司 一种防拷贝校验码生成的方法、装置、设备和存储介质
CN110909366A (zh) * 2018-09-18 2020-03-24 珠海格力电器股份有限公司 一种基于软件端加密的防刷机方法及系统
WO2020119316A1 (zh) * 2018-12-11 2020-06-18 中兴通讯股份有限公司 终端系统构架、通信系统及通信方法、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
念杰: "基于Linux机顶盒应用安全的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901529A (zh) * 2021-10-09 2022-01-07 上海盛本智能科技股份有限公司 一种基于加密硬件的设备安全管理方法
CN113901529B (zh) * 2021-10-09 2023-03-24 上海盛本智能科技股份有限公司 一种基于加密硬件的设备安全管理方法

Also Published As

Publication number Publication date
CN111901095B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
US9652610B1 (en) Hierarchical data security measures for a mobile device
US10846696B2 (en) Apparatus and method for trusted execution environment based secure payment transactions
US9054865B2 (en) Cryptographic system and methodology for securing software cryptography
US20220006617A1 (en) Method and apparatus for data storage and verification
US10078599B2 (en) Application access control method and electronic apparatus implementing the same
KR102324336B1 (ko) 사용자 장치 및 그것에 대한 무결성 검증 방법
US10878096B2 (en) BIOS startup method and data processing method
TWI793215B (zh) 資料加密、解密方法及裝置
CN108335105B (zh) 数据处理方法及相关设备
US8738924B2 (en) Electronic system and digital right management methods thereof
US20220129544A1 (en) Apparatus and Method for Disk Attestation
CN110445768B (zh) 一种登录方法、装置及电子设备
CN111901095B (zh) 一种基于硬件加密的安全启动方法及系统
CN111857756A (zh) 一种基于硬件加密的安全刷机方法及系统
EP3879783B1 (en) Data security processing method and terminal thereof
CN111600882A (zh) 一种基于区块链的账户密码管理方法、装置及电子设备
CN111046440B (zh) 一种安全区域内容的篡改验证方法及系统
CN110543769B (zh) 一种基于加密tf卡的可信启动方法
CN114499828B (zh) 通信方法、物联网终端、网关设备及物联网系统
CN110245518B (zh) 一种数据存储方法、装置及设备
CN115859308A (zh) 一种数据处理方法、装置及设备
CN117610083A (zh) 文件校验方法、装置、电子设备及计算机存储介质
CN116166277A (zh) 一种应用程序的管理装置和嵌入式设备
CN117313104A (zh) 一种系统安全防护的方法、装置及存储介质
WO2022213129A1 (en) Read-only memory (rom) security

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A security boot method and system based on hardware encryption

Effective date of registration: 20220907

Granted publication date: 20210430

Pledgee: Agricultural Bank of China Co.,Ltd. Shanghai Xuhui Sub branch

Pledgor: SHANGHAI SMART PEAK TECHNOLOGY CO.,LTD.

Registration number: Y2022310000234

PE01 Entry into force of the registration of the contract for pledge of patent right