CN1997955A - 提供可信平台模块的安全虚拟化的方法和装置 - Google Patents
提供可信平台模块的安全虚拟化的方法和装置 Download PDFInfo
- Publication number
- CN1997955A CN1997955A CNA2005800207383A CN200580020738A CN1997955A CN 1997955 A CN1997955 A CN 1997955A CN A2005800207383 A CNA2005800207383 A CN A2005800207383A CN 200580020738 A CN200580020738 A CN 200580020738A CN 1997955 A CN1997955 A CN 1997955A
- Authority
- CN
- China
- Prior art keywords
- tpm
- virtual
- key
- physics
- disposal system
- 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.)
- Granted
Links
Images
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
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
一种方法和相关装置提供一虚拟可信平台模块(TPM)。在一个示例实施例中,虚拟TPM服务创建一在含有物理TPM的处理系统内使用的虚拟TPM。该虚拟TPM服务可以存储用于物理TPM内的虚拟TPM的密钥。该虚拟TPM服务随后可以使用虚拟TPM以提供仿真的物理TPM特征。在一个实施例中,该虚拟TPM服务可以在处理系统中使用虚拟TPM来仿真用于虚拟机的物理TPM。对其他实施例也进行了描述和声明。
Description
发明领域
本公开一般涉及数据处理领域,尤其涉及用于提供可信平台模块的安全虚拟化的方法和装置。
背景
传统的处理系统可以包括硬件资源,诸如中央处理单元(CPU)和随机存取存储器(RAM),以及软件资源,诸如操作系统(OS)和一个或多个最终用户程序或应用程序。应用程序通常被开发成只能在某一特定的OS上运行。当启动一典型的传统计算系统时,该系统在装载最终用户程序或应用程序之前载入OS。OS在一处理系统中通常用作软件应用程序和硬件之间的中介。
除了RAM和一个或多个CPU之外,处理系统还可以包括可信平台模块(TPM)。TPM是位于处理系统内的硬件组件,并提供了用于增强处理系统的安全性的各种机制和服务。例如,TPM可用于保护数据并证明一平台的配置。TPM的子组件可以包括执行引擎和安全非易失性(NV)存储器或存储。安全NV存储器可用于存储诸如密钥之类的敏感信息,而执行引擎则根据将由TPM实现的安全策略来保护这些敏感信息。
TPM可以依照含有诸如设计原则、TPM结构和TPM命令等部分的规范,诸如于2003年10月2日发布的Trusted Computing Group(可信计算小组,TCG)TPMSpecification(TPM规范)1.2版(下称“TPM规范”)来实现。该TPM规范由TCG公布并可从网址www.trustedcomputinqqroup.org/home处获取。
一般而言,遵从TCG的TPM基于平台特性提供诸如证明身份和/或平台完整性等安全服务。TPM通常考虑的平台特性包括平台的硬件组件,诸如处理器和芯片组,以及位于平台内的软件,诸如固件和OS。TPM还可以支持软件进程的审查和日志记录,平台引导完整性、文件完整性的验证,以及软件许可。因此就可认为TPM提供针对平台的信任根。因此,第三方可以实现需要请求系统提供基于TPM的平台证明书的安全策略。例如,第三方可以将服务器配置成拒绝客户机的请求,除非这些请求附有来自客户机系统的基于TPM的有效平台证明书。
但是,当传统处理系统使用TPM时,该处理系统一次仅能支持一个软件环境。
最近,Intel公司开始研发用于在单个处理系统内提供多个独立的软件环境的技术。例如,由Intel公司研发的技术包含以允许多个OS在同一机器上并发执行的方式划分并管理处理系统的硬件资源的特征,其中每个OS实质上都能像在自己的独立物理机器上那样运行。在这一处理系统中,每个OS都在实质上独立的软件环境中运行。这些独立的环境被称为分区或虚拟机(VM)。
附图简述
本发明的特征和优点从所附权利要求书、以下对一个或多个示例实施例的详细描述以及相应的附图中将变得显而易见,附图中:
图1是描绘了在其中可以实现本发明一个示例实施例的某些方面的合适数据处理环境的框图;
图2是描绘了根据本发明一个示例实施例的合适虚拟机体系结构的框图;
图3是示出根据本发明一个示例实施例的用于提供虚拟TPM的过程的流程图;以及
图4是示出根据本发明一个示例实施例的用于利用虚拟TPM的过程的流程图。
详细描述
虚拟TPM(vTPM)是提供类似TPM功能的逻辑设备。本公开描述了用于提供虚拟TPM的系统、方法和装置的一个或多个示例实施例。
图1是描绘了在其中可以实现本发明一个示例实施例的某些方面的合适数据处理环境12的框图。数据处理环境12包括处理系统20,处理系统20包括经由一个或多个系统总线24或其他通信路径或介质与各种其他组件通信耦合的一个或多个处理器和中央处理单元(CPU)22。
在此使用的术语“处理系统”和“数据处理系统”旨在广泛地包含单个机器,或者共同操作的通信上耦合的机器或设备的系统。示例性处理系统包括但不限于:分布式计算系统、超级计算机、高性能计算系统、计算机集群、大型计算机、小型计算机、客户机-服务器系统、个人计算机、工作站、服务器、便携式计算机、膝上型计算机、图形输入板、电话机、个人数字助理(PDA)、手持式设备、诸如音频和/或视频设备等娱乐设备、以及用于处理或传输信息的其他设备。
处理系统20可至少部分地通过来自诸如键盘、鼠标等的常规输入设备的输入,和/或通过接收自另一台机器的指示、与虚拟现实(VR)环境的交互、生物测定反馈、或其他输入源或信号来控制。处理系统20可以利用诸如通过网络控制器、调制解调器或其他的通信耦合与一个或多个远程数据处理系统76、78的一个或多个连接。处理系统可以通过诸如局域网(LAN)、广域网(WAN)、内联网、因特网之类的物理和/或逻辑网络80的方式互连。涉及网络80的通信可以利用各种有线和/或无线近程或远程载体和协议,包括射频(RF)、卫星、微波、电气和电子工程师协会(IEEE)802.11、蓝牙、光学、红外线、电缆、激光等等。
在处理系统20中,处理器22可以通信耦合至一个或多个易失性或非易失性数据存储设备,诸如随机存取存储器(RAM)26、只读存储器(ROM)、诸如集成驱动器电子电路(IDE)硬盘驱动器等大容量存储设备、和/或诸如软盘、光学存储、磁带、闪存、记忆棒、数字视频盘、生物学存储等的其他设备或介质。为了本发明的目的,术语“ROM”通常用于指代诸如可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速ROM、闪存等的非易失性存储器设备。处理器22还可以通信耦合至其它组件,诸如视频控制器、小型计算机系统接口(SCSI)控制器、网络控制器、通用串行总线(USB)控制器、诸如键盘和鼠标等输入设备等等。处理系统20还可以包括用于与各种系统组件通信耦合的一个或多个桥接器或集线器27,诸如存储器控制器集线器、输入/输出(I/O)控制器集线器、PCI根桥接器等等。
诸如网络控制器等某些组件可以被实现为用来与PCI总线通信的带接口适配器卡,诸如PCI连接器。在一个实施例中,一个或多个设备可以被实现为使用诸如可编程或不可编程逻辑器件或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等等的嵌入式控制器。
如图所示,处理系统20还包括通信耦合至处理器24的TPM 30。TPM 30也可被称为物理TPM或硬件TPM(hwTPM)30。在一个实施例中,TPM 30被实现为位于处理系统20的系统主板或底板上的嵌入式设备。TPM 30包括若干存储机制,包括易失性平台配置寄存器(PCR)32和授权会话,以及持久数据完整性寄存器(DIR)36、授权摘要以及通用持久存储。这些机制的每一种都可具有相应的存储器内数据结构。
本发明可以参考或结合包括指令、函数、过程、数据结构、应用程序等在内的相关联数据来描述,当这些数据被机器访问时,会使该机器执行任务或定义抽象数据类型或低级硬件上下文。该数据可以被存储在易失性和/或非易失性数据存储中。
例如,RAM 26可以包括用于提供TPM的安全虚拟化的一个或多个指令集。在该示例实施例中,这些指令可以实现部分或全部位于虚拟机监控程序(VMM)106(参见图2)内的虚拟TPM服务104。处理系统20可以在引导时将VMM 106载入RAM 26中以支持处理系统20内的一个或多个虚拟机。处理系统20例如可以从ROM和/或从一个或多个本地或远程大容量存储设备中载入实现VMM 106的指令。如果有任何附加的指令用于支持TPM的安全虚拟化,那么这些指令也从例如ROM和/或从一个或多个本地或远程大容量存储设备中载入。
图2是描绘了涉及处理系统20内的VMM 106的一个示例虚拟机体系结构的框图。在最底层的是TPM 30以及其他硬件组件,诸如处理器24、集线器27等(共同被标识为处理器和芯片组23)。在操作中,处理系统20还包括通过诸如微内核100和服务OS 102之类的软件或固件组件的执行而实现的VMM 106。微内核100可以包括用于诸如指令调度等系统管理任务的小型指令核心程序。服务OS 102可以包括用于创建和维护虚拟机的设备驱动程序和环境虚拟化软件。
在该示例实施例中,VMM 106还包括用于创建和维护vTPM的虚拟TPM服务104。虚拟TPM服务104还可以为虚拟机提供对各自的vTPM的访问。虽然诸如虚拟TPM服务104之类的软件模块在该典型实施例中位于VMM 106之内,但是这些模块在替换实施例中可以位于固件或任何其他受保护的环境内。
可以为各种各样的VMM体系结构提供虚拟TPM服务。在某些实施例中,无需将虚拟TPM服务嵌入到VMM中。此外,在某些实施例中,虚拟TPM服务可以根本无需是VMM的一部分。
在该示例实施例中,虚拟TPM服务104位于受保护的主机存储器内。例如,处理系统20可以使用诸如在美国专利第6,507,904号、第6,633,963号以及第6,678,825号中描述的技术将TPM服务104从受硬件保护的存储器的孤立区中载入并执行TPM服务104。在该示例实施例中,受保护的存储器可以确保软件/指令在不受干扰或观察的情况下运行。在替换实施例中,可以使用其他技术来提供受保护的存储器。例如,一种环境可以包括提供受保护的存储器的系统管理模式(SMM),或者可以使用防篡改软件编译器来创建受保护的执行环境。其他组件(例如,VMM106、微内核100、虚拟TPM 120A和120B等等)也可以位于受保护的存储器内。
在该示例实施例中,VMM 106支持多个虚拟机110A和110B,它们都运行它们自己的独立客OS以及它们自己的独立可信软件栈或TCG软件栈(TSS)108A、108B上。在该示例实施例中,TSS 108A和108B符合TCG标准。
如下将更详细地描述的,虚拟TPM服务104可以使用TPM 30来提供分别用于虚拟机110A和110B的不同的虚拟TPM 120A和120B。
图2中的粗箭头表示虚拟化事件(VE)。例如,左上箭头表示涉及从VM 110A至服务OS 102的控制转移的VE。右上箭头表示当VM 110A试图访问TPM时所触发的VE。如图所示,虚拟TPM服务104截取该VE,以便如最下箭头所示地通过参考vTPM 120A来处理该事件。在该示例实施例中,虽然VM 110A除了vTPM120A之外不知道任何TPM,但是虚拟TPM服务104可以使用hwTPM 30来支持vTPM 120A。
在该示例实施例中,每个vTPM都有其自己的TPM结构,包括保证密钥(EK)、存储根密钥(SRK)、保证凭证(EK凭证)、用户密钥层级、平台配置寄存器(PCR)、单调计数器、内部持久存储、数据完整性寄存器(DIR)等等。再次参见图1,如右下角的图例所示,存储密钥被示为空心椭圆,证明书身份密钥(AIK)被示为内部填充水平线的椭圆、签署密钥被示为内部填充点图案的椭圆。此外,粗线椭圆表示被绑定到TPM 30的PCR 32的密钥。各密钥之间的线指示各密钥之间的父/子关系。例如,这些线指示SRK 50是TPM 30内某些硬件密钥以及每个vTPM内某些虚拟密钥的父密钥。各凭证由平行四边形表示。
vTPM内的虚拟密钥以及其他结构或对象可以具有与硬件TPM密钥或对象相同的结构,但是虚拟TPM内的虚拟对象并不仅仅参考TPM 30内诸如EK 52、SRK50和PCR 32等标准对象。而是将如以下详述的那样,每个虚拟TPM获取其自己的不同对象,诸如虚拟EK(vEK)64、虚拟SRK(vSRK)66、虚拟PCR(vPCR)92、以及虚拟DIR(vDIR)94。这些虚拟对象是以硬件TPM的对象为基础或从中导出的。例如,在该示例实施例中,虚拟SRK和虚拟EK是硬件SRK的子密钥,或者在嵌套vTPM的情况下,虚拟SRK最终以硬件SRK为基础。通过允许vTPM密钥作为vSRK中的根,该模型就允许vTPM嵌套。
诸如vEK 64、vSRK 66、和vPCR 92等虚拟TPM对象进而可以用作vTPM 120A内诸如虚拟签署密钥(vSig)68、虚拟AIK(vAIK)70、以及虚拟存储/加密密钥(vEnc)72等附加虚拟对象的基础。在该示例实施例中,每个vTPM都用相同的应用程序接口(API)提供由硬件TPM(hwTPM)提供的全部功能。例如,vTPM 120A可以包括其自己的vDIR 94、vPCR 92、vAIK 70等等。因此,每个VM内的客OS都可能完全不知道相应的vTPM不是hwTPM。于是,VM可使用传统的OS码。此外,根据该示例实施例,带常规hwTPM的处理系统可被配置成提供vTPM而无需对hwTPM的任何修改。
诸如vPCR 92等虚拟PCR没有hwTPM的资源约束,而是可能具有数目可配置的PCR供其使用。在该示例实施例中,vPCR 92被存储在vTPM 120A的存储器空间内,而vTPM 120A则在vPCR 92上仿真标准PCR操作。
在该示例实施例中,vTPM 120A使用软件来提供模拟的、持久的单调计数器。计数器的数目基本不受限制。在该示例实施例中,vTPM 120A至少提供hwTPM期望的四个计数器。这些vTPM计数器不要求与硬件TPM计数器的任何直接链接。
虚拟机体系结构可以充分利用硬件TPM来保护虚拟密钥和相关数据。在一个实施例中,vTPM密钥层级和相关数据可以在标准hwTPM内受到保护。例如,虚拟TPM可以被存储在硬件TPM中并且从不从中释放,除非该数据如下所述首先由vTPM 120A加密。因此,如果虚拟TPM被泄密,则相关联的vTPM密钥的公共部分则很可能遭受未经授权的使用,但也仅限于泄密期间。在该示例实施例中,所有的密钥都将保留在硬件TPM之内,因此一旦泄密终止就无法偷取或使用私钥。
根据本发明的处理系统还可提供允许vTPM提供传统TPM证明书服务的证明书协议体系结构。不知道虚拟TPM的远程质询器可以完全地参与到证明书进程中。此外,知道vTPM的远程质询器能在无需附加协议的情况下将hwTPM与vTPM进行区分,并在随后决定是否信任主存vTPM的平台。
在该示例实施例中,当虚拟TPM(vTPM)不可操作时,用于该vTPM的持久数据结构被存储在磁盘上并用父SRK密封到vTPM服务的PCR。于是,即使在vTPM未运行时,TPM 30仍保护着vTPM。
在此示例实施例中,vTPM 120A能够在单用户授权会话下透明地提供来自它本身和来自hwTPM双方的TPM功能。vTPM 120A通过维护与用户和hwTPM双方的分开的授权会话来实现这一目标。即,用户将如同vTPM是hwTPM那样用vTPM 120A来创建授权会话。vTPM 120A可以基于hwTPM会进行的这一会话来实现所有相同的授权检查。如果vTPM 120A可以直接提供所请求的功能,则vTPM120A就可以简单地更新会话现时值并做出回复。如果vTPM 120A需要硬件TPM提供该服务,则vTPM 120A将用该hwTPM创建授权会话或重新使用现有的授权会话来做出该请求。一旦vTPM 120A使用完hwTPM,vTPM 120A就可更新用户会话的现时值并做出回复。
图3是示出了根据本发明一个实施例用于提供虚拟TPM的过程的流程图。图3的过程在处理系统20内激活了TPM 30之后开始,使得如同常规的TPM一样,TPM 30包括如图1所示的SRK 50、EK 52以及诸如EK凭证54等标准凭证。在框210至214处,VMM 106执行几个操作以初始化虚拟TPM服务104来为支持虚拟TPM做准备。例如,在框210处,VMM 106创建被称为证实密钥(CK)56的AIK。VMM 106可以使用用于创建AIK的标准过程来创建CK 56。虚拟TPM服务104随后可以在证实诸如vEK64等虚拟保证密钥时使用CK 56。在框412处,虚拟TPM服务104从诸如保密认证授权机构(CA)76之类的第三方或可信第三方(TTP)获取针对CK 56的凭证58。CK凭证58由保密CA 76签署并且通过指示CK 56受到有效TPM的保护来担保CK 56。
在框214处,VMM 106创建被称为绑定密钥(BK)57的AIK。BK 57在随后vTPM数据从vTPM服务104中释放时用于保护这些数据。例如,在该示例实施例中,vTPM 120A用与hwTPM存储持久密钥和寄存器相类似的方式保存持久数据。然而,为保护释放的数据,vTPM 120A将以下各项与BK 57绑定:由vEK 64包装的密钥块(blob)、由vSRK 66包装的密钥块、用于vEK 64的授权数据、用于vSRK 66的授权数据、vDIR 94以及用于装载的持久密钥的包装的密钥块。
对于vTPM 120A,用来实现局部性的总线控制器的逻辑等效物是VMM 106。于是,vTPM 120A将在VMM 106指示它操作的任何局部进行操作。若有需要,VMM 106可以使用任何合适的技术来改变vTPM 120A的当前局部性。
一旦VMM 106已经初始化了虚拟TPM服务104,虚拟TPM服务104就能在需要时创建虚拟TPM。
在该示例实施例中,每个虚拟TPM一旦被初始化就能够操作并支持诸如证明书等传统功能,如同该虚拟TPM就是硬件TPM一样。为允许虚拟TPM以这一方式操作,向虚拟TPM提供硬件TPM期望拥有的相同种类的凭证。例如,如随后将详述的那样,在一个实施例中,虚拟TPM服务104针对每个新的vTPM创建或获取新的vEK、新的虚拟SRK(vSRK)以及用于该vEK的凭证。这一vEK凭证指示该vEK是依据TPM规范安全存储的。此外,平台凭证和一致性凭证可由虚拟TPM软件厂商提供。
在该示例实施例中,框216至222表示用于为虚拟机初始化虚拟TPM的操作。例如,虚拟TPM服务104响应于创建虚拟机110A的请求,可如在框216处所示的使用TPM 30来创建被称为vEK 64的存储密钥。此外,虚拟TPM服务104可使用TPM 30将vEK 64绑定至用于虚拟TPM服务104和虚拟TPM服务104所在的引导环境的PCR值。还可以在vTPM 120A内创建并存储用于vEK 64的初始授权数据。
在框218处,虚拟TPM服务104使用CK 56来证实vEK 64。例如,虚拟TPM服务104可使用TPM 30的TPM_CertifyKey函数来证实vEK 64并为vEK 64获取诸如TPM_CERTIFY_INFO结构等认证信息。在该示例实施例中,用于vEK 64的这一认证信息由CK 56签署,并且包含vEK 64所绑定到的PCR信息(例如,用于PCR 32的信息)。该过程可以保证vEK 64被存储在经保密CA 76批准的硬件TPM中。在此示例实施例中,因为保密CA 76已签署了CK凭证58,所以CK 56对vEK 64的PCR绑定的认证会受到信任,如同保密CA 76已经指示vEK 64处于依据TCG标准可认为良好的hwTPM中那样。
在框220处,虚拟TPM服务104可以将vTPM的EK凭证请求发送给被称为虚拟化CA 78的第三方或TTP。该凭证请求可以包括CK凭证58以及由CK 56签署的用于vEK 64的认证信息。
虚拟化CA 78可以是受到保密CA信任的认证授权机构。通常可以将虚拟化CA 78示为TPM的另一个生产商。在该示例实施例中,虚拟化CA 78是知道vTPM的,并且能够将经批准的或“安全”的虚拟TPM环境与未经批准的或“不安全”的虚拟TPM环境区分。在一个实施例中,虚拟化CA 78是处理系统20外为进行有效的TPM虚拟化而必须知道TPM虚拟化的存在的唯一实体。
在虚拟化CA 78评价了CK凭证58以及针对vEK 64的包括PCR绑定在内的认证信息之后,如果请求被批准,则虚拟化CA 78将经签署的vEK凭证返还给处理系统20。在此示例实施例中,vEK凭证60包括带有指示vEK 64与在可标识环境内运行的虚拟TPM相关联的数据的模型字段。在框222处,虚拟TPM服务104可接收经签署的vEK凭证60。
上述过程于是就可以建立下列信任链:CK凭证58是由保密CA 76签署的凭证以指示CK 56是合法TPM内的合法AIK。用于vEK 64的认证信息指示根据CK56,vEK 64是绑定到一组特定PCR并位于同一合法TPM内的密钥。因为保密CA76创建了CK凭证58,所以虚拟化CA 78就信任由CK 56创建的用于vEK 64的认证信息。如果虚拟化CA 78批准了EK所绑定到的vTPM环境,则因而乐于产生用于vEK 64的保证凭证以指示vEK 64表示一个有效TPM。此外,在vEK凭证60中,虚拟化CA 78可以包括指示该TPM是虚拟的并且在证明期间能被远程质询器自行信任的模型信息。
框224至226表示用于初始化vTPM的附加操作。在一个实施例中,虚拟TPM服务104为执行这些操作,使用标准函数来初始化vTPM 120A,如同vTPM 120A是hwTPM那样。例如,虚拟TPM服务104可以分别如框224和226处所描绘的那样,调用TPM_Get_PUBEK以获取vEK 64的公共部分,并且可以调用TPM_TakeOwnership以创建vSRK 66。在该示例实施例中,虚拟TPM服务104将vSRK绑定到与vEK 64相同的PCR(例如,PCR 32)上。虚拟TPM服务104能以用vEK 64的公共部分加密的形式为vTPM 120A提供授权。这些授权随后由vTPM 120A用vEK 64解密。在该示例实施例中,因为这些授权不是TPM_BOUND_DATA,所以使用传统的密钥vEK 64来解密这些授权。
在该示例实施例中,用于vEK 64的授权数据从vEK 64创建期间被存储在vTPM 120A内的数据改为在TPM_TakeOwnership调用中提供的数据。
如在框228处所述以及如下将参考图4详述的,VM 110A随后使用vTPM120A,如同vTPM 120A是hwTPM一样。如框240处所示,虚拟TPM服务104随后确定是否正在创建要求新vTPM的新VM。如果是,则该过程返回到框216,其中执行操作以用例如为该新VM创建的新vEK等来实例化上述新vTPM。如果没有创建新的VM,则虚拟TPM服务104可以继续使用TPM 30来为VM 110A提供vTPM 120A。
图4是示出利用诸如vTPM 120A之类的虚拟TPM的一过程的示例实施例的流程图。示出的过程提供了关于图3中框228处概括的某些操作的更多细节。例如,框310至314描述了用于为VM 110A创建vAIK的操作,其中VM 110A如同vTPM120A是hwTPM一样来使用vTPM 120A。虚拟vTPM 120A可以在TPM 30中创建vAIK 70,并且可以创建硬件TPM通常会为AIK创建的常规文档。
例如,在框310处,VM 110A通过调用TPM_MakeIdentity在vTPM 120A内创建vAIK。vTPM 120A响应该调用,指示TPM 30在TPM 30内创建新的TCG-SIGNING_KEY密钥。这一将用作新的虚拟证明书身份密钥的签署密钥在图1中被描述为vAIK 70。这样,从hwTPM的观点来看,虚拟AIK不是“AIK”类型的密钥,而可以是签署密钥。但在hwTPM外的其他地方,该虚拟AIK仍然用作并看似“AIK”类型的密钥。
用于vAIK 70的TCG_IDENTITY_CONTENTS随后由vTPM 120A和TSS108A创建。TSS 108A随后可以执行TSS_CollateIdentityRequest来创建TCG_IDENTITY_REQ。除非使用的EK凭证是vEK凭证60而非针对hwTPM的EK凭证,否则就可以照常做出上述调用。
如框312处所描述的那样,在VM 110A内运行的TSS 108A随后将包括诸如vAIK 70和vEK凭证60等文档在内的请求发送给保密CA 76。保密CA 76随后检验这些文档。此外,保密CA 76可能不知道TPM的虚拟化,并且信任来自虚拟化CA 78的vEK保证凭证60就如同它是任何其他TPM厂商的凭证那样。在验证了这些文档之后,保密CA 76将为vAIK 70创建一新的身份凭证62,签署该凭证,并将其发送到处理系统20。因此,TSS 108A可如框314中所示地接收来自保密CA 76的vAIK凭证62。
接着,框320至324描述用于处理证明书请求的操作。在框320处,vTPM 120A确定接收到的命令是否要求关于VM 110A的可信赖性的证明书。当接收到这一请求时,TSS 108A可以使用vTPM 120A来引证VPCR 92,并且可以如框322处所示使用vAIK 70来签署PCR的引证。如框324处示出的那样,当VM 110A受到远程实体的质询时,TSS 108A可以如同vAIK 70在hwTPM内一样将vAIK凭证62发送给该远程实体。
根据一个实施例,如果质询器知道vTPM,则它就能够考虑模型信息,发现由VM 110A使用的TPM是vTPM,并且决定是否应该信任该底层平台。上述模型信息可以唯一地标识该底层平台配置。
如果质询器信任该底层平台,质询器就会获知保密CA 76做出了如下声明:vTPM是硬件TPM中的根,vTPM仅在该硬件TPM中可用。如果质询器不信任该vTPM的这一特定配置,则质询器能够选择拒绝该事务。此外,如果质询器是不知道vTPM的传统应用程序,则质询器就能够仅仅基于对保密CA 76的签名的信任确定,使用标准TPM协议来推断证明书。
用类似的方式,vTPM 120A可以为VM提供常规硬件TPM能够为单片系统提供的全部其他功能。
所公开的一个或多个实施例因而允许多个VM使用TPM功能,而无需多个专用硬件TPM,无需修改VM内的软件,并且无需修改与目标系统交互的远程实体。根据本公开内容,虚拟TPM可以度量VM内的OS和应用程序以向远程实体提供证明书。此外,即使硬件TPM和质询器仅能利用在当前TPM规范(诸如,以上参考的TPM1.2版设计规范)中描述的功能,虚拟TPM仍可以为硬件TPM质询器证明虚拟机的状态。虚拟机内的客OS可以保持不知道硬件TPM被共享,并且在一系统内的VM之间不需要信任关系。
如图1所示,可以为每个vTPM创建零个或更多的vSig 68、零个或更多的vAIK70和零个或更多的vEnc 72。如上所述,在一个实施例中,诸如vSig 68和vEnc 72之类的虚拟密钥可以被创建并存储在hwTPM中。因此,vTPM能够以使对虚拟TPM的泄密无法永久性地泄密存储在vTPM内的密钥的方式存储并创建它的密钥。
可选地,为增加灵活性和/或性能,虚拟密钥可由vTPM软件创建并使用。例如,这些虚拟密钥可以不由hwTPM储存或者直接保护。属于虚拟TPM或由其生成的私钥可以不由硬件TPM操作,因为该硬件TPM可以不使用这些私钥来执行密码操作。相反,虚拟TPM可以使用主机处理器和密码软件来以其私钥执行密码操作。为此,虚拟TPM服务可以在受保护的主机存储器内存储其私钥。尽管如此,虽然没有使用该私钥,但是虚拟TPM服务可以使用硬件TPM特征来将该密钥包装到其软件配置中。
这些选项可以允许vTPM以比硬件TPM所提供的性能的更为优越的性能来对vTPM软件内的对象进行加密、解密、签署和验证。于是,这些选项对于例如批量加密或性能敏感服务器环境中的使用是首选。然而,为添加性能仍需权衡的是如果vTPM被泄密,则泄密密钥也会被永久地泄密。
鉴于在此描述并示出的原理和示例实施例,应该认识到,可以在不背离上述原则的情况下对所示的实施例的安排和细节做出修改。例如,虚拟TPM是结合虚拟机来描述的,但是替换实施例也可包括与其他类型的系统细分,诸如与一个服务器或与共享硬件TPM的一组服务器内的分区结合使用的vTPM。例如,虚拟TPM可以在被划分成两个逻辑双处理器系统的四处理器系统内使用。此处的教示还可用于将逻辑TPM提供给一个或多个服务协处理器,或者提供给硬件平台上一个或多个其他类型的独立处理元件。
此外,替换实施例包括不对硬件TPM进行仿真,但会(例如,通过提供更多的PCR、更多的存储等)扩展和/或放大硬件TPM的能力的vTPM服务。替换实施例还包括在安全OS之上、受管运行时环境(MRTE)之上、服务处理器或协处理器内、平台的系统管理模式(SMM)内等运行的虚拟TPM服务。
同样,虽然前述讨论关注了某些特定实施例,但是仍然可以构想其他配置。更具体地,即使在此使用了诸如“在一个实施例中”、“在另一个实施例中”之类的表达,但这些短语一般仅意味着参考实施例的可能性,而不旨在将本发明限于某些特定的实施例配置。如此处所使用的,这些术语可以参考可并入其他实施例的相同或不同的实施例。
类似地,虽然已关于以特定顺序执行的特定操作描述了示例过程,但是可以对这些国车杠应用各种修改以导出本发明的多个替换实施例。例如,替换实施例可以包括使用少于全部公开的操作的过程、使用附加操作的过程、使用顺序不同的相同操作的过程以及其中组合、细分或改变了在此公开的各个操作的过程。
本发明的替换实施例还包括用于执行本发明的各操作的机器可访问介质编码指令。这些实施例还可被称为程序产品。这些机器可访问介质包括但不限于存储介质,诸如软盘、硬盘、CD-ROM、ROM和RAM;以及通信介质,诸如天线、电线、光纤、微波、无线电波和其他的电磁或光载波。因此,指令和其他数据能以分组、串行数据、并行数据、传播信号等的形式经由传输环境或网络传播,并能在分布式环境中使用并被本地和/或远程存储以供单或多处理器机器访问。
应该理解,在此描述的硬件和软件组件表示合理自持以便各自都能被充分彼此独立地设计、构造或更新的功能元件。在替换实施例中,许多组件都可被实现为硬件、软件或硬件和软件的组合以提供在此描述并示出的功能。
考虑到能从在此描述的示例实施例中轻易导出的各种有用的变化,该详细描述仅出于示意性的目的,而不应被理解为限制本发明的范围。因此,本发明所要求保护的是落入所附权利要求书的范围和精神内的全部实现以及这些实现的所有等效技术方案。
Claims (24)
1.一种方法,包括:
创建在包含物理可信平台模块(TPM)的处理系统中使用的虚拟TPM;
在所述物理TPM内存储用于所述虚拟TPM的密钥;以及
使用所述虚拟TPM来提供仿真的物理TPM特征。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述虚拟TPM 120A的存储器空间中创建虚拟的平台配置寄存器(PCR);以及
使用所述虚拟PCR仿真标准的PCR操作。
3.如权利要求1所述的方法,其特征在于,使用所述虚拟TPM以提供仿真的物理TPM特征的所述操作包括:
在所述处理系统中使用所述虚拟TPM来仿真用于虚拟机的硬件TPM。
4.如权利要求3所述的方法,其特征在于,所述虚拟TPM包括第一虚拟TPM,而所述虚拟机包括第一虚拟机,所述方法还包括:
在所述处理系统中创建第二虚拟TPM;
在所述物理TPM内存储用于所述第二虚拟TPM的密钥;
使用所述第二虚拟TPM仿真用于所述第二虚拟机的物理TPM。
5.如权利要求1所述的方法,其特征在于,在所述物理TPM中存储用于所述虚拟TPM的密钥的所述操作包括存储从由以下各项组成的组中选取的至少一个密钥:
用于所述虚拟TPM的保证密钥(EK);以及
用于所述虚拟TPM的存储根密钥(SRK)。
6.如权利要求1所述的方法,其特征在于,还包括:
生成用于所述虚拟TPM的保证密钥(EK),其中所述EK被绑定到用于所述虚拟机的环境。
7.如权利要求6所述的方法,其特征在于,还包括:
将用于所述EK的认证信息发送给认证授权机构;以及
从所述认证授权机构中获取保证凭证。
8.如权利要求6所述的方法,其特征在于,还包括:
将用于所述EK的认证信息发送给虚拟化认证授权机构(CA);以及
从所述虚拟化CA中获取用于所述虚拟TPM的保证凭证;
将所述保证凭证发送给保密CA;以及
接收来自所述保密CA的身份凭证。
9.如权利要求1所述的方法,其特征在于,使用所述虚拟TPM以提供仿真的物理TPM特征的所述操作包括:
从保密认证授权机构(CA)中获取用于与虚拟机相关联的虚拟证明书身份密钥(AIK)的身份凭证;以及
将所述身份凭证发送给质询器。
10.一种方法,包括:
在处理系统中生成用于虚拟机的虚拟保证密钥(EK),所述虚拟EK至少部分基于所述处理系统内用于物理TPM的EK;
在所述物理TPM中存储所述虚拟EK;
生成用于所述虚拟机的虚拟证明书身份密钥(AIK);以及
使用用于所述虚拟EK的保证凭证来获取用于所述虚拟AIK的凭证。
11.如权利要求10所述的方法,其特征在于,还包括:
将用于所述EK的保证凭证发送给第三方;以及
接收来自所述第三方的用于所述虚拟EK的保证凭证。
12.如权利要求11所述的方法,其特征在于,所述第三方包括虚拟化认证授权机构(CA)。
13.一种装置,包括:
机器可访问介质;以及
在所述机器可访问介质内编码的指令,其中所述指令在由带有硬件TPM的处理系统执行时使得所述处理系统执行如下操作:
创建虚拟可信平台模块(TPM);
在所述硬件TPM内存储用于所述虚拟TPM的密钥;以及
使用所述虚拟TPM来提供仿真的物理TPM特征。
14.如权利要求13所述的装置,其特征在于,所述虚拟TPM包括第一虚拟TPM,并且由所述指令执行的所述操作还包括:
在所述处理系统中创建第二虚拟TPM;
在所述硬件TPM内存储用于所述第二虚拟TPM的密钥。
15.如权利要求13所述的装置,其特征在于,使用所述虚拟TPM提供仿真的物理TPM特征的所述操作包括:
从保密认证授权机构(CA)中获取用于虚拟证明书身份密钥(AIK)的身份凭证;以及
将所述身份凭证发送给质询器。
16.如权利要求13所述的装置,其特征在于,使用所述虚拟TPM来提供仿真的物理TPM特征的所述操作包括:
使用所述虚拟TPM在所述处理系统内仿真用于虚拟机的硬件TPM。
17.一种处理系统,包括:
处理器;
与所述处理器通信耦合的可信平台模块(TPM);
存储在所述TPM内的保证密钥(EK);
在所述处理器上执行的虚拟机(VM);
与所述VM相关联的虚拟TPM;以及
与所述VM相关联的虚拟保证密钥(EK),所述虚拟EK基于存储在所述TPM内的所述EK。
18.如权利要求17所述的处理系统,其特征在于,还包括:
在所述处理器上执行的虚拟TPM服务,其中所述虚拟TPM服务使用所述TPM来创建用于所述VM的所述虚拟TPM。
19.一种处理系统,包括:
处理器;
与所述处理器通信耦合的物理可信平台模块(TPM);
与所述处理器通信耦合的机器可访问介质;以及
在所述机器可访问介质内编码以实现虚拟TPM服务的指令,其中所述虚拟TPM服务执行以下操作:
创建虚拟可信平台模块(TPM);
在所述物理TPM内存储用于所述虚拟TPM的密钥;以及
使用所述虚拟TPM来提供仿真的物理TPM特征。
20.如权利要求19所述的装置,其特征在于:
所述处理系统包括一个或多个服务器中的多个处理器;以及
使用所述虚拟TPM来提供仿真的物理TPM特征的所述操作包括:
为所述处理系统内的第一分区提供第一虚拟TPM;以及
为所述处理系统内的第二分区提供第二虚拟TPM。
21.如权利要求19所述的装置,其特征在于,使用所述虚拟TPM来提供仿真的物理TPM特征的所述操作包括:
将逻辑TPM提供给一个或多个服务协处理器。
22.一种装置,包括:
可信平台模块(TPM);
存储在所述TPM内的保证密钥(EK);以及
为虚拟机(VM)生成虚拟EK的虚拟TPM服务,所述虚拟EK至少部分基于所述EK。
23.如权利要求22所述的装置,其特征在于,所述虚拟EK被存储在所述TPM中。
24.如权利要求22所述的装置,其特征在于,还包括:
由所述虚拟TPM服务生成的用于所述虚拟机的虚拟证明书身份密钥(AIK);
用于所述虚拟EK的凭证;以及
用于所述虚拟AIK的凭证。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/876,994 US7590867B2 (en) | 2004-06-24 | 2004-06-24 | Method and apparatus for providing secure virtualization of a trusted platform module |
US10/876,994 | 2004-06-24 | ||
PCT/US2005/019724 WO2006011943A1 (en) | 2004-06-24 | 2005-06-03 | Method and apparatus for providing secure virtualization of a trusted platform module |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1997955A true CN1997955A (zh) | 2007-07-11 |
CN1997955B CN1997955B (zh) | 2011-07-13 |
Family
ID=34971848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800207383A Expired - Fee Related CN1997955B (zh) | 2004-06-24 | 2005-06-03 | 提供可信平台模块的安全虚拟化的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7590867B2 (zh) |
EP (1) | EP1759261B1 (zh) |
JP (1) | JP4498416B2 (zh) |
CN (1) | CN1997955B (zh) |
ES (1) | ES2392440T3 (zh) |
WO (1) | WO2006011943A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930508A (zh) * | 2008-10-02 | 2010-12-29 | 美国博通公司 | 安全处理系统 |
CN101539973B (zh) * | 2009-04-28 | 2011-08-31 | 北京交通大学 | 完整性度量技术在可信虚拟域无缝运行的方法 |
CN102270290A (zh) * | 2010-06-01 | 2011-12-07 | 国际商业机器公司 | 用于对虚拟环境中的许可授权进行管理的系统和方法 |
CN101599022B (zh) * | 2009-07-07 | 2012-07-04 | 武汉大学 | 用于虚拟机系统的可信计算基裁剪方法 |
CN103843303A (zh) * | 2012-11-22 | 2014-06-04 | 华为技术有限公司 | 虚拟机的管理控制方法及装置、系统 |
WO2016107394A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 虚拟机的深度证明方法、计算设备和计算机系统 |
CN107113284A (zh) * | 2014-11-26 | 2017-08-29 | 英特尔公司 | 针对可迁移虚拟机的可信计算基证据绑定 |
CN107392030A (zh) * | 2017-07-28 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种检测虚拟机启动安全的方法及装置 |
CN109564524A (zh) * | 2016-06-30 | 2019-04-02 | 亚马逊科技公司 | 虚拟化管理器的安全引导 |
CN109977665A (zh) * | 2019-03-22 | 2019-07-05 | 北京工业大学 | 基于tpcm的云服务器启动过程防窃取和防篡改方法 |
CN110380854A (zh) * | 2019-08-12 | 2019-10-25 | 南京芯驰半导体科技有限公司 | 针对多个系统的根密钥生成、隔离方法及根密钥模块 |
CN111756754A (zh) * | 2017-07-28 | 2020-10-09 | 创新先进技术有限公司 | 一种训练模型的方法及装置 |
CN114780949A (zh) * | 2022-05-20 | 2022-07-22 | 北京数安行科技有限公司 | 基于虚拟容器的轻量化数据安全保护的方法及系统 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005116828A2 (en) * | 2004-05-21 | 2005-12-08 | Computer Associates Think, Inc. | Method and apparatus for dynamic memory resource management |
WO2005116833A1 (en) * | 2004-05-21 | 2005-12-08 | Computer Associates Think, Inc. | Method and apparatus for dynamic cpu resource management |
US7590867B2 (en) | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US7607011B1 (en) * | 2004-07-16 | 2009-10-20 | Rockwell Collins, Inc. | System and method for multi-level security on a network |
JP2006146485A (ja) * | 2004-11-18 | 2006-06-08 | Toshiba Corp | 携帯端末 |
US7603562B2 (en) * | 2005-02-02 | 2009-10-13 | Insyde Software Corporation | System and method for reducing memory requirements of firmware |
US7836299B2 (en) * | 2005-03-15 | 2010-11-16 | Microsoft Corporation | Virtualization of software configuration registers of the TPM cryptographic processor |
US8619971B2 (en) | 2005-04-01 | 2013-12-31 | Microsoft Corporation | Local secure service partitions for operating system security |
US7613921B2 (en) | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US7587595B2 (en) * | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
US8074262B2 (en) * | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
US8806224B2 (en) * | 2005-06-28 | 2014-08-12 | Intel Corporation | Low cost trusted platform |
US8549592B2 (en) * | 2005-07-12 | 2013-10-01 | International Business Machines Corporation | Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform |
US8104033B2 (en) * | 2005-09-30 | 2012-01-24 | Computer Associates Think, Inc. | Managing virtual machines based on business priorty |
US20070079120A1 (en) * | 2005-10-03 | 2007-04-05 | Bade Steven A | Dynamic creation and hierarchical organization of trusted platform modules |
US8225313B2 (en) * | 2005-10-19 | 2012-07-17 | Ca, Inc. | Object-based virtual infrastructure management |
WO2007079499A2 (en) * | 2006-01-04 | 2007-07-12 | Nytor, Inc. | Trusted host platform |
US7970133B2 (en) * | 2006-01-19 | 2011-06-28 | Rockwell Collins, Inc. | System and method for secure and flexible key schedule generation |
US7870399B2 (en) * | 2006-02-10 | 2011-01-11 | Arxan Defense Systems | Software trusted platform module and application security wrapper |
US8020001B2 (en) | 2006-02-23 | 2011-09-13 | Qualcomm Incorporated | Trusted code groups |
CN1808457B (zh) * | 2006-02-24 | 2010-05-26 | 上海方正信息安全技术有限公司 | 可远程动态管理的便携式可信装置 |
EP1826979A1 (en) | 2006-02-27 | 2007-08-29 | BRITISH TELECOMMUNICATIONS public limited company | A system and method for establishing a secure group of entities in a computer network |
US8856862B2 (en) | 2006-03-02 | 2014-10-07 | British Telecommunications Public Limited Company | Message processing methods and systems |
US7444670B2 (en) | 2006-03-21 | 2008-10-28 | International Business Machines Corporation | Method and apparatus for migrating a virtual TPM instance and preserving uniqueness and completeness of the instance |
US7725305B2 (en) * | 2006-06-08 | 2010-05-25 | Microsoft Corporation | Partial virtualization on computing device |
US8533778B1 (en) * | 2006-06-23 | 2013-09-10 | Mcafee, Inc. | System, method and computer program product for detecting unwanted effects utilizing a virtual machine |
US8108668B2 (en) * | 2006-06-26 | 2012-01-31 | Intel Corporation | Associating a multi-context trusted platform module with distributed platforms |
JP4950195B2 (ja) * | 2006-07-03 | 2012-06-13 | パナソニック株式会社 | 証明装置、検証装置、検証システム、コンピュータプログラム及び集積回路 |
US8381287B2 (en) * | 2006-07-19 | 2013-02-19 | Secure Exchange Solutions, Llc | Trusted records using secure exchange |
US8479264B2 (en) * | 2006-09-29 | 2013-07-02 | Micron Technology, Inc. | Architecture for virtual security module |
US8584109B2 (en) * | 2006-10-27 | 2013-11-12 | Microsoft Corporation | Virtualization for diversified tamper resistance |
US9171161B2 (en) * | 2006-11-09 | 2015-10-27 | International Business Machines Corporation | Trusted device having virtualized registers |
KR100912532B1 (ko) * | 2006-12-01 | 2009-08-18 | 한국전자통신연구원 | 신뢰 컴퓨팅 환경에서 각 참여자가 상호 보증 기능을 갖는인터넷 전자투표 방법 및 시스템 |
US9280659B2 (en) * | 2006-12-29 | 2016-03-08 | Intel Corporation | Methods and apparatus for remeasuring a virtual machine monitor |
US8024579B2 (en) | 2006-12-29 | 2011-09-20 | Lenovo (Singapore) Pte Ltd. | Authenticating suspect data using key tables |
US9244863B2 (en) * | 2007-02-05 | 2016-01-26 | Intel Deutschland Gmbh | Computing device, with data protection |
US20080244261A1 (en) * | 2007-03-29 | 2008-10-02 | Wiseman Willard M | Separation of logical trusted platform modules within a single physical trusted platform module |
EP1976220A1 (en) | 2007-03-30 | 2008-10-01 | British Telecommunications Public Limited Company | Computer network |
EP1975830A1 (en) | 2007-03-30 | 2008-10-01 | British Telecommunications Public Limited Company | Distributed computer system |
US20080320263A1 (en) * | 2007-06-20 | 2008-12-25 | Daniel Nemiroff | Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner |
US8060876B2 (en) * | 2007-08-10 | 2011-11-15 | Intel Corporation | Methods and apparatus for creating an isolated partition for a virtual trusted platform module |
US8032741B2 (en) | 2007-08-22 | 2011-10-04 | Intel Corporation | Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM) |
US8064605B2 (en) * | 2007-09-27 | 2011-11-22 | Intel Corporation | Methods and apparatus for providing upgradeable key bindings for trusted platform modules |
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 |
US8584229B2 (en) * | 2007-12-21 | 2013-11-12 | Intel Corporation | Methods and apparatus supporting access to physical and virtual trusted platform modules |
US8259948B2 (en) * | 2007-12-29 | 2012-09-04 | Intel Corporation | Virtual TPM key migration using hardware keys |
CN101960464B (zh) * | 2008-02-25 | 2013-01-16 | 松下电器产业株式会社 | 信息处理装置 |
GB2460393B (en) * | 2008-02-29 | 2012-03-28 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry |
US8060940B2 (en) * | 2008-06-27 | 2011-11-15 | Symantec Corporation | Systems and methods for controlling access to data through application virtualization layers |
US8122514B2 (en) * | 2008-07-30 | 2012-02-21 | Microsoft Corporation | Software enhanced trusted platform module |
US8161285B2 (en) * | 2008-09-26 | 2012-04-17 | Microsoft Corporation | Protocol-Independent remote attestation and sealing |
CN102171669B (zh) * | 2008-09-30 | 2014-08-27 | 惠普开发有限公司 | 认证分区上的服务 |
GB2466071B (en) * | 2008-12-15 | 2013-11-13 | Hewlett Packard Development Co | Associating a signing key with a software component of a computing platform |
US8176336B1 (en) * | 2008-12-19 | 2012-05-08 | Emc Corporation | Software trusted computing base |
US8245053B2 (en) * | 2009-03-10 | 2012-08-14 | Dell Products, Inc. | Methods and systems for binding a removable trusted platform module to an information handling system |
US20100313011A1 (en) * | 2009-06-09 | 2010-12-09 | Laffey Thomas M | Identity Data Management in a High Availability Network |
TWI403895B (zh) * | 2009-06-19 | 2013-08-01 | Inventec Corp | 計算機的自動測試系統及其測試方法 |
US8312272B1 (en) * | 2009-06-26 | 2012-11-13 | Symantec Corporation | Secure authentication token management |
US8295481B2 (en) * | 2009-08-31 | 2012-10-23 | International Business Machines Corporation | Virtualization of cryptographic keys |
US9059978B2 (en) | 2010-03-23 | 2015-06-16 | Fujitsu Limited | System and methods for remote maintenance in an electronic network with multiple clients |
US9286485B2 (en) * | 2010-03-23 | 2016-03-15 | Fujitsu Limited | Using trust points to provide services |
US8943329B2 (en) * | 2010-03-29 | 2015-01-27 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for sharing an integrity security module in a dual-environment computing device |
US8375437B2 (en) * | 2010-03-30 | 2013-02-12 | Microsoft Corporation | Hardware supported virtualized cryptographic service |
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 |
US8959363B2 (en) * | 2010-06-03 | 2015-02-17 | Intel Corporation | Systems, methods, and apparatus to virtualize TPM accesses |
US9087196B2 (en) * | 2010-12-24 | 2015-07-21 | Intel Corporation | Secure application attestation using dynamic measurement kernels |
MY155582A (en) * | 2011-01-13 | 2015-11-03 | Mimos Berhad | System and method to provide integrity measurement of a machine without tpm using trusted agent |
JP5932837B2 (ja) * | 2011-01-19 | 2016-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム |
US8799997B2 (en) | 2011-04-18 | 2014-08-05 | Bank Of America Corporation | Secure network cloud architecture |
US8375221B1 (en) * | 2011-07-29 | 2013-02-12 | Microsoft Corporation | Firmware-based trusted platform module for arm processor architectures and trustzone security extensions |
CN102750470B (zh) * | 2012-05-22 | 2014-10-08 | 中国科学院计算技术研究所 | 全虚拟化环境下启动加载器的可信验证方法和系统 |
US8924720B2 (en) * | 2012-09-27 | 2014-12-30 | Intel Corporation | Method and system to securely migrate and provision virtual machine images and content |
US9230081B2 (en) | 2013-03-05 | 2016-01-05 | Intel Corporation | User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system |
CN108762887B (zh) * | 2013-03-06 | 2022-03-11 | 英特尔公司 | 用于虚拟机的测量的信任根 |
US10579405B1 (en) * | 2013-03-13 | 2020-03-03 | Amazon Technologies, Inc. | Parallel virtual machine managers |
US9292673B2 (en) * | 2013-03-15 | 2016-03-22 | International Business Machines Corporation | Virtual key management and isolation of data deployments in multi-tenant environments |
US9202056B2 (en) * | 2013-03-15 | 2015-12-01 | Intel Corporation | Inter-processor attestation hardware |
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 |
CN105247528B (zh) | 2013-06-27 | 2018-05-18 | 英特尔公司 | 连续多因素认证 |
US10055254B2 (en) * | 2013-07-12 | 2018-08-21 | Bluedata Software, Inc. | Accelerated data operations in virtual environments |
CN103747036B (zh) * | 2013-12-23 | 2017-05-24 | 中国航天科工集团第二研究院七〇六所 | 一种桌面虚拟化环境下的可信安全增强方法 |
US9519498B2 (en) | 2013-12-24 | 2016-12-13 | Microsoft Technology Licensing, Llc | Virtual machine assurances |
US9442751B2 (en) | 2014-03-24 | 2016-09-13 | International Business Machines Corporation | Virtual credential adapter for use with virtual machines |
US9652631B2 (en) | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
CN103995732B (zh) | 2014-05-26 | 2017-02-22 | 华为技术有限公司 | 一种虚拟可信平台模块功能实现方法和管理设备 |
CN104268477B (zh) * | 2014-09-26 | 2017-09-26 | 华为技术有限公司 | 一种安全控制方法及网络设备 |
US9584317B2 (en) | 2014-10-13 | 2017-02-28 | Microsoft Technology Licensing, Llc | Identifying security boundaries on computing devices |
CN104270376A (zh) * | 2014-10-13 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种平台完整性的证明方法 |
US10229272B2 (en) | 2014-10-13 | 2019-03-12 | 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 |
US20170364685A1 (en) * | 2014-11-20 | 2017-12-21 | Interdigital Patent Holdings. Inc. | Providing security to computing systems |
JP6357091B2 (ja) * | 2014-12-03 | 2018-07-11 | Kddi株式会社 | 情報処理装置、及びコンピュータプログラム |
US9584325B1 (en) * | 2014-12-04 | 2017-02-28 | Amazon Technologies, Inc. | User-configurable cryptographic interface controller |
FR3030818B1 (fr) * | 2014-12-23 | 2016-12-23 | Valeo Comfort & Driving Assistance | Procede de transmission securisee d'une cle virtuelle et methode d'authentification d'un terminal mobile |
US10230529B2 (en) * | 2015-07-31 | 2019-03-12 | Microsft Technology Licensing, LLC | Techniques to secure computation data in a computing environment |
US10073964B2 (en) | 2015-09-25 | 2018-09-11 | Intel Corporation | Secure authentication protocol systems and methods |
US10142107B2 (en) | 2015-12-31 | 2018-11-27 | Microsoft Technology Licensing, Llc | Token binding using trust module protected keys |
US10310885B2 (en) | 2016-10-25 | 2019-06-04 | Microsoft Technology Licensing, Llc | Secure service hosted in a virtual security environment |
CN106354550A (zh) * | 2016-11-01 | 2017-01-25 | 广东浪潮大数据研究有限公司 | 一种保护虚拟机安全的方法、装置及系统 |
US9992029B1 (en) * | 2017-04-05 | 2018-06-05 | Stripe, Inc. | Systems and methods for providing authentication to a plurality of devices |
JP2019022122A (ja) | 2017-07-19 | 2019-02-07 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム及びプログラム |
CN107465689B (zh) * | 2017-09-08 | 2020-08-04 | 大唐高鸿信安(浙江)信息科技有限公司 | 云环境下的虚拟可信平台模块的密钥管理系统及方法 |
US10621350B2 (en) * | 2017-10-02 | 2020-04-14 | Microsoft Technology Licensing, Llc | System integrity using attestation for virtual trusted platform module |
CN116305092B (zh) * | 2023-05-23 | 2023-08-01 | 山东可信云信息技术研究院 | 一种可信的虚拟化系统的实现方法及系统 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301773A (ja) * | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
WO2002006929A2 (en) | 2000-07-18 | 2002-01-24 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
FI110427B (fi) | 2001-03-28 | 2003-01-31 | Kemira Chemicals Oy | Työliuoksen hydraus vetyperoksidin valmistusprosessissa |
GB2376765B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments with verifiable environment identities |
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 |
US7480806B2 (en) * | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
US7069442B2 (en) * | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7444512B2 (en) * | 2003-04-11 | 2008-10-28 | Intel Corporation | Establishing trust without revealing identity |
US7356197B2 (en) | 2003-06-30 | 2008-04-08 | Intel Corporation | Variable tap filter architecture for image processing |
US7313679B2 (en) * | 2003-10-17 | 2007-12-25 | Intel Corporation | Extended trusted computing base |
US20050132122A1 (en) | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
US7222062B2 (en) * | 2003-12-23 | 2007-05-22 | Intel Corporation | Method and system to support a trusted set of operational environments using emulated trusted hardware |
US7552419B2 (en) * | 2004-03-18 | 2009-06-23 | Intel Corporation | Sharing trusted hardware across multiple operational environments |
US7380119B2 (en) * | 2004-04-29 | 2008-05-27 | International Business Machines Corporation | Method and system for virtualization of trusted platform modules |
US7490070B2 (en) * | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
US7590867B2 (en) | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US7590300B2 (en) | 2004-06-24 | 2009-09-15 | Intel Corporation | Image filtering methods and apparatus |
US20060002471A1 (en) | 2004-06-30 | 2006-01-05 | Lippincott Louis A | Motion estimation unit |
US7471844B2 (en) | 2004-12-27 | 2008-12-30 | Intel Corporation | Method, apparatus and system for multi-feature programmable tap filter image processing |
US7707629B2 (en) | 2005-03-31 | 2010-04-27 | Intel Corporation | Platform configuration register virtualization apparatus, systems, and methods |
US8074262B2 (en) | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
US7571312B2 (en) | 2005-05-13 | 2009-08-04 | Intel Corporation | Methods and apparatus for generating endorsement credentials for software-based security coprocessors |
US7636442B2 (en) | 2005-05-13 | 2009-12-22 | Intel Corporation | Method and apparatus for migrating software-based security coprocessors |
US7587595B2 (en) | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
US7613921B2 (en) | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US7827550B2 (en) | 2005-08-17 | 2010-11-02 | Intel Corporation | Method and system for measuring a program using a measurement agent |
-
2004
- 2004-06-24 US US10/876,994 patent/US7590867B2/en not_active Expired - Fee Related
-
2005
- 2005-06-03 JP JP2007515657A patent/JP4498416B2/ja not_active Expired - Fee Related
- 2005-06-03 CN CN2005800207383A patent/CN1997955B/zh not_active Expired - Fee Related
- 2005-06-03 WO PCT/US2005/019724 patent/WO2006011943A1/en not_active Application Discontinuation
- 2005-06-03 ES ES05757249T patent/ES2392440T3/es active Active
- 2005-06-03 EP EP05757249A patent/EP1759261B1/en not_active Not-in-force
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930508B (zh) * | 2008-10-02 | 2013-11-06 | 美国博通公司 | 安全处理系统 |
CN101930508A (zh) * | 2008-10-02 | 2010-12-29 | 美国博通公司 | 安全处理系统 |
US8996885B2 (en) | 2008-10-02 | 2015-03-31 | Broadcom Corporation | Secure virtual machine manager |
CN101539973B (zh) * | 2009-04-28 | 2011-08-31 | 北京交通大学 | 完整性度量技术在可信虚拟域无缝运行的方法 |
CN101599022B (zh) * | 2009-07-07 | 2012-07-04 | 武汉大学 | 用于虚拟机系统的可信计算基裁剪方法 |
CN102270290B (zh) * | 2010-06-01 | 2015-06-17 | 国际商业机器公司 | 用于对虚拟环境中的许可授权进行管理的系统和方法 |
CN102270290A (zh) * | 2010-06-01 | 2011-12-07 | 国际商业机器公司 | 用于对虚拟环境中的许可授权进行管理的系统和方法 |
US9698988B2 (en) | 2012-11-22 | 2017-07-04 | Huawei Technologies Co., Ltd. | Management control method, apparatus, and system for virtual machine |
CN103843303B (zh) * | 2012-11-22 | 2017-03-29 | 华为技术有限公司 | 虚拟机的管理控制方法及装置、系统 |
CN103843303A (zh) * | 2012-11-22 | 2014-06-04 | 华为技术有限公司 | 虚拟机的管理控制方法及装置、系统 |
CN107113284B (zh) * | 2014-11-26 | 2020-07-21 | 英特尔公司 | 针对可迁移虚拟机的可信计算基证据绑定 |
CN107113284A (zh) * | 2014-11-26 | 2017-08-29 | 英特尔公司 | 针对可迁移虚拟机的可信计算基证据绑定 |
WO2016107394A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 虚拟机的深度证明方法、计算设备和计算机系统 |
CN109564524B (zh) * | 2016-06-30 | 2023-10-27 | 亚马逊科技公司 | 虚拟化管理器的安全引导 |
CN109564524A (zh) * | 2016-06-30 | 2019-04-02 | 亚马逊科技公司 | 虚拟化管理器的安全引导 |
CN111756754A (zh) * | 2017-07-28 | 2020-10-09 | 创新先进技术有限公司 | 一种训练模型的方法及装置 |
CN111756754B (zh) * | 2017-07-28 | 2023-04-07 | 创新先进技术有限公司 | 一种训练模型的方法及装置 |
CN107392030A (zh) * | 2017-07-28 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种检测虚拟机启动安全的方法及装置 |
CN109977665A (zh) * | 2019-03-22 | 2019-07-05 | 北京工业大学 | 基于tpcm的云服务器启动过程防窃取和防篡改方法 |
CN110380854A (zh) * | 2019-08-12 | 2019-10-25 | 南京芯驰半导体科技有限公司 | 针对多个系统的根密钥生成、隔离方法及根密钥模块 |
CN114780949A (zh) * | 2022-05-20 | 2022-07-22 | 北京数安行科技有限公司 | 基于虚拟容器的轻量化数据安全保护的方法及系统 |
CN114780949B (zh) * | 2022-05-20 | 2022-09-16 | 北京数安行科技有限公司 | 基于虚拟容器的轻量化数据安全保护的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP4498416B2 (ja) | 2010-07-07 |
EP1759261B1 (en) | 2012-08-01 |
EP1759261A1 (en) | 2007-03-07 |
JP2008500651A (ja) | 2008-01-10 |
ES2392440T3 (es) | 2012-12-10 |
US7590867B2 (en) | 2009-09-15 |
WO2006011943A1 (en) | 2006-02-02 |
US20060020781A1 (en) | 2006-01-26 |
CN1997955B (zh) | 2011-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1997955B (zh) | 提供可信平台模块的安全虚拟化的方法和装置 | |
US9483662B2 (en) | Method and apparatus for remotely provisioning software-based security coprocessors | |
US7571312B2 (en) | Methods and apparatus for generating endorsement credentials for software-based security coprocessors | |
KR100930218B1 (ko) | 소프트웨어 기반 보안 코프로세서를 제공하는 방법, 장치및 처리 시스템 | |
US8074262B2 (en) | Method and apparatus for migrating virtual trusted platform modules | |
US7636442B2 (en) | Method and apparatus for migrating software-based security coprocessors | |
CN102473213B (zh) | 用于提供安全虚拟机的系统和方法 | |
CN103270518A (zh) | 虚拟机验证 | |
KR100917290B1 (ko) | 신뢰 플랫폼 모듈의 보안 가상화를 위한 방법 및 장치 | |
Petrlic | Privacy-preserving digital rights management in a trusted cloud environment | |
Vuillermoz | Analysis of TEE technologies as trust anchors |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110713 Termination date: 20130603 |