CN101897211B - 计算机秘密的迁移 - Google Patents

计算机秘密的迁移 Download PDF

Info

Publication number
CN101897211B
CN101897211B CN2008801212560A CN200880121256A CN101897211B CN 101897211 B CN101897211 B CN 101897211B CN 2008801212560 A CN2008801212560 A CN 2008801212560A CN 200880121256 A CN200880121256 A CN 200880121256A CN 101897211 B CN101897211 B CN 101897211B
Authority
CN
China
Prior art keywords
key
machine
secret
migration
data
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
CN2008801212560A
Other languages
English (en)
Other versions
CN101897211A (zh
Inventor
C·M·埃利森
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101897211A publication Critical patent/CN101897211A/zh
Application granted granted Critical
Publication of CN101897211B publication Critical patent/CN101897211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • G06F21/575Secure boot
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

描述的是可将由可信平台模块(TPM)或类似设备密封的计算机数据秘密从物理源计算机器安全地迁移到物理上不同的目的地机器的技术。例如,TPM秘密的迁移允许将虚拟机从一个物理机器迁移到另一个。目的地机器接收在源机器处密封的数据集。该数据集包括迁移密钥和由该迁移密钥密封的秘密。目的地机器经由凭证、已知的良好配置和/或其他策略遵从向密钥服务器执行证明以证明该目的地机器有权访问密封的秘密。密钥服务器将迁移密钥解封,并将返回的密钥(例如,迁移密钥或会话密钥)提供给目的地机器以供将秘密解封。

Description

计算机秘密的迁移
背景
在许多计算场景中,存在着安全地对信息保密的各种原因。最典型的示例是密码密钥,其用于出于隐私而加密数据或用于对数据进行数字签名或用于计算消息认证码(MAC)。
因为软件解决方案不提供保持这些秘密的特别安全的方式,所以当代计算设备转向硬件解决方案来保持秘密。为此,一些现代计算机器包括诸如可信平台模块(TPM)等硬件设备或类似设备(此处为简明起见,TPM或TPM类设备将被称为TPM类设备而不论其实际上是否是TPM设备)。TPM类设备维护系统状态的测量的防篡改存储器,其用于测量该机器的引导过程(以检测对该机器的系统代码的篡改)。系统状态的测量是防篡改的并且不是秘密,但TPM类设备可以通过被称为“密封”的过程来持有或准备秘密,该过程保留密封的秘密以只发行给系统的运行被授权能够访问该密封秘密的代码的将来实例,其中该代码由系统状态的测量来标识。TPM类设备还能够在其支持的系统请求该应用时在一定程度上担当密码处理器,其一般是持有密码密钥并可视需要应用它们的硬件设备。
通常,秘密的密封被绑定到测量链并最终绑定到物理TPM类设备的物理防篡改性,所以其可以实施如下典型策略:只将这样的秘密发行给密封该秘密的软件的免篡改版本。所测量的代码的任何部分的任何修改都改变该代码的测量,从而造成与该密封秘密的典型访问控制策略的匹配失败并造成TPM类设备拒绝发行该密封秘密。在保护以防软件篡改时,这是合乎需要的安全效果。
然而,存在着其中这一安全效果不合需要的情况。作为示例,考虑虚拟机的概念。虚拟机旨在用作物理机,但可与其他虚拟机一起在同一物理机上运行,如出于服务器合并的目的。出于包括维护、负载平衡等各种原因,将虚拟机迁移到不同的物理机有时是合乎需要的。然而,在秘密被硬件绑定到特定物理机的情况下,如果该虚拟机的运作需要使用密封秘密,则上述安全效果阻止这样的虚拟机迁移。这一问题还在其他计算场景中发生,如在群集服务器的各节点之间交换秘密。当在原始物理计算机停止运作的情况下需要将备份秘密还原到新物理计算机时,也发生这一问题。此处参考的TPM类设备可以是诸如TPM等硬件设备或执行相同功能的软件功能。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些代表性概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。
简言之,此处描述的主题各方面针对可用于将被密封到TPM类设备的秘密安全地从一个物理源机器迁移到物理上不同的目的地机器的技术。这一技术将密封秘密当作从一个TPM类设备在稍后时间(具有可能不同的软件环境)到其自身的消息。用于该秘密的发行的安全策略需要将目的地软件环境的测量与同被密封的秘密一起包括在密封“消息”内的策略中列出的测量进行比较。在传统情况下,该消息由密钥进行加密和完整性保护,该密钥对该一个硬件TPM类设备是私有的。
此处提供了该消息的变型,其使用属于第三实体(即该源所信任的服务(密钥服务器))的密钥进行加密和完整性保护。这可包括目的地机器用于将它所测量的软件配置的证明提供给密钥服务器(被称为“证明”的过程)的协议,并且密钥服务器对照密封“消息”中的策略来评估该软件配置并决定是否发行该秘密。如果满足该策略,则密钥服务器向目的地机器发行密封秘密或用于加密该密封秘密的会话密钥。如果该秘密将不与密钥服务器共享而只与目的地机器共享,则使用后一变型。
在一个方面,向密钥服务器执行证明包括提供来自目的地机器的凭证和配置数据(例如,与代码的测量相对应的数据)。此外,可以向密钥服务器提供附加策略数据,如目的地机器所提供的指示该目的地机器的当前状态的状态数据,密钥服务器对照当前状态来评估该附加策略数据。
在一个示例实现中,目的地机器处接收到的秘密或秘密集合与虚拟TPM类秘密相对应。在经由与密钥服务器的交互来解封时,这些秘密可用来将虚拟机从源机器迁移到目的地机器。即,虚拟机(或任何其他软件状态,如进程)能以小片的形式从一个环境迁移到另一个,包括该软件所使用的非秘密和秘密的集合。非秘密被从一个环境复制到另一个。秘密如此处所指定地迁移。只有在两者都到达目的地环境并且都对目的地环境可用时,软件迁移才完成。
在一个方面,源机器上的软件通过构建与TPM类设备在密封秘密时所构建的消息相类似的迁移消息来准备供迁移的秘密数据。迁移消息包括秘密和按要被允许访问该秘密的软件环境(如其TPM类测量)的特性来表达的策略。这一迁移消息可以与该软件一起保持,并且如果该软件也要迁移的话则与它一起迁移。在迁移该软件及其数据的情况下,迁移消息中的密封秘密因而可由目的地机器访问。该机器向持有可将密封迁移消息解封的密码密钥的密钥服务器呈现迁移消息。密钥服务器还从目的地机器接收软件环境特性的、其需要对照迁移消息的策略来进行比较的证明,并且如果满足该策略,则将数据返回到目的地机器。密钥服务器可以合并到源机器中,或可以独立于源机器。密钥服务器向目的地机器所揭示的秘密可以是实际秘密或用于对实际秘密加密的临时加密密钥(后一选项在不与密钥服务器共享实际秘密的情况下使用)。
在一个方面,密钥服务器可以从目的地机器接收密封迁移消息和证明数据。该证明数据包括目的地环境的测量或其他特性以允许密钥服务器评估迁移消息中的安全策略。该证明数据还需要密码地进行完整性保护和认证,如用公钥数字签名。目的地服务器本身的认证可以使用公知实践通过数字证书来证明,并且来自该证书的一个或多个字段可以用作迁移消息中的安全策略的一部分,以使得只有被授权的目的地机器才被允许报告测量和接收迁移秘密。
结合附图阅读以下详细描述,本发明的其他优点会变得显而易见。
附图简述
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1是表示用于在物理机之间迁移秘密的示例网络配置的框图。
图2是表示用于在物理机之间迁移秘密的替换示例网络配置的框图。
图3是表示其中秘密只被迁移到适当的物理机的替换示例网络配置的框图。
图4是表示一个机器采取来处理来自另一机器的虚拟机迁移请求的示例逻辑的流程图。
图5是表示密钥服务器采取来方便虚拟机迁移的示例逻辑的流程图。
详细描述
此处描述的技术的各方面一般针对克服阻止秘密迁移的安全效果,该秘密是经由使用所保持的嵌入在TPM类设备的硬件内的存储密钥(s-密钥或Ks)来保持的。为此,该技术通过使用不同的存储密钥(称为迁移密钥(m-密钥或Km))来方便秘密的迁移,该迁移密钥可以是由诸如现有RMS服务器(权限管理服务,微软
Figure GPA00001159693800041
Server产品)等密钥服务器提供的密钥。这一密钥可以只在迁移过程中使用,或可在所有时间使用以使得在需要将秘密解封的任何时间都不需要与服务器的进一步通信。
尽管此处使用的示例一般针对出于迁移虚拟机的目的的秘密迁移,但可以理解,可以迁移任何类型的秘密。因此,此处使用任何密封数据集或数据团的概念来指至少一个秘密及可能相关的信息(如提供关于哪一或哪些实体可以查看该秘密的准则的策略)的集合。如此,本发明不限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,此处所描述的实施例、方面、概念、结构、功能或示例中的任一个都是非限制性的,并且本发明一般能够以在计算和数据迁移方面提供好处和优点的各种方式来使用。
转向图1,示出了尝试或准备将某数据集(数据团)104迁移到机器B 106的机器A 102,数据集104包括密封秘密(或秘密集合)108。在该示例中,迁移数据104包括如下所述的策略110,其用在机器A的TPM类设备TPMA中维护的密钥Ksa来进行完整性保护(签名)。密封策略的一部分(或全部)包括用来对秘密108进行加密的迁移密钥Km,该迁移密钥自身用密钥服务器的加密密钥Kks来加密。
在机器B 106接收到数据104时,机器B 106不能直接将数据集104解封(解密),因为它不知道Kks。相反,作为被称为证明的过程的一部分,机器B106与密钥服务器112进行通信,并且还将其凭证连同该团一起提供给密钥服务器112。密钥服务器112直接或作为公钥/私钥关系的一部分而知道Ksa,用于验证该消息的策略的完整性。其还拥有Kks的解密密钥。
注意,机器A 102不必将数据集104直接发送到机器B 106。该数据集(迁移消息)可以与软件状态(如果该软件要迁移的话)一起留在要迁移的机器A上。该数据集可以留在某一储存库中(诸如但不限于密钥服务器)并且只有它的路径被传递到机器B 106,或者该数据集可以与软件状态一起存储在机器A102上。该数据集可以连同作为软件状态的一部分的其他数据一起存储在备份介质中并且只在数据恢复过程期间被传递到机器B 106。
关于证明,密钥服务器112验证机器B 106是否有权将该秘密解封,在图1的示例中这可以与接收迁移密钥Km相对应。评估机器B的凭证,该凭证是确保机器B 106除具有正确的凭证之外尚未被篡改的任何配置数据。例如,证明可包括指示在引导过程中测量的并在机器B的TPM类设备TPMB中维护的机器配置的注册表值(被签名)和/或报告日志连同注册表值(两者都被签名)。注意,机器B自身可以是TPM类设备并且秘密108可以是结构上类似于数据110的策略和Km。在这种情况下,可从一个TPM类设备向另一个传递密封数据的解封策略,以使接收TPM类设备稍后可根据所需策略将该数据解封。还要注意,密钥Km可以是实际秘密,在这种情况下,迁移消息104中没有加密的秘密108。
此外,除声明机器B 106确实是机器B并且另外处于良好的配置中的策略数据之外,需要满足策略数据110中阐明的附加准则。例如,机器B可能只能够在一天的特定时间访问一个或多个秘密106的集合,在机器B 106在其当前正在运行程序XYZ的情况下可能不能够访问秘密108,机器B可能需要遵循其他安全检查,等等。
如果机器B 106有权接收迁移密钥Km,则密钥服务器112提供它(使用安全协议等)。有了迁移密钥Km,机器B 106将秘密108(如果有的话)解密,并可以在需要时使用它们。
在以上示例中,迁移密钥Km提供TPM类密封秘密108,其只对迁移密钥Km密封(TPM类设备担当安全处理器)。在该示例中,对秘密集合108的每一次解封都需要与密钥服务器112进行通信,该密钥服务器是该解封的迁移密钥的持有者。
给定密封秘密的迁移密钥Km对该秘密而言是唯一的。每一秘密可以由全局唯一ID(例如,密钥服务器所分配的大随机数或序列号)来标识并且密钥服务器可为该秘密提供迁移密钥Km
如可容易地明白的并如下所述,因为提供了迁移的TPM类密封秘密,所以该秘密可以经由存储密钥被密封到本地TPM类设备或对于虚拟机而言可以密封到虚拟TPM类设备(V.TPM)。通过用会话类迁移密钥Km重新加密该秘密来准备该秘密以用于迁移,如用于该特定迁移。这一加密的团随后被发送到目的地TPM类设备(在该示例中是机器B 106),该TPM类设备参与同密钥服务器112的协议,向该服务器认证(通过证明),接收该团的迁移密钥Km,解密该团并在该TPM类设备的具有其自己的存储密钥Kstor的TPMB中重新加密该团。
或者,还如图1所示,与密钥服务器112的每一次通信都可建立唯一的新鲜会话密钥Ksess,由此密钥服务器112从不需要发行迁移密钥Km。密钥服务器112改为使用迁移密钥Km来解密该团,并且用会话密钥Ksess来重新加密该解密的团的秘密。密钥服务器随后将Ksess和用Ksess重新加密的秘密提供给机器B 106。在该示例中,迁移密钥Km可以对机器A 102所密封的任何秘密保持相同。
另一替换在图2中表示,其中机器A内的源TPM类设备或某一其他受保护环境合并了密钥服务器212。这样的过程可以对等地操作,从而消除了对图1中的单独密钥服务器的需求。
如上所述,在这一过程期间作出了访问控制决定。例如,源TPM类设备(例如,机器A)需要决定是否允许特定密钥服务器访问它所保护的秘密。作出所使用的协议是否允许密钥服务器处理受保护的秘密的各个位的这一决定。从密码分析的观点看,假定攻击者能够将这些位复制并传递给密钥服务器。
一旦机器A允许密钥服务器访问,则密钥服务器作出访问控制决定,从而决定目的地TPM类设备(例如,机器B)是否被授权接收受保护的秘密。在只被用于将秘密从一个平台迁移到另一个时,这可以是密钥服务器可作出的唯一决定。
然而,如上所示,可能存在关于是否可以迁移秘密集合的决策准则的大型集合。例如,在所迁移的是虚拟机的情况下,策略可以声称同一物理机不能允许一个虚拟机(VM1)与另一虚拟机(VM2)共存。因此,目的地机器可具有用于接受并运行虚拟机VM2的凭证和引导配置数据,但在其当前正在运行VM1的情况下不满足该策略,由此不允许迁移。这样的准则可以基于安全要求、商业惯例或任何其他事物,然而,是否允许目的地TPM类设备访问特定受保护秘密的安全决定是该更大决定的一部分。
关于证明,每一TPM类设备都使用一协议中的某一密码密钥将其自身向证明拥有该密钥(通常通过对消息进行签名)的密钥服务器(例如,密钥服务器112)认证。密钥服务器随后使用一个或多个证书来确定目的地TPM类设备的性质(例如,其篡改保护强度)并可能确定其中容纳该TPM类设备的物理计算机的保护器的性质,包括该保护器对密钥服务和被保护数据的一个或多个所有者的关系。这一经验证的关系集合使得正在迁移的受保护的秘密或具有这样的秘密的虚拟机免于迁移到该秘密的所有者或该所有者的某一代理的控制之外的机器。用于证明这些属性(关系、硬件特性等)的证书可以是任何格式。通常,当今的证书包括X.509、SAML以及XrML,但可以使用诸如SPKI/SDSI等实验格式以及尚未开发出的格式。在一典型实现中,这些证书不向商业证书授权机构进行验证(这是X.509证书使用中的一般惯例),而是向由所实施的安全策略的创建者所控制的特定根进行验证。这是公知的良好实践,但不是通常应用的,因为据信其一般引入管理和代码复杂度。
注意,在图2中,源TPM类设备合并了密钥服务器212并且不需要向自身授予任何特殊访问。换言之,包括TPMA的机器A 202已经能够访问所讨论的秘密。然而,在其作为密钥服务器212的角色时,作出以上参考机器B 206描述的一个或多个安全决定。
作为虚拟机的迁移的示例,包括诸如虚拟TPM来设备等适当的秘密的示例,图3示出具有机器A 302、机器B 306以及机器C 330的联网环境。注意,在图3的示例中,所示密钥服务器312与源机器A 302分开,但可改为与图2的示例一样被合并到机器A中。
在该示例中,机器A 302正尝试将虚拟机VM2迁移到网络上的另一机器。作为这一过程的一部分,虚拟机管理器(VMMA)在虚拟TPM类设备V.TPM2中维护虚拟机VM2的秘密,并且还维护虚拟机VM2的虚拟硬盘驱动器VHD2
V.TPM2中的秘密由V.TPM2私有的存储密钥K2来保护。使用K2加密的秘密随后是与其他数据一起存储在VHD2中的正常数据。要迁移的秘密因此只有K2。由V.TPM2保护的秘密例如可包括密码密钥、散列值以及可能包括虚拟硬盘驱动器VHD2的各部分的密钥。机器A 302通过用迁移密钥Km进行加密来密封存储密钥K2308。如上所述,这一迁移密钥Km可以密封在策略数据310内,该策略数据由密钥服务器312已知的存储密钥Kks来加密。
在图3的示例中,机器C 330接收迁移请求团并将它连同其证明数据一起传递到密钥服务器312。然而,不论是因为不正确的凭证、配置和/或是因为机器C未能满足该策略,密钥服务器都拒绝该对于迁移密钥(或用会话密钥重新加密的数据集)的请求。成功迁移的这一失败可以用某种方式返回给机器A302,或在例如机器C是不确认迁移请求失败的恶意机器的情况下可以超时。
另选地或在某一其他时间,机器A寻找另一机器来向其迁移虚拟机VM2。在该示例中,这一次机器B 306接收该迁移请求/数据团3042。在该示例中,机器B的证明数据和策略遵从对密钥服务器312而言是可接受的,并且因此机器B接收机器B可用于将V.TPM2秘密解封的迁移密钥Km或会话密钥Ksess,并使用它们来迁移虚拟机VM2,包括使用TPMB存储密钥重新加密它们以供在机器B 306上的虚拟V.TPM2的新实例中使用。
图4示出可由目的地机器在处理虚拟机迁移请求(包括来自虚拟TPM类设备的秘密)时采用的示例逻辑。步骤402表示接收包括策略和V.TPM秘密以及可能其他秘密的团。步骤404评估目的地机器是否将允许该迁移,其可出于各种原因(例如,本身过度负载)来选择不迁移。注意,步骤404可以在源和目的地机器之间预先协商,由此允许服从正确的证明和/或满足其他策略的迁移。步骤414表示在不允许迁移的情况下用合适的错误代码通知源机器。
如果相反,目的地机器愿意接受迁移的虚拟机,则步骤406表示将该团发送到密钥服务器,包括目的地机器需要来正确地认证自身并传递配置要求以及传递其他策略准则的任何证明数据。注意,这各种信息可以在超过一次来回通信中分开交换。此外,注意,只有策略需要在其中该策略可由目的地从秘密中分开(例如,两个团)并且返回迁移密钥而非会话密钥的环境中发送;密钥服务器不必总是在这样的环境中接收秘密。
步骤408表示评估密钥服务器是否返回了可用于解密秘密的迁移密钥。注意,如上所述,代替迁移密钥,会话密钥可以与用该会话密钥解密的秘密相关联地返回。在任何情况下,如果满足证明要求和策略遵从,则执行步骤410以解密秘密(否则在步骤414向源返回错误以向源通知迁移失败)。步骤412表示使用秘密来完成虚拟机在目的地(物理)机器上的安装并使其运行。
图5表示可由密钥服务器在确定是否向发出请求的目的地机器授予对可从中解密秘密的密钥的访问时采取的示例逻辑。步骤502表示从(接收)目的地机器接收团和证明数据以及任何其他数据。
步骤504评估证明数据以基于目的地机器的凭证和可能的其他配置相关数据(如指示引导代码测量的注册表值或日志)来确定其是否是有权接收来自该源的秘密的有效机器。如果无权接收秘密,则步骤504分支到步骤512以向发出请求的机器返回错误。如果是,则步骤504分支到步骤506。
步骤506表示使用只有源机器和密钥服务器(如上所述,它们可以是同一机器)知道的存储密钥信息来解码策略和迁移密钥。可以使用公钥-私钥,或两者都可以知道存储密钥。步骤508基于目的地机器的当前状态确定它是否满足其他策略(如果有的话)。注意,如上所述,目的地机器与密钥服务器之间的附加通信可以发生以交换这样的信息。如果满足这样的策略,则在步骤510将迁移密钥(或会话密钥与用会话密钥重新加密的秘密集合一起)返回到目的地机器,否则返回错误消息(步骤512)。
以此方式,可以在两个机器之间交换秘密,同时评估证明数据和策略以迫使只有适当的机器才能访问这些秘密。
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。

Claims (18)

1.一种由目的地机器在处理虚拟机迁移请求时采用的方法,包括:
在目的地机器(206)处接收与从源机器(102)发送的数据集相对应的信息(402),所述数据集包括在所述源机器处用密钥密封到可信平台模块类设备的密封的秘密并且包括包含迁移密钥的密码密钥;
将所述迁移密钥提供给密钥服务器(112、212)(406);
向所述密钥服务器执行证明以证明所述目的地机器有权访问所述密封的秘密(406),向所述密钥服务器执行证明包括提供对于测量的引导代码相对应的数据(406);以及
从所述密钥服务器接收返回的密钥(408、410)。
2.如权利要求1所述的方法,其特征在于,从所述密钥服务器接收到的所述返回的密钥包括被用来将所述密封的秘密解封的所述迁移密钥。
3.如权利要求1所述的方法,其特征在于,从所述密钥服务器接收到的所述返回的密钥包括被用来将所述密封的秘密解封的会话密钥,并且所述方法还包括从所述密钥服务器接收与所述会话密钥相关联地重新密封的所述密封的秘密。
4.如权利要求1所述的方法,其特征在于,将所述迁移密钥提供给所述密钥服务器包括将所述数据集(104、204)的至少一部分提供给所述密钥服务器。
5.如权利要求1所述的方法,其特征在于,将所述迁移密钥提供给所述密钥服务器包括将策略数据(210)提供给所述密钥服务器(406),所述策略数据包括所述迁移密钥。
6.如权利要求5所述的方法,其特征在于,还包括将指示所述目的地机器的状态的数据提供给所述密钥服务器以供所述密钥服务器对照所述策略数据的至少一部分来进行评估(508)。
7.如权利要求1所述的方法,其特征在于,在所述目的地机器处接收到的所述数据集与可信平台模块类秘密相对应,并且所述方法还包括使用所述可信平台模块类秘密将虚拟机从所述源机器迁移到所述目的地机器(412)。
8.如权利要求1所述的方法,其特征在于,所述数据集包括策略(110、210)和密封存储的存储密钥,并且其中所述目的地机器包括使用所述策略和存储密钥来用于稍后的解封操作的可信平台模块类设备。
9.一种计算环境中的包括源机器(102、202)、密钥服务器(112、212)和目的地机器(106、206)的系统,所述源机器包括可信平台模块类设备,所述源机器被配置成用迁移密钥将至少一个秘密密封到密封秘密集合(104、204)中,用所述可信平台模块类设备的存储密钥将所述迁移密钥密封成密封迁移密钥,并且使所述密封秘密集合可由耦合到所述密钥服务器的所述目的地机器访问,所述密钥服务器被配置成将所述密封迁移密钥解封并向所述目的地机器返回所述目的地机器用来将所述密封秘密集合解封的数据。
10.如权利要求9所述的系统,其特征在于,所述密钥服务器(212)被合并到所述源机器(202)中。
11.如权利要求9所述的系统,其特征在于,所述密钥服务器(112)独立于所述源机器(102)。
12.如权利要求9所述的系统,其特征在于,所述密钥服务器(112、212)将所述数据返回给所述目的地机器(106、206),所述数据包括所述迁移密钥。
13.如权利要求9所述的系统,其特征在于,所述密钥服务器(112、212)将所述数据返回给所述目的地机器(106、206),所述数据包括会话密钥和与所述会话密钥相关联地重新密封的所述秘密集合。
14.如权利要求9所述的系统,其特征在于,所述目的地机器(106、206)向所述密钥服务器(112、212)执行证明,包括通过在所述目的地机器处用与所述密钥服务器处的公钥相对应的私钥对信息签名。
15.一种在计算环境中的方法,包括:
在密钥服务器处接收密封的数据集(502);
从目的地机器接收证明数据(502);
从所述证明数据确定所述目的地机器有权将所述密封数据集的至少一部分解封(504),其中从所述证明数据确定所述目的地机器有权将所述密封数据集的至少一部分解封包括从引导相关数据确定所述目的地机器处于已知的良好配置(504);
在所述密钥服务器处将迁移密钥解封(506);以及
将允许所述目的地机器将所述密封数据集的至少一部分解封的数据提供给所述目的地机器(510)。
16.如权利要求15所述的方法,其特征在于,所述密封数据集包括策略信息,并且对照当前状态信息评估所述策略信息以进一步确定所述目的地机器有权将所述密封数据集的至少一部分解封(508)。
17.如权利要求16所述的方法,其特征在于,对照当前状态信息评估所述策略信息以进一步确定所述目的地机器有权将所述密封数据集的至少一部分解封包括在与所述目的地机器交互期间对照所述目的地机器的公钥证书来评估安全策略(508)。
18.如权利要求15所述的方法,其特征在于,将允许所述目的地机器将所述密封数据集的至少一部分解封的数据提供给所述目的地机器包括将所述目的地机器能用于将所述密封数据集内的至少一个秘密解封的所述迁移密钥提供给所述目的地机器,或用会话密钥重新加密所述密封数据集内的所述至少一个秘密并将与所述会话密钥相对应的、所述目的地机器能用于将所述至少一个秘密解封的数据提供给所述目的地机器。
CN2008801212560A 2007-12-17 2008-11-20 计算机秘密的迁移 Active CN101897211B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/958,376 US8208637B2 (en) 2007-12-17 2007-12-17 Migration of computer secrets
US11/958,376 2007-12-17
PCT/US2008/084126 WO2009079151A1 (en) 2007-12-17 2008-11-20 Migration of computer secrets

Publications (2)

Publication Number Publication Date
CN101897211A CN101897211A (zh) 2010-11-24
CN101897211B true CN101897211B (zh) 2013-08-21

Family

ID=40753308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801212560A Active CN101897211B (zh) 2007-12-17 2008-11-20 计算机秘密的迁移

Country Status (4)

Country Link
US (1) US8208637B2 (zh)
EP (1) EP2223548B1 (zh)
CN (1) CN101897211B (zh)
WO (1) WO2009079151A1 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8249257B2 (en) * 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
US9047468B2 (en) * 2007-12-28 2015-06-02 Intel Corporation Migration of full-disk encrypted virtualized storage between blade servers
US8259948B2 (en) * 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US8631217B2 (en) * 2008-02-26 2014-01-14 International Business Machines Corporation Apparatus, system, and method for virtual machine backup
US9559842B2 (en) * 2008-09-30 2017-01-31 Hewlett Packard Enterprise Development Lp Trusted key management for virtualized platforms
CN101937357B (zh) * 2009-07-01 2013-11-06 华为技术有限公司 一种虚拟机迁移决策方法、装置及系统
GB201000288D0 (en) * 2010-01-11 2010-02-24 Scentrics Information Security System and method of enforcing a computer policy
US20110202765A1 (en) * 2010-02-17 2011-08-18 Microsoft Corporation Securely move virtual machines between host servers
US20120159634A1 (en) 2010-12-15 2012-06-21 International Business Machines Corporation Virtual machine migration
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US9026805B2 (en) 2010-12-30 2015-05-05 Microsoft Technology Licensing, Llc Key management using trusted platform modules
US9612855B2 (en) * 2011-01-10 2017-04-04 International Business Machines Corporation Virtual machine migration based on the consent by the second virtual machine running of the target host
WO2012140477A1 (en) * 2011-04-15 2012-10-18 Nokia Corporation Method and apparatus for providing secret delegation
US8694786B2 (en) 2011-10-04 2014-04-08 International Business Machines Corporation Virtual machine images encryption using trusted computing group sealing
KR20130051820A (ko) * 2011-11-10 2013-05-21 삼성전자주식회사 모바일 환경에서의 소프트웨어 마이그레이션 장치 및 방법
US20130152076A1 (en) * 2011-12-07 2013-06-13 Cisco Technology, Inc. Network Access Control Policy for Virtual Machine Migration
WO2013112538A1 (en) * 2012-01-23 2013-08-01 Citrix Systems, Inc. Storage encryption
US9008316B2 (en) 2012-03-29 2015-04-14 Microsoft Technology Licensing, Llc Role-based distributed key management
US9071587B2 (en) * 2012-08-27 2015-06-30 International Business Machines Corporation Optimizing deployment of virtual machines by pre-generating a virtual machine's first-boot metadata by cloud controller
US8924720B2 (en) 2012-09-27 2014-12-30 Intel Corporation Method and system to securely migrate and provision virtual machine images and content
WO2014069998A1 (en) * 2012-10-30 2014-05-08 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Method and system for protected exchange of data
US9503268B2 (en) 2013-01-22 2016-11-22 Amazon Technologies, Inc. Securing results of privileged computing operations
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US9729517B2 (en) * 2013-01-22 2017-08-08 Amazon Technologies, Inc. Secure virtual machine migration
US9202056B2 (en) * 2013-03-15 2015-12-01 Intel Corporation Inter-processor attestation hardware
US9852299B2 (en) * 2013-09-27 2017-12-26 Intel Corporation Protection scheme for remotely-stored data
US9519498B2 (en) 2013-12-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual machine assurances
US9792427B2 (en) * 2014-02-07 2017-10-17 Microsoft Technology Licensing, Llc Trusted execution within a distributed computing system
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9864874B1 (en) * 2014-05-21 2018-01-09 Amazon Technologies, Inc. Management of encrypted data storage
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
CN104618096B (zh) * 2014-12-30 2018-10-30 华为技术有限公司 保护密钥授权数据的方法、设备和tpm密钥管理中心
DE102015213412A1 (de) * 2015-07-16 2017-01-19 Siemens Aktiengesellschaft Verfahren und Anordnung zum sicheren Austausch von Konfigurationsdaten einer Vorrichtung
US9917687B2 (en) * 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
CN106230584B (zh) * 2016-07-21 2019-09-03 北京可信华泰信息技术有限公司 一种可信平台控制模块的密钥迁移方法
US11398906B2 (en) * 2016-11-10 2022-07-26 Brickell Cryptology Llc Confirming receipt of audit records for audited use of a cryptographic key
US11405201B2 (en) * 2016-11-10 2022-08-02 Brickell Cryptology Llc Secure transfer of protected application storage keys with change of trusted computing base
US10447668B1 (en) * 2016-11-14 2019-10-15 Amazon Technologies, Inc. Virtual cryptographic module with load balancer and cryptographic module fleet
US10911451B2 (en) * 2017-01-24 2021-02-02 Microsoft Technology Licensing, Llc Cross-platform enclave data sealing
US10931652B2 (en) 2017-01-24 2021-02-23 Microsoft Technology Licensing, Llc Data sealing with a sealing enclave
US10430227B2 (en) 2018-01-09 2019-10-01 Microsoft Technology Licensing, Llc Fast instantiation of virtual machines in distributed computing systems
US10664323B2 (en) * 2018-03-07 2020-05-26 Microsoft Technology Licensing, Llc Live migration of virtual machines in distributed computing systems
US11012297B2 (en) * 2018-04-16 2021-05-18 Vmware, Inc. Methods and apparatus to migrate physical server hosts between virtual standard switches and virtual distributed switches in a network
US11372664B2 (en) * 2018-05-22 2022-06-28 Vmware, Inc. Mobility passport for cross-datacenter migrations of virtual computing instances
US20210019172A1 (en) * 2018-06-28 2021-01-21 Intel Corporation Secure virtual machine migration using encrypted memory technologies
CN109921902B (zh) * 2019-03-22 2020-10-23 创新先进技术有限公司 一种密钥管理方法、安全芯片、业务服务器及信息系统
US11048802B2 (en) * 2019-05-09 2021-06-29 X Development Llc Encrypted hard disk imaging process
US11327782B2 (en) * 2019-07-19 2022-05-10 Vmware, Inc. Supporting migration of virtual machines containing enclaves
CN112256387B (zh) * 2020-10-12 2023-06-27 麒麟软件有限公司 一种容器云平台中容器迁移方法
US11924336B1 (en) * 2021-06-25 2024-03-05 Amazon Technologies, Inc. Cryptographic artifact generation using virtualized security modules

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1452418A (zh) * 2002-04-12 2003-10-29 华为技术有限公司 移动通信系统中向移动终端发送密码信息的方法
CN1593033A (zh) * 2002-02-01 2005-03-09 思科技术公司 应用一次性密码本安全地储存和传送数据的方法和系统
CN1954540A (zh) * 2004-02-05 2007-04-25 Ctam美国股份有限公司 多协议网络加密系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003044619A2 (en) * 2001-10-12 2003-05-30 Kent Ridge Digital Labs A method of sale auditing in private transaction of e-goods
US7242768B2 (en) * 2002-01-14 2007-07-10 Lenovo (Singapore) Pte. Ltd. Super secure migratable keys in TCPA
US7095859B2 (en) * 2002-03-18 2006-08-22 Lenovo (Singapore) Pte. Ltd. Managing private keys in a free seating environment
US20050138389A1 (en) * 2003-12-23 2005-06-23 International Business Machines Corporation System and method for making password token portable in trusted platform module (TPM)
US8271783B2 (en) * 2004-04-19 2012-09-18 Hewlett-Packard Development Company, L.P. Subordinate trusted platform module
US8006100B2 (en) * 2004-06-10 2011-08-23 Oracle America, Inc. Enhancing trusted platform module performance
US7143287B2 (en) * 2004-10-21 2006-11-28 International Business Machines Corporation Method and system for verifying binding of an initial trusted device to a secured processing system
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US8028172B2 (en) * 2005-01-14 2011-09-27 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
US8074262B2 (en) * 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
US7809957B2 (en) * 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
JP4847221B2 (ja) 2006-01-18 2011-12-28 株式会社Pfu 情報処理装置、情報処理方法およびプログラム
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
KR100891325B1 (ko) 2006-05-26 2009-03-31 삼성전자주식회사 TSS(TPM Software Stack)에서의 키캐쉬(key cache) 관리 방법
US7747024B2 (en) * 2007-02-09 2010-06-29 Lenovo (Singapore) Pte. Ltd. System and method for generalized authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1593033A (zh) * 2002-02-01 2005-03-09 思科技术公司 应用一次性密码本安全地储存和传送数据的方法和系统
CN1452418A (zh) * 2002-04-12 2003-10-29 华为技术有限公司 移动通信系统中向移动终端发送密码信息的方法
CN1954540A (zh) * 2004-02-05 2007-04-25 Ctam美国股份有限公司 多协议网络加密系统

Also Published As

Publication number Publication date
US20090154709A1 (en) 2009-06-18
EP2223548A4 (en) 2017-06-14
EP2223548A1 (en) 2010-09-01
WO2009079151A1 (en) 2009-06-25
CN101897211A (zh) 2010-11-24
US8208637B2 (en) 2012-06-26
EP2223548B1 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
CN101897211B (zh) 计算机秘密的迁移
EP3382933B1 (en) Using a trusted execution environment as a trusted third party providing privacy for attestation
US9317708B2 (en) Hardware trust anchors in SP-enabled processors
Liu et al. A survey of security and privacy challenges in cloud computing: solutions and future directions
CN106462438B (zh) 包含受信执行环境的主机的证明
KR101067399B1 (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
Dwoskin et al. Hardware-rooted trust for secure key management and transient trust
CN110199288A (zh) 交叉平台包围区数据密封
US20100037069A1 (en) Integrated Cryptographic Security Module for a Network Node
CN108781210A (zh) 具有可信执行环境的移动设备
CN104335548B (zh) 一种安全数据处理装置和方法
CN105745661A (zh) 对权限管理的内容的基于策略的受信任的检测
CN110199284A (zh) 交叉平台包围区身份
AU2020244511B2 (en) Balancing public and personal security needs
CN110199286A (zh) 利用密封包围区的数据密封
US10509914B1 (en) Data policy implementation in a tag-based policy architecture
CN110226167A (zh) 抽象包围区身份
CN102063592A (zh) 一种可信平台及其对硬件设备的控制方法
CN108429719A (zh) 密钥保护方法及装置
CN110199285A (zh) 从属包围区二进制文件
CN104618096A (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
Cooijmans et al. Secure key storage and secure computation in Android
CN109684044A (zh) 静态迁移过程中虚拟机与vTPCM的绑定方法
Shepherd et al. Remote credential management with mutual attestation for trusted execution environments

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.