CN110494856A - 用于计算设备安全启动的方法和装置 - Google Patents
用于计算设备安全启动的方法和装置 Download PDFInfo
- Publication number
- CN110494856A CN110494856A CN201880018012.3A CN201880018012A CN110494856A CN 110494856 A CN110494856 A CN 110494856A CN 201880018012 A CN201880018012 A CN 201880018012A CN 110494856 A CN110494856 A CN 110494856A
- Authority
- CN
- China
- Prior art keywords
- software image
- timestamp
- signed
- certification
- stamp
- 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 abstract description 70
- 230000008569 process Effects 0.000 abstract description 6
- 238000012795 verification Methods 0.000 abstract description 5
- 238000007689 inspection Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012554 master batch record Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B28—WORKING CEMENT, CLAY, OR STONE
- B28C—PREPARING CLAY; PRODUCING MIXTURES CONTAINING CLAY OR CEMENTITIOUS MATERIAL, e.g. PLASTER
- B28C7/00—Controlling the operation of apparatus for producing mixtures of clay or cement with other substances; Supplying or proportioning the ingredients for mixing clay or cement with other substances; Discharging the mixture
- B28C7/02—Controlling the operation of the mixing
- B28C7/022—Controlling the operation of the mixing by measuring the consistency or composition of the mixture, e.g. with supply of a missing component
- B28C7/024—Controlling the operation of the mixing by measuring the consistency or composition of the mixture, e.g. with supply of a missing component by measuring properties of the mixture, e.g. moisture, electrical resistivity, density
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B28—WORKING CEMENT, CLAY, OR STONE
- B28C—PREPARING CLAY; PRODUCING MIXTURES CONTAINING CLAY OR CEMENTITIOUS MATERIAL, e.g. PLASTER
- B28C7/00—Controlling the operation of apparatus for producing mixtures of clay or cement with other substances; Supplying or proportioning the ingredients for mixing clay or cement with other substances; Discharging the mixture
- B28C7/04—Supplying or proportioning the ingredients
- B28C7/0404—Proportioning
- B28C7/0418—Proportioning control systems therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N27/00—Investigating or analysing materials by the use of electric, electrochemical, or magnetic means
- G01N27/26—Investigating or analysing materials by the use of electric, electrochemical, or magnetic means by investigating electrochemical variables; by using electrolysis or electrophoresis
- G01N27/416—Systems
- G01N27/447—Systems using electrophoresis
- G01N27/44756—Apparatus specially adapted therefor
- G01N27/44791—Microapparatus
-
- 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]
-
- 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/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
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/321—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 a third party or a trusted authority
-
- 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
-
- 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]
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B33/00—Sealing or packing boreholes or wells
- E21B33/10—Sealing or packing boreholes or wells in the borehole
- E21B33/13—Methods or devices for cementing, for plugging holes, crevices or the like
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Dispersion Chemistry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biochemistry (AREA)
- Electrochemistry (AREA)
- Analytical Chemistry (AREA)
- Chemical Kinetics & Catalysis (AREA)
- General Health & Medical Sciences (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供用于计算设备安全启动的方法和装置。该方法包括生成公钥/私钥对并且对软件映像进行签名并且获得第一时间戳和第二时间戳。该方法还包括将已签名的软件映像、第一时间戳和第二时间戳组合成包并部署该包。在安全启动期间,该方法包括认证已签名的软件映像、第一时间戳和第二时间戳,并在认证通过时启动计算设备。如果认证过程失败,则计算设备中止启动计算设备。
Description
技术领域
本发明涉及计算设备安全性领域,尤其涉及用于计算设备安全启动的方法和装置。
背景技术
众所周知,安全启动(Secure Boot)是由PC行业成员开发的安全标准,用于帮助确保PC仅使用PC制造商信任的软件进行启动。安全启动旨在尝试防止root工具包在启动时在内存中使用可选只读存储器(ROM,read only memory)和主启动记录(MBRs,master bootrecords)等机制加载到操作系统(OS),劫持系统控制并对于反恶意软件程序保持隐藏状态。随着时间的推移,这个问题在数据丢失/损坏和盗窃方面发挥了重要作用。
统一可扩展固件接口(UEFI,unified extensible firmware interface)是现代服务器平台的硬件/软件接口的标准,其具有模块化和标准接口,用于独立硬件供应商(IHV,independent hardware vendor)在UEFI中开发在预引导环境中无缝工作的设备驱动器。跨操作系统和平台的UEFI采用率持续增长,许多主要的客户端和服务器OS版本都支持它。
UEFI标准机构确定了一种方法,禁止使用加载和执行未经修改且平台已知的二进制文件的机制来安装启动时恶意软件root工具包。这种机制称为安全启动。
安全的UEFI平台仅加载未经修改且受平台信任的软件二进制文件,例如可选ROM驱动程序、启动加载程序、OS加载程序。UEFI规范定义了安全启动所需的基础结构。安全启动不会在系统运行时保护系统或其数据。如果在启动过程中未对任何组件进行认证,则安全启动将停止启动OS,从而尝试阻止系统运行隐藏的恶意软件。
UEFI平台固件将加载由认证机构(CA)签名的第三方驱动程序,可选ROM和OS加载程序。原始设备制造商(OEM,original equipment manufacturer)可以在平台数据库(DB,platform database)中安装密钥的公共部分,并且UEFI加载器协议服务在其被允许在平台上运行之前验证二进制文件对授权DB的签名。该认证链从UEFI继续到OS加载程序和OS。允许基于UEFI运行已签名且其密钥存在于DB中的OS加载程序。这种密钥机制确保只有在经过授权且未经任何一方修改的情况下才允许执行OS加载程序或可选ROM。
但是,在涉及几个方面的证书认证时,安全启动装置面临挑战。首先,安全启动过程的信任root被永久地包含在该装置中。其次,在启动过程中没有网络连接可用于实时检查证书撤销状态,第三,在启动过程中没有可靠的实时时钟源可用于检查证书有效期。
由于上述限制,如果恶意行为者能够获取与任何级别的安全启动公钥基础结构(PKI,public key infrastructure)相关联的私钥,那他们将能够签署安全启动装置永久性接受的恶意软件。因此,即使是被永久地合并到装置中的信任root,并且可以非常严密地保护该root的相应私钥,例如,被离线存储在被锁定和监督的保险库中,对保险库的访问具有非常严格的策略和程序,最低级别私钥的盗窃会导致整个PKI泄露,所述最低级别私钥必须经常使用而因此其本身更容易受到攻击。
目前,这个问题有一些潜在的解决方案。第一种潜在的解决方案包括使用证书撤销列表(CRL,certificate revocation list)。例如,如果检测到签名密钥的泄露,则可以撤销中间证书并将该中间证书添加到可以经由固件更新被推送给安全启动设备的CRL。这种解决方案被认为存在几个潜在问题。这种解决方案意味着必须检测到泄露,这并非总是准确。此外,将CRL更新推送到潜在的数十亿物联网(IoT,Internet of Things)设备可能需要相当长的时间,从而为恶意行为者利用被盗密钥留下了大量的机会窗口。
另一种潜在的解决方案是拥有多个信任root。一些处理器提供多个一次性可编程寄存器(OTPR,one-time-programmable register),用于存储信任root和使过期/泄露root失效的机制。例如,飞思卡尔iMX-6提供4个这样的OTPR和保险丝,其可以断开以防止读取该4个中的3个(第4个不能以这种方式“撤销”,因为这会使装置无法启动)。这种解决方案被认为存在几个潜在问题。这种解决方案意味着必须检测到泄露,这并非总是准确。此外,将CRL更新推送到潜在的数十亿IoT设备可能需要相当长的时间,从而为恶意行为者利用被盗密钥留下了大量的机会窗口。此外,额外的OTPR可能使装置更加昂贵,正因如此,许多IoT装置由于成本过高而不会包括这种能力。此外,如果黑客能够泄露一个PKI,他们可能会泄露所有这些PKI,因此很有可能同时泄露所有N个root。
因此,需要用于计算设备安全启动的方法和装置,其不受现有技术的一种或多种限制。
提供这个背景信息是为了揭示申请人认为可能与本发明相关的信息。任何前述信息不旨在或不应被解释为构成对抗本发明的现有技术。
附图说明
结合附图,通过以下详细描述,本发明的其他特征和优点将变得显而易见,其中:
图1示出了一种根据本发明实施例的计算设备安全启动的方法;
图2示出了一种根据本发明实施例的用于对软件映像进行签名的方法;
图3示出了一种根据本发明实施例的启动计算设备的方法,其中软件映像已经如图1中所示进行了签名;
图4示出了一种根据本发明实施例的硬件装置的示意图。
应注意,在所有附图中,相同的特征由相同的附图标记来标识。
具体实施方式
本发明提供一种用于计算设备安全启动的方法。该方法包括生成公钥/私钥对并且对软件映像进行签名并且获得第一时间戳和第二时间戳。该方法还包括将已签名的软件映像、第一时间戳和第二时间戳组合成包并部署该包。在安全启动期间,该方法包括认证已签名的软件映像、第一时间戳和第二时间戳,并且在认证通过时启动计算设备。如果认证过程失败,则计算设备中止启动计算设备。
图1示出了一种根据本发明实施例的计算设备安全启动的方法。如图1中所示的,计算设备的整个安全启动包括对软件映像进行签名以在计算设备启动期间使用,并且基于所签名的软件映像安全启动设备。
根据实施例,提供了一种用于对软件映像进行签名以在计算设备启动期间使用的方法。该方法包括步骤110生成公钥/私钥对并对软件映像进行签名,和步骤120获得第一时间戳和第二时间戳。该方法还包括步骤130将已签名的软件映像、第一时间戳和第二时间戳组合成包并部署该包。
根据实施例,本发明提供一种用于计算设备安全启动的方法。该方法包括获得包,该包包括已签名的软件映像、第一时间戳和第二时间戳。在安全启动期间,该方法包括步骤140认证已签名的软件映像、第一时间戳和第二时间戳,和步骤150在认证通过时启动计算设备。如果认证过程失败,则计算设备进行步骤160中止启动计算设备。
根据实施例,提供了一种用于对软件映像进行签名以在计算设备启动期间使用的装置以及一种用于计算设备安全启动的装置。这些装置中的每个装置包括处理器和存储机器可执行指令的机器可读存储器,当该机器可执行指令由处理器执行时,将该装置配置为用于执行如上所定义的各方法。
根据本发明的实施例,该用于计算设备安全启动的方法旨在通过限制恶意行为者必须对恶意软件进行被安全启动装置接受的签名的机会窗口及限制签名的私钥和相关的证书被盗来提升安全启动过程的安全性。根据实施例,这个用于计算设备安全启动的方法可以适用于基本上所有性质的采用安全启动特征的设备。根据一些实施例,该用于计算设备安全启动的方法可以适用于蜂窝调制解调器或网关或其他通信网络设备。
图2示出了一种根据本发明实施例的用于对软件映像进行签名以在计算设备启动期间使用的方法。
根据实施例,该用于对软件映像进行签名以在计算设备启动期间使用的方法可以包括以下步骤。最初,在要对软件映像进行签名时使用临时私钥。该方法包括步骤210生成临时密钥,其包括生成公钥/私钥对。该方法还包括步骤220使用私钥来对软件映像进行签名。随后的步骤是步骤230格式化包括公钥的证书签名请求(CSR,certificate signingrequest)和步骤240使用私钥对CSR进行签名。随后,步骤250丢弃或销毁私钥。根据实施例,认为私钥未被提交到持久存储是至关重要的。
根据实施例,该对软件映像进行签名以在计算设备启动期间使用的方法还包括步骤260计算已签名的软件映像的安全哈希并将哈希提交给时间戳服务中心(TSA)以便获取第一时间戳(TS1)。随后,在步骤270中将CSR提交到中间证书颁发机构(CA),并在步骤280中获取具有第二时间戳(TS2)的带时间戳的签名证书。随后,捆绑了软件映像、软件映像证书、TS1和证书认证链。根据实施例,证书认证链包括已签名的证书,其包括TS2、中间CA证书(例如,带时间戳签名证书)和root CA证书。随后,部署这个包用于在计算设备的启动或导入期间使用。
根据实施例,在计算设备启动的时候,即在启动时,且在用认证链认证软件映像签名之前,执行以下检查,其中这些检查的结果确定是否能够启动计算设备或者是否中止计算设备的启动。图3示出了一种根据本发明实施例的用于计算设备的安全启动的方法。
根据实施例,步骤310初始检查是确定TS1是否存在且可信。这个检查的先决条件可以是TSA信任root被安全地存储在计算设备上以用于验证TS1。如果TS1不存在或不可信,则中止计算设备的启动。如果TS1存在且可信,则计算设备进行后续检查。
根据实施例,第二项检查是步骤320确定TS2是否存在且可信。根据实施例,期望使用相同的TSA来生成TS1和TS2两者。根据实施例,如果提供TS1的TSA不同于提供TS2的TSA,则要求这两个TSA信任root被安全地存储在计算设备上。如果TS2不存在或不可信,则中止计算设备的启动。如果TS2存在且可信,则计算设备进行后续检查。
根据实施例,第三项检查是步骤330确定TS1是否小于TS2。如果TS1大于或等于TS2,则中止计算设备的启动。如上文中关于用于对软件映像进行签名以在计算设备启动期间使用的方法中所定义的,在TS2之前请求TS1。同样地,TS2必须始终比TS1更新。例如,如果TS1大于TS2,则表明TS1在其存在期间被捕获并且被用于对另一个软件映像进行签名。根据实施例,这个第三项检查可以确保将恶意行为者窃取签名密钥的利用窗口限制于提供TS1和TS2之间的间隔。
根据一些实施例,可以进行第四项检查以确定是否开始计算设备的启动。第四项检查包括TS1和TS2之间的比较。根据实施例,第四项检查包括步骤340评估TS2减去TS1是否大于预定值。如果TS2减去TS1大于预定值,则进行步骤350中止计算设备的启动,否则进行步骤360可以开始计算设备的启动。根据实施例,这个第四项检查可以确定恶意行为者是否能够拖延获得TS1和TS2的过程以扩展利用窗口(例如,生成TS1和TS2之间的时间),并且该过程的这种拖延具有长于X的时间框架,则证书不被接受,并且中止计算设备的启动。根据实施例,X的值可以由与计算设备相关联的安全策略或用于计算设备安全启动的方法的相关安全策略来定义。
根据实施例,上面定义的方法可以扩展到各种基于证书的认证,以便在检查证书到期的可靠时钟源和/或检查证书撤销状态的网络连接可能不可用的情况下提供帮助。
图4是根据本发明的不同实施例的硬件装置的示意图,该硬件装置可以例如执行本文中所描述的上述方法和特征的任何或所有步骤。如图所示,装置400包括处理器410、存储器420、非暂态大容量存储器430、I/O接口440、网络接口450和收发器460,所有这些都经由双向总线470通信地耦接。根据某些实施例,可以使用任何或所有所描绘的元素,或者仅使用该元素的子集。此外,装置可以包含某些元素的多个实例,例如多个处理器、存储器或收发器。而且,硬件装置的元件可以在没有双向总线的情况下直接耦合到其他元件。
存储器可以包括任何类型的非暂态存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、只读存储器(ROM)及其任何组合等。大容量存储元件可以包括任何类型的非暂态存储设备,例如固态驱动器、硬盘驱动器、磁盘驱动器、光盘驱动器、USB驱动器或被配置为存储数据和机器可执行程序代码的任何计算机程序产品。根据某些实施例,存储器或大容量存储器可以在其上记录可由处理器执行的语句和指令,用于如上所述地执行任何上述方法步骤。
通过前述实施例的描述,本发明可以仅通过使用硬件实施,也可以使用软件和必要的通用硬件平台来实施。基于这样的理解,本发明的技术方案可以以软件产品的形式体现。该软件产品可以被存储在非易失性或非暂态存储介质中,该存储介质可以是光盘只读存储器(CD-ROM)、USB闪存盘或可移动硬盘。该软件产品包括使计算机设备(个人计算机、服务器或网络设备)能够执行本发明实施例中所提供的方法的许多指令。例如,这样的执行可以对应于如本文中所描述的逻辑操作的模拟。该软件产品可以额外地或可替换地包括使计算机设备能够执行根据本发明实施例的用于配置或编程数字逻辑装置的操作的多个指令。
尽管已经参考本发明的具体特征和实施例描述了本发明,但显然可以在不脱离本发明的情况下对其进行各种修改和组合。因此,说明书和附图应简单地视为由所附权利要求限定的对本发明的说明,并且预期涵盖落入本发明范围内的任何和所有修改、变化、组合或等同物。
Claims (23)
1.一种用于计算设备安全启动的方法,所述方法包括:
生成公钥/私钥对并对软件映像进行签名;
获得第一时间戳和第二时间戳;
将已签名的软件映像、所述第一时间戳和所述第二时间戳组合成包;
部署所述包;
在安全启动期间,认证所述已签名的软件映像、所述第一时间戳和所述第二时间戳;
若认证通过,则启动所述计算设备。
2.根据权利要求1所述的方法,其中使用所述公钥/私钥对的私钥对所述软件映像进行签名。
3.根据权利要求2所述的方法,还包括格式化包括所述公钥/私钥对的公钥的证书签名请求(CSR),并且使用所述私钥对所述CSR进行签名。
4.根据权利要求3所述的方法,还包括丢弃或销毁所述私钥。
5.根据权利要求1所述的方法,其中所述第一时间戳从时间戳服务中心收到。
6.根据权利要求1所述的方法,其中所述第二时间戳从中间证书颁发机构收到。
7.根据权利要求1所述的方法,其中认证所述已签名的软件映像包括确定所述第一时间戳是否存在和可信。
8.根据权利要求7所述的方法,其中认证所述已签名的软件映像包括确定所述第二时间戳是否存在和可信。
9.根据权利要求8所述的方法,其中认证所述已签名的软件映像包括确定所述第一时间戳是否小于所述第二时间戳。
10.根据权利要求9所述的方法,其中认证所述已签名的软件映像包括确定所述第二时间戳减去所述第一时间戳是否小于或等于预定值。
11.一种用于对软件映像进行签名以在计算设备启动期间使用的方法,所述方法包括:
生成公钥/私钥对并且对软件映像进行签名;
获得第一时间戳和第二时间戳;
将所述已签名的软件映像、所述第一时间戳和所述第二时间戳组合成包;
部署所述包以在计算设备启动期间使用。
12.根据权利要求11所述的方法,其中所述软件映像使用所述公钥/私钥对的私钥进行签名。
13.根据权利要求12所述的方法,还包括格式化包括所述公钥/私钥对的公钥的证书签名请求(CSR),并且使用所述私钥对所述CSR进行签名。
14.根据权利要求13所述的方法,还包括丢弃或销毁所述私钥。
15.根据权利要求11所述的方法,其中所述第一时间戳从时间戳服务中心收到。
16.根据权利要求11所述的方法,其中所述第二时间戳从中间证书颁发机构收到。
17.一种用于计算设备安全启动的方法,所述方法包括:
获得包,所述包包括已签名的软件映像、第一时间戳和第二时间戳;
在安全启动期间,认证所述已签名的软件映像、所述第一时间戳和所述第二时间戳;
若认证通过,则启动所述计算设备。
18.根据权利要求17所述的方法,其中认证所述已签名的软件映像包括确定所述第一时间戳是否存在和可信。
19.根据权利要求18所述的方法,其中认证所述已签名的软件映像包括确定所述第二时间戳是否存在和可信。
20.根据权利要求19所述的方法,其中认证所述已签名的软件映像包括确定所述第一时间戳是否小于所述第二时间戳。
21.根据权利要求20所述的方法,其中认证所述已签名的软件映像包括确定所述第二时间戳减去所述第一时间戳是否小于或等于预定值。
22.一种用于对软件映像进行签名以在计算设备启动期间使用的装置,所述装置包括:
处理器;和
机器可读存储器,存储机器可执行指令,当所述机器可执行指令由所述处理器执行时,将所述装置配置为用于:
生成公钥/私钥对并且对软件映像进行签名;
获得第一时间戳和第二时间戳;
将已签名的软件映像、所述第一时间戳和所述第二时间戳组合成包;
部署所述包以在计算设备启动期间使用。
23.一种用于计算设备安全启动的装置,所述装置包括:
处理器;和
机器可读存储器,存储机器可执行指令,当所述机器可执行指令由所述处理器执行时,将所述装置配置为用于:
获得包,所述包包括已签名的软件映像、第一时间戳和第二时间戳;
在安全启动期间,认证所述已签名的软件映像、所述第一时间戳和所述第二时间戳;
若认证通过,则启动所述计算设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762477808P | 2017-03-28 | 2017-03-28 | |
US62/477,808 | 2017-03-28 | ||
PCT/CA2018/050344 WO2018176125A1 (en) | 2017-03-28 | 2018-03-22 | Method and apparatus for secure computing device start up |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110494856A true CN110494856A (zh) | 2019-11-22 |
Family
ID=63670982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880018012.3A Pending CN110494856A (zh) | 2017-03-28 | 2018-03-22 | 用于计算设备安全启动的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11048801B2 (zh) |
EP (1) | EP3602375A4 (zh) |
CN (1) | CN110494856A (zh) |
WO (1) | WO2018176125A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487435A (zh) * | 2020-11-06 | 2021-03-12 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
CN113127814A (zh) * | 2019-12-31 | 2021-07-16 | 杭州海康威视数字技术股份有限公司 | 软件防抄方法、装置、电子设备及可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3602375A4 (en) | 2017-03-28 | 2020-12-16 | Sierra Wireless, Inc. | METHOD AND DEVICE FOR SAFELY STARTING UP A COMPUTER DEVICE |
US11500994B2 (en) * | 2020-09-23 | 2022-11-15 | Dell Products L.P. | Communication system personality provisioning system |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6236971B1 (en) * | 1994-11-23 | 2001-05-22 | Contentguard Holdings, Inc. | System for controlling the distribution and use of digital works using digital tickets |
US6766353B1 (en) * | 2000-07-11 | 2004-07-20 | Motorola, Inc. | Method for authenticating a JAVA archive (JAR) for portable devices |
US20070106912A1 (en) * | 2005-11-04 | 2007-05-10 | Kabushiki Kaisha Toshiba | Apparatus and program for update of time stamp |
CN101034991A (zh) * | 2007-04-06 | 2007-09-12 | 中兴通讯股份有限公司 | 安全引导系统及方法、代码签名构造方法及认证方法 |
US7340610B1 (en) * | 2004-08-31 | 2008-03-04 | Hitachi, Ltd. | Trusted time stamping storage system |
CN101630353A (zh) * | 2008-06-30 | 2010-01-20 | 英特尔公司 | 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 |
CN104753881A (zh) * | 2013-12-30 | 2015-07-01 | 上海格尔软件股份有限公司 | 一种基于软件数字证书和时间戳的WebService安全认证访问控制方法 |
CN105117651A (zh) * | 2015-09-16 | 2015-12-02 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
US20160378970A1 (en) * | 2015-06-24 | 2016-12-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Automatic discovery and installation of secure boot certificates |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001060012A2 (en) * | 2000-02-11 | 2001-08-16 | Verimatrix, Inc. | Web based human services conferencing network |
FR2844656B1 (fr) * | 2002-09-18 | 2005-01-28 | France Telecom | Procede de signature electronique, programme et serveur pour la mise en oeuvre du procede |
FR2912578B1 (fr) * | 2007-02-13 | 2009-05-22 | Airbus France Sas | Methode d'authentification d'un document electronique et methode de verification d'un document ainsi authentifie. |
KR20100106110A (ko) * | 2009-03-23 | 2010-10-01 | 삼성전자주식회사 | 시큐어 부트 데이터(Secure Boot Data) 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체. |
KR20120092222A (ko) * | 2011-02-11 | 2012-08-21 | 삼성전자주식회사 | 보안 부팅 방법 및 보안 부트 이미지 생성 방법 |
TWI667586B (zh) * | 2013-09-20 | 2019-08-01 | 系微股份有限公司 | 用以核對uefi認證變量變化之系統及方法 |
CN103927490A (zh) * | 2014-04-25 | 2014-07-16 | 华为技术有限公司 | 操作系统安全启动方法及装置 |
WO2016073411A2 (en) * | 2014-11-03 | 2016-05-12 | Rubicon Labs, Inc. | System and method for a renewable secure boot |
US20180109390A1 (en) * | 2015-04-06 | 2018-04-19 | Hewlett Packard Enterprise Development Lp | Certificate generation |
CN105224875B (zh) * | 2015-11-13 | 2018-04-06 | 上海斐讯数据通信技术有限公司 | 一种终端的安全启动系统和方法 |
EP3602375A4 (en) | 2017-03-28 | 2020-12-16 | Sierra Wireless, Inc. | METHOD AND DEVICE FOR SAFELY STARTING UP A COMPUTER DEVICE |
-
2018
- 2018-03-22 EP EP18778272.7A patent/EP3602375A4/en not_active Withdrawn
- 2018-03-22 CN CN201880018012.3A patent/CN110494856A/zh active Pending
- 2018-03-22 WO PCT/CA2018/050344 patent/WO2018176125A1/en unknown
- 2018-03-28 US US15/938,701 patent/US11048801B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6236971B1 (en) * | 1994-11-23 | 2001-05-22 | Contentguard Holdings, Inc. | System for controlling the distribution and use of digital works using digital tickets |
US6766353B1 (en) * | 2000-07-11 | 2004-07-20 | Motorola, Inc. | Method for authenticating a JAVA archive (JAR) for portable devices |
US7340610B1 (en) * | 2004-08-31 | 2008-03-04 | Hitachi, Ltd. | Trusted time stamping storage system |
US20070106912A1 (en) * | 2005-11-04 | 2007-05-10 | Kabushiki Kaisha Toshiba | Apparatus and program for update of time stamp |
CN101034991A (zh) * | 2007-04-06 | 2007-09-12 | 中兴通讯股份有限公司 | 安全引导系统及方法、代码签名构造方法及认证方法 |
CN101630353A (zh) * | 2008-06-30 | 2010-01-20 | 英特尔公司 | 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 |
CN104753881A (zh) * | 2013-12-30 | 2015-07-01 | 上海格尔软件股份有限公司 | 一种基于软件数字证书和时间戳的WebService安全认证访问控制方法 |
US20160378970A1 (en) * | 2015-06-24 | 2016-12-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Automatic discovery and installation of secure boot certificates |
CN105117651A (zh) * | 2015-09-16 | 2015-12-02 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127814A (zh) * | 2019-12-31 | 2021-07-16 | 杭州海康威视数字技术股份有限公司 | 软件防抄方法、装置、电子设备及可读存储介质 |
CN113127814B (zh) * | 2019-12-31 | 2023-03-14 | 杭州海康威视数字技术股份有限公司 | 软件防抄方法、装置、电子设备及可读存储介质 |
CN112487435A (zh) * | 2020-11-06 | 2021-03-12 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3602375A4 (en) | 2020-12-16 |
EP3602375A1 (en) | 2020-02-05 |
US11048801B2 (en) | 2021-06-29 |
US20180285570A1 (en) | 2018-10-04 |
WO2018176125A1 (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7060362B2 (ja) | 電子デバイスのためのイベント証明書 | |
US9998438B2 (en) | Verifying the security of a remote server | |
US7818585B2 (en) | Secure license management | |
JP5992457B2 (ja) | オペレーティングシステムのコンフィグレーション値の保護 | |
EP2659373B1 (en) | System and method for secure software update | |
CN106991298B (zh) | 应用程序对接口的访问方法、授权请求方法及装置 | |
US8880667B2 (en) | Self regulation of the subject of attestation | |
US20120304311A1 (en) | Tokenized Resource Access | |
EP2727040B1 (en) | A secure hosted execution architecture | |
CN110494856A (zh) | 用于计算设备安全启动的方法和装置 | |
US11388012B2 (en) | Application certificate | |
JP2013519929A (ja) | 情報処理装置、情報処理システム、ソフトウェアルーチン実行方法およびリモート認証方法 | |
CN111723383A (zh) | 数据存储、验证方法及装置 | |
WO2022205963A1 (zh) | 一种跨链访问控制方法和装置 | |
US9515827B2 (en) | Key management device, communication device, communication system, and computer program product | |
US20080229426A1 (en) | Information processing apparatus, software verification method, and software verification program | |
US20140157368A1 (en) | Software authentication | |
KR101890584B1 (ko) | m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 | |
JP6387908B2 (ja) | 認証システム | |
US9665711B1 (en) | Managing and classifying states | |
KR101849908B1 (ko) | m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 | |
US10461926B2 (en) | Cryptographic evidence of persisted capabilities | |
KR20180041052A (ko) | m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 | |
Galanou et al. | Matee: Multimodal attestation for trusted execution environments | |
Niemi et al. | Platform attestation in consumer devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191122 |
|
WD01 | Invention patent application deemed withdrawn after publication |