CN114514725A - 安全引导装置及其操作方法 - Google Patents
安全引导装置及其操作方法 Download PDFInfo
- Publication number
- CN114514725A CN114514725A CN202080071074.8A CN202080071074A CN114514725A CN 114514725 A CN114514725 A CN 114514725A CN 202080071074 A CN202080071074 A CN 202080071074A CN 114514725 A CN114514725 A CN 114514725A
- Authority
- CN
- China
- Prior art keywords
- public key
- key
- header
- algorithm
- applying
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000015654 memory Effects 0.000 claims abstract description 63
- 238000012795 verification Methods 0.000 claims abstract description 51
- 238000002360 preparation method Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Images
Classifications
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- 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
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
根据一实施例的用于解决本发明所要解决的问题的一种安全引导装置包括:存储器,配置为存储加密数据、加密头及对称密钥;以及处理器,配置为通过将使用所述对称密钥的对称密钥算法应用于所述加密数据和所述加密头来生成解密数据和解密头,将公钥和从所述公钥生成的预密钥包括在所述解密头,通过将哈希算法应用于所述解密数据来生成比较哈希消息,通过将使用所述公钥和所述预密钥的公钥算法应用于所述解密头来生成最终验证值,将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
Description
技术领域
本发明涉及一种速度得到提高的安全引导(booting)装置及操作其的方法。
背景技术
随着对数据安全性需求的增加,引导装置的安全引导变得强制性。然而,为了进一步增强安全性,随着加密算法的复杂性根据安全引导而增加,完成引导所花费的时间逐渐增加。
因此,需要一种在引导装置为了安全而根据加密算法操作的同时提高引导速度的方法。
发明内容
技术问题
本发明提供一种具有增强的安全性和速度的安全引导装置及操作其的方法。
技术方案
根据一实施例的用于解决本发明所要解决的问题的一种安全引导装置包括:存储器,配置为存储加密数据、加密头及对称密钥;以及处理器,配置为通过将使用所述对称密钥的对称密钥算法应用于所述加密数据和所述加密头来生成解密数据和解密头,所述解密头包括公钥和从所述公钥生成的预密钥,通过将哈希算法应用于所述解密数据来生成比较哈希消息,通过将使用所述公钥和所述预密钥的公钥算法应用于所述解密头来生成最终验证值,将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
在本实施例中,所述预密钥是通过计算P=(C^2)mod n获得的结果,其中,P可以指示所述预密钥,C可以指示常数,并且n可以指示所述公钥的一部分。
在本实施例中,所述解密头还可以包括签名,所述处理器可以通过将使用所述公钥和所述预密钥的公钥算法应用于所述签名来生成所述最终验证值。
在本实施例中,所述解密头还包括签名,并且所述处理器通过顺序执行A=(S*P)mod n、B=(A^k)mod n和R=B mod n来应用所述公钥算法,其中,S可以指示所述签名,P可以指示所述预密钥,k和n可以指示所述公钥,并且R可以指示所述最终验证值。
在本实施例中,所述签名通过将使用私钥的公钥算法应用于通过将哈希算法应用于未加密数据而生成的参考哈希消息而生成,所述参考哈希消息通过将哈希算法应用于未加密数据而生成,并且所述私钥可以与所述公钥配对。
在本实施例中,所述存储器还可以存储参考哈希公钥,并且所述处理器可以通过将哈希算法应用于所述公钥来生成比较哈希公钥,可以将所述参考哈希公钥与所述比较哈希公钥进行比较,并且如果所述参考哈希公钥和所述比较哈希公钥彼此不同,则可以确定引导失败。
在本实施例中,所述存储器还可以存储软件固有的比较幻数,所述解密头还可以包括参考幻数,并且所述处理器可以将所述比较幻数与所述参考幻数进行比较,并且如果所述比较幻数与所述参考幻数彼此不同,则可以确定引导失败。
在本实施例中,所述加密数据和所述加密头存储在NAND存储器中,并且所述对称密钥可以存储在与所述与NAND存储器不同的一次性可编程(OTP)存储器中。
根据一实施例的用于解决本发明所要解决的问题的一种一种安全引导装置的操作方法包括如下步骤:由处理器通过将使用存储在存储器中的对称密钥的对称密钥算法应用于存储在所述存储器中的加密数据和加密头来生成解密数据和解密头;由所述处理器通过将哈希算法应用于所述解密数据来生成比较哈希消息;由所述处理器通过将使用包括在所述解密头的公钥及预密钥的公钥算法应用于所述解密头而生成最终验证值;以及将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
在本实施例中,所述预密钥是通过计算P=(C^2)mod n获得的结果,其中,P可以指示所述预密钥,C可以指示常数,并且n可以指示所述公钥的一部分。
在本实施例中,所述解密头还可以包括签名,并且生成所述最终验证值的步骤可以包括如下步骤:通过将使用所述公钥和所述预密钥的公钥算法应用于所述签名来生成所述最终验证值。
在本实施例中,所述解密头还可以包括签名,并且生成所述最终验证值的步骤是顺序执行A=(S*P)mod n、B=(A^k)mod n和R=B mod n的步骤,其中,S可以指示所述签名,P可以指示所述预密钥,k和n可以指示所述公钥,并且R可以指示所述最终验证值。
在本实施例中,所述方法还可以包括如下步骤:由所述处理器将存储在所述存储器中的软件固有的比较幻数与包括在所述解密头中的参考幻数进行比较,并且如果所述比较幻数和所述参考幻数彼此不同,则确定引导失败。
在本实施例中,所述方法还可以包括如下步骤:由所述处理器通过将哈希算法应用于所述公钥来生成比较哈希公钥,将存储在所述存储器中的参考哈希公钥与所述比较哈希公钥进行比较,并且如果所述参考哈希公钥和所述比较哈希公钥彼此不同,则确定引导失败。
根据一实施例的用于解决本发明所要解决的问题的一种安全引导装置的操作方法,包括准备步骤和引导步骤,其中,所述准备步骤包括如下步骤:由所述处理器生成对称密钥、公钥和与所述公钥配对的私钥;由所述处理器通过将哈希算法应用于数据来生成参考哈希消息,并且通过将使用所述私钥的公钥算法应用于所述参考哈希消息来生成签名;由所述处理器通过执行公钥算法的至少一部分而从所述公钥生成预密钥;由所述处理器将所述签名、所述公钥和所述预密钥添加到头;由所述处理器通过将使用对称密钥的对称密钥算法应用于所述数据和所述头来生成加密数据和加密头,并且将所述加密数据和加密头存储在存储器中;以及由所述处理器通过将哈希算法应用于所述公钥来生成参考哈希公钥,并且将所述参考哈希公钥和所述对称密钥存储在所述存储器中。
在本实施例中,从所述公钥生成所述预密钥的步骤可以应用P=(C^2)mod n,其中,P可以指示所述预密钥,C可以指示常数,并且n可以指示所述公钥的一部分。
在本实施例中,所述引导步骤包括如下步骤:由所述处理器通过将使用所述对称密钥的对称密钥算法应用于所述加密数据和加密头来生成解密数据和解密头;由所述处理器通过将哈希算法应用于所述解密数据来生成比较哈希消息;由所述处理器通过将使用包括在所述解密头的所述公钥及所述预密钥的公钥算法应用于所述解密头而生成最终验证值;以及将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
在本实施例中,生成所述最终验证值的步骤可以是顺序执行A=(S*P)mod n、B=(A^k)mod n和R=B mod n的步骤,其中,S可以指示所述签名,P可以指示所述预密钥,k和n可以指示所述公钥,并且R可以指示所述最终验证值。
在本实施例中,所述准备步骤和所述引导步骤可以分别作为单独的步骤而执行。
在本实施例中,生成所述预密钥的步骤和生成所述最终验证值的步骤可以分别作为单独的步骤而执行。
技术效果
根据本发明的实施例,由于在准备操作中执行蒙哥马利算法的一些步骤,因此通过在引导操作中执行蒙哥马利算法的其余步骤来完成验证,从而提供一种具有增强的安全性和速度的安全引导装置及其操作方法。
附图说明
图1是示出根据一实施例的安全引导装置的配置的框图。
图2和图3是用于解释根据一实施例的安全引导装置的准备操作方法的流程图。
图4是用于详细说明根据一实施例的安全引导装置的引导方法的图。
具体实施方式
由于本发明可以具有各种修改的实施例,因此在附图中示出了优选实施例并在详细说明中说明了优选实施例。然而,这并不将本发明限制在特定实施例内,并且应当理解,本发明涵盖在本发明的构思和技术范围内的所有修改、等同物和替换。在本发明的说明中,当认为相关技术的某些详细解释可能不必要地模糊本发明的本质时,省略其详细解释。
本文使用的术语仅用于说明某些实施例,并不旨在限制本发明。如本文所使用的,单数形式也旨在包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括(comprises)”和/或“包含(comprising)”指定所述特征、数字、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、数字、步骤、操作、元件、部件和/或其组的存在或添加。
本发明的实施例可以由功能块配置和多样的处理步骤表示。这样的功能块可以通过执行特定功能的多个硬件配置和/或软件配置来实现。例如,本发明的实施例可以采用可通过控制超过一个的微处理器或通过其他控制系统来执行多样的功能的诸如存储器、处理器、逻辑单元和查找表之类的IC构成。类似于能够通过软件编程或软件因素执行的构成要素,本发明的实施例可以通过诸如C、C++、Java和汇编程序之类的编程或脚本语言来实现,所述编程或脚本语言包括通过数据结构、过程、例程或其他编程构成的组合实现的多样的算法。功能方面可以通过在超过一个处理器中执行的算法来实现。另外,本发明的实施例可以采用用于电子环境设置、信号处理和/或数据处理等的相关技术。诸如“机制”、“元件”、“手段”和“形成”之类的术语可以被广泛使用,并且不限于机械和物理构成。上述术语可以包括与处理器等相关的软件的一系列例程的含义。
现在将详细参照本发明的实施例,其示例在附图中示出。
图1是示出根据一实施例的安全引导装置100的配置的框图。
参照图1,根据一实施例的安全引导装置100可包括存储器110、处理器120、通信接口130和用户接口140。
存储器110可以包括第一存储器111、第二存储器113和第三存储器115。第一存储器111、第二存储器113和第三存储器115可以是非易失性存储器。第一存储器111、第二存储器113和第三存储器115可以分别存储不同的数据。
第一存储器111存储加密数据和加密头。第一存储器111可以是NAND存储器。
第二存储器113存储参考哈希公钥和高级加密标准(AES:Advanced EncryptionStandard)密钥。第二存储器113可以是一次性可编程(OTP:One Time Programmable)存储器。
第三存储器115存储软件固有的比较幻数(software-specific comparisonmagic number)。软件可以包括但不限于引导加载器、内核、操作系统、应用等。第三存储器115可以是引导只读存储器(ROM:read only memory)。
处理器120通过将使用存储在第二存储器113中的AES密钥的AES算法应用于存储在第一存储器111中的加密数据和加密头来生成解密数据和解密头,解密头包括RSA(Rivest,Schamir,Adelman)公钥、签名和预密钥(pre key),并且通过将安全哈希算法(SHA:secure hash algorithm)应用于解密数据来生成比较哈希消息,通过将使用RAS公钥和预密钥的RSA算法应用于签名来生成最终验证值,将比较哈希消息与最终验证值进行比较,并且如果比较哈希消息和最终验证值彼此不同,则确定引导失败。
处理器120可以将用于顺序执行等式1至等式3的RSA算法应用于签名。等式1至等式3可以是RSA算法的一种类型的蒙哥马利算法(Montgomery algorithm)的至少一部分。
【等式1】
A=(S*P)mod n
S可以指示签名,P可以指示预密钥,并且n可以指示RSA公钥(k,n)的一部分。
【等式2】
B=(A^k)mod n
A可以指示等式1的左项中的A。k可以指示RSA公钥(k,n)的一部分。
【等式3】
R=B mod n
B可以指示等式2的左项的B。n可以指示RSA公钥(k,n)的一部分,且R可以指示最终验证值。
可以通过将使用RSA私钥的RSA算法应用于参考哈希消息来生成签名,其中,所述参考哈希消息通过将执行等式4的SHA算法应用于未加密数据而生成。
【等式4】
S=(sha(M)^d)mod n
M可以指示参考哈希消息。RSA私钥(d,n)可以与RSA公钥(k,n)配对。
同时,预密钥可以是通过计算等式5而获得的结果。
【等式5】
P=(C^2)mod n
P可以是预密钥,C可以是常数,并且n可以是RSA公钥(k,n)。C可以是例如2^4608,但不限于此。等式5可以是RSA算法的一种类型的蒙哥马利算法的至少一部分。
处理器120可以将SHA算法应用于RSA公钥以生成比较哈希公钥,可以将存储在第二存储器113中的参考哈希公钥与比较哈希公钥进行比较,并且可以在参考哈希公钥和比较哈希公钥彼此不同时确定引导失败。
处理器120可以将包括在第三存储器115的比较幻数(magic number)与包括在解密头的参考幻数(reference magic number)进行比较,并且如果比较幻数和参考幻数彼此不同,则可以确定引导失败。
当比较哈希消息与最终验证值相同,参考哈希公钥与比较哈希公钥相同,并且比较幻数与参考幻数相同时,处理器120可以确定引导成功。例如,当比较幻数与参考幻数相同,参考哈希公钥与比较哈希公钥相同,并且比较哈希消息与最终验证值相同时,处理器120可以确定引导成功。
图2和图3是用于解释根据一实施例的安全引导装置100的准备操作方法的流程图。
安全引导装置100的准备操作在安全引导装置100的工艺期间执行,并且对应于将关于引导加载器、内核、操作系统和应用的数据存储在存储器110中的操作。安全引导装置100的准备操作可以由安全引导装置100或与安全引导装置100不同的过程处理器(未图示)执行,但不限于此。
以下,将详细说明由过程处理器(未图示)执行的准备操作的过程,该过程可以应用于由安全引导装置100或其他设备执行的准备操作。
参照图2,在操作S210中,过程处理器(未图示)生成AES密钥、RSA公钥和RSA私钥。
RSA公钥(k,n)和RSA私钥(d,n)可以配对。
接下来,在操作S220中,过程处理器(未图示)通过将SHA算法应用于数据来生成参考哈希消息。
数据可以是引导加载器、内核、操作系统、应用等的图像,但不限于此。
接下来,在操作S230中,过程处理器(未图示)通过将使用RSA私钥的RSA算法应用于参考哈希消息来生成签名。
在这种情况下,过程处理器(未)可以使用等式4来生成签名。
接下来,在操作S240中,过程处理器(未图示)通过应用使用RSA公钥的RSA算法的一部分来生成预密钥。
在这种情况下,过程处理器(未图示)可以使用等式5生成预密钥。
接下来,在操作S250中,过程处理器(未图示)将参考幻数、签名、RSA公钥和预密钥添加到数据的头。
接下来,在操作S260中,过程处理器(未图示)通过将使用AES密钥的AES算法应用于数据和头来生成加密数据和加密头,并且在操作S270中,将加密数据和加密头存储在第一存储器111中。
参照图3,在操作S310中,过程处理器(未图示)通过将SHA算法应用于RSA公钥来生成参考哈希公钥。
接下来,在操作S320中,过程处理器(未图示)将参考哈希公钥和AES密钥存储在第二存储器113中。
虽然在图2和图3中未图示,但是除了等式5之外,在本发明的安全引导装置100的准备操作中也可以执行不影响安全性的其他操作。因此,可以执行具有增强的安全性和速度的安全引导,因为通过仅执行影响引导操作中的安全性的操作来完成验证。
图4是用于详细说明根据一实施例的安全引导装置的引导方法的图。
安全引导装置100的引导操作对应于通过参照图2和图3所述的安全引导装置100的准备操作来验证存储在存储器110中的关于引导加载器、内核、操作系统和应用的数据的操作。安全引导装置100的引导操作可以由安全引导装置100执行,但不限于此。
参照图4,在操作S410中,处理器120通过将使用AES密钥的AES算法应用于存储在第一存储器111中的加密数据和加密头来生成解密数据和解密头。
接下来,在操作S420中,处理器120将存储在第三存储器115中的软件固有比较幻数与包括在解密头的参考幻数进行比较。
由于该比较,在操作S490中,如果比较幻数和参考幻数彼此不同,则处理器120确定引导失败。
根据本发明的实施例,因为安全引导装置100仅在使用在工艺中加密并存储在第一存储器111中的软件固有信息的解密结果来验证存储在第三存储器115中的软件固有比较信息时才被引导,因此可以进一步加强引导安全性。
另一方面,如果比较幻数和参考幻数相同,则在操作S430中,处理器120通过将SHA算法应用于包括在解密头的RSA公钥来生成比较哈希公钥。
接下来,在操作S440中,处理器120将存储在第二存储器113中的参考哈希公钥与比较哈希公钥进行比较。
由于该比较,如果参考哈希公钥和比较哈希公钥彼此不同,则在操作S490中,处理器120确定引导失败。
根据本发明的实施例,因为仅当使用在工艺中加密并存储在第一存储器111中的加密密钥信息的解密结果来验证在工艺中存储在第二存储器113中的加密密钥信息时安全引导装置100才被引导,因此可以进一步加强引导安全性。
另一方面,如果参考哈希公钥和比较哈希公钥相同,则在操作S450中,处理器120通过将SHA算法应用于解密数据来生成比较哈希消息。
接下来,在操作S460中,处理器120通过将使用包括在解密头的RSA公钥和预密钥的RSA算法应用于包括在解密头的签名来生成最终验证值。
在这种情况下,处理器120可以将用于顺序执行等式1至等式3的RSA算法应用于包括在解密头的签名。
同时,蒙哥马利算法是通过顺序应用等式5、等式1、等式2和等式3来验证加密信息的算法。根据本发明的实施例,由于在准备操作中已经执行了应用等式5的蒙哥马利算法的一些步骤,因此在引导操作中仅通过执行应用等式1至等式3的蒙哥马利算法的剩余步骤来完成验证,因此可以大大提高安全引导的速度。
接下来,在操作S470中,处理器120将比较哈希消息、公钥和最终验证值进行比较。
由于该比较,如果比较哈希消息和最终验证值彼此不同,则在操作S490中,处理器120确定引导失败。
根据本发明的实施例,因为仅当使用在工艺中加密并存储在第一存储器111中的数据的解密结果来验证在工艺中加密后存储在第一存储器111中的头的解密结果时安全引导装置100才被引导,因此可以进一步加强引导安全性。
另一方面,如果比较哈希消息和最终验证值相同,则在操作S480中,处理器120确定引导成功。
根据本发明的实施例,由于仅当多样的信息的验证以多样的方式完成时安全引导装置100才被引导,因此可以进一步加强引导安全性。
上面已经参考本发明的优选实施例对本发明进行了说明。本发明所属领域的普通技术人员将理解,在不脱离本发明的必要特征的情况下,可以以修改的形式实现本发明。
应当理解,在此说明的实施例应当仅在说明性的意义上考虑,而不是为了限制的目的。本发明的范围在权利要求书中指示而不是在以上说明,并且由权利要求书要求保护的发明和与要求保护的发明等同的发明应被解释为包括在本发明中。
Claims (20)
1.一种安全引导装置,包括:
存储器,配置为存储加密数据、加密头及对称密钥;以及
处理器,配置为通过将使用所述对称密钥的对称密钥算法应用于所述加密数据和所述加密头来生成解密数据和解密头,所述解密头包括公钥和从所述公钥生成的预密钥,通过将哈希算法应用于所述解密数据来生成比较哈希消息,通过将使用所述公钥和所述预密钥的公钥算法应用于所述解密头来生成最终验证值,将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
2.如权利要求1所述的安全引导装置,其中,
所述预密钥是通过计算P=(C^2)mod n获得的结果,
其中,P指示所述预密钥,C指示常数,并且n指示所述公钥的一部分。
3.如权利要求1所述的安全引导装置,其中,
所述解密头还包括签名,
所述处理器通过将使用所述公钥和所述预密钥的公钥算法应用于所述签名来生成所述最终验证值。
4.如权利要求1所述的安全引导装置,其中,
所述解密头还包括签名,
所述处理器通过顺序执行A=(S*P)mod n、B=(A^k)mod n和R=B mod n来应用所述公钥算法,
其中,S指示所述签名,P指示所述预密钥,k和n指示所述公钥,并且R指示所述最终验证值。
5.如权利要求3所述的安全引导装置,其中,
所述签名通过将使用私钥的公钥算法应用于参考哈希消息而生成,所述参考哈希消息通过将哈希算法应用于未加密数据而生成,
所述私钥与所述公钥配对。
6.如权利要求1所述的安全引导装置,其中,
所述存储器还存储参考哈希公钥,
所述处理器通过将哈希算法应用于所述公钥来生成比较哈希公钥,将所述参考哈希公钥与所述比较哈希公钥进行比较,并且如果所述参考哈希公钥和所述比较哈希公钥彼此不同,则确定引导失败。
7.如权利要求1所述的安全引导装置,其中,
所述存储器还存储软件固有的比较幻数,
所述解密头还包括参考幻数,
所述处理器将所述比较幻数与所述参考幻数进行比较,并且如果所述比较幻数与所述参考幻数彼此不同,则确定引导失败。
8.如权利要求1所述的安全引导装置,其中,
所述加密数据和所述加密头存储在NAND存储器中,并且所述对称密钥存储在与所述NAND存储器不同的一次性可编程存储器中。
9.一种安全引导装置的操作方法,所述操作方法包括如下步骤:
由处理器通过将使用存储在存储器中的对称密钥的对称密钥算法应用于存储在所述存储器中的加密数据和加密头来生成解密数据和解密头;
由所述处理器通过将哈希算法应用于所述解密数据来生成比较哈希消息;
由所述处理器通过将使用包括在所述解密头的公钥及预密钥的公钥算法应用于所述解密头而生成最终验证值;以及
将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
10.如权利要求9所述的安全引导装置的操作方法,其中,
所述预密钥是通过计算P=(C^2)mod n获得的结果,
其中,P指示所述预密钥,C指示常数,并且n指示所述公钥的一部分。
11.如权利要求9所述的安全引导装置的操作方法,其中,
所述解密头还包括签名,
生成所述最终验证值的步骤包括如下步骤:通过将使用所述公钥和所述预密钥的公钥算法应用于所述签名来生成所述最终验证值。
12.如权利要求9所述的安全引导装置的操作方法,其中,
所述解密头还包括签名,
生成所述最终验证值的步骤是顺序执行A=(S*P)mod n、B=(A^k)mod n和R=B mod n的步骤,
其中,S指示所述签名,P指示所述预密钥,k和n指示所述公钥,并且R指示所述最终验证值。
13.如权利要求9所述的安全引导装置的操作方法,还包括如下步骤:
由所述处理器将存储在所述存储器中的软件固有的比较幻数与包括在所述解密头中的参考幻数进行比较,并且如果所述比较幻数和所述参考幻数彼此不同,则确定引导失败。
14.如权利要求9所述的安全引导装置的操作方法,还包括如下步骤:
由所述处理器通过将哈希算法应用于所述公钥来生成比较哈希公钥,将存储在所述存储器中的参考哈希公钥与所述比较哈希公钥进行比较,并且如果所述参考哈希公钥和所述比较哈希公钥彼此不同,则确定引导失败。
15.一种安全引导装置的操作方法,包括准备步骤和引导步骤,其中,所述准备步骤包括如下步骤:
由所述处理器生成对称密钥、公钥和与所述公钥配对的私钥;
由所述处理器通过将哈希算法应用于数据来生成参考哈希消息,并且通过将使用所述私钥的公钥算法应用于所述参考哈希消息来生成签名;
由所述处理器通过执行公钥算法的至少一部分而从所述公钥生成预密钥;
由所述处理器将所述签名、所述公钥和所述预密钥添加到头;
由所述处理器通过将使用对称密钥的对称密钥算法应用于所述数据和所述头来生成加密数据和加密头,并且将所述加密数据和加密头存储在存储器中;以及
由所述处理器通过将哈希算法应用于所述公钥来生成参考哈希公钥,并且将所述参考哈希公钥和所述对称密钥存储在所述存储器中。
16.如权利要求15所述的安全引导装置的操作方法,其中,
从所述公钥生成所述预密钥的步骤是应用P=(C^2)mod n的步骤,
其中,P指示所述预密钥,C指示常数,并且n指示所述公钥的一部分。
17.如权利要求15所述的安全引导装置的操作方法,其中,所述引导步骤包括如下步骤:
由所述处理器通过将使用所述对称密钥的对称密钥算法应用于所述加密数据和加密头来生成解密数据和解密头;
由所述处理器通过将哈希算法应用于所述解密数据来生成比较哈希消息;
由所述处理器通过将使用包括在所述解密头的所述公钥及所述预密钥的公钥算法应用于所述解密头而生成最终验证值;以及
将所述比较哈希消息与所述最终验证值进行比较,并且如果所述比较哈希消息和所述最终验证值彼此不同,则确定引导失败。
18.如权利要求17所述的安全引导装置的操作方法,其中,
生成所述最终验证值的步骤是顺序执行A=(S*P)mod n、B=(A^k)mod n和R=B mod n的步骤,
其中,S指示所述签名,P指示所述预密钥,k和n指示所述公钥,并且R指示所述最终验证值。
19.如权利要求17所述的安全引导装置的操作方法,其中,
所述准备步骤和所述引导步骤分别作为单独的步骤而执行。
20.如权利要求17所述的安全引导装置的操作方法,其中,
生成所述预密钥的步骤和生成所述最终验证值的步骤分别作为单独的步骤而执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0124777 | 2019-10-08 | ||
KR1020190124777A KR20210041932A (ko) | 2019-10-08 | 2019-10-08 | 보안 부팅 장치 및 그 동작 방법 |
PCT/KR2020/011608 WO2021071090A1 (ko) | 2019-10-08 | 2020-08-31 | 보안 부팅 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114514725A true CN114514725A (zh) | 2022-05-17 |
Family
ID=75438272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080071074.8A Pending CN114514725A (zh) | 2019-10-08 | 2020-08-31 | 安全引导装置及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240086543A1 (zh) |
EP (1) | EP4044056A4 (zh) |
KR (1) | KR20210041932A (zh) |
CN (1) | CN114514725A (zh) |
WO (1) | WO2021071090A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8254568B2 (en) * | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
KR20140073384A (ko) * | 2012-12-06 | 2014-06-16 | 삼성전자주식회사 | 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법 |
US9536094B2 (en) * | 2014-01-13 | 2017-01-03 | Raytheon Company | Mediated secure boot for single or multicore processors |
KR102617354B1 (ko) * | 2017-01-05 | 2023-12-26 | 삼성전자주식회사 | 보안 부트 시퀀서 및 보안 부트 장치 |
KR102434444B1 (ko) * | 2017-11-29 | 2022-08-19 | 한국전자통신연구원 | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 |
-
2019
- 2019-10-08 KR KR1020190124777A patent/KR20210041932A/ko unknown
-
2020
- 2020-08-31 WO PCT/KR2020/011608 patent/WO2021071090A1/ko active Application Filing
- 2020-08-31 CN CN202080071074.8A patent/CN114514725A/zh active Pending
- 2020-08-31 EP EP20873436.8A patent/EP4044056A4/en active Pending
- 2020-08-31 US US17/767,714 patent/US20240086543A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240086543A1 (en) | 2024-03-14 |
EP4044056A1 (en) | 2022-08-17 |
EP4044056A4 (en) | 2023-11-15 |
KR20210041932A (ko) | 2021-04-16 |
WO2021071090A1 (ko) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809646B (zh) | 安全共享密钥共享系统 | |
US9673975B1 (en) | Cryptographic key splitting for offline and online data protection | |
US8607072B2 (en) | Storage device content authentication | |
CN107220547B (zh) | 终端设备及其启动方法 | |
US9959403B2 (en) | Information processing system for mutual authentication between communication device and storage | |
CN108055585B (zh) | 数据处理方法、机顶盒升级方法、终端和机顶盒 | |
US8886949B2 (en) | Information processing apparatus and method therefor | |
WO2021103839A1 (zh) | 安全加固架构、加解密方法、车联网终端和车辆 | |
CN112241527A (zh) | 密钥生成方法、系统及电子设备 | |
CN111177709A (zh) | 一种终端可信组件的执行方法、装置及计算机设备 | |
CN112385175B (zh) | 一种用于数据加密和完整性的设备 | |
CN104899524A (zh) | 中央处理器和验证主机板数据的方法 | |
CN115168813A (zh) | 固件签名以及处理器启动方法和装置 | |
CN111125665A (zh) | 认证方法及设备 | |
US20230139104A1 (en) | Authenticated encryption apparatus, authenticated decryption apparatus, authenticated encryption system, method, and computer readable medium | |
JP2023182857A (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法及びプログラム | |
EP4044056A1 (en) | Secure booting apparatus and operating method thereof | |
US11734009B2 (en) | Parallel processing of fetch blocks of data | |
KR101973578B1 (ko) | 어플리케이션의 무결성 검증 방법 및 장치 | |
CN110298145B (zh) | 一种基于公开密钥密码算法的固件程序装载保护方法 | |
TWI675340B (zh) | 程式驗證方法 | |
CN113408012A (zh) | 故障检测 | |
JP6436794B2 (ja) | 情報処理装置、その制御方法及びプログラム | |
CN117353920B (zh) | 一种密钥派生方法、处理器和相关设备 | |
CN117556430B (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 | ||
CB02 | Change of applicant information |
Address after: Gyeonggi Do city of South Korea Applicant after: Hanhua Vision Co.,Ltd. Address before: Gyeonggi Do city of South Korea Applicant before: HANWHA TECHWIN Co.,Ltd. |
|
CB02 | Change of applicant information |