CN114880048B - 一种安全启动方法及装置、电子设备和存储介质 - Google Patents
一种安全启动方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114880048B CN114880048B CN202210797155.7A CN202210797155A CN114880048B CN 114880048 B CN114880048 B CN 114880048B CN 202210797155 A CN202210797155 A CN 202210797155A CN 114880048 B CN114880048 B CN 114880048B
- Authority
- CN
- China
- Prior art keywords
- program
- algorithm
- public key
- primary
- trusted
- 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 91
- 238000012795 verification Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 35
- 238000005192 partition Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
-
- 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/3226—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 using a predetermined code, e.g. password, passphrase or PIN
-
- 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/3236—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 using cryptographic hash functions
-
- 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
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种安全启动方法及装置、电子设备和存储介质,方法包括:启动一级程序后,加载一级程序的可信链中的一级安全凭证,一级程序的可信链中的一级安全凭证中包括第一算法描述,第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名;获取用于安全启动二级程序的第一可信根密钥;基于第一可信根密钥、第一密码算法、第一签名以及第一哈希算法,对第一公钥进行验证;在第一公钥验证成功的情况下,基于第一公钥以及一级程序的可信链中的最后一级安全凭证中的签名,对二级程序的镜像文件进行验证;在二级程序的镜像文件验证成功的情况下,启动二级程序。本公开实施例可在安全启动过程中进行安全性高且灵活性高的验证。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种安全启动方法及装置、电子设备和存储介质。
背景技术
为了保证电子设备在启动过程中的安全性,通常采用安全启动技术进行启动。安全启动技术是通过密码学的方法保护电子设备启动中软件完整性的有效措施。当前电子设备通用安全启动方案为:上电,执行一级程序加载验证二级程序并执行,二级程序加载验证三级程序并执行。其中,一级程序、二级程序和三级程序可以分别为无盘启动只读存储器接口(Boot Read Only Memory,BootROM)、引导加载程序(BootLoader)和内核(Kernel)或者实时操作系统(Real Time Operating System,BTOS)。
在上述安全启动过程中,进行程序验证时可以采用简单循环容易校验(CyclicRedundancy Check,CRC)、对称加密算法、哈希摘要算法和非对称加密算法相结合、基于根密钥(Root Of Key,ROK)和X509构建可信链等。其中,CRC算法和对称算法存在安全性差的问题;哈希摘要算法和非对称加密算法相结合以及基于根密钥(Root Of Key,ROK)和X509构建可信链存在算法搭配固定、灵活性差的问题。因此,在安全启动过程中进行安全性高且灵活性高的验证成为当前亟待解决的问题。
发明内容
本公开提出了一种安全启动方法及装置、电子设备和存储介质,能够在安全启动过程中进行安全性高且灵活性高的验证。
根据本公开的一方面,提供了一种安全启动方法,包括:
启动一级程序后,加载所述一级程序的可信链中的一级安全凭证,所述一级程序的可信链中包括多个级别的安全凭证,所述一级程序的可信链中的一级安全凭证中包括第一算法描述,所述第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名;
获取用于安全启动二级程序的第一可信根密钥;
基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证;
在所述第一公钥验证成功的情况下,基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证;
在所述二级程序的镜像文件验证成功的情况下,启动所述二级程序。
在一种可能的实现方式中,所述获取用于安全启动二级程序的第一可信根密钥包括:
基于第一对应关系,从一次性编程的存储器件中获取与所述第一密码算法以及所述第一哈希算法对应的所述第一可信根密钥,所述第一对应关系用于指示密码算法、哈希算法与可信根密钥之间的对应关系。
在一种可能的实现方式中,所述基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证,包括:
采用所述第一可信根密钥和所述第一密码算法对所述第一签名进行解密处理,得到第一哈希值;
采用所述第一哈希算法对所述第一公钥进行哈希处理,得到第二哈希值;
在所述第一哈希值与所述第二哈希值相同的情况下,确定所述第一公钥验证成功。
在一种可能的实现方式中,所述一级程序的可信链中包括N个级别的安全凭证,其中,N为大于1的整数,所述基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证,包括:
在基于所述第一公钥对所述一级程序的可信链中的N-1级安全凭证中的公钥验证成功的情况下,加载所述一级程序的可信链中的N级安全凭证,所述一级程序的可信链中的N级安全凭证中包括中间算法描述,所述中间算法描述用于指示中间密码算法、中间哈希算法和中间签名和分区信息,所述分区信息用于指示所述二级程序的镜像文件的存储地址;
根据所述分区信息,加载所述二级程序的镜像文件;
采用所述一级程序的可信链中的N-1级安全凭证中的公钥和所述中间密码算法对所述中间签名进行解密处理,得到第三哈希值;
采用所述中间哈希算法对所述二级程序的镜像文件进行哈希处理,得到第四哈希值;
在所述第三哈希值与所述第四哈希值相同的情况下,确定所述二级程序的镜像文件验证成功。
在一种可能的实现方式中,所述方法还包括:
启动所述二级程序后,加载所述二级程序的可信链中的一级安全凭证,所述二级程序的可信链中包括多个级别的安全凭证,所述二级程序的可信链中的一级安全凭证中包括第二算法描述,所述第二算法描述用于指示第二密码算法、第二哈希算法、第二公钥和第二签名;
获取用于安全启动三级程序的第二可信根密钥;
基于所述第二可信根密钥、所述第二密码算法、所述第二签名以及所述第二哈希算法,对所述第二公钥进行验证;
在所述第二公钥验证成功的情况下,基于所述第二公钥以及所述二级程序的可信链中的最后一级安全凭证中的签名,对所述三级程序的镜像文件进行验证;
在所述三级程序的镜像文件验证成功的情况下,启动所述三级程序。
在一种可能的实现方式中,所述获取用于安全启动三级程序的第二可信根密钥,包括:
将所述第一可信根密钥和所述二级程序启动过程中验证成功的公钥中的任意一者确定为所述第二可信根密钥。
在一种可能的实现方式中,在运行所述一级程序、所述二级程序和所述三级程序的电子设备启动时,所述一级程序、所述二级程序和所述三级程序依次启动。
在一种可能的实现方式中,所述一级程序包括无盘启动只读存储器接口BootROM,所述二级程序包括引导加载程序BootLoader,所述三级程序包括显卡输入输出系统VBIOS和实时操作系统RTOS。
在一种可能的实现方式中,所述一级程序的可信链中的一级安全凭证中还包括第一数字证书,所述第一数字证书中包括第一签名算法、所述第一公钥和所述第一签名,所述方法还包括:
基于所述第一签名算法和所述第一签名对所述第一公钥进行验证。
根据本公开的一方面,提供了一种安全启动装置,包括:
第一加载模块,用于启动一级程序后,加载所述一级程序的可信链中的一级安全凭证,所述一级程序的可信链中包括多个级别的安全凭证,所述一级程序的可信链中的一级安全凭证中包括第一算法描述,所述第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名;
第一获取模块,用于获取用于安全启动二级程序的第一可信根密钥;
第一验证模块,用于基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证;
第二验证模块,用于在所述第一公钥验证成功的情况下,基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证;
第一启动模块,用于在所述二级程序的镜像文件验证成功的情况下,启动所述二级程序。
在一种可能的实现方式中,所述第一获取模块还用于:
基于第一对应关系,从一次性编程的存储器件中获取与所述第一密码算法以及所述第一哈希算法对应的所述第一可信根密钥,所述第一对应关系用于指示密码算法、哈希算法与可信根密钥之间的对应关系。
在一种可能的实现方式中,所述第一验证模块还用于:
采用所述第一可信根密钥和所述第一密码算法对所述第一签名进行解密处理,得到第一哈希值;
采用所述第一哈希算法对所述第一公钥进行哈希处理,得到第二哈希值;
在所述第一哈希值与所述第二哈希值相同的情况下,确定所述第一公钥验证成功。
在一种可能的实现方式中,所述一级程序的可信链中包括N个级别的安全凭证,其中,N为大于1的整数,所述第二验证模块还用于:
在基于所述第一公钥对所述一级程序的可信链中的N-1级安全凭证中的公钥验证成功的情况下,加载所述一级程序的可信链中的N级安全凭证,所述一级程序的可信链中的N级安全凭证中包括中间算法描述,所述中间算法描述用于指示中间密码算法、中间哈希算法和中间签名和分区信息,所述分区信息用于指示所述二级程序的镜像文件的存储地址;
根据所述分区信息,加载所述二级程序的镜像文件;
采用所述一级程序的可信链中的N-1级安全凭证中的公钥和所述中间密码算法对所述中间签名进行解密处理,得到第三哈希值;
采用所述中间哈希算法对所述二级程序的镜像文件进行哈希处理,得到第四哈希值;
在所述第三哈希值与所述第四哈希值相同的情况下,确定所述二级程序的镜像文件验证成功。
在一种可能的实现方式中,所述装置还包括:
第二加载模块,用于启动所述二级程序后,加载所述二级程序的可信链中的一级安全凭证,所述二级程序的可信链中包括多个级别的安全凭证,所述二级程序的可信链中的一级安全凭证中包括第二算法描述,所述第二算法描述用于指示第二密码算法、第二哈希算法、第二公钥和第二签名;
第二获取模块,用于获取用于安全启动三级程序的第二可信根密钥;
第三验证模块,用于基于所述第二可信根密钥、所述第二密码算法、所述第二签名以及所述第二哈希算法,对所述第二公钥进行验证;
第四验证模块,用于在所述第二公钥验证成功的情况下,基于所述第二公钥以及所述二级程序的可信链中的最后一级安全凭证中的签名,对所述三级程序的镜像文件进行验证;
第二启动模块,用于在所述三级程序的镜像文件验证成功的情况下,启动所述三级程序。
在一种可能的实现方式中,所述第二获取模块还用于:
将所述第一可信根密钥和所述二级程序启动过程中验证成功的公钥中的任意一者确定为所述第二可信根密钥。
在一种可能的实现方式中,在运行所述一级程序、所述二级程序和所述三级程序的电子设备启动时,所述一级程序、所述二级程序和所述三级程序依次启动。
在一种可能的实现方式中,所述一级程序包括无盘启动只读存储器接口BootROM,所述二级程序包括引导加载程序BootLoader,所述三级程序包括显卡输入输出系统VBIOS和实时操作系统RTOS。
在一种可能的实现方式中,所述一级程序的可信链中的一级安全凭证中还包括第一数字证书,所述第一数字证书中包括第一签名算法、所述第一公钥和所述第一签名,所述装置还包括:
第五验证模块,用于基于所述第一签名算法和所述第一签名对所述第一公钥进行验证。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,基于支持多种密码算法和哈希算法的组合的安全凭证构建了一级程序的多级可信链,从而为二级程序的安全启动,提供了安全性高且灵活性高的验证。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出基于多个数字证书构建的可信链的示例性示意图。
图2示出了本公开实施例提供的安全凭证的示例性示意图。
图3示出本公开实施例提供的基于多个安全凭证构建的可信链的示例性示意图。
图4示出根据本公开实施例的安全启动方法的流程示意图。
图5示出根据本公开实施例的安全启动方法的流程示意图。
图6示出了电子设备的安全启动过程的实施示意图。
图7示出本公开实施例提供的安全启动方法的示例性示意图。
图8示出根据本公开实施例的安全启动装置的框图。
图9示出根据本公开实施例的一种电子设备800的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出基于多个数字证书构建的可信链的示例性示意图。如图1所示,可信链中包括M个级别的X509数字证书,依次为根证书(也可以称为一级数字证书)、二级数字证书、三级数字证书、……,以及M级别数字证书。其中,M代表了可信链中数字证书的数量,M为大于0的整数,举例来说,M可以为2、3、5或者10等,对此本公开实施例不做限制。
如图1所示,根证书中至少包括版本信息、序列号、签名算法标识、颁发者名称、数字证书有效期、对象、一级公钥、保留信息和一级公钥的数字签名。其中,版本信息可以用于指示根证书的版本。序列号可以用于指示唯一的根证书。签名算法标识可以指示签名算法,签名算法包括密码算法和哈希算法,也就是说,签名算法标识可以用于指示一个密码算法和哈希算法的组合。例如,签名算法标识可以用于指示RSA算法和SHA算法的组合或者SM2和SM3算法的组合。颁发者名称可以用于指示颁布根证书的可信机构。对象(也可以称为主体名称)用于指示根证书产生的国别、省、市、组织以及使用目的。一级公钥用于表示根证书中的公钥。一级公钥经过哈希算法进行哈希处理后,再通过根密钥(Root Of Key,ROK)的私钥以及密码算法进行加密,得到的就是一级公钥的数字签名。保留信息可以用于扩展数字证书的内容。图1所示的二级数字证书、三级数字证书以及M级数字证书可以参照根证书,这里不再赘述。
如图1所示,可信链的验证过程为:首先对根证书中的一级公钥进行验证;一级公钥验证成功后,通过一级公钥验证二级数字证书中的二级公钥;二级公钥验证成功后,通过二级公钥继续对后续数字证书中的公钥进行验证,直到M级数字证书中M级公钥验证成功。最终验证通过的M级公钥可以用于安全启动等。可信链中任意一级数字证书或者任意一级公钥有问题,都认为是不可信的,都无法得到验证通过的M级密钥,安全性非常高。
如图1所示,根证书中的一级公钥的验证是以ROK的公钥为基础的,一级公钥的验证过程为:根据签名算法标识确定密码算法和哈希算法;采用ROK中的公钥和确定的密码算法对一级公钥的数字签名进行解密处理,得到哈希值1;采用确定的哈希算法对一级公钥进行哈希处理,得到哈希值2;在哈希值1和哈希值2相同的情况下,确定一级公钥验证成功;在哈希值1和哈希值2不同的情况下,确定一级公钥验证失败。在一级公钥验证成功后,以一级公钥为基础对二级公钥的签名算法进行解密处理,进而对二级公钥进行验证。二级公钥的验证过程、三级公钥的验证过程直至M级公钥的验证过程可以参照一级公钥的验证过程,这里不再赘述。
基于图1所示的可信链的构成比较单一,一条可信链仅支持固定的密码算法与哈希算法的组合,例如仅支持RSA算法和SHA算法的组合,或者仅支持SM2算法与SM3算法的组合,不支持RSA算法与SM3算法的组合,也不支持SM2算法与SHA算法的组合,从而导致了灵活性差的问题。同时,在可信链单一的情况下,ROK可能被截取,从而导致安全性降低。
本公开实施例提供了一种安全凭证,基于这种安全凭证可以构建灵活的可信链,在保证公钥安全的同时,支持多种密码算法(例如RSA算法和SM2算法等)与多种哈希算法(例如SHA算法和SM3算法等)的混合使用,提高了可信链的灵活性和可扩展性,有利于可信链的定制化。
图2示出了本公开实施例提供的安全凭证的示例性示意图。如图2所示,本公开实施例提供的安全凭证可以包括版本信息、厂商信息、分区信息、算法描述、数字证书和保留信息。
其中,版本信息可以用于指示安全证书的版本。厂商信息可以用于指示出具安全凭证的厂商。保留信息可以用于扩展安全凭证的内容。
分区信息可以用于描述镜像文件(image)存储在存储介质主备地址、大小和内存位置等信息。需要说明的是,分区信息是可选项,在可信链包括多个级别的安全凭证时,最后一级的安全凭证中需要包括分区信息,而其他级别的安全凭证中可以包括分区信息,也可以不包括分区信息。例如,可信链中包括三个级别的安全凭证,依次为一级安全凭证、二级安全凭证和三级安全凭证,则三级安全凭证中需要包括分区信息,一级安全凭证和二级安全凭证可以包括分区信息,也可以不包括分区信息。算法描述可以用于指示算法组合、公钥以及签名。其中,算法组合中包括密码算法和哈希算法,举例来说,算法组合可以包括RSA算法与SHA算法的组合、ECC算法和SHA算法的组合、SM2算法和SM3算法的组合以及SM2算法和SHA算法的组合等。当然,以上算法组合仅作为示例,并不能限制算法描述中的算法组合,算法组合还可以包括其他自定义的密码算法和哈希算法。需要说明的是,为了提升安全性,算法组合中包括的密码算法为非对称的密码算法。
数字证书可以为相关技术中的数字证书,例如图1所示X509证书。数字证书是可选项,在安全凭证中包括数字证书时,可以使本公开实施例提供的安全凭证兼容现有的可信链。数字证书的内容可以参照图1,这里不再赘述。
图3示出本公开实施例提供的基于多个安全凭证构建的可信链的示例性示意图。如图3所示,可信链中包括N个级别的安全凭证,依次为一级安全凭证、二级安全凭证、……、N-1级安全凭证,以及N级安全凭证。其中,N代表了可信链中安全凭证的数量,N为大于0的整数,举例来说,N可以为2、3、5或者10等,对此本公开实施例不做限制。图3所示的各个级别的安全凭证包括的内容可以参照图2所示的安全凭证包括的内容,这里不再赘述。
需要说明的是,在图3中,第一算法描述表示一级安全凭证中包括的算法描述,第一数字证书表示一级安全凭证中包括的数字证书,第二算法描述表示二级安全凭证中包括的算法描述,第二数字证书表示二级安全凭证中包括的数字证书,第N-1算法描述、第一N-1数字证书、第N算法描述和第N数字证书可以参照第一算法描述和第一数字证书,这里不再赘述。
本公开实施例提供了一种安全启动方法,能够在电子设备安全启动过程中实现安全性高且灵活性高的验证。本公开实施例提供的安全启动方法可以提高电子设备安全启动过程中涉及的各个程序启动过程的安全性以及灵活性。
图4示出根据本公开实施例的安全启动方法的流程示意图。本公开实施例提供的安全启动方法可以应用于终端设备或者图形处理器(Graphics Processing Unit,GPU)等电子设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,该安全启动方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图4所示,所述安全启动方法包括:
步骤S101,启动一级程序后,加载所述一级程序的可信链中的一级安全凭证。
其中,一级程序可以表示电子设备安全启动过程中启动的第一个程序。所述一级程序的可信链中包括多个级别的安全凭证。一级程序的可信链可以参照图3所示的可信链,这里不再赘述。
电子设备上电后,启动一级程序,并加载一级程序的可信链中的一级安全凭证。一级程序的可信链中的一级安全凭证中包括第一算法描述。该第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名。第一算法描述表示一级程序的可信链中的一级安全凭证中的算法描述。第一密码算法和第一哈希算法表示第一算法描述指示的密码算法和哈希算法。第一公钥表示第一算法描述指示的公钥。第一签名表示第一公钥对应的签名。一级程序的可信链中的一级安全凭证可以参照图2所示的安全凭证这里不再赘述。
步骤S102,获取用于安全启动二级程序的第一可信根密钥。
其中,二级程序可以用于表示电子设备安全启动过程中,一级程序启动后需要启动的程序。为了实现二级程序的安全启动,需要对二级程序的镜像文件进行验证,第一可信根密钥可以用于对二级程序的镜像文件进行验证。
在本公开实施例中,支持不同的密码算法与哈希算法之间的组合,为了提高安全性,为每个密码算法与哈希算法的组合设置了对应的可信根密钥,第一对应关系可以用于指示密码算法、哈希算法与可信根密钥之间的对应关系。例如,第一对应关系可以用于指示RSA算法、SHA算法与可信根密钥1之间的对应关系,RSA算法、SM3算法与可信根密钥2之间的对应关系,SM2算法、SHA算法与可信根密钥3之间的对应关系,以及SM2算法、SM3算法与可信根密钥4之间的对应关系。当然,不同的密码算法与哈希算法的组合也可以对应同一个可信根密钥。例如,RSA算法和SHA算法的组合与可信根密钥1对应,RSA算法和SM3算法的组合也与可信根密钥1对应。
在一种可能的实现方式中,为了确保较高的安全性,第一对应关系可以存储在一次性编程的存储器件(One Time Programmable,OTP)中。步骤S102可以包括:基于第一对应关系,从一次性编程的存储器件中获取与所述第一密码算法以及所述第一哈希算法对应的所述第一可信根密钥。
其中,一次性编程的存储器件的特点为写入的内容无法进行修改和擦除。在一个示例中,一次性编程的存储器件可以通过电熔丝(Electronic Fuses,eFUSE)实现存储功能。一次性编程的存储器件可以独立于处理器,也可以集成在处理器中。存储在一次性编程的存储器件中的根密钥可以认为是可信根密钥。第一可信根密钥可以表示与第一密码算法以及第一哈希算法对应的可信根密钥。电子设备可以基于第一对应关系,从一次性编程的存储器件中获取与第一密码算法以及第一哈希算法对应的可信根密钥,即第一可信根密钥。一方面,第一可信根密钥是从一次性编程的存储器获取的,可靠性较高;另一方面,第一可信根密钥与第一密码算法以及第一哈希算法对应,灵活性较高。
步骤S103,基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证。
在一种可能的实现方式中,步骤S103可以包括:采用所述第一可信根密钥和所述第一密码算法对所述第一签名进行解密处理,得到第一哈希值;采用所述第一哈希算法对所述第一公钥进行哈希处理,得到第二哈希值;在所述第一哈希值与所述第二哈希值相同的情况下,确定所述第一公钥验证成功。反之,在第一哈希值与第二哈希值不同的情况下,可以确定第一公钥验证失败。
步骤S104,在所述第一公钥验证成功的情况下,基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证。
在第一公钥验证成功的情况下,电子设备可以继续对一级程序的可信链中其余的安全凭证中的签名依次进行验证。在一种可能的实现方式中,一级程序的可信链中包括N个级别的安全凭证,其中,N为大于1的整数。此时,在第一公钥验证成功之后,电子设备可以对一级程序的可信链中的二级安全凭证中的公钥进行验证;在二级安全凭证中的公钥验证成功之后,电子设备可以对三级安全凭证中的公钥验证,以此类推,直至对N-1级安全凭证中的公钥进行验证。电子设备对一级程序的可信链中各级(二级、三级、……、N-1)安全凭证中的公钥进行验证的过程,可以参照电子设备对一级程序的可信链中一级安全凭证的验证过程,这里不再赘述。
在一种可能的实现方式中,步骤S104中的基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证可以包括:在基于所述第一公钥对所述一级程序的可信链中的N-1级安全凭证中的公钥验证成功的情况下,加载所述一级程序的可信链中的N级安全凭证;根据一级程序的可信链中的N级安全凭证指示的分区信息,加载所述二级程序的镜像文件;采用N-1级安全凭证中的公钥和所述中间密码算法对所述中间签名进行解密处理,得到第三哈希值;采用所述中间哈希算法对所述二级程序的镜像文件进行哈希处理,得到第四哈希值;在所述第三哈希值与所述第四哈希值相同的情况下,确定所述二级程序的镜像文件验证成功。
在本公开实施例中,为了便于描述,将一级程序的可信链的N级安全凭证中包括的算法描述记为中间算法描述。中间算法描述可以用于指示中间密码算法、中间哈希算法和中间签名和分区信息。
其中,中间密码算法可以用于表示中间算法描述指示的密码算法、中间哈希算法可以用于表示中间算法描述指示的算法描述,中间前面可以用于指示中间算法描述指示的中间签名。中间密码算法、中间哈希算法和中间签名可以参照第一密码算法、第一哈希算法和第一签名,这里不再赘述。
其中,分区信息可以用于指示所述二级程序的镜像文件的存储地址。电子设备可以根据分区信息,加载二级程序的镜像文件。在一种可能的实现方式中,二级程序的镜像文件可以存储在非易失性存储器中。非易失性存储器可以是具备可电子擦除可编程的性能,能够快速读取数据,使数据不会因为端点而丢失的存储器。举例来说,非易失性存储器包括但不限于闪存(Flash)和嵌入式多媒体卡(Embedded Multi Media Card,EMMC)等。电子设备可以根据分区信息指示的存储地址,从非易失性存储器中读取二级程序的镜像文件进行加载。
电子设备可以采用验证成功的N-1级安全凭证中的公钥和中间密码算法对中间签名进行解密处理,得到第三哈希值,采用中间哈希算法对二级程序的镜像文件进行哈希处理,得到第四哈希值。在第三哈希值和第四哈希值相同的情况下,可以确定二级程序的镜像文件验证成功。反之,在第三哈希值和第四哈希值不同的情况下,可以确定二级程序的镜像文件验证失败。
另外,需要说明的是,在上述安全启动过程中,一级程序的可信链中任意一级的安全凭证中的公钥验证失败,电子设备均无需对一级程序的可信链中下一级安全凭证中的公钥进行验证,从而导致无法对二级程序的镜像文件进行验证。因此,一级程序的可信链中任意一级的安全凭证中的公钥验证失败,均会导致二级程序的镜像文件验证失败。
步骤S105,在所述二级程序的镜像文件验证成功的情况下,启动所述二级程序。
在本公开实施例中,基于支持多种密码算法和哈希算法的组合的安全凭证构建了一级程序的多级可信链,从而为二级程序的安全启动,提供了安全性高且灵活性高的验证。
在一种可能的实现方式中,所述一级程序的可信链中的一级安全凭证中还包括第一数字证书,所述第一数字证书中包括第一签名算法、所述第一公钥和所述第一签名。所述方法还包括:基于所述第一签名算法和所述第一签名对所述第一公钥进行验证。
其中,第一数字证书可以用于表示一级程序的可信链中的一级安全凭证中包括的数字证书,第一签名算法可以用于表示第一数字证书指示的签名算法。第一数字证书和第一签名算法,可以参照相关技术中的数字证书和签名算法(例如图1所示的数字证书和签名算法),基于第一签名算法和第一签名对第一公钥进行验证的过程可以参照相关技术,这里不再赘述。
在本公开实施中,通过在安全凭证中添加数字证书,可以实现对现有可信链的兼容,从而提高兼容性。
图5示出根据本公开实施例的安全启动方法的流程示意图。如图5所示,在图4的基础上,所述安全启动方法还包括:
步骤S106,启动所述二级程序后,加载所述二级程序的可信链中的一级安全凭证。
其中,所述二级程序的可信链中包括多个级别的安全凭证,所述二级程序的可信链中的一级安全凭证中包括第二算法描述,所述第二算法描述用于指示第二密码算法、第二哈希算法、第二公钥和第二签名。二级程序的可信链可以参照一级程序的可信链,这里不再赘述。需要说明的是,二级程序的可信链中包括的安全凭证的级别数量可以与一级程序的可信链中包括的安全凭证的级别的数量相同,也可以不同,本公开实施例对此不做限制。
步骤S107,获取用于安全启动三级程序的第二可信根密钥。
其中,三级程序可以用于表示电子设备安全启动过程中,二级程序启动后需要启动的程序。为了实现三级程序的安全启动,需要对三级程序的镜像文件进行验证,第二可信根密钥可以用于对三级程序的镜像文件进行验证。
在本公开实施例中,除了存储在一次性编程的存储器件中的根密钥可以认为是可信根密钥以外,二级程序启动过程中验证成功的公钥(即验证成功的一级程序的可信链中一级安全凭证至N-1级安全凭证中的公钥)也可以认为是可信根密钥。
在一种可能的实现方式中,步骤S107可以包括:将所述第一可信根密钥和所述二级程序启动过程中验证成功的公钥中的任意一者确定为所述第二可信根密钥。这样,第二可信根密钥是一次性编程的存储器获取的,或者是验证成功的,可靠性较高。
步骤S108,基于所述第二可信根密钥、所述第二密码算法、所述第二签名以及所述第二哈希算法,对所述第二公钥进行验证。
步骤S108可以参照步骤S103,这里不再赘述。
步骤S109,在所述第二公钥验证成功的情况下,基于所述第二公钥以及所述二级程序的可信链中的最后一级安全凭证中的签名,对所述三级程序的镜像文件进行验证。
步骤S109可以参照步骤S104,这里不再赘述。
步骤S110,在所述三级程序的镜像文件验证成功的情况下,启动所述三级程序。
在本公开实施例中,基于支持多种密码算法和哈希算法的组合的安全凭证构建了二级程序的多级可信链,从而为三级程序的安全启动,提供了安全性高且灵活性高的验证。
可以理解的是,二级程序的可信链中各级安全凭证同样可以包括数字证书,以实现对现有技术的兼容,这里不再赘述。
在本公开实施例中,在运行所述一级程序、所述二级程序和所述三级程序的电子设备启动时,所述一级程序、所述二级程序和所述三级程序依次启动。在一个示例中,一级程序包括无盘启动只读存储器接口(BootROM),所述二级程序包括引导加载程序(BootLoader),所述三级程序包括显卡输入输出系统(Video Basic Input Output System,Vbios)和实时操作系统(Real Time Operating System,RTOS)。
图6示出了电子设备的安全启动过程的实施示意图。如图6所示,电子设备的安全启动时,依次启动BootROM(对应一级程序)、BootLoader(对应二级程序)、Vbios(对应三级程序)和RTOS(对应三级程序)。
如图6所示,电子设备上电后,首先启动BootROM,并加载BootROM的可信链;基于BootROM的可信链对BootLoader的镜像文件进行验证;BootLoader的镜像文件验证通过后,启动BootLoader,并加载BootLoader的可信链;基于BootLoader的可信链对Vbios的镜像文件和RTOS的镜像文件进项验证;Vbios的镜像文件和RTOS的镜像文件验证通过后,启动Vbios和RTOS,至此完成电子设备的安全启动。
在图6中,一次性可编程的存储器件可以用于存储第一可信根密钥。非易失性存储器可以用于存储BootLoader的镜像文件(对应二级程序的镜像文件)、Vbios的镜像文件(对应三级程序的镜像文件)和RTOS的镜像文件(对应三级程序的镜像文件)。硬件算法模块可以用于实现各个密码算和各个哈希算法。下面以BootROM的可信链和BootLoader的可信链均包括三个级别的安全凭证为例,结合图7对图6所示的安全启动过程进行详细说明。需要说明的是,图7所示的BootROM的可信链和BootLoader的可信链仅为示例,并不用于限制BootROM的可信链和BootLoader的可信链,BootROM的可信链和BootLoader的可信链可以包括比图7所示的安全凭证级别数量更多或者更少的安全凭证。
图7示出本公开实施例提供的安全启动方法的示例性示意图。如图7所示, 所述安全启动方法包括:
步骤S701,电子设备上电并启动BootROM后,加载BootROM可信链的一级安全凭证。
其中,BootROM可信链的一级安全凭证包括算法描述1,算法描述1可以用于指示密码算法1、哈希算法1、公钥1和签名1。BootROM对应步骤S101中的一级程序,BootROM可信链的一级安全凭证可以参照步骤S101中的一级程序的可信链的一级安全凭证,这里不再赘述。
步骤S702,电子设备基于第一对应关系,从一次性编程的存储器件中获取与密码算法1以及哈希算法1对应的可信根密钥1。
其中,可信根密钥1对应于步骤S702中的第一可信根密钥,步骤S702可以参照步骤S102,这里不再赘述。
步骤S703,电子设备基于可信根密钥1、密码算法1、签名1以及哈希算法1,对公钥1进行验证;在公钥1验证失败的情况下,电子设备挂死;在公钥1验证成功的情况下,执行步骤S704。
步骤S704,电子设备加载BootROM可信链的二级安全凭证,并基于公钥1和BootROM可信链的二级安全凭证指示的密码算法2、签名2以及哈希算法2,对BootROM可信链的二级安全凭证指示的公钥2进行验证;在公钥2验证失败的情况下,电子设备挂死;在公钥2验证成功的情况下,执行步骤S705。
其中,BootROM可信链的二级安全凭证包括算法描述2,算法描述2可以用于指示密码算法2、哈希算法2、签名2和公钥2。
步骤S705,电子设备加载BootROM可信链的三级安全凭证,并基于BootROM可信链的三级安全凭证指示的分区信息3加载BootLoader的镜像文件;采用公钥2对BootLoader的镜像文件进行验证;在BootLoader的镜像文件验证失败的情况下,电子设备挂死;在BootLoader的镜像文件验证成功的情况下,启动BootLoader。
这里,BootLoader对应于步骤S105中的二级程序。步骤S705可以参照步骤S105,这里不再赘述。
步骤S706,电子设备将公钥1作为可信根密钥2传递给BootLoader。
其中,可信根密钥2对应于图5所示的第二可信根密钥。
步骤S707,电子设备加载BootLoader可信链的二级安全凭证1,并基于公钥1和二级安全凭证1指示的密码算法4、签名4以及哈希算法4对二级安全凭证1指示的公钥3进行验证;在公钥3验证失败的情况下,电子设备挂死;在公钥3验证成功的情况下,执行步骤S707。
其中,BootLoader可信链的二级安全凭证1表示BootLoader可信链中与Vbios对应的二级安全凭证,BootLoader可信链的二级安全凭证1包括算法描述4,算法描述4可以用于指示密码算法4、哈希算法4、签名4和公钥3。
需要说明的是,由于在步骤S706中,将验证成功的公钥1作为可信根密钥,相当于BootLoader的可信链已经经过了一个级别的安全凭证的验证,因此在步骤S707中省去了加载验证BootLoader可信链的一级安全凭证1(即BootLoader可信链中与Vbios对应的一级安全凭证)的过程,直接加载BootLoader可信链的二级安全凭证1进行后续验证。若在步骤S706中,电子设备将可信根密钥1作为可信根密钥2传递给BootLoader,则在步骤S707中需要先加载验证BootLoader可信链的一级安全凭证1,再加载BootLoader可信链的二级安全凭证1进行后续验证。同理,若在步骤S706中,电子设备将公钥2作为可信根密钥2传递给BootLoader,则不需要执行步骤S707,直接执行步骤S708即可。
步骤S708,电子设备加载BootLoader可信链的三级安全凭证1,并基于三级安全凭证1指示的分区信息5,加载Vbios的镜像文件;采用公钥3对Vbios的镜像文件进行验证;在Vbios的镜像文件验证失败的情况下,电子设备挂死;在Vbios的镜像文件验证成功的情况下,启动Vbios。
其中,BootLoader可信链的三级安全凭证1表示BootLoader可信链中与Vbios对应的三级安全凭证,BootLoader可信链的二级安全凭证1包括分区信息5。
步骤S709,电子设备加载BootLoader可信链的二级安全凭证2,并基于公钥1和二级安全凭证2指示的密码算法6、签名6以及哈希算法6对二级完全凭证2指示的公钥4进行验证;在公钥4验证失败的情况下,电子设备挂死;在公钥4验证成功的情况下,执行步骤S710。
其中,BootLoader可信链的二级安全凭证2表示BootLoader可信链中与RTOS对应的二级安全凭证,BootLoader可信链的二级安全凭证2包括算法描述6,算法描述6可以用于指示密码算法6、哈希算法6、签名6和公钥4。
步骤S709可以参照步骤S707,这里不再赘述。
步骤S710,电子设备加载BootLoader可信链的三级安全凭证2,并基于三级安全凭证2指示的分区信息7,加载RTOS的镜像文件;采用公钥4对RTOS的镜像文件进行验证;在公钥4验证失败的情况下,电子设备挂死;在公钥4验证成功的情况下,启动RTOS。
至此,完成电子设备的安全启动。
需要说明的是,图7所示的各版本信息、厂商信息、分区信息、算法描述、数字证书和保留信息均可以参照图2,这里不再赘述。图7所示的各个步骤中使用的算法描述均可以被替换为同一安全证书中的数字证书,以实现对现有技术的兼容,这里也不再赘述。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供安全启动装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种安全启动方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图8示出根据本公开实施例的安全启动装置的框图。如图8所示,所述装置600包括:
第一加载模块601,用于启动一级程序后,加载所述一级程序的可信链中的一级安全凭证,所述一级程序的可信链中包括多个级别的安全凭证,所述一级程序的可信链中的一级安全凭证中包括第一算法描述,所述第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名;
第一获取模块602,用于获取用于安全启动二级程序的第一可信根密钥;
第一验证模块603,用于基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证;
第二验证模块604,用于在所述第一公钥验证成功的情况下,基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证;
第一启动模块605,用于在所述二级程序的镜像文件验证成功的情况下,启动所述二级程序。
在一种可能的实现方式中,所述第一获取模块还用于:
基于第一对应关系,从一次性编程的存储器件中获取与所述第一密码算法以及所述第一哈希算法对应的所述第一可信根密钥,所述第一对应关系用于指示密码算法、哈希算法与可信根密钥之间的对应关系。
在一种可能的实现方式中,所述第一验证模块还用于:
采用所述第一可信根密钥和所述第一密码算法对所述第一签名进行解密处理,得到第一哈希值;
采用所述第一哈希算法对所述第一公钥进行哈希处理,得到第二哈希值;
在所述第一哈希值与所述第二哈希值相同的情况下,确定所述第一公钥验证成功。
在一种可能的实现方式中,所述一级程序的可信链中包括N个级别的安全凭证,其中,N为大于1的整数,所述第二验证模块还用于:
在基于所述第一公钥对所述一级程序的可信链中的N-1级安全凭证中的公钥验证成功的情况下,加载所述一级程序的可信链中的N级安全凭证,所述一级程序的可信链中的N级安全凭证中包括中间算法描述,所述中间算法描述用于指示中间密码算法、中间哈希算法和中间签名和分区信息,所述分区信息用于指示所述二级程序的镜像文件的存储地址;
根据所述分区信息,加载所述二级程序的镜像文件;
采用所述一级程序的可信链中的N-1级安全凭证中的公钥和所述中间密码算法对所述中间签名进行解密处理,得到第三哈希值;
采用所述中间哈希算法对所述二级程序的镜像文件进行哈希处理,得到第四哈希值;
在所述第三哈希值与所述第四哈希值相同的情况下,确定所述二级程序的镜像文件验证成功。
在一种可能的实现方式中,所述装置还包括:
第二加载模块,用于启动所述二级程序后,加载所述二级程序的可信链中的一级安全凭证,所述二级程序的可信链中包括多个级别的安全凭证,所述二级程序的可信链中的一级安全凭证中包括第二算法描述,所述第二算法描述用于指示第二密码算法、第二哈希算法、第二公钥和第二签名;
第二获取模块,用于获取用于安全启动三级程序的第二可信根密钥;
第三验证模块,用于基于所述第二可信根密钥、所述第二密码算法、所述第二签名以及所述第二哈希算法,对所述第二公钥进行验证;
第四验证模块,用于在所述第二公钥验证成功的情况下,基于所述第二公钥以及所述二级程序的可信链中的最后一级安全凭证中的签名,对所述三级程序的镜像文件进行验证;
第二启动模块,用于在所述三级程序的镜像文件验证成功的情况下,启动所述三级程序。
在一种可能的实现方式中,所述第二获取模块还用于:
将所述第一可信根密钥和所述二级程序启动过程中验证成功的公钥中的任意一者确定为所述第二可信根密钥。
在一种可能的实现方式中,在运行所述一级程序、所述二级程序和所述三级程序的电子设备启动时,所述一级程序、所述二级程序和所述三级程序依次启动。
在一种可能的实现方式中,所述一级程序包括无盘启动只读存储器接口BootROM,所述二级程序包括引导加载程序BootLoader,所述三级程序包括显卡输入输出系统VBIOS和实时操作系统RTOS。
在一种可能的实现方式中,所述一级程序的可信链中的一级安全凭证中还包括第一数字证书,所述第一数字证书中包括第一签名算法、所述第一公钥和所述第一签名,所述装置还包括:
第五验证模块,用于基于所述第一签名算法和所述第一签名对所述第一公钥进行验证。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图9示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等终端设备。
参照图9,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
在本公开实施例中,电子设备800中可以包括图6所示的BootROM、BootLoader、Vbios、RTOS、一次性编程的存储器件、硬件算法模块以及非易失性存储器。在一种可能的实现方式中,BootROM、BootLoader、Vbios、RTOS以及硬件算法模块可以部署在处理组件802中;一次性编程的存储器件和非易失性存储器可以部署在存储器804中。基于此,电子设备800上电后,可以执行图7所示的安全启动方法,完成安全启动。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(Wi-Fi)、第二代移动通信技术(2G)、第三代移动通信技术(3G)、第四代移动通信技术(4G)、通用移动通信技术的长期演进(LTE)、第五代移动通信技术(5G)或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种安全启动方法,其特征在于,所述方法包括:
启动一级程序后,加载所述一级程序的可信链中的一级安全凭证,所述一级程序的可信链中包括多个级别的安全凭证,所述一级程序的可信链中的一级安全凭证中包括第一算法描述,所述第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名;
获取用于安全启动二级程序的第一可信根密钥;
基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证;
在所述第一公钥验证成功的情况下,基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证;
在所述二级程序的镜像文件验证成功的情况下,启动所述二级程序;
其中,所述一级程序的可信链中包括N个级别的安全凭证,其中,N为大于1的整数,所述基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证,包括:
在基于所述第一公钥对所述一级程序的可信链中的N-1级安全凭证中的公钥验证成功的情况下,加载所述一级程序的可信链中的N级安全凭证,所述一级程序的可信链中的N级安全凭证中包括中间算法描述,所述中间算法描述用于指示中间密码算法、中间哈希算法和中间签名和分区信息,所述分区信息用于指示所述二级程序的镜像文件的存储地址;
根据所述分区信息,加载所述二级程序的镜像文件;
采用所述一级程序的可信链中的N-1级安全凭证中的公钥和所述中间密码算法对所述中间签名进行解密处理,得到第三哈希值;
采用所述中间哈希算法对所述二级程序的镜像文件进行哈希处理,得到第四哈希值;
在所述第三哈希值与所述第四哈希值相同的情况下,确定所述二级程序的镜像文件验证成功。
2.根据权利要求1所述的方法,其特征在于,所述获取用于安全启动二级程序的第一可信根密钥包括:
基于第一对应关系,从一次性编程的存储器件中获取与所述第一密码算法以及所述第一哈希算法对应的所述第一可信根密钥,所述第一对应关系用于指示密码算法、哈希算法与可信根密钥之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证,包括:
采用所述第一可信根密钥和所述第一密码算法对所述第一签名进行解密处理,得到第一哈希值;
采用所述第一哈希算法对所述第一公钥进行哈希处理,得到第二哈希值;
在所述第一哈希值与所述第二哈希值相同的情况下,确定所述第一公钥验证成功。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
启动所述二级程序后,加载所述二级程序的可信链中的一级安全凭证,所述二级程序的可信链中包括多个级别的安全凭证,所述二级程序的可信链中的一级安全凭证中包括第二算法描述,所述第二算法描述用于指示第二密码算法、第二哈希算法、第二公钥和第二签名;
获取用于安全启动三级程序的第二可信根密钥;
基于所述第二可信根密钥、所述第二密码算法、所述第二签名以及所述第二哈希算法,对所述第二公钥进行验证;
在所述第二公钥验证成功的情况下,基于所述第二公钥以及所述二级程序的可信链中的最后一级安全凭证中的签名,对所述三级程序的镜像文件进行验证;
在所述三级程序的镜像文件验证成功的情况下,启动所述三级程序。
5.根据权利要求4所述的方法,其特征在于,所述获取用于安全启动三级程序的第二可信根密钥,包括:
将所述第一可信根密钥和所述二级程序启动过程中验证成功的公钥中的任意一者确定为所述第二可信根密钥。
6.根据权利要求4所述的方法,其特征在于,在运行所述一级程序、所述二级程序和所述三级程序的电子设备启动时,所述一级程序、所述二级程序和所述三级程序依次启动。
7.根据权利要求6所述的方法,其特征在于,所述一级程序包括无盘启动只读存储器接口BootROM,所述二级程序包括引导加载程序BootLoader,所述三级程序包括显卡输入输出系统VBIOS和实时操作系统RTOS。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,所述一级程序的可信链中的一级安全凭证中还包括第一数字证书,所述第一数字证书中包括第一签名算法、所述第一公钥和所述第一签名,所述方法还包括:
基于所述第一签名算法和所述第一签名对所述第一公钥进行验证。
9.一种安全启动装置,其特征在于,所述装置包括:
第一加载模块,用于启动一级程序后,加载所述一级程序的可信链中的一级安全凭证,所述一级程序的可信链中包括多个级别的安全凭证,所述一级程序的可信链中的一级安全凭证中包括第一算法描述,所述第一算法描述用于指示第一密码算法、第一哈希算法、第一公钥和第一签名;
第一获取模块,用于获取用于安全启动二级程序的第一可信根密钥;
第一验证模块,用于基于所述第一可信根密钥、所述第一密码算法、所述第一签名以及所述第一哈希算法,对所述第一公钥进行验证;
第二验证模块,用于在所述第一公钥验证成功的情况下,基于所述第一公钥以及所述一级程序的可信链中的最后一级安全凭证中的签名,对所述二级程序的镜像文件进行验证;
第一启动模块,用于在所述二级程序的镜像文件验证成功的情况下,启动所述二级程序;
其中,所述一级程序的可信链中包括N个级别的安全凭证,其中,N为大于1的整数,所述第二验证模块还用于:
在基于所述第一公钥对所述一级程序的可信链中的N-1级安全凭证中的公钥验证成功的情况下,加载所述一级程序的可信链中的N级安全凭证,所述一级程序的可信链中的N级安全凭证中包括中间算法描述,所述中间算法描述用于指示中间密码算法、中间哈希算法和中间签名和分区信息,所述分区信息用于指示所述二级程序的镜像文件的存储地址;
根据所述分区信息,加载所述二级程序的镜像文件;
采用所述一级程序的可信链中的N-1级安全凭证中的公钥和所述中间密码算法对所述中间签名进行解密处理,得到第三哈希值;
采用所述中间哈希算法对所述二级程序的镜像文件进行哈希处理,得到第四哈希值;
在所述第三哈希值与所述第四哈希值相同的情况下,确定所述二级程序的镜像文件验证成功。
10.根据权利要求9所述的装置,其特征在于,所述第一获取模块还用于:
基于第一对应关系,从一次性编程的存储器件中获取与所述第一密码算法以及所述第一哈希算法对应的所述第一可信根密钥,所述第一对应关系用于指示密码算法、哈希算法与可信根密钥之间的对应关系。
11.根据权利要求9所述的装置,其特征在于,所述第一验证模块还用于:
采用所述第一可信根密钥和所述第一密码算法对所述第一签名进行解密处理,得到第一哈希值;
采用所述第一哈希算法对所述第一公钥进行哈希处理,得到第二哈希值;
在所述第一哈希值与所述第二哈希值相同的情况下,确定所述第一公钥验证成功。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二加载模块,用于启动所述二级程序后,加载所述二级程序的可信链中的一级安全凭证,所述二级程序的可信链中包括多个级别的安全凭证,所述二级程序的可信链中的一级安全凭证中包括第二算法描述,所述第二算法描述用于指示第二密码算法、第二哈希算法、第二公钥和第二签名;
第二获取模块,用于获取用于安全启动三级程序的第二可信根密钥;
第三验证模块,用于基于所述第二可信根密钥、所述第二密码算法、所述第二签名以及所述第二哈希算法,对所述第二公钥进行验证;
第四验证模块,用于在所述第二公钥验证成功的情况下,基于所述第二公钥以及所述二级程序的可信链中的最后一级安全凭证中的签名,对所述三级程序的镜像文件进行验证;
第二启动模块,用于在所述三级程序的镜像文件验证成功的情况下,启动所述三级程序。
13.根据权利要求12所述的装置,其特征在于,所述第二获取模块还用于:
将所述第一可信根密钥和所述二级程序启动过程中验证成功的公钥中的任意一者确定为所述第二可信根密钥。
14.根据权利要求12所述的装置,其特征在于,在运行所述一级程序、所述二级程序和所述三级程序的电子设备启动时,所述一级程序、所述二级程序和所述三级程序依次启动。
15.根据权利要求14所述的装置,其特征在于,所述一级程序包括无盘启动只读存储器接口BootROM,所述二级程序包括引导加载程序BootLoader,所述三级程序包括显卡输入输出系统VBIOS和实时操作系统RTOS。
16.根据权利要求9至15中任意一项所述的装置,其特征在于,所述一级程序的可信链中的一级安全凭证中还包括第一数字证书,所述第一数字证书中包括第一签名算法、所述第一公钥和所述第一签名,所述装置还包括:
第五验证模块,用于基于所述第一签名算法和所述第一签名对所述第一公钥进行验证。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至8中任意一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210797155.7A CN114880048B (zh) | 2022-07-08 | 2022-07-08 | 一种安全启动方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210797155.7A CN114880048B (zh) | 2022-07-08 | 2022-07-08 | 一种安全启动方法及装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114880048A CN114880048A (zh) | 2022-08-09 |
CN114880048B true CN114880048B (zh) | 2022-11-29 |
Family
ID=82682973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210797155.7A Active CN114880048B (zh) | 2022-07-08 | 2022-07-08 | 一种安全启动方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880048B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117932592A (zh) * | 2022-08-26 | 2024-04-26 | 荣耀终端有限公司 | 系统启动方法和电子设备 |
CN116032484A (zh) * | 2022-12-07 | 2023-04-28 | 四川恒湾科技有限公司 | 一种通信设备安全启动的方法、装置和电子设备 |
CN117874773B (zh) * | 2024-03-12 | 2024-06-25 | 麒麟软件有限公司 | 基于安全等级管控策略的操作系统安全启动方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729743A (zh) * | 2016-08-10 | 2018-02-23 | 中国电信股份有限公司 | 用于实现移动终端安全启动的方法、设备和系统 |
WO2018076648A1 (zh) * | 2016-10-28 | 2018-05-03 | 深圳市中兴微电子技术有限公司 | 一种芯片的安全启动方法及装置、计算机存储介质 |
CN110532777A (zh) * | 2018-05-24 | 2019-12-03 | 霍尼韦尔环境自控产品(天津)有限公司 | 安全启动系统及方法、终端设备及其核心系统 |
CN111538996A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
CN112784280A (zh) * | 2021-01-12 | 2021-05-11 | 苏州浪潮智能科技有限公司 | 一种SoC芯片安全设计方法及硬件平台 |
-
2022
- 2022-07-08 CN CN202210797155.7A patent/CN114880048B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729743A (zh) * | 2016-08-10 | 2018-02-23 | 中国电信股份有限公司 | 用于实现移动终端安全启动的方法、设备和系统 |
WO2018076648A1 (zh) * | 2016-10-28 | 2018-05-03 | 深圳市中兴微电子技术有限公司 | 一种芯片的安全启动方法及装置、计算机存储介质 |
CN110532777A (zh) * | 2018-05-24 | 2019-12-03 | 霍尼韦尔环境自控产品(天津)有限公司 | 安全启动系统及方法、终端设备及其核心系统 |
CN111538996A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
CN112784280A (zh) * | 2021-01-12 | 2021-05-11 | 苏州浪潮智能科技有限公司 | 一种SoC芯片安全设计方法及硬件平台 |
Non-Patent Citations (2)
Title |
---|
《IaaS下虚拟机的安全存储和可信启动》;王庆飞 等;《武汉大学学报(理学版)》;20140630;第60卷(第3期);全文 * |
P4080平台安全启动实现设计;郭庆等;《通信技术》;20131010(第10期);正文第1-4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN114880048A (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114880048B (zh) | 一种安全启动方法及装置、电子设备和存储介质 | |
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
US11367054B2 (en) | Biological recognition technology-based mobile payment device, method and apparatus, and storage medium | |
ES2713673T3 (es) | Procedimientos, sistemas y producto de programa de ordenador para proporcionar encriptado en una pluralidad de dispositivos | |
CN110768968B (zh) | 基于可验证声明的授权方法、装置、设备及系统 | |
CA3058240C (en) | Cryptographic key management based on identity information | |
US10181036B2 (en) | Automatic discovery and installation of secure boot certificates | |
TWI450195B (zh) | 無線器件之漸啟動 | |
CN113343212B (zh) | 设备注册方法及装置、电子设备和存储介质 | |
US10382209B2 (en) | Privacy control using unique identifiers associated with sensitive data elements of a group | |
CN113242224B (zh) | 授权方法及装置、电子设备和存储介质 | |
US9600671B2 (en) | Systems and methods for account recovery using a platform attestation credential | |
CN108335105B (zh) | 数据处理方法及相关设备 | |
CN111800273B (zh) | 信息处理方法、电子设备及存储介质 | |
US20220294624A1 (en) | Encryption method and device, electronic apparatus and storage medium | |
CN110545542B (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
CN105282162A (zh) | 账号管理业务的处理方法及装置 | |
CN106611112A (zh) | 应用程序安全处理方法、装置及设备 | |
CN109858914A (zh) | 区块链数据验证方法、装置、计算机设备及可读存储介质 | |
CN112784243A (zh) | 授权管理方法及装置、电子设备和存储介质 | |
CN110602700B (zh) | 种子密钥处理方法、装置及电子设备 | |
CN107302519B (zh) | 一种终端设备的身份认证方法、装置和终端设备、服务器 | |
KR20190093383A (ko) | 프로파일을 설치하는 전자 장치 및 전자 장치의 동작 방법 | |
CN111241522B (zh) | 固件签名方法及装置、存储介质 | |
CN114663090A (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 |