CN113204769A - 安全设备、电子设备、以及安全启动管理系统 - Google Patents
安全设备、电子设备、以及安全启动管理系统 Download PDFInfo
- Publication number
- CN113204769A CN113204769A CN202110093281.XA CN202110093281A CN113204769A CN 113204769 A CN113204769 A CN 113204769A CN 202110093281 A CN202110093281 A CN 202110093281A CN 113204769 A CN113204769 A CN 113204769A
- Authority
- CN
- China
- Prior art keywords
- key
- boot
- protected
- protection method
- derivative
- 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
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
-
- 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/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/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
- H04L9/3242—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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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
- H04L9/3268—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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种安全设备、电子设备、安全启动管理系统、用于生成启动映像的方法和用于执行启动链的方法。该安全设备包括:密钥派生器,被配置为接收根密钥和启动映像中包括的受保护的启动密钥,并根据密钥保护方法使用该根密钥和受保护的启动密钥来生成派生密钥;密钥处理器,被配置为根据密钥保护方法使用所生成的派生密钥来执行验证,以从启动映像中包括的受保护的启动密钥中提取启动密钥;安全启动器,被配置为使用所提取的启动密钥对启动映像中包括的受保护的执行映像执行验证;以及处理器,被配置为执行安全启动器已对其完成验证的经验证的执行映像。
Description
相关申请的交叉引用
本申请要求于2020年1月30日在韩国知识产权局递交的韩国专利申请No.10-2020-0011001的优先权,其全部内容通过引用合并于此。
技术领域
与实施例一致的装置和方法涉及安全设备、电子设备、安全启动管理系统、用于生成启动映像的方法和用于执行启动链的方法。
背景技术
通常,电子设备执行启动映像以执行初始化,并执行加载启动映像(或内核、操作系统(OS)等)的启动操作。如果启动操作是由未经授权的启动映像执行的,则存在诸如数据复制或执行非法应用程序之类的风险。大多数制造商已使用安全的启动链,该启动链通过对启动映像进行加密来提供机密性,或者通过验证启动映像的签名来检查启动映像是否被篡改。
发明内容
示例性实施例的各方面提供了具有改进的安全可靠性的安全设备、电子设备和安全启动管理系统。
示例性实施例的各方面还提供了具有改进的安全可靠性的启动映像生成方法和启动链执行方法。
然而,应当理解的是,本公开的各方面不限于本文所阐述的那些。通过参照下面提供的详细描述,本公开的上述和其他方面对于本公开所属领域的普通技术人员而言将变得更加显而易见。
根据示例性实施例的一个方面,提供了一种安全设备,包括:密钥派生器,被配置为接收根密钥和启动映像中包括的受保护的启动密钥,并根据密钥保护方法使用该根密钥和受保护的启动密钥来生成派生密钥;密钥处理器,被配置为根据密钥保护方法使用所生成的派生密钥来执行验证,以从启动映像中包括的受保护的启动密钥中提取启动密钥;安全启动器,被配置为使用所提取的启动密钥对启动映像中包括的受保护的执行映像执行验证;以及处理器,被配置为执行安全启动器已对其完成验证的经验证的执行映像。
根据示例性实施例的另一方面,提供了一种电子设备,包括:存储设备,被配置为存储包括受保护的启动密钥和受保护的执行映像的启动映像;以及安全设备,被配置为存储根密钥并使用该根密钥执行启动操作以执行启动映像,其中,该安全设备为配置为根据预定的密钥保护方法使用根密钥和受保护的启动密钥来生成派生密钥,根据预定的密钥保护方法使用所生成的派生密钥来执行验证,以从受保护的启动密钥中提取启动密钥,并使用所提取的启动密钥来执行启动操作。
根据另一示例性实施例的一方面,提供了一种安全启动管理系统,包括:密钥派生器,被配置为接收根密钥和密钥保护方法,并根据所接收到的密钥保护方法使用所接收到的根密钥生成派生密钥;密钥保护器,被配置为根据密钥保护方法使用所生成的派生密钥对启动密钥执行保护操作,以生成受保护的启动密钥;以及启动映像生成系统,被配置为使用启动密钥对执行映像执行保护操作,并生成包括受保护的启动密钥和受保护的执行映像的启动映像。
根据另一示例性实施例的一方面,提供了一种用于生成启动映像的方法,该方法包括:接收根密钥和密钥保护方法;根据所接收到的密钥保护方法使用根密钥来生成派生密钥;根据所述密钥保护方法使用所生成的派生密钥对启动密钥执行保护操作,以生成受保护的启动密钥;以及使用启动密钥对执行映像执行保护操作;以及生成包括受保护的启动密钥和受保护的执行映像的启动映像。
根据另一示例性实施例的一方面,提供了一种用于执行启动链的方法,所述方法包括:接收根密钥和包括在启动映像中的受保护的启动密钥;根据密钥保护方法使用根密钥和受保护的启动密钥来生成派生密钥;根据密钥保护方法使用所生成的派生密钥来执行验证;以及从启动映像中包括的受保护的启动密钥中提取启动密钥;使用所提取的启动密钥对启动映像中包括的受保护的执行映像执行验证;以及执行已对其完成验证的经验证的执行映像以执行启动映像。
附图说明
通过参照附图详细描述本公开的示例实施例,以上和其他方面和特征将变得更清楚,在附图中:
图1是示出了根据实施例的安全系统的框图;
图2是说明了根据实施例的图1的启动密钥保护系统的框图;
图3是说明了根据实施例的图1的启动映像生成系统的框图;
图4是说明了根据实施例的图1的存储设备的图;
图5是说明了根据实施例的图1的安全设备的框图;
图6是说明了根据实施例的图5的密钥派生器的框图;
图7是说明了根据实施例的图5的密钥处理器的框图;
图8是示出了根据实施例的启动映像生成方法的流程图;
图9和图10是描述了根据一个或多个实施例的启动映像生成方法的图;
图11是示出了根据实施例的启动链执行方法的流程图;
图12至图15是描述了根据一个或多个实施例的启动链执行方法的图;
图16和图17是描述了根据一个或多个实施例的安全系统的效果的图;以及
图18至图21是示出了根据一个或多个实施例的图1所示的电子设备的示例的框图。
具体实施方式
在下文中,将参照附图来描述本公开的示例性实施例。在整个公开中,诸如“a、b或c中的至少一个”(或“a、b和c中的至少一个”)之类的表述指示仅a,仅b,仅c,a和b两者,a和c两者,b和c两者,或者a、b和c的全部。
图1是示出了根据实施例的安全系统1的框图。
参照图1,安全系统1可以包括安全启动管理系统100和电子设备200。
安全启动管理系统100可以创建包括受保护的启动密钥212a和受保护的执行映像212b的启动映像212。在本实施例中,启动映像被用作为在电子设备200的启动操作中使用的映像、内核、操作系统(OS)等的通用术语。
安全启动管理系统100可以包括启动密钥保护系统110和启动映像生成系统120。
启动密钥保护系统110可以生成启动映像生成系统120所需或所使用的受保护的启动密钥212a,以创建启动映像212。
启动映像生成系统120可以使用启动密钥生成受保护的执行映像212b,并接收从启动密钥保护系统110生成的受保护的启动密钥212a。此外,启动映像生成系统120可以生成包括受保护的启动密钥212a和受保护的执行映像212b的启动映像212。
在一些实施例中,安全启动管理系统100可以以服务器的形式实现。在这种情况下,安全启动管理系统100中包括的启动密钥保护系统110和启动映像生成系统120可以分别被实现为软件模块。然而,应当理解的是,实施例不限于此,并且启动密钥保护系统110和启动映像生成系统120可以分别被实现为硬件。
电子设备200可以存储安全启动管理系统100创建的启动映像212并执行所存储的启动映像212,以执行启动操作。
电子设备200可以包括存储设备210和安全设备220。
存储设备210可以存储安全启动管理系统100创建的启动映像212。具体地,根据实施例,存储设备210可以存储被创建为包括受保护的启动密钥212a和受保护的执行映像212b的启动映像212。
可以通过各种方法向电子设备200提供安全启动管理系统100创建的启动映像212。在一些实施例中,在生产电子设备200时,可以从安全启动管理系统100提供启动映像212,以将其存储在存储设备210中。然而,应当理解的是,一个或多个其他实施例不限于此。例如,在一个或多个其他实施例中,在电子设备200运行时,可以通过无线和/或有线通信从安全启动管理系统100提供启动映像212,以将其存储在存储设备210中。
存储设备210可以包括非易失性存储器设备。具体地,存储设备210可以被配置为包括例如相变RAM(PRAM)、磁阻RAM(MRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)、NAND闪存、NOR闪存等中的至少一种。
安全设备220可以执行存储设备210中存储的启动映像212,以执行电子设备200的启动操作。
安全设备220可以以集成电路(IC)的形式制造,并安装在电子设备200上。下面描述了安全设备220的详细操作。
在下文中,下面参照图2至图7更详细地描述了根据一个或多个实施例的启动密钥保护系统110、启动映像生成系统120、存储设备210和安全设备220的配置。
图2是说明了根据实施例的图1的启动密钥保护系统110的框图。
参照图2,启动密钥保护系统110可以包括密钥派生器112和密钥保护器114。
密钥派生器112被配置有根密钥302、附加信息304(例如,用户附加信息)和密钥保护方法306,并且可以从根密钥302生成派生密钥312。
详细地,密钥派生器112可以根据所提供的密钥保护方法306使用根密钥302来生成保护启动密钥308所需或所使用的派生密钥312。在这种情况下,如果附加信息304由用户确定为必要或用于安全性,则密钥派生器112可以考虑附加信息304来生成派生密钥312。
在本实施例中,派生密钥312可以是根据密钥保护方法306用于保护启动密钥308的密钥保护密钥。
密钥保护方法306可以根据需要、设计或期望以各种方式来实现。通过示例方式,作为用于安全启动的密钥保护方法306,可以使用启动映像加密方法和启动映像验证方法。
首先,为了确保启动映像的机密性,可以使用秘密密钥加密。在此,秘密密钥加密可以使用基于国际标准的任何或大部分秘密密钥加密算法。通常,当秘密密钥暴露于外部时,可以对加密的启动映像进行解密。因此,秘密密钥可以仅在制造商管理的安全环境中使用,并且可以被管理以免暴露于外部。
接下来,启动映像验证方法是一种能够验证是否已从合法制造商创建启动映像的方法。启动映像验证方法可以包括例如基于消息认证码(MAC)的验证方法或基于公钥的签名方法。
在基于MAC的验证方法中,使用仅由制造商识别的MAC密钥来生成启动映像的MAC值,并将所生成的MAC值与启动映像一起存储在电子设备中。随后,在电子设备的安全启动操作中验证所存储的MAC值,从而检查是否已从合法用户创建所存储的启动映像,或者检查启动映像是否已被篡改。
在此,MAC密钥可以用于检查启动映像的篡改。MAC密钥是制造商设置的密钥,并且可以是创建安全肩动映像时生成的值。这样生成的MAC密钥和与启动映像一起存储的MAC值可以用于MAC认证过程。MAC密钥可以用于验证启动映像的篡改和启动映像生成器的合法性。
在基于公钥的签名方法中,使用私钥生成签名值,并将所生成的签名值与启动映像一起存储在电子设备中。随后,在电子设备的安全启动步骤中使用公钥来验证所存储的签名值,从而检查是否已经从合法用户生成了启动映像,或者是否已经篡改了启动映像。
在此,私钥可以用作启动映像签名生成密钥。可能需要私钥来生成附加签名值,以用于检查启动映像的篡改。启动映像签名生成密钥需要或可以在与秘密密钥加密中使用的秘密密钥相同的级别上安全地进行管理。
另一方面,公钥可以用作启动映像签名验证密钥。可能需要或使用公钥来验证启动映像的签名。
与秘密密钥加密或基于MAC的验证方法不同,基于公钥的签名方法可以使用将用于生成签名值的密钥与用于验证签名值的密钥分离的方案。由于不能仅使用签名验证密钥(公钥)来重新生成签名生成密钥,因此对于签名验证密钥可能不需要附加的密钥保护,并且签名验证密钥(公钥)本身可以是可见的。
密钥派生器112可以包括多个子密钥派生器112a至112n,以生成在这种各种密钥保护方法306中使用的派生密钥312。
尽管在附图中示例性地详细示出了仅四个子密钥派生器112a、112b、112c和112n,但是应当理解的是,这仅是示例,并且一个或多个其他实施例不限于此。密钥派生器112在另一实施例中还可以包括附加的子密钥派生器,或者在另一实施例中包括更少的子密钥派生器。
当(或基于)秘密密钥加密被用作密钥保护方法306时,子密钥派生器112a可以生成用于秘密密钥加密的派生密钥312。
当(或基于)MAC操作被用作密钥保护方法306时,子密钥派生器112b可以生成用于MAC操作的派生密钥312。
当(或基于)基于公钥的签名被用作密钥保护方法306时,子密钥派生器112c可以生成用于生成电子签名的派生密钥312。
当(或基于)网络标准证书被用作密钥保护方法306时,子密钥派生器112n可以生成用于生成证书的派生密钥312。
密钥保护器114可以根据密钥保护方法306使用派生密钥312对启动密钥308执行保护操作,从而生成受保护的启动密钥212a。
具体地,密钥保护器114可以根据所提供的密钥保护方法306使用派生密钥312从启动密钥308生成受保护的启动密钥212a。
密钥保护器114可以具有与密钥派生器112相对应的配置。详细地,如果密钥派生器112包括多个子密钥派生器112a至112n,以便生成在各种密钥保护方法306中使用的派生密钥312,则密钥保护器114还可以包括与密钥派生器112中包括的多个子密钥派生器112a至112n相对应的子密钥保护器114a至114n。
尽管在附图中示例性地详细示出了仅四个子密钥保护器114a、114b、114c和114n,但是应当理解的是,这仅是示例,并且一个或多个其他实施例不限于此。密钥保护器114在另一实施例中还可以包括附加的子密钥保护器,或者在另一实施例中包括更少的子密钥派生器。
当(或基于)秘密密钥加密被用作密钥保护方法306时,子密钥保护器114a可以通过使用派生密钥312对启动密钥308进行加密来生成受保护的启动密钥212a。
当(或基于)MAC操作被用作密钥保护方法306时,子密钥保护器114b可以通过使用派生密钥312对启动密钥308执行MAC操作来生成受保护的启动密钥212a。
当(或基于)基于公钥的签名被用作密钥保护方法306时,子密钥保护器114c可以通过使用派生密钥312为启动密钥308生成电子签名来生成受保护的启动密钥212a。
当(或基于)网络标准证书被用作密钥保护方法306时,子密钥保护器114n可以通过使用派生密钥312为启动密钥308生成证书来生成受保护的启动密钥212a。
在图2中,与启动密钥保护系统110分开地示出了在启动密钥保护系统110的操作中使用的根密钥302、用户附加信息304、密钥保护方法306和肩动密钥308。然而,应当理解的是,这是为了简化说明,并且一个或多个其他实施例不限于此。
在一些实施例中,启动密钥保护系统110可以被修改为存储根密钥302、附加信息304、密钥保护方法306和启动密钥308中的所有。此外,在一些其他实施例中,根密钥302、用户附加信息304、密钥保护方法306和启动密钥308中的一些可以存储在启动密钥保护系统110中,并且其余的可以存储在图1所示的安全启动管理系统100中。
在一些实施例中,可以使用多种密钥保护方法306来生成受保护的启动密钥212a。例如,当使用彼此不同的第一密钥保护方法306和第二密钥保护方法306来生成受保护的启动密钥212a时,密钥派生器112可以从根密钥302生成第一密钥保护方法306所需或所使用的第一派生密钥312,并从根密钥302生成第二密钥保护方法306所需或所使用的第二派生密钥312。
即,密钥派生器112可以从相同的根密钥302生成彼此不同的第一派生密钥和第二派生密钥312。
在这种情况下,密钥保护器114可以根据第一密钥保护方法306使用第一派生密钥312对启动密钥308执行第一保护操作,并且可以根据第二密钥保护方法306使用第二派生密钥312对启动密钥308执行第二保护操作,从而生成受保护的启动密钥212a。
换句话说,根据用户的需要,可以使用许多各种密钥保护方法306来生成受保护的启动密钥212a。
图3是说明了根据实施例的图1的启动映像生成系统120的框图。
参照图3,启动映像生成系统120可以从启动密钥保护系统110接收受保护的启动密钥212a。此外,启动映像生成系统120可以通过使用多次可更新的启动密钥308对执行映像332执行保护操作来生成受保护的执行映像212b。附加地,启动映像生成系统120可以生成包括受保护的启动密钥212a和受保护的执行映像212b的启动映像212。
在一些实施例中,执行映像332可以已存储在图1的安全启动管理系统100的存储设备中,但是应当理解的是,一个或多个其他实施例不限于此。
图4是说明了根据实施例的图1的存储设备210的图。
参照图4,根据一个或多个实施例,(图1的)电子设备200的存储设备210可以存储有(图1的)安全启动管理系统100生成的包括受保护的启动密钥212a和受保护的执行映像212b的启动映像212。
在一些实施例中,存储设备210可以根据需要或指示存储有多个启动映像212至219。多个启动映像212至219可以分别包括不同的受保护的启动密钥212a至219a和受保护的执行映像212b至219b。
换句话说,多个启动映像212至219可以分别包括通过(图3的)不同的密钥保护方法306生成的受保护的启动密钥212a至219a和受保护的执行映像212b至219b。
图5是说明了图1的安全设备220的框图。
参照图5,安全设备220可以包括存储设备222、密钥派生器224、密钥处理器226、安全启动器227、内部存储器228和处理器229。
存储设备222可以存储根密钥302。存储在存储设备222中的根密钥302可以是与上述(图2的)启动密钥保护系统110的根密钥302相同的密钥。
在一些实施例中,存储设备222可以包括非易失性存储器。例如,存储设备222可以被实现为各种存储器,例如,一次性可编程(OTP)、几次可编程(FTP)、多次可编程(MTP)等。然而,应当理解的是,一个或多个其他实施例不限于此,并且可以根据需要自由地修改和实施,只要存储设备222可以存储安全设备220的批量生产时固定的根密钥302即可。
密钥派生器224可以生成验证(图1的)存储设备210中存储的启动映像212中包括的受保护的启动密钥212a所需的(图12的)派生密钥352。
具体地,密钥派生器224可以根据(图2的)密钥保护方法306使用根密钥302来生成验证受保护的启动密钥212a所需或所使用的(图12的)派生密钥352。类似地,在这种情况下,如果(图2的)附加信息304由用户确定为必要或用于安全性,则密钥派生器224可以考虑(图2的)附加信息304(例如,用户附加信息)来生成(图12的)派生密钥352。
在一些实施例中,(图12的)密钥派生器224生成派生密钥352所需或所使用的(图2的)密钥保护方法306或(图2的)附加信息304可以从启动映像212获取。备选地,在一些其他实施例中,(图12的)密钥派生器224生成派生密钥352所需或所使用的(图2的)密钥保护方法306或(图2的)附加信息304可以从(图1的)安全启动管理系统100提供。
密钥派生器224可以具有与上述图2的启动密钥保护系统110的密钥派生器112相对应的配置,下面参照图6对其进行更详细的描述。
图6是说明了根据实施例的图5的密钥派生器224的框图。
参照图6,类似于上述图2的密钥派生器112,密钥派生器224可以包括多个子密钥派生器224a至224n,以生成(图2的)各种密钥保护方法306中使用的派生密钥352。
尽管在附图中示例性地详细示出了仅四个子密钥派生器224a、224b、224c和224n,但是应当理解的是,一个或多个其他实施例不限于所示出的示例。例如,密钥派生器224可以包括附加的和/或不同的子密钥派生器,或者可以包括更少的子密钥派生器。
如果(或基于)秘密密钥加密被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥派生器224a可以生成用于秘密密钥解密的(图12的)派生密钥352。
如果(或基于)MAC操作被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥派生器224b可以生成用于MAC验证的(图12的)派生密钥352。
如果(或基于)基于公钥的签名被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥派生器224c可以生成用于电子签名验证的(图12的)派生密钥352。
如果(或基于)网络标准证书被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥派生器224n可以生成用于证书验证的(图12的)派生密钥352。
返回参照图5,密钥处理器226根据密钥保护方法使用从密钥派生器224生成的(图12的)派生密钥352对受保护的启动密钥212a执行验证。当验证完成时,密钥处理器226可以从受保护的启动密钥212a中提取用于验证受保护的执行映像212b的(图13的)启动密钥362。
密钥处理器226可以具有与上述图2的启动密钥保护系统110的密钥保护器114相对应的配置,下面参照图7对其进行更详细的描述。
图7是说明了根据实施例的图5的密钥处理器226的框图。
当(或基于)(图2的)启动密钥保护系统110的密钥保护器114包括(图2的)子密钥保护器114a至114n以使用(图2的)各种密钥保护方法306保护(图2的)启动密钥308时,密钥处理器226还可以包括用于验证(图2的)各个密钥保护方法306的子密钥处理器226a至226n。
尽管在附图中示例性地详细示出了仅四个子密钥处理器226a、226b、226c和226n,但是应当理解的是,一个或多个其他实施例不限于此。例如,密钥处理器226可以包括附加的和/或不同的子密钥处理器,或者更少的子密钥处理器。
如果(或基于)秘密密钥加密被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥处理器226a可以使用(图12的)派生密钥352对(图5的)受保护的启动密钥212a进行解密,并从(图5的)受保护的启动密钥212a提取(图13的)启动密钥362。
如果(或基于)MAC操作被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥处理器226b可以使用(图12的)派生密钥352对(图5的)受保护的启动密钥212a执行MAC验证,并从(图5的)受保护的启动密钥212a提取(图13的)启动密钥362。
如果(或基于)基于公钥的签名被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥处理器226c可以使用(图12的)派生密钥352对(图5的)受保护的启动密钥212a的电子签名进行验证,并从(图5的)受保护的启动密钥212a提取(图13的)启动密钥362。
如果(或基于)网络标准证书被用作(图5的)受保护的启动密钥212a的(图2的)密钥保护方法306,则子密钥派生器226n可以使用(图12的)派生密钥352对(图5的)受保护的启动密钥212a的证书进行验证,并从(图5的)受保护的启动密钥212a提取(图13的)启动密钥362。
返回参照图5,安全启动器227可以使用所提取的(图13的)启动密钥362对受保护的执行映像212b执行验证。
在完成对受保护的执行映像212b的验证之后,安全启动器227可以将(图14的)经验证的执行映像372存储在内部存储器228或位于安全设备220外部的外部存储器中,从而允许处理器229继续进行启动过程。
在一些实施例中,可以使用多种密钥保护方法来从受保护的启动密钥212a提取(图13的)启动密钥362。例如,如果使用彼此不同的第一密钥保护方法和第二密钥保护方法来生成受保护的启动密钥212a,则密钥派生器224可以从根密钥302生成验证第一密钥保护方法所需或所使用的第一派生密钥,并从根密钥302生成验证第二密钥保护方法所需或所使用的第二派生密钥。
即,密钥派生器224可以从相同的根密钥302生成彼此不同的第一派生密钥和第二派生密钥。
在这种情况下,密钥处理器226可以根据第一密钥保护方法使用第一派生密钥对受保护的启动密钥212a执行第一验证,并且根据第二密钥保护方法使用第二派生密钥执行第二验证。因此,密钥处理器226可以从受保护的启动密钥212a提取(图13的)启动密钥362。
换句话说,根据用户的需要或设置,可以使用许多各种密钥保护方法从受保护的启动密钥212a提取(图13的)启动密钥362。
在一些实施例中,如图4所示,当多个启动映像212至219已经存储在存储设备210中时,安全设备220可以针对启动映像212至219中的每一个执行不同的启动操作。
例如,当(或基于)包括第一受保护的启动密钥212a和第一受保护的执行映像212b的第一启动映像212,以及包括与第一受保护的启动密钥212a不同的第二受保护的启动密钥213a和与第一受保护的执行映像212b不同的第二受保护的执行映像213b的第二启动映像213已经存储在存储设备210中时,密钥派生器224可以使用根密钥302和第一受保护的启动密钥212a来生成第一派生密钥,并使用根密钥302和第二受保护的启动密钥213a来生成第二派生密钥。
然后,密钥处理器226可以使用第一派生密钥和第一受保护的启动密钥212a从第一受保护的启动密钥212a提取第一启动密钥,并使用第二派生密钥和第二受保护的启动密钥213a从第二受保护的启动密钥213a提取第二启动密钥。
此后,安全启动器227可以使用第一启动密钥执行第一启动操作,并使用第二启动密钥执行第二启动操作。
在下文中,参照图8至图10描述根据一个或多个实施例的启动映像生成方法。
图8是示出了根据实施例的启动映像生成方法的流程图。图9和图10是描述了根据一些实施例的启动映像生成方法的图。
首先,参照图8,生成派生密钥(操作S100)。
例如,参照图9,启动密钥保护系统110的密钥派生器112配置有根密钥302、用户附加信息304和密钥保护方法306。密钥派生器112可以根据所提供的密钥保护方法306使用根密钥302来生成保护启动密钥308所需或所使用的派生密钥312。
在这种情况下,如果已经提供了多种密钥保护方法306,则密钥派生器112可以分别生成密钥保护方法306所需的多个派生密钥312。
返回参照图8,使用派生密钥来生成受保护的启动密钥(操作S110)。
例如,参照图10,启动密钥保护系统110的密钥保护器114可以根据所提供的密钥保护方法306通过使用派生密钥312从启动密钥308生成受保护的启动密钥212a。
在这种情况下,如果已经提供了多种密钥保护方法306和多个派生密钥312,则密钥保护器114可以通过使用各个密钥保护方法306所需或所使用的多个派生密钥312从启动密钥308生成受保护的启动密钥212a。因此,在该实施例中,启动密钥308可以是多次可更新的启动密钥。
返回参照图8,使用受保护的启动密钥来创建启动映像(操作S120)。
例如,参照图3,启动密钥保护系统110的启动映像生成系统120配置有受保护的启动密钥212a、启动密钥308和执行映像332。启动映像生成系统120可以通过使用启动密钥308对执行映像332执行保护操作。
结果是,可以创建启动映像212,并且可以包括受保护的启动密钥212a和受保护的执行映像212b。
为了简化描述,在附图中仅示出了一个受保护的执行映像212b,但是应当理解的是,一个或多个其他实施例不限于此。启动映像生成系统120可以通过使用(图2的)不同的密钥保护方法306生成的多个不同的受保护的启动密钥212a来生成包括多个受保护的执行映像212b的多个启动映像212。
接下来,将参照图11至图15描述根据一个或多个实施例的启动链执行方法。
图11是示出了根据实施例的启动链执行方法的流程图。图12至图15是描述了根据一些实施例的启动链执行方法的图。
首先,参照图11,生成派生密钥(操作S200)。
例如,参照图12,密钥派生器224可以根据(图2的)密钥保护方法306使用根密钥302来生成验证受保护的启动密钥212a所需或所使用的派生密钥352。此时,如果(图2的)附加信息304由用户确定为必要或用于安全性,则密钥派生器224可以考虑(图2的)附加信息304(例如,用户附加信息)来生成派生密钥352。
在一些实施例中,密钥派生器224生成派生密钥352所需或所使用的(图2的)密钥保护方法306或(图2的)附加信息304可以从启动映像212获取。备选地,在一些其他实施例中,密钥派生器224生成派生密钥352所需或所使用的(图2的)密钥保护方法306或(图2的)用户附加信息304可以从(图1的)安全启动管理系统100提供。
在一些实施例中,可以使用多种密钥保护方法来从受保护的启动密钥212a提取启动密钥362。例如,当(或基于)使用彼此不同的第一密钥保护方法和第二密钥保护方法来生成受保护的启动密钥212a时,密钥派生器224可以从根密钥302生成验证第一密钥保护方法所需或所使用的第一派生密钥,并从根密钥302生成验证第二密钥保护方法所需或所使用的第二派生密钥。即,密钥派生器224可以生成多个派生密钥352。
接下来,参照图11,通过使用派生密钥从启动映像提取启动密钥(操作S210)。
例如,参照图13,密钥处理器226可以根据密钥保护方法使用从密钥派生器224生成的派生密钥352对受保护的启动密钥212a执行验证。当验证完成时,密钥处理器226可以从受保护的启动密钥212a提取用于验证受保护的执行映像212b的启动密钥362。
在一些实施例中,如果使用多种密钥保护方法来从受保护的启动密钥212a提取启动密钥362,则密钥处理器226可以根据第一密钥保护方法通过使用第一派生密钥352对受保护的启动密钥212a执行第一验证,并根据第二密钥保护方法通过使用第二派生密钥352对受保护的启动密钥212a执行第二验证,从而从受保护的启动密钥212a提取启动密钥362。
换句话说,根据用户的需要或设置,可以使用许多各种密钥保护方法从受保护的启动密钥212a提取启动密钥362。
接下来,参照图11,使用所提取的启动密钥来验证受保护的执行映像(操作S220)。如果(或基于)验证成功(步骤S230中为“是”),则对执行映像进行执行以执行启动链(步骤S240)。如果(或基于)验证失败(步骤S230中为“否”),则终止启动过程(步骤S250)。
例如,参照图14,安全启动器227可以通过使用由密钥处理器226提取的启动密钥362对受保护的执行映像212b执行验证。
如果(或基于)验证成功,则如图15所示,安全启动器227可以将经验证的执行映像372存储在安全设备220的内部存储器228中或位于安全设备220外部的外部存储器230中,以便处理器229可以继续进行启动过程。
另一方面,如果(或基于)验证失败,则由于无法确保启动映像的可靠性可能终止启动过程。
在一些实施例中,安全启动器227的启动过程执行操作可以不同于上述内容而被修改和执行。例如,与上述实施例不同,安全启动器227可以在验证受保护的执行映像212b之前首先将受保护的执行映像212b传送到内部存储器228或位于安全设备220外部的外部存储器230。此后,安全启动器227可以执行包括上述验证的安全启动过程。即,安全启动器227的启动过程执行操作不限于所示出的实施例。
图16和图17是描述了根据一个或多个实施例的安全系统的效果的图。
参照图16和图17,在上述安全系统1中,即使在芯片制造时确定了一个根密钥,也可以在产品生命周期中自由地选择、更新启动密钥,并且如果不必要,可以丢弃启动密钥。
首先,在派生用于保护启动密钥的密钥保护密钥(派生密钥)的过程中,所派生的密钥产品可以根据密钥保护方法或用户附加信息而有所不同。即,即使模块或产品制造商选择相同的启动密钥和用于保护启动密钥的相同的方法,也可以通过输入诸如模块提供商信息、产品制造商信息、产品制造日期等作为附加信息的各种信息来彼此不同地生成派生密钥。然后,受保护的启动密钥也可以彼此不同地生成。因此,即使在相同条件下,每个制造商也可以通过附加信息(例如,用户附加信息或用户特定附加信息)的差异来分别配置安全启动链。
因此,即使在有卖方或提供商将制造委托给多个制造商的情况下,或者在多个提供商利用一个芯片制造商提供的设备的情况下,它们之间也没有与启动密钥和用于启动密钥保护的方法相关的联系,以便系统可以使用独立并且安全的启动链进行操作。
对于由初始芯片(例如,安全设备)制造商设置的根密钥,模块提供商或产品制造商可以在产品制造过程中选择性地应用启动密钥及其保护方法。此外,即使在相同条件下,也可以根据用户附加信息生成不同的输出。因此,多个提供商能够操作单独并且独立的启动链。
因此,(图1的)存储设备210能够在第一时间点处存储包括第一受保护的启动密钥的第一启动映像,并在第一时间点之后的第二时间点处存储包括与第一受保护的启动密钥不同的第二受保护的启动密钥的第二启动映像。
在这种情况下,(图1的)安全设备220在第一时间点处和第二时间点处存储相同的根密钥,但是安全启动链执行过程在那些时间点处可以不同。
详细地,在第一时间点处,(图1的)安全设备220可以使用所存储的根密钥和第一受保护的启动密钥来生成第一派生密钥,使用所生成的第一派生密钥来提取第一启动密钥,并使用所提取的第一启动密钥来执行启动操作。此外,在第二时间点处,(图1的)安全设备220可以使用所存储的根密钥和第二受保护的启动密钥来生成与第一派生密钥不同的第二派生密钥,使用所生成的第二派生密钥来提取第二启动密钥,并使用所提取的第二启动密钥来执行启动操作。
综上所述,在上述安全系统1中,可以获取以下效果。
首先,在产品生命周期中,通过实现安全启动过程所需或所使用的启动密钥的更新和设置,可以以最小的成本管理启动密钥,而无需使用附加存储空间和管理设备。
接下来,在产品生命周期中,可以无限制地更改安全启动过程所需或所使用的加密及其生成的启动密钥保护方法。
最后,由于在芯片制造时确定的根密钥与在批量生产之后更新的启动密钥之间没有特定的联系,即使暴露了根密钥,也可以防止启动密钥的泄漏。
在下文中,下面参照图18至图21描述了上述(图1的)电子设备200的各种示例。
图18至图21是示出了根据各种实施例的图1所示的电子设备1000、2000、3000、4000的示例的框图。
参照图18,电子设备1000可以包括至少一个处理器1100、网络接口1200、存储器1300、显示设备1400、输入/输出设备1500和安全芯片1600。
处理器1100可以使用安全芯片1600执行安全启动链。处理器1100可以执行程序并控制电子设备1000。电子设备1000可以连接到外部设备(例如,个人计算机或网络),以通过输入/输出设备1500交换数据。
网络接口1200可以被实现为通过各种有线或无线方法与外部网络通信。存储器1300可以包括计算机可读的指令。当在处理器1100中执行存储在存储器1300中的指令时,处理器1100可以执行上述操作。存储器1300可以是易失性存储器或非易失性存储器。
存储器1300可以包括用于存储用户数据的存储设备。存储设备可以是嵌入式多媒体卡(eMMC)、固态驱动器(SSD)、通用闪速存储设备(UFS)等。存储设备可以包括至少一个非易失性存储器设备。非易失性存储器设备可以是NAND闪存、垂直NAND(VNAND)闪存、NOR闪存、电阻随机存取存储器(RRAM)、相变RAM(PRAM)、磁性RAM(MRAM)、铁电RAM(FRAM)、自旋转移矩RAM(STT-RAM)等。
显示设备1400可以被实现或被配置为输出数据。
输入/输出设备1500可以包括诸如触摸板、小键盘和输入按钮之类的输入装置,以及诸如显示器和扬声器之类的输出装置。
安全芯片1600可以被实现或被配置为执行启动链。安全芯片1600可以根据上述方式执行安全启动链。安全芯片1600可以包括硬件安全模块(HSM),以安全地存储用于验证执行代码完整性的执行代码的哈希值。
应当理解的是,以上(和以下)描述的实施例可以被实现为硬件组件、软件组件和/或硬件组件和软件组件的组合。例如,实施例中描述的设备、方法和组件可以通过使用一个或多个通用计算机或专用计算机(例如,处理器、控制器、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、可编程逻辑单元(PLU)、微处理器或能够执行指令并响应指令的任何其他设备)来实现。处理设备可以执行操作系统(OS)以及在操作系统上执行的一个或多个软件应用。
同时,根据实施例的启动链执行方法可应用于物联网(IoT)设备、移动设备和汽车设备。
参照图19,IoT设备2000可以包括通信前端块、无线通信块、功率控制块、只读存储器(ROM)、随机存取存储器(RAM)、存储器控制器、安全芯片2010、外围控制器和中央处理单元。
安全芯片2010可以被实现为执行IoT设备2000的启动链。安全芯片2010可以根据上述方式执行安全启动链。
参照图20,移动设备3000可以包括中央处理单元(CPU)3100、存储器、外围控制器、通信块3200、图形处理单元(GPU)、多媒体模块、数字信号处理器(DSP)、相机和显示器。
CPU 3100和通信块3200可以分别包括对应的安全芯片3110和安全芯片3210。在这种情况下,安全芯片3110和安全芯片3210中的每一个可以根据上述方式执行安全启动链。
参照图21,车辆电子设备4000可以包括CPU 4100、存储器、通信块、视觉处理单元4200、外围控制器、视频DSP、图像DSP、相机和显示器。
CPU 4100和视觉处理单元4200可以分别包括对应的安全芯片4110和安全芯片4210。在这种情况下,安全芯片4110和安全芯片4210中的每一个可以根据上述方式执行安全启动链。
例如,车辆电子设备4000的启动密钥可能被黑客暴露。一旦确认暴露了启动密钥,车辆制造商或车辆电子设备的制造商就可以根据上述方式简单地通过丢弃暴露的启动密钥并使用新生成的启动密钥更新受保护的启动映像来删除与暴露的启动密钥的关联。因此,可以维持用于车辆电子设备4000的安全启动过程的可靠性。
尽管以上已经具体示出和描述了示例性实施例,但是将理解,在不脱离权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种安全设备,包括:
密钥派生器,被配置为获取根密钥和启动映像中包括的受保护的启动密钥,并根据密钥保护方法使用所述根密钥和所述受保护的启动密钥来生成派生密钥;
密钥处理器,被配置为根据所述密钥保护方法使用所生成的派生密钥来执行验证,以从所述启动映像中包括的所述受保护的启动密钥中提取启动密钥;
安全启动器,被配置为使用所提取的启动密钥对所述启动映像中包括的受保护的执行映像执行验证;以及
处理器,被配置为执行所述安全启动器已对其完成验证的经验证的执行映像。
2.根据权利要求1所述的安全设备,还包括被配置为存储所述根密钥的非易失性存储器设备。
3.根据权利要求1所述的安全设备,其中:
所述密钥保护方法包括彼此不同的第一密钥保护方法和第二密钥保护方法;以及
所述密钥处理器被配置为根据所述第一密钥保护方法执行第一验证,并根据所述第二密钥保护方法执行第二验证,以从所述受保护的启动密钥中提取所述启动密钥。
4.根据权利要求3所述的安全设备,其中:
所述派生密钥包括根据所述第一密钥保护方法生成的第一派生密钥和根据所述第二密钥保护方法生成的第二派生密钥;
所述密钥处理器被配置为根据所述第一密钥保护方法使用所述第一派生密钥来执行所述第一验证;以及
所述密钥处理器被配置为根据所述第二密钥保护方法使用所述第二派生密钥来执行所述第二验证。
5.根据权利要求1所述的安全设备,还包括:
易失性内部存储器,被布置在所述安全设备内,并存储所述经验证的执行映像,
其中,所述处理器被配置为使用所述易失性内部存储器中存储的经验证的执行映像来执行安全启动链。
6.根据权利要求1所述的安全设备,其中,所述密钥处理器包括:
第一子密钥处理器,被配置为对所述受保护的启动密钥进行解密,以提取所述启动密钥;
第二子密钥处理器,被配置为对所述受保护的启动密钥执行消息认证码MAC验证,以提取所述启动密钥;
第三子密钥处理器,被配置为验证所述受保护的启动密钥的电子签名,以提取所述启动密钥;以及
第四子密钥处理器,被配置为验证所述受保护的启动密钥的证书,以提取所述启动密钥。
7.根据权利要求6所述的安全设备,其中:
所述密钥派生器包括:
第一子密钥派生器,被配置为生成用于所述解密的第一派生密钥,
第二子密钥派生器,被配置为生成用于所述MAC验证的第二派生密钥,
第三子密钥派生器,被配置为生成用于所述签名验证的第三派生密钥,以及
第四子密钥派生器,被配置为生成用于所述证书验证的第四派生密钥;
所述第一子密钥处理器被配置为使用所述第一派生密钥来提取所述启动密钥;
所述第二子密钥处理器被配置为使用所述第二派生密钥来提取所述启动密钥;
所述第三子密钥处理器被配置为使用所述第三派生密钥来提取所述启动密钥;以及
所述第四子密钥处理器被配置为使用所述第四派生密钥来提取所述启动密钥。
8.一种电子设备,包括:
存储设备,被配置为存储包括受保护的启动密钥和受保护的执行映像的启动映像;以及
安全设备,被配置为存储根密钥并执行启动操作,以使用所述根密钥执行所述启动映像,
其中,所述安全设备被配置为:
根据预定的密钥保护方法使用所述根密钥和所述受保护的启动密钥来生成派生密钥,
根据所述预定的密钥保护方法使用所生成的派生密钥来执行验证,以从所述受保护的启动密钥中提取启动密钥;以及
使用所提取的启动密钥来执行所述启动操作。
9.根据权利要求8所述的电子设备,其中,所述安全设备被配置为:
使用所提取的启动密钥对所述受保护的执行映像执行验证,以及
通过执行已完成所述验证的经验证的执行映像来执行所述启动操作。
10.根据权利要求8所述的电子设备,其中:
所述存储设备被配置为:
在第一时间点处,存储包括第一受保护的启动密钥的第一启动映像,以及
在所述第一时间点之后的第二时间点处,存储包括与所述第一受保护的启动密钥不同的第二受保护的启动密钥的第二启动映像;以及
所述安全设备被配置为:
在所述第一时间点和所述第二时间点处存储相同的根密钥,
在所述第一时间点处,使用所存储的相同的根密钥和所述第一受保护的启动密钥来提取第一启动密钥,并使用所提取的第一启动密钥来执行所述启动操作,以及
在所述第二时间点处,使用所存储的相同的根密钥和所述第二受保护的启动密钥来提取第二启动密钥,并使用所提取的第二启动密钥来执行所述启动操作。
11.根据权利要求10所述的电子设备,其中,所述安全设备被配置为:
在所述第一时间点处,使用所存储的相同的根密钥和所述第一受保护的启动密钥来生成第一派生密钥,并使用所生成的第一派生密钥来提取所述第一启动密钥,以及
在所述第二时间点处,使用所存储的根密钥和所述第二受保护的启动密钥来生成第二派生密钥,并使用所生成的第二派生密钥来提取所述第二启动密钥。
12.根据权利要求11所述的电子设备,其中,所生成的第一派生密钥和所生成的第二派生密钥彼此不同。
13.根据权利要求8所述的电子设备,其中:
所述存储设备被配置为存储:
第一启动映像,包括第一受保护的启动密钥和第一受保护的执行映像,以及
第二启动映像,包括与所述第一受保护的启动密钥不同的第二受保护的启动密钥和与所述第一受保护的执行映像不同的第二受保护的执行映像;以及
其中,所述安全设备被配置为:
使用所存储的根密钥和所述第一受保护的启动密钥来提取第一启动密钥,并使用所提取的第一启动密钥来执行第一启动操作,以及
使用所存储的根密钥和所述第二受保护的启动密钥来提取第二启动密钥,并使用所提取的第二启动密钥来执行第二启动操作。
14.根据权利要求13所述的电子设备,其中,所述安全设备被配置为:
使用所存储的根密钥和所述第一受保护的启动密钥来生成第一派生密钥,以使用所生成的第一派生密钥来提取所述第一启动密钥,以及
使用所存储的根密钥和所述第二受保护的启动密钥来生成第二派生密钥,以使用所生成的第二派生密钥来提取所述第二启动密钥。
15.根据权利要求8所述的电子设备,其中:
所述预定的密钥保护方法包括彼此不同的第一密钥保护方法和第二密钥保护方法;以及
所述安全设备被配置为通过根据所述第一密钥保护方法执行第一验证并根据所述第二密钥保护方法执行第二验证来从所述受保护的启动密钥中提取所述启动密钥。
16.根据权利要求15所述的电子设备,其中:
所述派生密钥包括根据所述第一密钥保护方法生成的第一派生密钥和根据所述第二密钥保护方法生成的第二派生密钥;
所述安全设备被配置为根据所述第一密钥保护方法使用所述第一派生密钥来执行所述第一验证;以及
所述安全设备被配置为根据所述第二密钥保护方法使用所述第二派生密钥来执行所述第二验证。
17.一种安全启动管理系统,包括:
密钥派生器,被配置为接收根密钥和密钥保护方法,并根据所接收到的密钥保护方法使用所接收到的根密钥生成派生密钥;
密钥保护器,被配置为根据所述密钥保护方法使用所生成的派生密钥对启动密钥执行保护操作,以生成受保护的启动密钥;以及
启动映像生成系统,被配置为使用所述启动密钥对执行映像执行保护操作,并生成包括所述受保护的启动密钥和所述受保护的执行映像的启动映像。
18.根据权利要求17所述的安全启动管理系统,其中:
所述密钥保护方法包括彼此不同的第一密钥保护方法和第二密钥保护方法,
所述派生密钥包括根据所述第一密钥保护方法从所述根密钥生成的第一派生密钥和根据所述第二密钥保护方法从所述根密钥生成的第二派生密钥,以及
所述密钥保护器被配置为根据所述第一密钥保护方法使用所述第一派生密钥对所述启动密钥执行第一保护操作,并根据所述第二密钥保护方法使用所述第二派生密钥对所述启动密钥执行第二保护操作,以生成所述受保护的启动密钥。
19.根据权利要求17所述的安全启动管理系统,其中:
所述密钥派生器配置有用户附加信息,以生成所述派生密钥;以及
所述密钥派生器被配置为使用所述根密钥、所述密钥保护方法和所述用户附加信息来生成所述派生密钥。
20.根据权利要求17所述的安全启动管理系统,其中,所述密钥保护器包括:
第一子密钥保护器,被配置为执行加密操作,以生成所述受保护的启动密钥;
第二子密钥保护器,被配置为生成消息认证码MAC,以生成所述受保护的启动密钥;
第三子密钥保护器,被配置为生成电子签名,以生成所述受保护的启动密钥;以及
第四子密钥保护器,被配置为生成证书,以生成所述受保护的启动密钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0011001 | 2020-01-30 | ||
KR1020200011001A KR20210097379A (ko) | 2020-01-30 | 2020-01-30 | 보안 장치, 전자 장치, 보안 부트 관리 시스템, 부트 이미지 생성 방법 및 부트 체인 실행 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113204769A true CN113204769A (zh) | 2021-08-03 |
Family
ID=77025219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093281.XA Pending CN113204769A (zh) | 2020-01-30 | 2021-01-22 | 安全设备、电子设备、以及安全启动管理系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11874928B2 (zh) |
KR (1) | KR20210097379A (zh) |
CN (1) | CN113204769A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353150B (zh) * | 2020-02-25 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种可信启动方法、装置、电子设备及可读存储介质 |
DE102020211346A1 (de) * | 2020-09-10 | 2022-03-10 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Booten einer elektronischen Vorrichtung |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100447736C (zh) * | 2004-05-08 | 2008-12-31 | 英特尔公司 | 包括固件接口运行时环境保护字段的设备和方法 |
US8332636B2 (en) | 2007-10-02 | 2012-12-11 | International Business Machines Corporation | Secure policy differentiation by secure kernel design |
KR20120092222A (ko) | 2011-02-11 | 2012-08-21 | 삼성전자주식회사 | 보안 부팅 방법 및 보안 부트 이미지 생성 방법 |
US8843765B2 (en) | 2012-10-10 | 2014-09-23 | Broadcom Corporation | Key derivation system |
US20140250290A1 (en) * | 2013-03-01 | 2014-09-04 | St-Ericsson Sa | Method for Software Anti-Rollback Recovery |
US9280687B2 (en) * | 2013-03-15 | 2016-03-08 | Lenovo (Singapore) Pte. Ltd. | Pre-boot authentication using a cryptographic processor |
US9239920B2 (en) | 2013-04-23 | 2016-01-19 | Qualcomm Incorporated | Generation of working security key based on security parameters |
US9633210B2 (en) | 2013-09-13 | 2017-04-25 | Microsoft Technology Licensing, Llc | Keying infrastructure |
KR102227263B1 (ko) | 2013-12-31 | 2021-03-15 | 삼성전자주식회사 | 보안 부트 변경 변경시스템, 방법 및 이 변경시스템을 구비한 전자장치 |
CN104951316B (zh) * | 2014-03-25 | 2018-09-21 | 华为技术有限公司 | 一种内核可信启动方法和装置 |
CN114692167A (zh) | 2014-04-15 | 2022-07-01 | 麦利尔亚洲新加坡私人有限公司 | 可信根 |
US10185669B2 (en) | 2014-08-04 | 2019-01-22 | Oracle International Corporation | Secure key derivation functions |
US9331989B2 (en) * | 2014-10-06 | 2016-05-03 | Micron Technology, Inc. | Secure shared key sharing systems and methods |
US9959125B2 (en) | 2015-08-05 | 2018-05-01 | Samsung Electronics Co., Ltd. | Field update of boot loader using regular device firmware update procedure |
US10025600B2 (en) * | 2015-10-02 | 2018-07-17 | Google Llc | NAND-based verified boot |
US10013561B2 (en) * | 2015-10-30 | 2018-07-03 | Ncr Corporation | Dynamic pre-boot storage encryption key |
US10181956B2 (en) | 2015-12-21 | 2019-01-15 | Hewlett-Packard Development Company, L.P. | Key revocation |
US9916453B2 (en) * | 2015-12-22 | 2018-03-13 | Qualcomm Incorporated | Derived keys for execution environments in a boot chain |
US9916452B2 (en) * | 2016-05-18 | 2018-03-13 | Microsoft Technology Licensing, Llc | Self-contained cryptographic boot policy validation |
US10318737B2 (en) * | 2016-06-30 | 2019-06-11 | Amazon Technologies, Inc. | Secure booting of virtualization managers |
US10313121B2 (en) * | 2016-06-30 | 2019-06-04 | Microsoft Technology Licensing, Llc | Maintaining operating system secrets across resets |
KR101968382B1 (ko) | 2016-07-14 | 2019-04-11 | 경희대학교 산학협력단 | Tpm 기반의 사용자 장치 및 이를 이용한 부팅 방법 |
US10664599B2 (en) * | 2017-05-01 | 2020-05-26 | International Business Machines Corporation | Portable executable and non-portable executable boot file security |
US11074348B2 (en) * | 2017-08-24 | 2021-07-27 | International Business Machines Corporation | Securing and changing immutable data in secure bootup |
KR102434444B1 (ko) * | 2017-11-29 | 2022-08-19 | 한국전자통신연구원 | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 |
US11151255B2 (en) * | 2018-10-26 | 2021-10-19 | Dell Products L.P. | Method to securely allow a customer to install and boot their own firmware, without compromising secure boot |
US10841287B2 (en) * | 2018-11-04 | 2020-11-17 | Tala Secure, Inc. | System and method for generating and managing a key package |
US11194913B2 (en) * | 2019-03-12 | 2021-12-07 | International Business Machines Corporation | Unsecure to secure transition of mutable core root of trust |
US11416618B2 (en) * | 2019-07-15 | 2022-08-16 | Dell Products, L.P. | Bidirectional trust chaining for trusted boot |
US20210124818A1 (en) * | 2019-10-23 | 2021-04-29 | Qualcomm Incorporated | Hardware-based throttling of user access |
US11106798B2 (en) * | 2020-01-28 | 2021-08-31 | Hewlett Packard Enterprise Development Lp | Automatically replacing versions of a key database for secure boots |
-
2020
- 2020-01-30 KR KR1020200011001A patent/KR20210097379A/ko active Search and Examination
- 2020-08-24 US US17/000,748 patent/US11874928B2/en active Active
-
2021
- 2021-01-22 CN CN202110093281.XA patent/CN113204769A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20210097379A (ko) | 2021-08-09 |
US20210240833A1 (en) | 2021-08-05 |
US11874928B2 (en) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
CN109937419B (zh) | 安全功能强化的设备的初始化方法及设备的固件更新方法 | |
US9830456B2 (en) | Trust transference from a trusted processor to an untrusted processor | |
US9602282B2 (en) | Secure software and hardware association technique | |
US9887844B2 (en) | Method for safeguarding a system-on-a-chip | |
TWI454935B (zh) | 自非本端儲存器安全地啟動及組態一子系統 | |
CN104252881B (zh) | 半导体集成电路及系统 | |
US20080082828A1 (en) | Circuit arrangement and method for starting up a circuit arrangement | |
Eisenbarth et al. | Reconfigurable trusted computing in hardware | |
CN112784280A (zh) | 一种SoC芯片安全设计方法及硬件平台 | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
CN110688660B (zh) | 一种终端安全启动的方法及装置、存储介质 | |
JP2007512787A (ja) | トラステッド・モバイル・プラットフォーム・アーキテクチャ | |
KR20160111455A (ko) | 보안 부트 동안 키 추출 | |
CN109814934B (zh) | 数据处理方法、装置、可读介质和系统 | |
US11270003B2 (en) | Semiconductor device including secure patchable ROM and patch method thereof | |
WO2019231683A1 (en) | Method for provisioning device certificates for electronic processors in untrusted environments | |
CN113204769A (zh) | 安全设备、电子设备、以及安全启动管理系统 | |
CN113177201A (zh) | 程序校验、签名方法及装置、soc芯片 | |
CN111177709A (zh) | 一种终端可信组件的执行方法、装置及计算机设备 | |
US20230273977A1 (en) | Managing ownership of an electronic device | |
WO2023212178A1 (en) | Sram physically unclonable function (puf) memory for generating keys based on device owner | |
US20220317184A1 (en) | Secured debug | |
Plappert et al. | Evaluating the applicability of hardware trust anchors for automotive applications | |
CN111357003A (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 |