CN102123031A - 硬件认证技术 - Google Patents
硬件认证技术 Download PDFInfo
- Publication number
- CN102123031A CN102123031A CN2010106249433A CN201010624943A CN102123031A CN 102123031 A CN102123031 A CN 102123031A CN 2010106249433 A CN2010106249433 A CN 2010106249433A CN 201010624943 A CN201010624943 A CN 201010624943A CN 102123031 A CN102123031 A CN 102123031A
- Authority
- CN
- China
- Prior art keywords
- platform
- signature
- software application
- entity
- entity information
- 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/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/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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- 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/12—Applying verification of the received information
Abstract
描述了硬件认证技术。一种装置可以包括平台,该平台包含能够操作于隔离执行模式的处理器和具有与控制软件应用程序的实体相关联的实体信息的持久性存储器。该平台可以包括与平台通信地耦合的安全控制器,该安全控制器具有签名生成器和认证模块,该签名生成器操作来为在所述平台上执行的所述软件应用程序生成平台签名,该平台签名包括实体信息的加密散列,该认证模块操作来向所述软件应用程序提供所述平台签名,该平台签名用于验证所述平台与所述软件应用程序相关联。描述和请求保护了其它的实施方式。
Description
背景技术
用于电子设备的硬件部件,例如用于计算机或移动设备的计算平台,正在迅速地成为商品。在力图区分产品和服务时,商家越来越多地定制软件产品所提供的应用、服务以及功能,以为终端用户提供独一无二的设备体验。例如,原始设备制造商(OEM)可以制造设备,该设备用从一个公司购买的硬件、从另一个公司购买的软件以及由OEM作为附加值服务提供的特定软件来制成。如此,对于许多商家来说,软件产品已经成为用于给定的设备类或设备族的一个主要资产。
不道德的攻击者试图通过创建具有成功的软件产品的未授权的设备,来利用这一产品或服务的差异。这可以通过使用商品化的硬件和未授权的软件映象克隆一个设备来实现。这还可以通过物理地替换现有设备的芯片组和让未授权的硬件来使用授权的软件产品来实现。通过将软件产品关联或绑定到硬件平台可以阻止或挫败这类攻击,且反之亦然。正是关于这些以及其它的原因,需要当前的改进。
附图说明
图1示出了平台的一个实施方式。
图2示出了第一逻辑流程的一个实施方式。
图3示出了第二逻辑流程的一个实施方式。
图4示出了操作方式的一个实施方式。
图5示出了系统的一个实施方式。
具体实施方式
各种实施方式通常可以针对硬件认证技术。一些实施方式特别地可以针对硬件认证技术以证明或验证为特定的软件产品所用的给定的硬件平台。以这种方式,硬件平台和软件产品可以彼此关联,使得软件产品只可以在授权的硬件平台上执行。
在一个实施方式中,例如,诸如电子设备之类的装置可以包括计算平台,该计算平台具有能够在隔离执行模式中操作的处理器和持久性存储器。该持久性存储器可以存储与控制软件应用程序的实体相关的实体信息,该实体例如OEM或操作系统厂商(OSV)。安全控制器可以通信地耦合到平台。安全控制器可以包括签名生成器,该签名生成器操作来为在平台上执行的软件应用程序生成平台签名。平台签名可以包括实体信息的加密散列。安全控制器还可以包括认证模块,该认证模块操作来为软件应用程序提供平台签名,利用平台签名来验证平台与软件应用程序相关联。描述和请求保护了其它的实施方式。
使用平台签名来建立硬件平台和软件产品之间的绑定可以提供几个优势。例如,不能克隆出或替换成其它硬件平台来让软件产品或软件产品的复制品使用。在另一个例子中,可以为不同的硬件平台实现软件产品的可选择的功能,且反之亦然。这些以及其它的优势可以增强安全性以及对软件产品和相关联的硬件平台的控制。
在下述描述中,使用术语论述了本发明的某些特征。例如,“平台”包括硬件设备和/或在存储的信息上执行不同功能的软件。平台的例子包括但不局限于或限制于计算机(例如,台式机、膝上型计算机、手持式计算机、服务器、工作站等)、桌面办公设备(例如,打印机、扫描仪、传真机等)、无线电话手持机、电视机顶盒等等。“软件产品”或“软件应用程序”或“软件模块”包括代码,当执行该代码时完成某种功能。“节(nub)”是一系列的代码指令,可能是来自软件模块的代码的子集。“链接”广义定义为一个或多个信息承载媒介(例如,电线、光纤、电缆、总线或无线信令技术)。
此外,将术语“信息”定义为一个或多个比特的数据、地址和/或控制。“段”是一个或多个字节的信息。“页”是预定数目的字节,通常在长度上为2的幂(例如,512、1024等)。“加密散列算法”是一个将信息从可变长度转换为固定长度的数学的或其它方式的算法或函数,有时称作“散列值”或“消息摘要”或仅仅是“摘要”。“单向加密散列算法”表示不容易存在逆函数以从固定长度的散列值中恢复出原始信息的任何可辨别的部分。加密散列算法的例子包括由国家安全机构设计的和由国家标准和技术协会(NIST)公布的作为美国联邦信息处理标准的安全散列算法(SHA),诸如其中2008年公布的名为“联邦信息处理标准公布180-3”的安全散列标准FIPS180-3(2008年10月)中指定的SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512。
图1示出了可用于实现不同硬件认证技术的一个示例性平台100。平台100可以包括,例如,计算平台或通信平台。硬件认证技术可用于验证平台100被授权执行由实体(诸如OEM或OSV或其它软件制造商)控制的软件产品。
如图1所示,平台100可以包括各种组件。在图1所示的说明性实施方式中,例如,平台100可以包括处理器102、操作系统103、软件应用程序104、安全控制器110、一个或多个持久性存储单元116-1-n以及一个或多个内存单元120-1-p。安全控制器110进一步可以包括认证模块112和签名生成器114。一个或多个内存单元120-1-p可以被分成各种内存区域122-1-r。各种组件可以作为独立的设备来实现,该独立的设备通过具有相应接口的各种互联拓扑相连接。附加地或可替换地,一些或所有组件可以被集成到单个集成电路(IC)、半导体管芯、或使用片上系统(SoC)结构的芯片上。实施方式并不局限于这一方面。
尽管图1示出了给定拓扑中的某些组件,但是可以意识到使用本文描述的技术可以实现不同拓扑中的或多或少的组件,其仍旧落入这些实施方式的范围中。例如,平台100可以与外围部件通信,该外围部件诸如海量存储设备、一个或多个输入/输出(I/O)设备,以及各种安全与非安全通信总线和相关联的控制器。为清楚起见,没有示出用于这些外围部件的具体的链接(例如,外围部件互联“PCI”、图形加速端口“AGP”、工业标准结构“ISA”、通用串行总线“USB”等)。实施方式并不局限于这一方面。
在某些实施方式中,可以将平台100的组件实现在任何给定的电子设备中或实现为任何给定的电子设备的一部分。合适的电子设备的例子可以包括但不限于移动台、具有内置电源(例如电池)的便携式计算设备、膝上型计算机、超小膝上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、移动单元、用户站、用户终端、便携式计算机、手持式计算机、掌上计算机、可穿戴式计算机、媒体播放器、寻呼机、消息传递设备、数据通信设备、计算机、个人计算机、服务器、工作站、网络设备、电子游戏系统、导航系统、地图系统、定位系统等等。在一些实施方式中,电子设备可以包括多个部件。在这个实例中,平台100可以被实现为多个部件中的任意一个的一部分(例如,用于游戏控制台的远程控制)。在一个实施方式中,例如,平台100可以被实现为用于计算设备的计算平台的一部分,参考图5描述了这方面的例子。在进一步的实施方式中,然而,实现可以包括外部软件和/或外部硬件。实施方式并不局限于这一方面。
平台100可以包括处理器102。处理器102可以具有一个或多个处理器内核。处理器102代表任何类型的结构的中央处理单元,例如复杂指令集计算机(CISC)、精简指令集计算机(RISC)、超长指令字(VLIW)或混合结构。在一个实施方式中,处理器102与英特尔架构(IA)处理器(例如IA-32和IA-64)兼容。处理器102可以包括通用处理器或者配置用于执行如软件应用程序104所代表的不同类型的应用程序的专用处理器。
处理器102包括隔离执行电路130。隔离执行电路130提供机制以允许处理器102和/或平台100在隔离执行模式中操作。隔离执行电路130为隔离执行模式提供硬件和软件支持。这个支持包括配置隔离执行、定义隔离区域、定义(例如解码和执行)隔离指令、生成隔离访问总线周期、以及生成隔离模式中断。在一个实施方式中,例如,可以配置隔离执行电路130来实现隔离架构(ISOXTM)架构。实施方式并不局限于这一方面。
平台100可以包括一个或多个软件应用程序104。软件应用程序104可以包括处理器102存储和执行的任何应用程序。此外,软件应用程序104可以具有嵌入的安全功能来访问平台100所提供的文档、功能或服务。如此,软件应用程序104可以作为客户端服务于安全控制器110所提供的安全服务。软件应用程序104还可以访问和/或控制安全控制器110所管理的一些安全服务,诸如当处理器102为了认证平台100而操作在隔离执行模式时。例如,软件应用程序104可以访问处理器102、安全控制器110、持久性存储单元116-1-n、系统内存120、隔离执行电路130等等。软件应用程序104可以包括位于计算设备上的本地应用程序或位于远程设备(例如,网络服务器)上的远程应用程序。在一个实施方式中,例如,可以将软件应用程序104实现为实体(例如OEM、OSV或提供了适于平台100执行的软件应用程序的任何其它实体)的软件。
平台100可以包括一个或多个配置用于安全地存储信息的持久性存储单元116-1-n。在各种实施方式中,持久性存储单元116-1-n包括可以实现可编程内部电熔丝以允许硬件组件动态实时重编程的硬件存储组件,诸如半导体设备或集成电路(IC),也被称为微电路、微芯片、硅芯片、芯片组或仅仅是芯片。在一个实施方式中,例如,可以使用内部熔丝技术(例如,其中纽约阿蒙克的公司制造的eFUSE技术)实现持久性存储单元116-1-n。可以将任何已知类型的持久性存储单元实现为持久性存储单元116-1-n,然而,实施方式并不局限于这一方面。
平台100可以包括安全控制器110。安全控制器110可以通信地耦合到一个或多个持久性存储单元116-1-n。安全控制器110通常可以操作来控制平台100的安全,并且可以实现许多已知的安全和加密技术。在一个实施方式中,例如,安全控制器110可以提供实现安全和稳健的计算平台所需要的各种软件和硬件功能。例如,安全控制器110可以提供各种安全部件和能力,诸如安全的启动、安全的执行环境、安全的存储、用于各种安全算法和加密方案(例如,高级加密标准、数据加密标准(DES)、三重DES等)的硬件加密加速、公钥基础设施(PKI)引擎支持RSA和椭圆曲线加密(ECC)、用于安全散列函数(SHA)算法(例如,SHA-1、SHA-2、SHA-3等)的散列引擎、遵从联邦信息处理标准(FIPS)的随机数生成(RNG)、数字权限管理(DRM)、通过联合测试行动小组(JTAG)的安全调试、附加的安全计时器和计数器、等等。在一些实施方式中,安全控制器110可以包括硬件安全控制器,诸如加利福尼亚圣克拉拉的英特尔公司制造的英特主动管理技术(AMT)设备。在其它实施方式中,安全控制器110可以是与基于博DASH(用于系统硬件的桌面及移动架构)网络服务的管理技术相关的硬件安全控制器。然而在其它实施方式中,可以通过其它类型的安全管理技术来实现安全控制器110。实施方式并不局限于这一方面。
值得注意的是,尽管图1所示的安全控制器110由独立于处理器102的设备(诸如另一个处理器或控制器)来实现,但是可以意识到安全控制器110所提供的功能和服务可以由平台100的另一个部件或实现平台100的电子设备的另一个部件来实现。例如,安全控制器110可以与输入/输出(I/O)控制器、I/O控制中心(ICH)或平台100的处理器102集成。在后一情况下,例如,安全控制器110可以被实现为处理器102的隔离执行电路130的一部分。实施方式并不局限于这一方面。
平台100还可以包括具有多个内存区域122-1-r的一个或多个内存单元120-1-p。图1所示的实施方式示出了具有两个内存区域122-1、122-2的单个内存单元120。可以定义每个内存区域122-1-r的不同的安全访问等级和优先级。在一个实施方式中,例如,第一内存区域122-1可以包括当操作在隔离执行模式时由处理器102所定义的隔离内存区域。第二内存区域122-2可以包括共享内存区域。尽管图1示出了具有多个内存区域122-1、122-2的单个内存单元120,但是可以意识到可以为平台100实现多个内存单元120-1、120-2,且每个内存单元120-1、120-2具有各自的内存区域122-1、122-2。实施方式并不局限于这一方面。
第一内存区域122-1可以包括当操作在隔离执行模式时由处理器102所定义的隔离内存区域。诸如ISOX的隔离执行结构的一个概念是在平台100中的处理器和/或芯片组所保护的系统内存中创建一个区域。受到保护的内存的这个区域被称作“隔离区域”,诸如内存单元120的隔离内存区域122-1。使用特定的内存读和写周期,这里称为“隔离的读和写”周期,允许访问隔离内存区域122-1。由操作在隔离执行模式中的处理器102发布隔离的读和写周期。对隔离内存区域122-1的访问是受限的,且由处理器102和/或安全控制器110或集成隔离区域功能的其它芯片组执行。通常,只有操作于隔离执行模式时的安全控制器110和处理器102才可以访问隔离内存区域122-1。在一些实施方式中,可以授权一些或所有的软件应用程序104在操作于隔离执行模式时的处理器102上执行。例如,为了验证软件应用程序104所使用的平台100,可以如此授权认证模块142。
第二内存区域122-2可以包括共享内存区域。共享内存区域122-2是当平台100操作在正常执行模式时、由平台100的所有部件使用的正常的或未保护的内存区域。
在各种实施方式中,安全控制器110可以包括认证模块112。通常可以配置认证模块122来检测和验证软件应用程序104是否被授权在平台100上执行。认证模块112可以是安全控制器110的安全子系统。在各种实施方式中,认证模块112可以用适于安全子系统的各种硬件和软件结构来实现,诸如一个或多个嵌入式安全处理器、中断控制器、指令高速缓存、数据高速缓存、内存、加密加速引擎、基于硬件的RNG、安全JTAG以及其它元件。
在各种实施方式中,安全控制器110可以包括签名生成器114。可以配置签名生成器114来生成确认平台100的身份的信息。在一个实施方式中,例如,签名生成器114可以生成平台签名以识别平台100的真实性。
在通常的操作中,隔离执行电路130可以将处理器102和/或平台100置于隔离执行模式中。在一个实施方式中,例如,隔离执行电路130可以实现ISOX架构。ISOX架构包括与平台100的操作系统103直接或间接交互的硬件和软件部件的逻辑和物理上的定义。此处,平台100的处理器102和操作系统103可以具有几个级别的层次结构,称作环,其对应于各种操作模式。“环”是设计来执行操作系统中的专门任务的硬件和软件部件的逻辑划分。该划分通常基于权限的等级或级别,即对平台作出改变的能力。例如,环-0是最内部的环,处于层次结构的最高级别。环-0包含最关键和最有特权的部件。环-3是最外面的环,处于层次结构的最低级别。环-3通常包含用户级应用程序,其一般被给予了最低的权限级别。环-1和环-2代表中间环,其权限级别递减。
平台100具有至少两个操作模式,包括正常执行模式和隔离执行模式。环-0包括两个部分,即正常执行环-0和隔离执行环-0。正常执行环-0包括对操作系统关键的软件模块。通常,这些软件模块包括称之为“内核”(例如,操作系统的未保护段)的基本操作系统、软件驱动和硬件驱动。类似地,环-1、环-2和环-3包括正常执行和隔离执行部分。
隔离执行环-0包括操作系统(OS)核心和处理器核心。OS核心和处理器核心分别是OS执行程序(OSE)和处理器执行程序(PE)的实例。OSE和PE是操作在与隔离区域和隔离执行模式相关联的安全环境中的执行程序实体的一部分。
OS核心提供到基本操作系统中的服务的链接,提供隔离区域中的页管理,以及负责加载一些环-0的软件模块以及环-3的软件模块到位于隔离区域中的受保护的页中。OS核心还可以支持在将页逐出到共享(未保护)内存区域122-2之前加密和散列隔离区域的页,和/或在页恢复后检查页的内容。
处理器核心提供内存单元120的隔离内存区域122-1的初始设置和低级别的管理,包括OS核心的验证、加载和记录,以及管理用于保护操作系统核心的秘密的对称密钥。处理器核心还可以向由其它硬件提供的低级别的安全服务提供应用程序接口(API)的抽象。处理器核心还可以由OEM或OSV通过启动盘来分发。可以由处理器核心加载器来加载处理器核心,该处理器核心加载器是芯片组本身拥有的、受保护的引导加载器代码,且负责从处理器102或芯片组加载处理器核心到隔离内存区域122-1的区域中。例如,处理器核心加载器验证和加载环-0的核心软件模块(例如,处理器核心)到隔离区域。处理器核心提供基本硬件相关的服务以支持隔离执行。例如,处理器核心的一个任务是验证和加载环-0的OS核心到隔离内存区域122-1中。
可以配置安全控制器110的认证模块112来管理平台100的认证操作,包括发送控制指示到签名生成器114以为在平台100上执行的软件应用程序104生成平台签名。认证模块112可以从签名生成器114接收平台签名,以及将平台签名提供给软件应用程序104。软件应用程序104的认证模块142可以使用平台签名来验证平台100与软件应用程序104相关联。
在一个实施方式中,平台签名可以包括与控制软件应用程序104的实体相关联的实体信息的加密散列,其中该实体诸如OEM或OSV。实体可以在签名生成器114生成平台签名之前的某个时间,在一个或多个持久性存储单元116-1-n中为平台100存储实体信息。以这种方式,签名生成器114可以使用实体信息来生成平台签名,作为用于识别平台100的安全机制。诸如OEM或OSV的实体通常在制造和组装期间在平台100上提供专有软件应用程序,诸如应用程序104。在提供期间,OEM或OSV可以在一个或多个持久性存储单元116-1-n中存储特定于OEM或OSV的实体信息。例如,实体可以存储加密的实体信息,诸如访问代码、密码、对称或非对称安全密钥、散列值以及任何其它加密信息。实体可以存储非加密的实体信息,诸如实体名称、实体标识符、全局唯一标识符、实体身份信息、厂商识别号码、追踪号码、库存保管单元(SKU)以及任何其它非加密的实体信息。实施方式并不限于任何特定的实体信息,只要该实体信息由实体所提供。将持久性存储单元116-1-n设计来提供充分的加密特性或属性以使得难以或不可能通过硬件攻击来读取。因此,阻碍或阻止了第三方窃取持久性存储单元116-1-n中存储的信息。
在一个实施方式中,持久性存储单元116-1-n可以以一个或多个非对称安全密钥的形式为实体存储实体信息。非对称密钥算法用于创建数学上相关的密钥对,包括保密的私钥和公开的公钥。通过使用私钥创建可以使用公钥来验证的消息的数字签名,可以使用这些密钥来让消息的真实性得到保护。通过公钥加密,使用公钥来加密消息,该消息只能用私钥才能解密,还可以使消息的保密性和完整性得到保护。实体可以在一个或多个持久性存储单元116-1-n中存储一个或多个非对称安全密钥,诸如一个或多个公钥。
在一个实施方式中,持久性存储单元116-1-n可以以一个或多个不同的非对称安全密钥的加密散列的形式为实体存储实体信息。加密散列算法是一类接受任意的数据块并返回一固定大小的比特串的确定过程,该固定大小的比特串即为(加密的)散列值,这使得对数据的无意或有意改变将改变该散列值。经常将待编码的数据称之为“消息”,并且有时将散列值称为“消息摘要”或简单地称为“摘要”。实体可以在一个或多个持久性存储单元116-1-n中存储一个或多个非对称安全密钥,诸如一个或多个公钥,作为不同公钥的加密散列。在一个实施方式中,例如,持久性存储单元116-1-n可以存储一个或多个与实体所使用的不同公钥相对应的SHA-256散列。
在一个实施方式中,持久性存储单元116-1-n可以以一个或多个对称安全密钥的形式为实体存储实体信息。对称密钥算法是一类用于加密技术的算法,其使用极其相关的、经常是同样的加密密钥来加密和解密。加密密钥与解密密钥极其相关,因为它们可以是同样的,或者在两个密钥之间具有简单的转换。这些密钥实际上代表的是位于两方或更多方之间的可用于保持秘密信息的链接的共享秘密。用于对称密钥加密的其它术语有秘密密钥、单密钥、共享密钥、一密钥以及私钥加密。在一个实施方式中,例如,实体可以在一个或多个持久性存储单元116-1-n中存储一个或多个对称安全密钥。
在一个实施方式中,持久性存储单元116-1-n可以以一个或多个不同的对称安全密钥的加密散列的形式为实体存储实体信息。在一个实施方式中,例如,持久性存储单元116-1-n可以存储一个或多个与不同的对称密钥相对应的SHA-256散列。
在验证操作中,认证模块112可以给签名生成器114发送控制指示以开始生成平台签名。签名生成器114可以使用持久性存储单元116-1-n中存储的实体信息来生成平台签名。在一个实施方式中,例如,签名生成器114可以从适当的持久性存储单元116-1-n中检索实体信息。取决于实体信息的长度和特定的加密散列算法,签名生成器114可以通过使用加密散列算法将实体信息从较长的固定长度压缩成较短的固定长度以产生加密散列,来生成平台签名。附加地或者可替换地,签名生成器114可以通过使用加密散列算法将实体信息从可变的长度压缩成固定的长度以产生加密散列,来生成平台签名。签名生成器114可以将平台签名输出到认证模块112。安全控制器110的认证模块112然后可以与软件应用程序104的认证模块142交互操作以如下更加详述的那样,在执行软件应用程序104的其它部分之前验证平台100。
签名生成器114可以在不同的时刻为平台100生成平台签名。在一个实施方式中,签名生成器114可以响应于明确的请求(诸如来自软件应用程序104的认证模块142的请求),在认证模块112的控制下实时生成平台签名。例如,当启动或引导操作期间平台100初始接收电能时,签名生成器114可以响应于从认证模块112(或认证模块142)接收的初始认证请求来生成平台签名。附加地或者可替换地,签名生成器114可以响应于在定期的、不定期的或按要求的基础上接收到的再次认证请求来生成平台签名。后面的验证定时是期望的,例如,以检测运行期间对平台100的篡改。
在一个实施方式中,例如,签名生成器114可以在认证模块112的控制下在接收到明确请求之前生成平台签名,以及将平台签名存储到隔离内存区域122-1中。尽管不如实时实现安全,但是在一些情况下,平台100的隔离执行模块所提供的安全机制可以提供足够的安全性以使用之前生成的平台签名为软件应用程序104执行认证操作。在启动时间相对较短时(例如,诸如“即时”启动技术或在不同的功率消耗模式之间切换时),这对于支持软件应用程序104的验证检查是有用的。
可以参考一个或多个逻辑流程进一步描述上述实施方式的操作。可以意识到,该代表性的逻辑流程并非必须按照所示的顺序执行,或者按某种特定的顺序执行,除非另有说明。而且,与逻辑流程相关的所描述的各种行为能以串行或并行的方式执行。可以使用所描述的实施方式的一个或多个硬件组件和/或软件组件或者为了给定的一组设计和性能约束而所期望的选择性的组件,来实现逻辑流程。例如,逻辑流程可以实现为由逻辑设备(例如,通用或专用计算机)所执行的逻辑(例如,计算机程序指令)。
图2示出了逻辑流程200的一个实施方式。逻辑流程200可以代表一个或多个本文所描述的实施方式所执行的某些或所有的操作。例如,通过平台100的安全控制器110可以实现逻辑流程200。
在图2所示的示例性的实施方式中,在框202处,逻辑流程200可以为在支持隔离执行模式的平台上执行的软件应用程序生成平台签名,该平台签名包括与实体相关联的实体信息的加密散列,该实体控制存储在平台的持久性存储器中的软件应用程序。例如,当处理器102通过隔离执行电路130操作在隔离执行模式时,安全控制器110的签名生成器114可以为在平台100上执行的软件应用程序104生成平台签名。该平台签名可以包括与控制软件应用程序104的实体相关联的实体信息的加密散列,诸如存储在平台100的持久性存储单元116-1-n中的公钥的SHA-256散列。在一个实施方式中,例如,签名生成器114可以响应于明确的请求(诸如来自软件应用程序104的认证模块142的请求)实时生成平台签名。实施方式并不局限于这一点。
在框204处,逻辑流程200可以向软件应用程序提供平台签名,使用该平台签名来验证平台与该软件应用程序相关联。例如,认证模块112可以向软件应用程序104提供平台签名。软件应用程序104的认证模块142可以使用该平台签名来验证平台100与软件应用程序104相关联,以及因此,平台100的处理器102可以执行软件应用程序104所提供的一些或所有的服务和功能。实施方式并不局限于这一点。
图3示出了逻辑流程300的一个实施方式。逻辑流程300可以代表本文描述的一个或多个实施方式所执行的一些或所有的操作。例如,软件应用程序104可以实现逻辑流程300。
图3所示的示例性实施方式中,在框302处,逻辑流程300可以向操作在隔离执行模式中的平台发送认证请求。例如,当平台100通过隔离执行电路130操作在隔离执行模式时,软件应用程序104的认证模块142可以向安全控制器110的认证模块112发送认证请求。当平台100初始接收电能或从一个不同的功耗模式恢复时,认证模块142可以在启动操作期间发送认证请求。附加地或者可替换地,在平台100上执行软件应用程序104期间,认证模块142可以在定期的、不定期的或按需的基础上发送认证请求,作为附加的安全检查。实施方式并不局限于这一点。
在框304处,逻辑流程300可以从平台接收具有平台签名的认证响应。例如,当平台100通过隔离执行电路130操作在隔离执行模式时,认证模块142可以从安全控制器110的认证模块112接收具有平台签名的认证响应。实施方式并不局限于这一点。
在框306处,当平台的平台签名与软件应用程序可访问的平台签名匹配时,逻辑流程300可以验证平台。例如,当平台100的平台签名与软件应用程序104可访问的平台签名匹配时,认证模块142可以验证平台100。例如,当平台100的平台签名与软件应用程序104可访问的签名匹配时,认证模块142可以验证平台100。可以将软件应用程序104可访问的平台签名作为认证模块142的一部分进行存储,或者利用与用于生成从平台100接收的平台签名的加密技术同样的加密技术来生成该平台签名。例如,假设平台100返回平台签名,其为像比特串“2fd4e1c6 7a2d28fc ed849ee1bb76e739 1b93eb12”一样的加密散列。认证模块142可以比较接收到的平台签名“2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12”与存储的比特串“2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12”,并且如果相匹配,那么平台100得到验证,否则,停止执行软件应用程序104。或者,认证模块142可以比较接收到的平台签名“2fd4e1c6 7a2d28fc ed849ee1 bb76e7391b93eb12”与由认证模块142利用和签名生成器114同样的加密散列算法和实体信息计算而算出的比特串“2fd4e1c6 7a2d28fc ed849ee1 bb76e7391b93eb12”,并且如果相匹配,那么平台100得到验证,否则停止执行软件应用程序104。实施方式并不局限于这一点。
图4示出了操作方式400的一个实施方式,操作方式400可以示出平台100和用于平台100的认证或验证操作的软件应用程序104之间的消息流程。
在图4所示的说明性实施方式中,当平台100通过隔离执行电路130操作在隔离执行模式时,软件应用程序104的认证模块142可以向安全控制器110的认证模块112发送认证请求440-1。
认证模块112可以接收认证请求440-1,并向签名生成器114发送控制指示以生成平台签名450。签名生成器114可以响应于从认证模块142接收的认证请求440-1实时地生成平台签名450,从而提高认证操作的安全性。例如,签名生成器114可以利用存储在持久性存储单元116-1-n中的实体信息和SHA加密散列算法(例如,诸如SHA-256)来生成平台签名450。签名生成器114可以以SHA-256散列值的形式向认证模块112输出平台签名450。认证模块112可以向认证模块142发送具有平台签名450的认证响应440-2。
认证模块142可以从安全控制器110的认证模块112接收具有平台签名450的认证响应440-2,以及尝试利用平台签名450来验证平台100。例如,当平台100的平台签名450与软件应用程序104可访问的平台签名460匹配时,认证模块142可以验证平台100。平台签名460可以作为认证模块142的部分进行存储,或者作为存储在隔离内存区域220-1或软件应用程序104可使用的某个其它安全存储器中的认证模块142的程序指令(例如,硬编码的)的部分进行存储。也可以利用与用于生成从平台100接收的平台签名的加密技术同样的加密技术来实时生成平台签名460。例如,假设平台签名450是使用SHA-256加密散列算法的SHA-256散列值。认证模块142可以实现与签名生成器114类似的签名生成器,以及使用SHA-256加密散列算法和相同的实体信息集生成SHA-256散列值。该相同的实体信息集可以作为认证模块142的部分进行存储,或者作为存储在隔离内存区域220-1中的、存储在持久性存储单元116-1-n、远程或脱离设备的存储器(例如,网络服务器)、或软件应用程序104可以使用的某个其它安全存储器中的认证模块142的程序指令(例如,硬编码的)的部分进行存储。当平台签名450、460之间相匹配时,那么平台100得到验证,否则停止执行软件应用程序104。
在各种实施方式中,在利用安全传输412、432的安全方式中,平台100和软件应用程序104可以传送认证请求440-1、认证响应440-2以及平台签名460。在一个实施方式中,例如,安全传输412、432可以实现利用令牌总线和令牌阅读器的令牌系统。在这种情况下,安全传输412、432可以包括令牌总线接口以提供与令牌总线和令牌阅读器的信令接口。在系统中,令牌总线提供安全控制器110和一个或多个令牌之间的接口。“令牌”可以是执行专用的I/O功能的具有安全性的设备。令牌可以是固定的(例如主板令牌)或便携式的以通过令牌阅读器进行耦合。令牌总线接口将令牌总线耦合到安全控制器110,并且确保当被命令去验证隔离执行的状态时,相应的令牌仅标记有效的隔离散列值。
图5是计算设备500的计算平台的框图。计算设备500可以表示例如实现平台100的计算设备。这样,计算设备500可以包括平台100和/或操作方式400的各种组件。例如,图5示出了计算设备500可以包括处理器502、芯片组504、输入/输出(I/O)设备506、随机存取存储器(RAM)(诸如动态RAM(DRAM))508以及只读存储器(ROM)510、安全控制器110和传感器122-1-m。计算设备500还可以包括计算或通信设备中通常出现的各种平台部件。可以在硬件、软件、固件或其任何组合中实现这些组件。然而,实施方式并不限于这些组件。
如图5所示,I/O设备506、RAM 508和ROM 510通过芯片组504的方式耦合到处理器502。芯片组504可以通过总线512耦合到处理器502。因此,总线512可以包括多个线路。
处理器502可以是包括一个或多个处理器内核的中央处理单元。处理器502可以包括任何类型的处理单元,例如,诸如中央处理单元(CPU)、多处理单元、精简指令集计算机(RISC)、具有流水线的处理器、复杂指令集计算机(CISC)、数字信号处理器(DSP)等等。处理器502可以表示例如具有隔离执行电路130的处理器102。
尽管未示出,但是计算设备500可以包括各种接口电路,诸如以太网接口和/或通用串行总线(USB)接口等。在一些示例性实施方式中,I/O设备506可以包括连接到接口电路以将数据和命令输入到计算设备500中的一个或多个输入设备。例如,输入设备可以包括键盘、鼠标、触摸屏、跟踪垫、跟踪球、isopoint、声音识别系统等。类似地,I/O设备506可以包括连接到接口电路以向操作者输出信息的一个或多个输出设备。例如,输出设备可以包括一个或多个显示器、打印机、扬声器、LED、振动器和/或其它输出设备,如果需要的话。例如,其中一个输出设备可以是显示器。显示器可以是阴极射线管(CRT)、液晶显示器(LCD)或任何其它类型的电子显示器,诸如图4所示的显示器414。
计算设备500还可以具有有线或无线网络接口以通过到网络的连接来与其它设备交换数据。网络连接可以是任何类型的网络连接,诸如以太网连接、数字用户线(DSL)、电话线、同轴电缆等。网络(220)可以是任何类型的网络,诸如因特网、电话网络、有线网络、无线网络、分组交换网络、电路交换网络等。
本文阐述了大量的具体细节以提供对实施方式的透彻理解。但是,本领域人员应该理解,没有这些具体细节也可以实现实施方式。在其它例子中,公知的操作、部件和电路未被详细描述,以不混淆实施方式。应当意识到,本文公开的具体结构和功能细节是代表性的,并且不一定限制实施方式的范围。
可以使用硬件组件、软件组件或二者的组合来实现各种实施方式。硬件组件的例子可以包括处理器、微处理器、电路、电路组件(例如,晶体管、电阻、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等等。软件的例子可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。根据许多因素,例如期望的计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、内存资源、数据总线速度以及其它设计或性能上的约束,确定是否利用硬件组件和/或软件组件来实现一个实施方式的结果可以不同。
利用词语“耦合的”和“连接的”及其衍生词,可以描述一些实施方式。这些术语并不旨在彼此作为同义词。例如可以使用术语“连接的”和/或“耦合的”来描述一些实施方式以表明两个或更多个组件彼此直接物理连接或电连接。然而,术语“耦合”还可以意味着两个或更多个组件彼此不直接连接,但仍然彼此协作或交互。
例如,可以利用存储介质、计算机可读介质或可以存储指令或指令集的制品来实现一些实施方式,该指令或指令集如果由机器执行,则可以使机器执行根据此实施方式的方法和/或操作。这种机器可以包括,例如,任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,以及可以利用硬件和/或软件的任意合适的组合来实现。计算机可读介质或物品可以包括例如任何合适类型的内存单元、内存设备、内存物品、内存介质、存储设备、存储物品、存储介质和/或存储单元,例如,内存、可移动或不可移动介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、压缩盘只读存储器(CD-ROM)、可刻录压缩盘(CD-R)、可重写压缩盘(CD-RW)、光盘、磁介质、磁光介质、可移动内存卡或盘、各种类型的数字多功能盘(DVD)、磁带、磁盒等。指令可以包括使用任意合适的高级、低级、面向对象、可视化、编译和/或解释编程语言来实现的任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密的代码等。
应当理解,实施方式可用于各种应用程序中。尽管实施方式并不局限于这一点,可结合多个计算设备使用某些实施方式,该计算设备诸如个人计算机、台式计算机、移动计算机、膝上型计算机、笔记本电脑、平板电脑、服务器计算机、网络、个人数字助理(PDA)设备、无线通信站、无线通信设备、蜂窝电话、移动电话、无线电话、个人通信系统(PCS)设备、包含无线通信设备的PDA设备、智能电话等。可将实施方式用于各种其它装置、设备、系统和/或网络。
尽管以特定于结构特征和/或方法动作的语言描述了本主题,但应当理解,不必将定义在所附权利要求中的主题限制到上述的具体的特征或动作。相反,作为实现权利要求的示例性形式公开了上述的具体的特征和动作。
Claims (20)
1.一种计算机实现的方法,包括:
为在支持隔离执行模式的平台上执行的软件应用程序生成平台签名,所述平台签名包括与控制所述软件应用程序的实体相关联的实体信息的加密散列,所述实体信息存储在所述平台的持久性存储器中;以及
向所述软件应用程序提供所述平台签名,所述平台签名用于验证所述平台与所述软件应用程序相关联。
2.根据权利要求1所述的计算机实现的方法,包括:
在生成所述平台签名之前,将所述实体信息存储在所述平台的持久性存储器中,所述持久性存储器包括一个或多个内部熔丝。
3.根据权利要求1所述的计算机实现的方法,所述实体信息包括所述实体的一个或多个非对称安全密钥或者不同的非对称安全密钥的加密散列。
4.根据权利要求1所述的计算机实现的方法,所述实体信息包括所述实体的一个或多个对称安全密钥或者不同的对称安全密钥的加密散列。
5.根据权利要求1所述的计算机实现的方法,所述实体信息包括所述实体的实体标识符或实体名称。
6.根据权利要求1所述的计算机实现的方法,包括:
使用加密散列算法将所述实体信息从较长的固定长度压缩到较短的固定长度,以生成所述加密散列。
7.根据权利要求1所述的计算机实现的方法,包括:
使用加密散列算法将所述实体信息从可变长度压缩到固定长度,以生成所述加密散列。
8.根据权利要求1所述的计算机实现的方法,包括:
响应于所述平台初始接收电能时所接收到的初始认证请求,生成所述平台签名。
9.根据权利要求1所述的计算机实现的方法,包括:
响应于定期接收到的再次认证请求,生成所述平台签名。
10.根据权利要求1所述的计算机实现的方法,包括:
当所述平台的所述平台签名与所述软件应用程序可访问的平台签名匹配时,认证所述平台。
11.一种装置,包括:
平台,其包含持久性存储器以及能够操作于隔离执行模式的处理器,所述持久性存储器具有与控制软件应用程序的实体相关联的实体信息;以及
通信地耦合到所述平台的安全控制器,所述安全控制器具有签名生成器和认证模块,所述签名生成器操作来为在所述平台上执行的所述软件应用程序生成平台签名,所述平台签名包括实体信息的加密散列,所述认证模块操作来向所述软件应用程序提供所述平台签名,所述平台签名用于验证所述平台与所述软件应用程序相关联。
12.根据权利要求11所述的装置,所述持久性存储器包括可编程的内部熔丝。
13.根据权利要求11所述的装置,配置所述持久性存储器以接收所述实体信息,以及在生成所述平台签名之前存储所述实体信息。
14.根据权利要求11所述的装置,所述实体信息包括所述实体的加密信息。
15.根据权利要求11所述的装置,所述实体信息包括所述实体的非加密信息。
16.根据权利要求10所述的装置,包括数字显示器。
17.一种包括存储介质的物品,所述存储介质包含指令,当执行所述指令时使得系统能够:
为在支持隔离执行模式的平台上执行的软件应用程序生成平台签名,所述平台签名包括存储在所述平台的持久性存储器中的、与控制所述软件应用程序的实体相关联的实体信息的加密散列;以及
向所述软件应用程序提供所述平台签名,所述平台签名用于验证所述平台与所述软件应用程序相关联。
18.根据权利要求17所述的物品,还包括:
当被执行时使得所述系统能够从持久性存储器中检索所述实体信息的指令,所述持久性存储器具有一个或多个内部熔丝。
19.根据权利要求17所述的物品,还包括:
当被执行时使得所述系统能够使用加密散列算法将所述实体信息从较长的固定长度压缩到较短的固定长度以生成所述加密散列的指令。
20.根据权利要求17所述的物品,还包括:
当被执行时使得所述系统能够使用加密散列算法将所述实体信息从可变长度压缩到固定长度以生成所述加密散列的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/646,582 | 2009-12-23 | ||
US12/646,582 US20110154501A1 (en) | 2009-12-23 | 2009-12-23 | Hardware attestation techniques |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102123031A true CN102123031A (zh) | 2011-07-13 |
Family
ID=44153139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106249433A Pending CN102123031A (zh) | 2009-12-23 | 2010-12-23 | 硬件认证技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110154501A1 (zh) |
CN (1) | CN102123031A (zh) |
TW (1) | TWI465093B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218569A (zh) * | 2011-10-28 | 2013-07-24 | 通用汽车环球科技运作有限责任公司 | 用以替换引导加载器公共密钥的方法 |
CN107077560A (zh) * | 2014-11-06 | 2017-08-18 | 英特尔公司 | 用于建立安全工作空间的所有权的系统 |
CN108573144A (zh) * | 2017-03-08 | 2018-09-25 | 智能Ic卡公司 | 安全的执行上下文数据 |
CN109657479A (zh) * | 2017-10-11 | 2019-04-19 | 厦门雅迅网络股份有限公司 | 数据防泄漏方法及计算机可读存储介质 |
CN110376990A (zh) * | 2014-07-07 | 2019-10-25 | 基岩自动化平台公司 | 工业控制系统中的操作员动作认证 |
CN111079168A (zh) * | 2015-07-20 | 2020-04-28 | 英特尔公司 | 用于可信i/o的安全硬件和软件证明的技术 |
CN111264044A (zh) * | 2018-10-09 | 2020-06-09 | 华为技术有限公司 | 芯片、生成私钥的方法和可信证明的方法 |
US20210195742A1 (en) | 2013-08-06 | 2021-06-24 | Bedrock Automation Platforms Inc. | Industrial control system cable |
CN113032786A (zh) * | 2019-12-25 | 2021-06-25 | 成都鼎桥通信技术有限公司 | 认证凭证的传递方法、芯片及设备 |
US11314854B2 (en) | 2011-12-30 | 2022-04-26 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US11429710B2 (en) | 2013-08-06 | 2022-08-30 | Bedrock Automation Platforms, Inc. | Secure industrial control system |
US11537157B2 (en) | 2013-08-06 | 2022-12-27 | Bedrock Automation Platforms, Inc. | Secure power supply for an industrial control system |
US11658519B2 (en) | 2011-12-30 | 2023-05-23 | Bedrock Automation Platforms Inc. | Electromagnetic connector for an Industrial Control System |
US11688549B2 (en) | 2011-12-30 | 2023-06-27 | Bedrock Automation Platforms Inc. | Electromagnetic connector for an industrial control system |
US11722495B2 (en) | 2013-08-06 | 2023-08-08 | Bedrock Automation Platforms Inc. | Operator action authentication in an industrial control system |
US11899604B2 (en) | 2011-12-30 | 2024-02-13 | Bedrock Automation Platforms Inc. | Input/output module with multi-channel switching capability |
US11967839B2 (en) | 2023-05-04 | 2024-04-23 | Analog Devices, Inc. | Electromagnetic connector for an industrial control system |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101829080B1 (ko) * | 2010-04-13 | 2018-02-13 | 코넬 유니버시티 | 정보 네트워크들에 대한 사설 오버레이 |
US9087196B2 (en) * | 2010-12-24 | 2015-07-21 | Intel Corporation | Secure application attestation using dynamic measurement kernels |
US9612977B2 (en) * | 2011-07-15 | 2017-04-04 | Standard Microsystems Corporation | Method and system for controlling access to embedded nonvolatile memories |
US9465755B2 (en) | 2011-07-18 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | Security parameter zeroization |
CN104025500B (zh) * | 2011-12-29 | 2017-07-25 | 英特尔公司 | 使用在物理上不可克隆的函数的安全密钥存储 |
KR20150011376A (ko) | 2012-05-08 | 2015-01-30 | 세렌틱 엘티디. | 통신과 작동의 승인을 위한 방법과 시스템 |
CN102932155A (zh) * | 2012-12-05 | 2013-02-13 | 北京华虹集成电路设计有限责任公司 | 一种支持采用硬件加密算法的高速存储控制soc芯片 |
US8885819B2 (en) * | 2012-12-27 | 2014-11-11 | Intel Corporation | Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing |
TWI496071B (zh) * | 2013-02-01 | 2015-08-11 | Wei Ju Long | 可攜式虛擬印表機 |
US9202056B2 (en) * | 2013-03-15 | 2015-12-01 | Intel Corporation | Inter-processor attestation hardware |
TWI498737B (zh) * | 2013-03-29 | 2015-09-01 | Mstar Semiconductor Inc | 用於主機板控制模組之除錯權限判斷方法及相關主機板控制模組 |
US9390246B2 (en) | 2013-09-25 | 2016-07-12 | Intel Corporation | Creating secure original equipment manufacturer (OEM) identification |
US9405912B2 (en) | 2013-11-14 | 2016-08-02 | Microsoft Technology Licensing, Llc | Hardware rooted attestation |
WO2015100158A1 (en) | 2013-12-23 | 2015-07-02 | The Trustees Of Columbia University In The City Of New York | Implementations to facilitate hardware trust and security |
US8756417B1 (en) | 2014-02-04 | 2014-06-17 | Sypris Electronics, Llc | Multi-level assurance trusted computing platform |
US9705879B2 (en) | 2014-09-17 | 2017-07-11 | Microsoft Technology Licensing, Llc | Efficient and reliable attestation |
US10002256B2 (en) * | 2014-12-05 | 2018-06-19 | GeoLang Ltd. | Symbol string matching mechanism |
CN105592071A (zh) * | 2015-11-16 | 2016-05-18 | 中国银联股份有限公司 | 一种在设备之间进行授权的方法和装置 |
US9977888B2 (en) * | 2015-12-22 | 2018-05-22 | Intel Corporation | Privacy protected input-output port control |
US10404459B2 (en) * | 2017-02-09 | 2019-09-03 | Intel Corporation | Technologies for elliptic curve cryptography hardware acceleration |
US11349665B2 (en) * | 2017-12-22 | 2022-05-31 | Motorola Solutions, Inc. | Device attestation server and method for attesting to the integrity of a mobile device |
US11023619B2 (en) * | 2018-09-14 | 2021-06-01 | International Business Machines Corporation | Binding a hardware security module (HSM) to protected software |
TWI756631B (zh) * | 2020-02-12 | 2022-03-01 | 瑞昱半導體股份有限公司 | 具有韌體驗證機制的電腦系統及其韌體驗證方法 |
CN113568560A (zh) * | 2020-04-29 | 2021-10-29 | 瑞昱半导体股份有限公司 | 存取一次性可编程记忆体的方法及相关的电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064457A1 (en) * | 2002-09-27 | 2004-04-01 | Zimmer Vincent J. | Mechanism for providing both a secure and attested boot |
US20050283660A1 (en) * | 2000-09-28 | 2005-12-22 | Mckeen Francis X | Mechanism to handle events in a machine with isolated execution |
US7082615B1 (en) * | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US20080319779A1 (en) * | 2007-06-25 | 2008-12-25 | Microsoft Corporation | Activation system architecture |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996710B1 (en) * | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US20030061488A1 (en) * | 2001-09-25 | 2003-03-27 | Michael Huebler | Cloning protection for electronic equipment |
CN102246179A (zh) * | 2008-10-10 | 2011-11-16 | 松下电器产业株式会社 | 在安全处理系统的应用空间中使用瞬时pcr来实现信任 |
-
2009
- 2009-12-23 US US12/646,582 patent/US20110154501A1/en not_active Abandoned
-
2010
- 2010-12-02 TW TW099141974A patent/TWI465093B/zh not_active IP Right Cessation
- 2010-12-23 CN CN2010106249433A patent/CN102123031A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082615B1 (en) * | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US20050283660A1 (en) * | 2000-09-28 | 2005-12-22 | Mckeen Francis X | Mechanism to handle events in a machine with isolated execution |
US20040064457A1 (en) * | 2002-09-27 | 2004-04-01 | Zimmer Vincent J. | Mechanism for providing both a secure and attested boot |
US20080319779A1 (en) * | 2007-06-25 | 2008-12-25 | Microsoft Corporation | Activation system architecture |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218569A (zh) * | 2011-10-28 | 2013-07-24 | 通用汽车环球科技运作有限责任公司 | 用以替换引导加载器公共密钥的方法 |
CN103218569B (zh) * | 2011-10-28 | 2016-05-18 | 通用汽车环球科技运作有限责任公司 | 用以替换引导加载器公共密钥的方法 |
US11899604B2 (en) | 2011-12-30 | 2024-02-13 | Bedrock Automation Platforms Inc. | Input/output module with multi-channel switching capability |
US11688549B2 (en) | 2011-12-30 | 2023-06-27 | Bedrock Automation Platforms Inc. | Electromagnetic connector for an industrial control system |
US11658519B2 (en) | 2011-12-30 | 2023-05-23 | Bedrock Automation Platforms Inc. | Electromagnetic connector for an Industrial Control System |
US11314854B2 (en) | 2011-12-30 | 2022-04-26 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US11960312B2 (en) | 2013-08-06 | 2024-04-16 | Analog Devices, Inc. | Secure power supply for an industrial control system |
US11722495B2 (en) | 2013-08-06 | 2023-08-08 | Bedrock Automation Platforms Inc. | Operator action authentication in an industrial control system |
US11700691B2 (en) | 2013-08-06 | 2023-07-11 | Bedrock Automation Platforms Inc. | Industrial control system cable |
US11537157B2 (en) | 2013-08-06 | 2022-12-27 | Bedrock Automation Platforms, Inc. | Secure power supply for an industrial control system |
US20210195742A1 (en) | 2013-08-06 | 2021-06-24 | Bedrock Automation Platforms Inc. | Industrial control system cable |
US11429710B2 (en) | 2013-08-06 | 2022-08-30 | Bedrock Automation Platforms, Inc. | Secure industrial control system |
CN110376990B (zh) * | 2014-07-07 | 2022-07-15 | 基岩自动化平台公司 | 一种安全工业控制系统 |
CN110376990A (zh) * | 2014-07-07 | 2019-10-25 | 基岩自动化平台公司 | 工业控制系统中的操作员动作认证 |
CN107077560A (zh) * | 2014-11-06 | 2017-08-18 | 英特尔公司 | 用于建立安全工作空间的所有权的系统 |
CN107077560B (zh) * | 2014-11-06 | 2021-05-18 | 英特尔公司 | 用于建立安全工作空间的所有权的系统 |
CN111079168A (zh) * | 2015-07-20 | 2020-04-28 | 英特尔公司 | 用于可信i/o的安全硬件和软件证明的技术 |
CN108573144A (zh) * | 2017-03-08 | 2018-09-25 | 智能Ic卡公司 | 安全的执行上下文数据 |
CN108573144B (zh) * | 2017-03-08 | 2022-12-16 | 智能Ic卡公司 | 安全的执行上下文数据 |
CN109657479B (zh) * | 2017-10-11 | 2023-03-28 | 厦门雅迅网络股份有限公司 | 数据防泄漏方法及计算机可读存储介质 |
CN109657479A (zh) * | 2017-10-11 | 2019-04-19 | 厦门雅迅网络股份有限公司 | 数据防泄漏方法及计算机可读存储介质 |
CN111264044A (zh) * | 2018-10-09 | 2020-06-09 | 华为技术有限公司 | 芯片、生成私钥的方法和可信证明的方法 |
US11722300B2 (en) | 2018-10-09 | 2023-08-08 | Huawei Technologies Co., Ltd. | Chip, private key generation method, and trusted certification method |
CN113032786A (zh) * | 2019-12-25 | 2021-06-25 | 成都鼎桥通信技术有限公司 | 认证凭证的传递方法、芯片及设备 |
US11967839B2 (en) | 2023-05-04 | 2024-04-23 | Analog Devices, Inc. | Electromagnetic connector for an industrial control system |
US11966349B2 (en) | 2023-05-04 | 2024-04-23 | Analog Devices, Inc. | Electromagnetic connector for for an industrial control system |
Also Published As
Publication number | Publication date |
---|---|
US20110154501A1 (en) | 2011-06-23 |
TW201141177A (en) | 2011-11-16 |
TWI465093B (zh) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102123031A (zh) | 硬件认证技术 | |
KR101712784B1 (ko) | 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법 | |
Bajikar | Trusted platform module (tpm) based security on notebook pcs-white paper | |
WO2021022701A1 (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
CN1985466B (zh) | 使用分发cd按签署组向设备传递直接证据私钥的方法 | |
US7350083B2 (en) | Integrated circuit chip having firmware and hardware security primitive device(s) | |
JP6509197B2 (ja) | セキュリティパラメータに基づくワーキングセキュリティキーの生成 | |
JP4673890B2 (ja) | オンラインサービスを用いてデバイスに直接証明秘密鍵を転送する方法 | |
JP4616345B2 (ja) | 配布cdを用いて直接証明秘密鍵を装置に配布する方法 | |
US8543838B1 (en) | Cryptographic module with secure processor | |
CN100456200C (zh) | 多令牌密封和解封 | |
US20050283826A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
US7263608B2 (en) | System and method for providing endorsement certificate | |
US20050283601A1 (en) | Systems and methods for securing a computer boot | |
CN103221961A (zh) | 包括用于保护多用户敏感代码和数据的架构的方法和装置 | |
CN111695097A (zh) | 登录检验方法、装置及计算机可读存储介质 | |
US20120054499A1 (en) | System and method for executing encrypted binaries in a cryptographic processor | |
CN111654371A (zh) | 一种基于可信计算的混合加密安全传输数据方法 | |
JPH09200194A (ja) | 安全保護の行われた通信を行うための装置および方法 | |
US20230090351A1 (en) | Key filling method, system, and apparatus, device, and storage medium | |
Karageorgos et al. | Chip-to-chip authentication method based on SRAM PUF and public key cryptography | |
KR100897075B1 (ko) | 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법 | |
CN116188009A (zh) | 一种国密软加密模式秘钥获取方法、系统、终端和可读存储介质 | |
CN116167060A (zh) | 可信只读存储器系统及可信基板管理控制器系统 | |
Mayes et al. | Introduction to the tpm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110713 |
|
RJ01 | Rejection of invention patent application after publication |