CN100458809C - 用于建立虚拟认证凭证的方法与装置 - Google Patents

用于建立虚拟认证凭证的方法与装置 Download PDF

Info

Publication number
CN100458809C
CN100458809C CNB2006100582099A CN200610058209A CN100458809C CN 100458809 C CN100458809 C CN 100458809C CN B2006100582099 A CNB2006100582099 A CN B2006100582099A CN 200610058209 A CN200610058209 A CN 200610058209A CN 100458809 C CN100458809 C CN 100458809C
Authority
CN
China
Prior art keywords
virtual
platform module
key
credible platform
logical partitions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006100582099A
Other languages
English (en)
Other versions
CN1897006A (zh
Inventor
S·A·贝德
J·P·霍夫
S·苏特尔
J·P·沃德
H·H·韦伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1897006A publication Critical patent/CN1897006A/zh
Application granted granted Critical
Publication of CN100458809C publication Critical patent/CN100458809C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

公开了一种在数据处理系统中用于建立虚拟认证凭证的方法、装置和计算机程序产品。所述数据数据处理系统包括硬件可信平台模块(TPM)。在该系统中生成了逻辑分区。生成不同的虚拟TPM用于逻辑分区中的每一个。对于逻辑分区中的每一个,所生成的用于该逻辑分区的虚拟TPM随后动态生成由包括该虚拟TPM的逻辑分区所使用的虚拟认证凭证。虚拟认证凭证是在所述数据处理系统内生成的,无需所述数据处理系统或其设备访问所述数据处理系统外部的可信第三方。

Description

用于建立虚拟认证凭证的方法与装置
技术领域
本发明涉及数据处理系统,更具体地说,本发明涉及用于建立用于动态生成的虚拟认证密钥的虚拟认证凭证的方法、装置和产品,所述虚拟认证密钥被生成用于可信计算平台中的多个逻辑分区。
背景技术
大多数数据处理系统含有需要受到保护的敏感操作和敏感数据。例如,配置信息的完整性需要受到保护以免被非法修改。而诸如口令文件的其它信息需要受到保护以免被非法泄漏。作为另一示例,数据处理系统需要能够可靠地识别自身和其它数据处理系统。
给定数据处理系统的操作者可以采用多种不同类型的安全机制来保护该数据处理系统。例如,数据处理系统上的操作系统可以提供各种软件机制来保护敏感数据,例如各种验证和授权方案,而某些硬件设备和软件应用可以依赖于硬件机制来保护敏感数据,例如硬件安全令牌和生物测定传感器设备。
然而,数据处理系统的数据及其操作的完整性集中于信任的问题。如果另一实体具有某种用于与数据处理系统关于特定数据项或特定操作建立信任的手段,则该数据处理系统的数据和操作能够被该实体验证或接受。
因此,保护数据处理系统的能力受到在数据处理系统内部创建或确立信任的手段所限制。为了解决保护数据处理系统的问题,众多公司已经形成了可信计算组织(TCG)来开发并发布用于可信计算的开放标准与规范。根据可信计算组织的规范,给定数据处理系统内部的信任或数据处理系统和另一实体之间的信任基于数据处理系统中的硬件组件,该硬件组件被称为可信平台模块(TPM)。
可信平台使实体能够确定该平台中的软件环境的状态,并且将数据密封到该平台内的特定软件环境中。实体在与该平台进行事务处理之前推断该平台中的计算环境的状态是否是可接受的。
当今的计算系统特别是大规模服务器系统通常包括对运行多虚拟机的支持。该系统可以是在单个硬件平台上执行数百个服务器实例以支持具有不同计算需求的客户的大规模按需服务器系统。在这些系统中的最灵活系统中,多个分区(它们在操作系统和应用组合方面可能不同)同时存在于系统存储器中,并且在每个分区中执行的进程运行于支持它们在客户操作系统上执行的环境中。虚拟机提供了与真实硬件平台足够相似的环境,在该环境中可以运行操作系统而仅有很少的修改或者没有任何修改。管理程序(hypervisor,有时被称为虚拟机监视程序)管理所有虚拟机或分区并提取系统资源,从而每个分区向每个操作系统实例提供类似于机器的环境。
为了实现上面的体系结构目标,多个处理模块和其它设备被安装在系统中,并且每个设备一般支持一个或多个上述分区,尽管可以在多个设备之间分享分区上的任务分配。设备组或个体设备可以与特定客户相关联,并且希望保护只有该客户能够访问设备或设备组,包括保护该设备和系统的制造商也不能访问该设备。
为了在这样的系统中提供安全性,设备必须被绑定到系统上,从而避免可能通过从设备提取数据或使用设备来“冒充”系统或系统的一部分(数据可以从其中被提取)而发生的移除以及数据挖掘。绑定可以是物理上的,例如,设备被永久性地附接到系统上,或者绑定可以以密码方式实现,从而顾及可移除的设备和连网系统。
通过拒绝设备在系统中启动(除非该设备以密码方式绑定到该系统),上述可移除和连网设备提供了对数据篡改或冒充的保护。与该绑定相关联的信息一般被制造商加密并被存储在设备的非易失性存储设备中。利用上述机制,只有可信系统能够访问与特定设备相关联或存储在特定设备内的数据,从而显著降低了滥用或错用可移除设备的影响。此外,与设备相关联的数据(例如所存储的上述虚拟机之一的语境或“状态”)被加密机制所保护,该加密机制需要被存储在相关联的一个或多个设备中的密钥。两层机制:适于特定一个或多个设备的硬件绑定和数据加密在对通过滥用或错用可移除设备而进行的数据挖掘方面提供了高级别的安全性。
单个认证密钥(Endorsement Key,EK)对典型地存储在硬件可信平台模块(TPM)中。每个认证密钥对是对存储它的特定硬件TPM唯一的。认证密钥对包括认证公钥及其对应的认证私钥。如果认证公钥被用来加密数据,则只有对应于该公钥的认证私钥才能解密该加密数据。如果认证私钥被用来加密数据,则只有对应于该私钥的认证公钥才能解密该加密数据。
在制造TPM时,认证密钥对被TPM的制造商存储在它的TPM中。
除了认证密钥之外,在制造TPM时,认证凭证也被TPM的制造商存储在TPM中。认证凭证包括TPM的认证公钥的拷贝。
认证密钥和认证凭证被用来向可信第三方标识特定TPM,以便从可信第三方获得证明身份密钥(AIK)证书,其中可信第三方在包括该TPM的系统外部。证明身份密钥被系统用来指示系统包括TPM并且该TPM有效。
大多数已知的系统使用单个硬件TPM向整个系统提供信任服务。一个硬件TPM被设计成提供对单个不可分区的计算机系统的支持。从而,现有系统利用单个硬件TPM来提供用于整个单系统的信任。
可是,高性能服务器支持可分区的多线程环境,该环境可能需要在多个线程上同时访问可信平台模块。这类环境将物理资源分配或划分给所支持的多个分区中的每个。此外,每个分区可以被认为是单独的逻辑计算机系统,其能够执行自己的操作系统和应用。一个分区所执行的操作系统可以不同于其它分区所执行的操作系统。
对于包括单个硬件TPM和多个逻辑分区的系统来说,需要为每个逻辑分区提供唯一的认证密钥对和认证凭证。因此,举例来说,如果系统包括四个逻辑分区,则将需要四个单独且唯一的认证密钥对和相关联的认证凭证。
然而,在硬件TPM中生成并存储多个认证密钥对和认证凭证是不现实的,因为包括该TPM的复杂系统允许按需创建并销毁逻辑分区。因此,当制造TPM时,逻辑分区的数目以及进而所需认证密钥对和认证凭证的数目是不可知的。
因此,需要一种建立用于动态生成的虚拟认证密钥对的虚拟认证凭证的方法、装置和产品,其中虚拟认证密钥对被生成用于可信计算平台中的多个逻辑分区。
发明内容
公开了一种在数据处理系统中用于建立虚拟认证凭证的方法、装置和计算机程序产品。该数据数据处理系统包括硬件可信平台模块(TPM)。在该系统中生成了逻辑分区。生成不同的虚拟TPM用于逻辑分区中的每一个。对于逻辑分区中的每一个,所生成的用于该逻辑分区的虚拟TPM随后动态生成由包括该虚拟TPM的逻辑分区所使用的虚拟认证凭证。虚拟认证凭证是在所述数据处理系统内生成的,无需所述数据处理系统或其设备访问所述数据处理系统外部的可信第三方。
在下文的详细文字说明中,本发明的上述以及其它目的、特征和优点将变得很清楚。
附图说明
在所附权利要求中阐述了被认为是本发明特性的新颖特征。然而,发明本身及其优选实施方式、其它目的和优点将通过参考下面对示例性实施例的详细描述并结合附图而得到最好的理解,在附图中:
图1A描述了典型的数据处理系统网络,其中每个数据处理系统可以用来实现现有技术;
图1B描述了根据现有技术的计算机体系结构;
图1C描述了根据现有技术的数据处理系统的框图;
图1D是图示出根据本发明的包括多个不同逻辑分区的数据处理系统的框图;
图2是根据本发明的经修改的硬件可信平台体系结构的框图;
图3A描述了图示出根据本发明的经修改的硬件可信平台模块(TPM)的框图;
图3B图示出根据现有技术存储在可信平台模块(TPM)中的密钥的框图;
图4描述了图示出根据本发明向可变数量的逻辑分区提供信任的可变硬件TPM的框图;
图5图示出描述了根据现有技术在硬件可信平台模块中存储认证密钥对和认证证书的高级流程图;
图6描述了图示出用户根据现有技术获取AIK证书的高级流程图;
图7图示出描述了可信平台模块根据现有技术为用户解密经加密的AIK证书的高级流程图;
图8描述了图示出可信第三方根据现有技术创建经加密的AIK证书并将其发送到请求用户的高级流程图;
图9图示出描述了根据本发明在硬件可信平台模块中存储平台签名密钥(PSK)对和平台签名密钥证书的高级流程图;
图10描述了图示出根据本发明创建逻辑分区并创建用于逻辑分区的虚拟可信平台模块的高级流程图;
图11图示出描述了逻辑分区根据本发明获取AIK证书的高级流程图;
图12描述了图示出虚拟可信平台模块根据本发明创建虚拟认证凭证并解密用于逻辑分区的经加密的AIK证书的高级流程图;以及
图13图示出描述了可信第三方根据本发明创建经加密的AIK证书并将其发送到请求逻辑分区的高级流程图。
具体实施方式
通过参考附图,本发明的优选实施例及其优点将被更好地理解,附图中相同标号被用于相似或相应的部件。
本发明是一种在数据处理系统中用于建立虚拟认证凭证的方法、装置和计算机程序产品。该数据处理系统包括硬件可信平台模块(TPM)。当制造TPM时,平台签名密钥对和平台签名密钥凭证都被TPM的制造商存储在硬件TPM中。认证密钥对和认证凭证未被需要或未被存储在该硬件TPM中。
在该系统中生成逻辑分区。不同的虚拟TPM被生成用于逻辑分组中的每一个。对于逻辑分区中的每一个,生成用于该逻辑分区的虚拟TPM动态生成用于该逻辑分区的虚拟认证密钥对。因此,每个逻辑分区具有其自己的虚拟TPM和其自己的虚拟认证密钥对。每个虚拟认证密钥(EK)对包括EK公钥及其对应的EK私钥。
每个虚拟TPM随后能够动态生成由其逻辑分区使用的虚拟认证凭证。通过虚拟TPM使用硬件TPM的平台签名密钥私钥来签署逻辑分区的虚拟EK公钥,虚拟TPM生成由其逻辑分区使用的虚拟认证凭证。
以这种方式,对于每个逻辑分区,存在对该逻辑分区的虚拟TPM唯一的虚拟认证密钥对。平台签名密钥随后被逻辑分区的虚拟TPM使用,以将逻辑分区的虚拟认证密钥对绑定到硬件TPM。
本发明规定了在数据处理系统中创建用于逻辑分区的虚拟认证凭证而无需访问系统外部的可信第三方。
为了使数据处理系统外部的第三方创建虚拟认证凭证,逻辑分区将必须发送虚拟认证密钥到外部的可信第三方。外部的可信第三方随后将创建虚拟认证凭证并将其发送回系统以由逻辑分区使用。根据本发明,并没有这么做也无需这么做。
图1A描述了根据现有技术的数据处理系统的网络。分布式数据处理系统100含有网络101,其是可以用来在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的媒体。网络101可以包括永久性连接(例如导线或光缆)或通过电话或无线通信进行的临时连接。在所描述的示例中,服务器102和服务器103连接到网络101和存储单元104。此外,客户机105-107也可以连接到网络101。客户机105-107和服务器102-103可以由各种计算设备来表示,例如大型机、个人计算机、个人数字助理(PDA)等。分布式数据处理系统100可以包括没被示出的其它服务器、客户机、路由器、其它设备和对等体系结构。
在所描述的示例中,分布式数据处理系统100可以包括具有网络101的因特网,其代表世界范围内的使用多种协议在彼此之间进行通信的网关与网络的集合,所述多种协议例如包括轻量目录访问协议(LDAP)、传输控制协议/因特网协议(TCP/IP)、超文本传输协议(HTTP)、无线应用协议(WAP)等。当然,分布式数据处理系统100还可以包括多种不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。例如,服务器102直接支持包含无线通信链路的网络110和客户机109。使能网络(network-enabled)的电话111通过无线链路112连接到网络110,并且PDA 113通过无线链路114连接到网络110。电话111和PDA 113还可以使用适当的技术(例如BluetoothTM无线技术)通过无线链路115在它们之间直接传送数据,以创建所谓的个人区域网络(PAN)或个人特定(ad-hoc)网络。以类似的方式,PDA 113可以经由无线通信链路116传送数据到PDA 107。
图1B描述了其中可以包含本发明的根据现有技术的计算机体系结构。数据处理系统120包含连接到内部系统总线123的一个或多个中央处理单元(CPU)122,内部系统总线123与随机存取存储器(RAM)124、只读存储器126和输入/输出适配器128互连,输入/输出适配器128支持多种I/O设备,例如打印机130、盘单元132或其它未示出的设备(例如音频输出系统等)。系统总线123还连接提供对通信链路136的访问的通信适配器134。用户接口适配器148连接多种用户设备,例如键盘140和鼠标142或其它未示出的设备(例如触摸屏、记录笔、麦克风等)。显示适配器144将系统总线123与显示器设备146相连接。
本领域普通技术人员将认识到,图1B中的硬件可取决于系统实现方式而变化。例如,系统可以具有一个或多个处理器(例如基于Intel
Figure C20061005820900131
Pentium
Figure C20061005820900132
的处理器和数字信号处理器(DSP))以及一种或多种易失性和非易失性存储器。除了图1B中描述的硬件之外或作为这些硬件的替代,可以使用其它外围设备。所描述的示例并不意味着对本发明体系结构的限制。
图1C描述了其中可以包含本发明的根据现有技术的分布式数据处理系统。分布式数据处理系统150包含多个节点152-156,每个节点可以代表连接到通信交换机或网络的单处理器或多处理器设备或卡;节点152-156可以被实现为中央电子复合体(CEC)单元。管理程序160支持在系统150的分布式数据处理节点的共享计算资源上的一个或多个操作系统和/或操作系统分区的多个实例162-168。管理程序160与系统级服务处理器170通信,系统级服务处理器170负责引导系统150并监控共享资源的可用性。每个分布式数据处理节点与至少一个服务处理器(例如,服务处理器172-176)相关联,服务处理器172-176中的每个负责引导其关联的节点并辅助系统级服务处理器170监控每个节点;服务处理器可以通过与其关联节点的各种物理连接而与节点相关联,例如,服务处理器的硬件卡可以附接到PCI总线。应当注意,每个节点可以具有多个服务处理器,尽管只有一个服务处理器将负责引导其关联的节点。
本发明可以在多种硬件平台和计算环境上实现;图1A、图1B和图1C意在作为异质计算环境的示例,而不是作为对本发明体系结构的限制。
除了能够在多种硬件平台和计算环境上实现本发明外,本发明还可以在多种软件环境中实现。典型的操作系统可以被用来控制每个数据处理系统内的程序执行。例如,一个设备可以运行Unix操作系统,而另一设备包含简单的Java
Figure C20061005820900142
运行时环境。代表性计算机平台可以包括浏览器,浏览器是公知的用于访问多种格式的超文本文档的软件应用,所述多种格式的超文本文档例如是图形文件、字处理文件、可扩展标记语言(XML)、超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML)和各种其它格式和类型的文件。
如上所述,本发明可以在多种硬件和软件平台上实现。更为具体地说,本发明涉及可信计算平台。
图1D是包括本发明的经逻辑分区的主平台的框图。经逻辑分区的主平台250包括经分区的硬件252、分区管理固件(也被称为管理程序254)和分区256-259。操作系统261-264存在于分区256-259之内。操作系统261-264可以是同时运行在平台250上的单个操作系统或多个异质操作系统的多份拷贝。
经分区的硬件252包括多个处理器265-268、多个系统存储器单元270-273、多个输入/输出(I/O)适配器274-281和存储单元282。处理器265-268、存储器单元270-273、NVRAM存储单元283和I/O适配器274-281中的每一个可以被分配给多个分区256-259之一。
管理程序254负责对主平台250进行分区。分区管理固件(管理程序)254执行用于分区256-259的多个功能和服务,以创建并实施经逻辑分区的主平台250的分区。管理程序254是等同于底层硬件的固件实现的虚拟机。固件是存储在存储器芯片中的“软件”,其中存储器芯片在没有电源的情况下保持其内容,所述存储器芯片例如是只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程(EEPROM)以及非易失性随机存取存储器(非易失性RAM)。因此,通过虚拟化经逻辑分区的平台250的所有硬件资源,管理程序254允许同时执行独立的OS镜像261-264。管理程序254可以通过I/O适配器274-281以排他方式将I/O设备附接到单个虚拟机,以由OS镜像261-264之一所使用。
数据处理系统120包括服务处理器290。服务处理器是系统120中的执行其自己的操作系统的单独硬件分区。
包括一个或多个硬件可信平台模块的可信构件块299也可以被包括在平台250中。
图2描述了根据本发明进行修改后的可信平台体系结构。除了下文提到的本发明的内容外,TPM的其余组件根据TCG的对PC专用的实现规范来运行。
TBB包括信任测量核心根(CRTM)组件、可信平台模块(TPM)、CRTM到母板216的连接以及TPM到母板216的连接的组合。例如,TBB228包括TPM 227和CRTM 225。
TBB向系统200的平台之一提供信任。TBB包括其自己的CRTM。CRTM是在平台复位时执行的平台初始化代码的不可变部分。包括CRTM的TBB向这种平台提供它的服务。
在任何平台复位事件之时,平台的执行必须在CRTM处开始。以这种方式,平台中的信任基于CRTM和TPM的行为,并且所有测量中的信任基于CRTM的完整性。
例如,可以假定BIOS包括BIOS引导块和上电自检(POST)BIOS 226;它们中的每个是可以独立于彼此而进行更新的独立组件,其中制造商必须控制BIOS引导块的更新、修改和维护,而第三方供应商可以更新、修改或维护POST BIOS组件。在图2所示的示例中,可以假定CRTM 225是BIOS引导块,而POST BIOS是信任链的被测组件。可选地,CRTM可以包括整个BIOS。
软件组件可以通过网络(例如图1A中示出的网络101)而被接收,或者它们可以被例如存储在硬盘210上。平台208从电源212接收电力,用于执行附加卡214和母板216上的软件组件,母板216包括用于执行软件的典型组件,例如CPU 218和存储器220,尽管母板216还可以包括多个CPU。接口222将母板216连接到系统200内的其它硬件组件,并且固件224包含POST BIOS(上电自检基本输入/输出系统)226。
图3A描述了图示出可以用来根据本发明实现这里所描述的硬件TPM的可信平台模块(TPM)的框图。
可信平台模块300包括输入/输出组件302,其通过执行适当的协议编码/解码操作并将消息路由到适当组件来管理通信总线304上的信息流。加密协处理器306执行可信平台模块内的加密操作。密钥生成器308创建对称密钥和RSA非对称加密密钥对。HMAC引擎310执行HMAC(用于消息验证的具有密钥的散列法)计算,从而使用密钥作为完整性校验来计算消息验证代码,以核实两方之间传输的信息,例如,根据Krawczyk等人的“HMAC:Keyed-Hashing for Message Authentication”,Request forComments(RFC)2104,Internet Engineering Task Force(IETF),1997年2月。
随机数生成器312充当用于计算多个值的随机源,所述多个值例如是临时数(nonce)、密钥或其它值。SHA-1引擎314实现SHA-1散列算法。功率检测器316管理与平台的功率状态相关联的可信平台模块的功率状态。选择加入(Opt-in)组件318维护持久及易失性标志的状态,并且实施与这些标志相关联的语义,使得可信平台模块可以被使能和禁用。执行引擎320运行程序代码以执行可信平台模块通过输入/输出组件302接收的命令。非易失性存储器322存储与可信平台模块相关联的持久身份和状态;非易失性存储器可以存储静态数据项,但也可以用于通过被可信平台模块所有者授权的实体来存储动态数据项,而易失性存储器324存储动态数据项。
加密密钥352被存储在TPM 300中。TPM 300可以使用多种加密密钥,以便验证另一设备和/或与另一设备通信。尽管加密密钥352独立于TPM的其它组件而被描述,但是多种加密密钥典型地将被存储在非易失性存储器322中。
根据本发明,加密密钥包括平台签名密钥(PSK)和平台签名密钥凭证。尽管其它加密密钥也可以被存储在密钥352中,但是根据本发明,认证密钥对和认证密钥凭证没有被存储在密钥352中。
图3B图示出根据现有技术的被存储在可信平台模块(TPM)中的密钥的框图。根据现有技术,密钥360包括认证密钥对(其包括认证公钥及其对应的认证私钥)以及认证密钥凭证。认证密钥凭证包括认证公钥。
图4描述了图示出根据本发明向可变数量的逻辑分区提供信任的可变硬件TPM的框图。数据处理系统400包含支持在数据处理系统400的共享计算资源上的一个或多个操作系统和/或逻辑分区(LPAR)的多个实例的管理程序402。例如,管理程序402支持LPAR 404、406、408、410、412和414。
每个LPAR包括虚拟TPM,虚拟TPM包括TCG软件栈(TSS)和TPM设备驱动程序(TPMDD)。管理程序生成用于逻辑分区的每个虚拟TPM。例如,LPAR 404包括TSS 416和TPMDD 418,而LPAR 406包括TSS 420和TPMDD 422。其它未示出的LPAR也包括虚拟TPM,其中虚拟TPM包括它自己的TSS和TPMDD。TSS 416和TSS 420实现主机编程接口的规范,其中操作系统、应用或其它软件组件使用该主机编程接口来与TPM进行接口连接。TSS包括:TSS服务供应者,实体可以经由公共应用编程接口(API)与之进行接口连接;TSS核心服务,其提供密钥存储和语境的集中管理,并且处理与主机上的TPM的直接交互;以及TPM设备驱动程序库和TPMDD(例如TPMDD 418或TPMDD 422)。一般而言,与TPM的所有接口连接都是通过TSS服务供应者接口(TSPI)或TSPI之上的API发生的。
管理程序402是负责创建并实施在多个分区之间对平台208进行分区的固件。管理程序402向每个分区中的操作系统提供一组固件服务,从而避免了操作系统镜像之间的干扰。每个分区包括在该分区中执行的操作系统,其可以与在其它逻辑分区中执行的操作系统相同或不同。管理程序402管理逻辑分区,并且分配并管理被分配给每个分区的物理设备。
与允许逻辑分区直接访问硬件TPM 440不同,虚拟TPM由管理程序呈现给每个逻辑分区。每个虚拟TPM利用TPM服务,TPM服务在此描述中是LPAR 404和LPAR 406。
根据本发明,在每个逻辑分区中创建并存储对逻辑分区唯一的虚拟认证密钥对和虚拟认证凭证。例如,虚拟认证密钥对[vEK(0)]404b由虚拟TPM 404a创建用于逻辑分区404。虚拟认证凭证404c也由虚拟TPM 404a创建用于逻辑分区404。虚拟认证凭证404c包括虚拟认证公钥404b的拷贝。
虚拟认证密钥对[vEK(1)]406b由虚拟TPM 406a创建用于逻辑分区406。虚拟认证凭证406c也由虚拟TPM 406a创建用于逻辑分区406。虚拟认证凭证406c包括虚拟认证公钥406b的拷贝。
图5图示出描述了根据现有技术在硬件可信平台模块中存储认证密钥对和认证证书的高级流程图。过程如所示开始于框500,并且此后进入框502,框502图示出在制造TPM期间在硬件可信平台模块(TPM)中存储认证密钥对。然后,框504描述了制造商发布对于该认证密钥对的认证凭证。认证凭证包括认证公钥。该过程随后如所示终止于框506。
图6描述了图示出用户根据现有技术获取AIK证书的高级流程图。过程如所示开始于框600,并且此后进入框602,框602图示出用户需要AIK证书。用户是诸如正在该系统上执行的应用的任何用户。
证明身份密钥在被称为证明的过程中被使用。证明是这样的一个过程,其中硬件TPM以数字方式签署在设备内维护的信息,并且将其作为证据呈现给第三方,该信息受到TPM保护。AIK这里被用来提供匿名,理论上在于一方可以具有成千个AIK,因而对于特定TPM或系统而言无法跟踪使用。AIK凭证是AIK来自TPM的证据,但是没有告知它是来自哪个特定TPM。
然后,框604描述了用户命令其系统的硬件TPM生成AIK密钥对。框606随后图示出用户从硬件TPM接收到AIK公钥。过程随后进入框608,框608图示出用户生成AIK证书请求并且在请求中包括AIK公钥。此后,框610描述了用户从硬件TPM获得认证凭证。认证凭证包括认证密钥(EK)公钥。
然后,框612图示出用户发送AIK证书请求和认证凭证到可信第三方。之后,框614描述了用户从可信第三方接收经加密的AIK证书。框616随后图示出用户请求系统的硬件TPM来解密经加密的AIK证书。
过程随后进入框618,框618描述了判定用户是否已经接收到经解密的AIK证书。如果做出用户已接收到经解密的AIK证书的判定,则过程进入框620,框620图示出用户使用AIK证书。过程随后如所示终止于框622。再次参考框618,如果做出用户没有接收到经解密的AIK证书的判定,则过程如所示终止于框622。
图7图示出描述了可信平台模块根据现有技术为用户解密经加密的AIK证书的高级流程图。过程如所示开始于框700,之后进入框702,框702图示出硬件可信平台模块(TPM)从用户接收生成AIK密钥对的指令。然后,框704描述了硬件TPM生成AIK密钥对。
框706随后图示出TPM发送AIK公钥给用户。之后,框708描述了TPM接收经解密的AIK证书以由硬件TPM解密。然后,框710图示出TPM使用硬件TPM的认证密钥(EK)私钥尝试解密经加密的AIK证书。
框712随后描述了判定硬件TPM是否能够使用EK私钥解密AIK证书。EK私钥是包括该EK私钥和对应EK公钥的密钥对的一部分。如果AIK证书已经被使用对应的EK公钥进行了加密,则硬件TPM将能够使用EK私钥解密经加密的AIK证书。这确保了该硬件TPM的EK密钥对被用在AIK证书的加密中。如果AIK证书是使用并未与该EK私钥相对应的EK公钥加密的,则硬件TPM将不能解密AIK证书。
如果做出硬件TPM不能使用硬件TPM的EK私钥来解密经加密的AIK证书的判定,则过程如所示终止于框720。再次参考框712,如果做出硬件TPM能够使用硬件TPM的EK私钥来解密经加密的AIK证书的判定,则过程进入框714,框714描述了硬件TPM比较被包括在经解密的证书中的AIK公钥和在框704中硬件TPM生成的硬件TPM的AIK公钥,以确定硬件TPM是否创建了该AIK公钥。
框716随后描述了对硬件TPM是否创建了该AIK公钥的判定。如果做出硬件TPM没有创建该AIK公钥的判定,则过程如所示终止于框720。再次参考框716,如果做出硬件TPM确实创建了该AIK公钥的判定,则过程进入框718,框718描述了硬件TPM提供经解密的AIK证书给用户。过程随后如所示终止于框720。
图8描述了图示出可信第三方根据现有技术创建经加密的AIK证书并将其发送到请求用户的高级流程图。过程如所示开始于框800,之后进入框802,框802图示出可信第三方从用户接收AIK证书请求和认证凭证。AIK证书请求包括AIK公钥。认证凭证包括EK公钥。
过程随后进入框804,框804描述了可信第三方通过核实证书被另一可信第三方签署而核实认证凭证。框806随后图示出判定认证凭证是否有效。
凭证(即,证书)核实是经由通用的现有技术的公钥基础设施(PKI)处理来完成的。
再次参考本发明,如果做出认证凭证无效的判定,则过程如所示终止于框814。
再次参考框806,如果做出认证凭证是有效的判定,则过程进入框808,框808描述了可信第三方通过AIK证书请求创建AIK证书。AIK证书将包括AIK公钥。然后,框810图示出可信第三方使用从认证凭证取得的公钥来加密AIK证书。
过程随后进入框812,框812描述了可信第三方发送经加密的AIK证书给用户。过程随后如所示终止于框814。
图9图示出描述了根据本发明在硬件可信平台模块中存储平台签名密钥(PSK)和平台签名密钥证书的高级流程图。过程如所示开始于框900,之后进入框902,框902图示出在制造硬件TPM期间在硬件可信平台模块(TPM)中存储平台签名密钥(PSK)对。然后,框904描述了制造商在制造硬件TPM设备期间在硬件TPM设备中存储平台签名密钥(PSK)证书。过程随后如所示终止于框906。
图10描述了图示出根据本发明创建逻辑分区并创建用于逻辑分区的虚拟可信平台模块的高级流程图。过程如所示开始于框1000,之后进入框1002,框1002图示出创建逻辑分区。然后,框1004描述了创建用于该逻辑分区的虚拟TPM。框1006随后图示出创建用于该虚拟TPM的虚拟EK密钥对。虚拟EK密钥对被保持在虚拟TPM中并被其使用。过程随后如所示终止于框1008。
图11图示出描述了逻辑分区根据本发明获取AIK证书的高级流程图。过程如所示开始于框1100,之后进入框1102,框1102图示出逻辑分区需要AIK证书。
根据本发明,当虚拟TPM以数字方式签署在设备中维护的信息时,发生证明。因此,AIK证书是证书中包括的AIK是来自TPM(对于本发明的情形,TPM是虚拟TPM)的证据。
然后,框1104描述了逻辑分区命令其虚拟TPM生成AIK密钥对。框1106随后图示出逻辑分区从其虚拟TPM接收AIK公钥。
过程随后进入框1108,框1108图示出逻辑分区生成AIK证书请求并且把AIK公钥包括在该请求中。此后,框1110描述了逻辑分区从其虚拟TPM获得虚拟EK公钥。然后,框1112图示出逻辑分区从其虚拟TPM请求并接收虚拟认证凭证。虚拟认证凭证是分区的虚拟可信平台模块使用PSK私钥签署的虚拟EK公钥。过程随后进入框1114,框1114描述了逻辑分区通过从其虚拟TPM请求PSK证书(虚拟TPM随后从硬件TPM获得PSK证书)而获得PSK证书。
PSK证书是来自第二可信第三方的凭证,其声明PSK密钥对是虚拟化虚拟TPM的硬件TPM所拥有并保护的密钥。被请求提供AIK证书的第一可信第三方使用PSK证书来核实被提供给第一可信第三方的经签署的虚拟EK公钥是来自具有正确属性的设备,而不是来自别的任意实体。签署PSK证书的第二可信第三方声明PSK密钥对对于签署虚拟认证密钥来说是有效的。第一第三方信任第二第三方,并因此接受第一可信第三方接收的虚拟EK上的PSK签名。
之后,框1116图示出逻辑分区向可信第三方发送AIK证书请求、EK公钥(即,虚拟认证凭证)、经签署的EK公钥和PSK证书。框1118随后描述了逻辑分区从可信第三方接收经加密的AIK证书。然后,框1120图示出逻辑分区请求其虚拟TPM解密经加密的AIK证书。
过程随后进入框1122,框1122描述了判定逻辑分区是否已经接收了经解密的AIK证书。如果做出逻辑分区已经接收到经解密的AIK证书的判定,则过程进入框1124,框1124图示出逻辑分区使用AIK证书。过程随后如所示终止于框1126。再次参考框1122,如果做出用户没有接收到经解密的AIK证书的判定,则过程如所示终止于框1126。
图12描述了图示出虚拟可信平台模块(TPM)根据本发明解密用于虚拟TPM的逻辑分区的经加密的AIK证书的高级流程图。过程如所示开始于框1200,之后进入框1202,框1202图示出虚拟可信平台模块(TPM)从其逻辑分区接收生成AIK密钥对的指令。然后,框1204描述了虚拟TPM生成AIK密钥对。
过程随后进入框1206,框1206图示出虚拟TPM发送其AIK公钥到逻辑分区。框1208随后图示出虚拟TPM提供其虚拟EK公钥到逻辑分区。此后,框1210描述了虚拟TPM通过使用硬件TPM的PSK私钥签署其虚拟EK公钥来创建虚拟认证凭证。经签署的虚拟EK公钥是对包括该虚拟TPM的特定逻辑分区唯一的虚拟认证凭证。虚拟TPM随后将该虚拟认证凭证(即,经签署的虚拟EK公钥)发送到它的逻辑分区。
框1212随后图示出虚拟TPM发送PSK证书到逻辑分区。之后,框1214描述了虚拟TPM接收经加密的AIK证书用于进行解密。过程随后进入框1216,框1216描述了虚拟TPM使用虚拟TPM的虚拟EK私钥来尝试解密经加密的AIK证书。
框1218随后描述了判定虚拟TPM是否能够使用虚拟TPM的虚拟EK私钥来解密AIK证书。如果做出虚拟TPM不能使用虚拟TPM的虚拟EK私钥来解密经加密的AIK证书的判定,则过程如所示终止于框1226。
再次参考框1218,如果做出虚拟TPM能够使用虚拟TPM的虚拟EK私钥来解密经加密的AIK证书的判定,则过程进入框1220,框1220描述了虚拟TPM比较经解密的证书中包括的AIK公钥和虚拟TPM在框1204处生成的虚拟TPM的AIK公钥,以确定虚拟TPM是否创建了该AIK公钥。
框1222随后描述了判定虚拟TPM是否创建了该AIK公钥。如果做出虚拟TPM没有创建该AIK公钥的判定,则过程如所示终止于框1226。再次参考框1222,如果做出虚拟TPM确实创建了该AIK公钥的判定,则过程进入框1224,框1224描述了虚拟TPM提供经解密的AIK证书到逻辑分区。过程随后如所示终止于框1226。
图13图示出描述了可信第三方根据本发明创建经加密的AIK证书并将其发送到请求逻辑分区的高级流程图。过程如所示开始于框1300,之后进入框1302,框1302图示出可信第三方从逻辑分区接收AIK证书请求、虚拟EK公钥、经签署的虚拟EK公钥(即,虚拟认证证书)和PSK证书。AIK证书请求包括AIK公钥。
过程随后进入框1304,框1304描述了可信第三方通过核实证书被另一可信第三方签署来核实PSK证书。框1306随后图示出判定PSK证书是否有效。如果做出PSK证书无效的判定,则过程如所示终止于框1316。
再次参考框1306,如果做出PSK证书有效的判定,则过程进入框1308,框1308描述了通过判定经签署的虚拟EK公钥是否是由PSK私钥签署的,来核实经签署的虚拟EK公钥。如果做出虚拟EK公钥不是由PSK私钥所签署的判定,则过程如所示终止于框1316。再次参考框1308,如果做出虚拟EK公钥是由PSK私钥所签署的判定,并且进而经签署的虚拟EK公钥被核实,则过程进入框1310,框1310描述了可信第三方通过AIK证书请求创建AIK证书。AIK证书将包括AIK公钥。
然后,框1312图示出可信第三方使用虚拟EK公钥来加密AIK证书。过程随后进入框1314,框1314描述了可信第三方发送经加密的AIK证书到逻辑分区。过程随后如所示终止于框1316。
本发明可以采用完全的硬件实施例的形式、完全的软件实施例的形式、或者包含硬件和软件单元两者的实施例的形式。在优选实施例中,本发明以软件实现,其包括但不限于固件、常驻软件、微码等。
此外,本发明可以采用可从计算机可用或计算机可读媒体上访问的计算机程序产品的形式,计算机可用或计算机可读媒体提供程序代码以由计算机或任何指令执行系统使用或与它们结合使用。出于此说明的目的,计算机可用或计算机可读媒体可以是能够包含、存储、传输、传播或传送由指令执行系统、装置或设备使用或结合使用的程序的任何装置。
所述媒体可以是电、磁、光、电磁、红外或半导体系统(或装置或设备)或传播媒体。计算机可读媒体的示例包括半导体或固态存储器、磁带、可移除计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、固定磁盘和光盘。光盘的当前示例包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统将包括直接耦合或通过系统总线间接耦合到存储器元件的至少一个处理器。存储器元件可以包括在实际执行程序代码期间使用的本地存储器、大容量存储器、和为减少代码在执行期间必须从大容量存储器中检索的次数而提供对至少某些程序代码的临时存储的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、点击设备等)可以直接耦合到或通过居间的I/O控制器耦合到系统。
网络适配器也可耦合到系统以使数据处理系统能够成为通过居间的专用网或公共网耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅仅是当前可用的几种网络适配器。
要注意,尽管已在充分运行的数据处理系统的语境中描述了本发明,本领域技术人员还将认识到,本发明的过程能够以指令的计算机可读媒体形式以及多种形式被发布,并且本发明被等同地应用,而与实际用来实现这种发布的含有信号的媒体的具体类型无关。计算机可读媒体的示例包括可记录型媒体(例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM)和传输型媒体(例如数字和模拟通信链路、使用例如射频和光波传输的传输形式的无线或有线通信链路)。计算机可读媒体可以采用编码格式的形式,其被解码以在特定数据处理系统中实际使用。
出于图示和说明的目的呈现了本发明的说明,而不是为了穷举或将本发明限制在所公开的形式之内。本领域普通技术人员很容易看出许多修改和变化形式。所选出并描述的实施例是为了最好地解释本发明的原理、实际应用,以及为了使本领域普通技术人员能够理解本发明适用于特定用途的具有多种修改的多种实施例。

Claims (18)

1.一种在数据处理系统中用于建立虚拟认证凭证的方法,所述数据处理系统包括硬件可信平台模块,所述方法包括:
在所述系统中生成多个逻辑分区;
对于所述多个逻辑分区中的每一个,由管理程序动态生成不同的虚拟可信平台模块用于所述多个逻辑分区之一;
由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块通过使用在所述硬件可信平台模块中存储的平台签名私钥来签署由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成的由所述多个逻辑分区中的所述一个使用的虚拟认证公钥,而生成由所述多个逻辑分区中的所述一个所使用的虚拟认证凭证;以及
所述虚拟认证凭证是在所述数据处理系统中生成的,无需访问所述数据处理系统外部的可信第三方。
2.如权利要求1所述的方法,其中:
所述硬件可信平台模块不包括认证密钥对或认证凭证。
3.如权利要求1所述的方法,还包括:
在所述硬件可信平台模块中存储平台签名密钥对,所述平台签名密钥对包括平台签名公钥和平台签名私钥。
4.如权利要求3所述的方法,还包括:
由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成由所述多个逻辑分区中的所述一个使用的虚拟认证密钥对,所述虚拟认证密钥对包括虚拟认证公钥和虚拟认证私钥。
5.如权利要求4所述的方法,还包括:
使用所述平台签名密钥对,将所述虚拟认证密钥对绑定到所述硬件可信平台模块。
6.如权利要求3所述的方法,还包括:
由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成由所述多个逻辑分区中的所述一个使用的虚拟认证密钥对,所述虚拟认证密钥对包括虚拟认证公钥和虚拟认证私钥;以及
使用所述平台签名密钥对,通过使用所述平台签名私钥来签署所述虚拟认证公钥而将所述虚拟认证密钥对绑定到所述硬件可信平台模块。
7.如权利要求1所述的方法,还包括:
由所述多个逻辑分区中的所述一个生成证明身份密钥证书请求;
发送所述证明身份密钥证书请求到可信第三方;
由所述多个逻辑分区中的所述一个从所述可信第三方接收经加密的证明身份密钥证书;
由所述多个逻辑分区中的所述一个向所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块发送所述经加密的证明身份密钥证书用于进行解密;以及
从所述虚拟可信平台模块接收经解密的证明身份密钥证书。
8.如权利要求7所述的方法,还包括:
由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成由所述多个逻辑分区中的所述一个使用的虚拟认证密钥对,所述虚拟认证密钥对包括虚拟认证公钥和虚拟认证私钥;
由所述虚拟可信平台模块使用所述虚拟认证私钥来尝试解密所述经加密的证明身份密钥证书;
响应于利用所述虚拟认证私钥成功解密所述经加密的证明身份密钥证书,从所述虚拟可信平台模块向所述多个逻辑分区中的所述一个发送所述经解密的证明身份密钥证书。
9.如权利要求8所述的方法,还包括:
在发送所述经解密的证明身份密钥证书到所述多个逻辑分区中的所述一个之前:
识别被包括在所述经解密的证明身份密钥证书中的证明身份密钥;以及
由所述虚拟可信平台模块判定所述虚拟可信平台模块是否创建了
被包括在所述经解密的证明身份密钥证书中的所述证明身份密钥;以及
响应于判定所述虚拟可信平台模块确实创建了被包括在所述经解密的证明身份密钥证书中的所述证明身份密钥,由所述虚拟可信平台模块向所述多个逻辑分区中的所述一个发送所述经解密的证明身份密钥证书;以及
响应于判定所述虚拟可信平台模块没有创建被包括在所述经解密的证明身份密钥证书中的所述证明身份密钥,由所述虚拟可信平台模块抑制向所述多个逻辑分区中的所述一个发送所述经解密的证明身份密钥证书,其中所述虚拟可信平台模块仅仅响应于所述虚拟可信平台模块判定所述虚拟可信平台模块确实创建了所述证明身份密钥而发送所述经解密的证明身份密钥证书。
10.一种在数据处理系统中用于建立虚拟认证凭证的装置,所述数据处理系统包括硬件可信平台模块,所述装置包括:
所述系统包括多个逻辑分区;
管理程序,用于对于所述多个逻辑分区中的每一个,动态生成不同的虚拟可信平台模块用于所述多个逻辑分区之一;
所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块通过使用在所述硬件可信平台模块中存储的平台签名私钥来签署由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成的由所述多个逻辑分区中的所述一个使用的虚拟认证公钥,而生成由所述多个逻辑分区中的所述一个所使用的虚拟认证凭证;以及
所述虚拟认证凭证是在所述数据处理系统中生成的,无需访问所述数据处理系统外部的可信第三方。
11.如权利要求10所述的装置,其中:
所述硬件可信平台模块不包括认证密钥对或认证凭证。
12.如权利要求10所述的装置,还包括:
在所述硬件可信平台模块中存储的平台签名密钥对,所述平台签名密钥对包括平台签名公钥和平台签名私钥。
13.如权利要求12所述的装置,还包括:
由所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成由所述多个逻辑分区中的所述一个使用的虚拟认证密钥对,所述虚拟认证密钥对包括虚拟认证公钥和虚拟认证私钥。
14.如权利要求13所述的装置,还包括:
通过使用所述平台签名密钥对,所述虚拟认证密钥对被绑定到所述硬件可信平台模块。
15.如权利要求12所述的装置,还包括:
所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成由所述多个逻辑分区中的所述一个使用的虚拟认证密钥对,所述虚拟认证密钥对包括虚拟认证公钥和虚拟认证私钥;以及
通过使用所述平台签名密钥对,使用所述平台签名私钥来签署所述虚拟认证公钥而使得所述虚拟认证密钥对被绑定到所述硬件可信平台模块。
16.如权利要求10所述的装置,还包括:
所述多个逻辑分区中的所述一个生成证明身份密钥证书请求;
所述多个逻辑分区中的所述一个发送所述证明身份密钥证书请求到可信第三方;
所述多个逻辑分区中的所述一个从所述可信第三方接收经加密的证明身份密钥证书;
所述多个逻辑分区中的所述一个向所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块发送所述经加密的证明身份密钥证书用于进行解密;以及
所述虚拟可信平台模块接收经解密的证明身份密钥证书。
17.如权利要求16所述的装置,还包括:
所生成的用于所述多个逻辑分区中的所述一个的所述虚拟可信平台模块生成由所述多个逻辑分区中的所述一个使用的虚拟认证密钥对,所述虚拟认证密钥对包括虚拟认证公钥和虚拟认证私钥;
所述虚拟可信平台模块使用所述虚拟认证私钥来尝试解密所述经加密的证明身份密钥证书;
响应于利用所述虚拟认证私钥成功解密所述经加密的证明身份密钥证书,所述虚拟可信平台模块向所述多个逻辑分区中的所述一个发送所述经解密的证明身份密钥证书。
18.如权利要求17所述的装置,还包括:
在发送所述经解密的证明身份密钥证书到所述多个逻辑分区中的所述一个之前:
所述虚拟可信平台模块识别被包括在所述经解密的证明身份密钥证书中的证明身份密钥;以及
所述虚拟可信平台模块判定所述虚拟可信平台模块是否创建了被包括在所述经解密的证明身份密钥证书中的所述证明身份密钥;以及响应于判定所述虚拟可信平台模块确实创建了被包括在所述经解密的证明身份密钥证书中的所述证明身份密钥,所述虚拟可信平台模块向所述多个逻辑分区中的所述一个发送所述经解密的证明身份密钥证书;以及
响应于判定所述虚拟可信平台模块没有创建被包括在所述经解密的证明身份密钥证书中的所述证明身份密钥,所述虚拟可信平台模块抑制向所述多个逻辑分区中的所述一个发送所述经解密的证明身份密钥证书,其中所述虚拟可信平台模块仅仅响应于所述虚拟可信平台模块判定所述虚拟可信平台模块确实创建了所述证明身份密钥而发送所述经解密的证明身份密钥证书。
CNB2006100582099A 2005-07-12 2006-02-24 用于建立虚拟认证凭证的方法与装置 Active CN100458809C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/179,238 US8549592B2 (en) 2005-07-12 2005-07-12 Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
US11/179,238 2005-07-12

Publications (2)

Publication Number Publication Date
CN1897006A CN1897006A (zh) 2007-01-17
CN100458809C true CN100458809C (zh) 2009-02-04

Family

ID=37609531

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100582099A Active CN100458809C (zh) 2005-07-12 2006-02-24 用于建立虚拟认证凭证的方法与装置

Country Status (5)

Country Link
US (1) US8549592B2 (zh)
JP (1) JP4898328B2 (zh)
KR (1) KR100800346B1 (zh)
CN (1) CN100458809C (zh)
TW (1) TW200731735A (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
US8099495B2 (en) 2005-12-29 2012-01-17 Intel Corporation Method, apparatus and system for platform identity binding in a network node
US8205238B2 (en) * 2006-03-30 2012-06-19 Intel Corporation Platform posture and policy information exchange method and apparatus
US20080126779A1 (en) * 2006-09-19 2008-05-29 Ned Smith Methods and apparatus to perform secure boot
US7747024B2 (en) * 2007-02-09 2010-06-29 Lenovo (Singapore) Pte. Ltd. System and method for generalized authentication
US20080244261A1 (en) * 2007-03-29 2008-10-02 Wiseman Willard M Separation of logical trusted platform modules within a single physical trusted platform module
US7962765B2 (en) * 2007-06-14 2011-06-14 Red Hat, Inc. Methods and systems for tamper resistant files
US7913086B2 (en) * 2007-06-20 2011-03-22 Nokia Corporation Method for remote message attestation in a communication system
US8249257B2 (en) * 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
US20090133097A1 (en) * 2007-11-15 2009-05-21 Ned Smith Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
US8259948B2 (en) * 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
GB2470880B (en) * 2008-04-16 2013-04-10 Lenovo Singapore Pte Ltd Apparatus and method for enabling applications on a security processor
CN102171669B (zh) * 2008-09-30 2014-08-27 惠普开发有限公司 认证分区上的服务
CN101488176B (zh) * 2009-02-20 2010-06-02 北京交通大学 一种针对tpm可信计算的toctou攻击响应方法
US8312272B1 (en) * 2009-06-26 2012-11-13 Symantec Corporation Secure authentication token management
US20110016310A1 (en) * 2009-07-20 2011-01-20 Infineon Technologies Ag Secure serial interface with trusted platform module
US9490984B2 (en) * 2009-09-14 2016-11-08 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
US8700893B2 (en) * 2009-10-28 2014-04-15 Microsoft Corporation Key certification in one round trip
CN102656841B (zh) * 2009-12-18 2015-07-08 诺基亚公司 凭证转移
JP5515766B2 (ja) 2010-01-20 2014-06-11 富士通株式会社 情報処理装置、情報処理装置のハードウェア設定方法及びそのプログラム
MY151315A (en) * 2010-05-07 2014-05-15 Mimos Berhad System and method for issuing endorsement key credential in trusted computing environment using local certificate authority
US10482254B2 (en) * 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
CN103502932B (zh) * 2011-04-29 2016-12-14 惠普发展公司,有限责任合伙企业 用于验证crtm的嵌入式控制器
US9690941B2 (en) * 2011-05-17 2017-06-27 Microsoft Technology Licensing, Llc Policy bound key creation and re-wrap service
US8856875B2 (en) * 2011-07-25 2014-10-07 Intel Corporation Software delivery models
US9384367B2 (en) * 2012-09-04 2016-07-05 Intel Corporation Measuring platform components with a single trusted platform module
US9336357B2 (en) 2012-09-28 2016-05-10 Intel Corporation Secure access management of devices
BR112015007854A2 (pt) * 2012-10-12 2017-07-04 Koninklijke Philips Nv sistema e método de execução de uma instância de máquina virtual, sistema servidor de chaves para emitir chaves para uma instância de máquina virtual, imagem de máquina virtual capaz de ter instância formada como uma instância de máquina virtual, e, método de emissão de chaves para uma instância de máquina virtual
JP5945512B2 (ja) * 2013-02-13 2016-07-05 株式会社日立製作所 計算機システム、及び仮想計算機管理方法
US9594567B2 (en) 2013-02-21 2017-03-14 Dell Products, Lp Configuring a trusted platform module
US9100192B2 (en) * 2013-06-07 2015-08-04 Qualcomm Incorporated Apparatus and method for provisioning an endorsement key certificate for a firmware trusted platform module
KR101764197B1 (ko) 2013-06-27 2017-08-02 인텔 코포레이션 연속적인 다중 인자 인증
US10908937B2 (en) * 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
JP6126980B2 (ja) 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
US9519498B2 (en) 2013-12-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual machine assurances
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US10185669B2 (en) * 2014-08-04 2019-01-22 Oracle International Corporation Secure key derivation functions
US9692599B1 (en) 2014-09-16 2017-06-27 Google Inc. Security module endorsement
CN104268477B (zh) * 2014-09-26 2017-09-26 华为技术有限公司 一种安全控制方法及网络设备
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9584317B2 (en) 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9519787B2 (en) 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
EP3043280B1 (en) * 2015-01-08 2019-06-19 Hewlett-Packard Development Company, L.P. Shared access to a trusted platform module by a hypervisor and a guest operating system
US10073964B2 (en) 2015-09-25 2018-09-11 Intel Corporation Secure authentication protocol systems and methods
CN106572066B (zh) 2015-10-10 2019-11-22 西安西电捷通无线网络通信股份有限公司 一种实体身份有效性验证方法及其装置
US20180019986A1 (en) * 2016-07-12 2018-01-18 Qualcomm Incorporated User privacy protected location-based authentication on mobile devices
EP3516573A1 (en) 2016-09-22 2019-07-31 Telefonaktiebolaget LM Ericsson (PUBL) Version control for trusted computing
US10447668B1 (en) 2016-11-14 2019-10-15 Amazon Technologies, Inc. Virtual cryptographic module with load balancer and cryptographic module fleet
US10461943B1 (en) * 2016-11-14 2019-10-29 Amazon Technologies, Inc. Transparently scalable virtual hardware security module
CN106850693B (zh) * 2017-03-31 2020-10-27 深圳微众信用科技股份有限公司 一种实名认证的方法及实名认证系统
US10406012B2 (en) * 2017-04-26 2019-09-10 Medtronic Vascular, Inc. Mechanical delivery systems for an endovascular device
US10621350B2 (en) * 2017-10-02 2020-04-14 Microsoft Technology Licensing, Llc System integrity using attestation for virtual trusted platform module
US11405222B2 (en) 2018-12-21 2022-08-02 Hewlett Packard Enterprise Development Lp Methods and systems for enrolling device identifiers (DEVIDs) on redundant hardware
WO2020183562A1 (ja) * 2019-03-11 2020-09-17 ココン株式会社 正当性認証起動管理システム
US11438171B2 (en) 2020-03-05 2022-09-06 Micron Technology, Inc. Virtualized authentication device
CN114124506A (zh) * 2021-11-16 2022-03-01 北京八分量信息科技有限公司 一种基于可信计算实现可信安全协议的方法
CN116305092B (zh) * 2023-05-23 2023-08-01 山东可信云信息技术研究院 一种可信的虚拟化系统的实现方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040151319A1 (en) * 2003-02-03 2004-08-05 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
WO2005038634A2 (en) * 2003-10-17 2005-04-28 International Business Machines Corporation Maintaining privacy for transactions performable by a user device having a security module
US20050129244A1 (en) * 2003-12-16 2005-06-16 International Business Machines Corporation System and method for mitigating denial of service attacks on trusted platform
US20050138370A1 (en) * 2003-12-23 2005-06-23 Goud Gundrala D. Method and system to support a trusted set of operational environments using emulated trusted hardware

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3136088B2 (ja) 1996-02-22 2001-02-19 シャープ株式会社 データ処理装置及びデータ処理方法
GB9713743D0 (en) 1997-06-27 1997-09-03 Nat Westminster Bank Plc A cryptographic authentication process
TW432852B (en) 1998-02-20 2001-05-01 Digital Video Express Lp Information access control system and method
TW460849B (en) 1999-12-30 2001-10-21 Liu Kuo Shen A method to identify the cardholder of a credit card (identification card)
US6948065B2 (en) * 2000-12-27 2005-09-20 Intel Corporation Platform and method for securely transmitting an authorization secret
US7023459B2 (en) 2001-03-01 2006-04-04 International Business Machines Corporation Virtual logical partition terminal
US7676430B2 (en) * 2001-05-09 2010-03-09 Lenovo (Singapore) Ptd. Ltd. System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7058807B2 (en) 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US20030226040A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Controlling access to data stored on a storage device of a trusted computing platform system
GB2399902A (en) 2003-03-28 2004-09-29 Hewlett Packard Development Co Security in trusted computing systems
US7263608B2 (en) * 2003-12-12 2007-08-28 Lenovo (Singapore) Pte. Ltd. System and method for providing endorsement certificate
US7751568B2 (en) * 2003-12-31 2010-07-06 International Business Machines Corporation Method for securely creating an endorsement certificate utilizing signing key pairs
US7590867B2 (en) 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US7747862B2 (en) * 2004-06-28 2010-06-29 Intel Corporation Method and apparatus to authenticate base and subscriber stations and secure sessions for broadband wireless networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040151319A1 (en) * 2003-02-03 2004-08-05 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
WO2005038634A2 (en) * 2003-10-17 2005-04-28 International Business Machines Corporation Maintaining privacy for transactions performable by a user device having a security module
US20050129244A1 (en) * 2003-12-16 2005-06-16 International Business Machines Corporation System and method for mitigating denial of service attacks on trusted platform
US20050138370A1 (en) * 2003-12-23 2005-06-23 Goud Gundrala D. Method and system to support a trusted set of operational environments using emulated trusted hardware

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
TPM的工作模型. 孔维广.武汉科技学院学报,第18卷第1期. 2005
TPM的工作模型. 孔维广.武汉科技学院学报,第18卷第1期. 2005 *
可信计算平台中的关键部件TPM. 谭兴烈.信息安全与通信保密,第2期. 2005
可信计算平台中的关键部件TPM. 谭兴烈.信息安全与通信保密,第2期. 2005 *
可信计算的研究及存在的问题. 林利,蔡明杰.电脑与信息技术,第13卷第3期. 2005
可信计算的研究及存在的问题. 林利,蔡明杰.电脑与信息技术,第13卷第3期. 2005 *

Also Published As

Publication number Publication date
JP2007026442A (ja) 2007-02-01
US20070016801A1 (en) 2007-01-18
KR20070008394A (ko) 2007-01-17
JP4898328B2 (ja) 2012-03-14
US8549592B2 (en) 2013-10-01
CN1897006A (zh) 2007-01-17
KR100800346B1 (ko) 2008-02-04
TW200731735A (en) 2007-08-16

Similar Documents

Publication Publication Date Title
CN100458809C (zh) 用于建立虚拟认证凭证的方法与装置
US11818274B1 (en) Systems and methods for trusted path secure communication
Tomlinson Introduction to the TPM
US9342683B2 (en) Stateless attestation system
US9268971B2 (en) Secure processor supporting multiple security functions
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
US20150195276A1 (en) System and Method For Securely Provisioning and Generating One-Time-Passwords In A Remote Device
US10650139B2 (en) Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
US20050283826A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
US20050166051A1 (en) System and method for certification of a secure platform
CN107111715A (zh) 将可信执行环境用于代码和数据的安全性
CN113014444A (zh) 一种物联网设备生产测试系统及安全保护方法
Crowther et al. Securing Over-the-Air Firmware Updates (FOTA) for Industrial Internet of Things (IIOT) Devices
Hanaoui et al. Security requirements and model for mobile agent authentication
Wu et al. The mobile agent security enhanced by trusted computing technology
EP4292000A1 (en) Secure module and method for app-to-app mutual trust through app-based identity
CN111555857A (zh) 一种边缘网络和网络传输方法
CN112311752A (zh) 一种物联网智能表计安全系统及实现方法
Murti et al. Security in embedded systems
CN116781359B (zh) 一种使用网络隔离和密码编译的门户安全设计方法
Ur Rahman et al. Practical security for rural internet kiosks
Wu et al. Secure key management of mobile agent system using tpm-based technology on trusted computing platform
Shen et al. Trust management for mobile agent system based on trusted computing platforms
Hosamani et al. How to Trust a Web Service Monitor Deployed in an Untrusted Environment?
CN114078009A (zh) 支付处理方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant