可信和机密的远程tpm初始化的制作方法

xiaoxiao2020-7-22  18

专利名称:可信和机密的远程tpm初始化的制作方法
可信和机密的远程TPM初始化背景可信平台模块(TPM)是存储了密钥、口令和数字证书的硬件微控制器。TPM还提供了允许对例如台式计算机、膝上型计算机或蜂窝电话等设备进行认证的能力。一旦初始化,TPM就可以被用来生成数字签名和加密密钥,从而允许确认消息是来自于该消息声称是其来源的设备。TPM支持各个命令,包括例如用于初始化TPM的Init (初始化)、用于设置拥有者值的TakeOwnership (取得所有权)、以及用于在内部生成密钥对的 CreateEndorsementKey (创建背书密钥)。TPM通常被用于企业环境以允许系统验证信息源。在由设备提供的密钥和服务可以被信任之前,TPM应该被安全地且机密地初始化。MM本文尤其描述了一种用于安全地且机密地远程初始化可信平台模块的技术。例如,如果TPM没有被安全地且机密地初始化,则恶意机器或操作系统会在软件中植入一种仿真的TPM,由此欺骗用户和应用程序使他们认为能够信赖真实的TPM信任属性。以这种方式仿真的TPM可以例如允许恶意软件获得对秘密的密钥材料的访问,或者错误地报告系统配置。在一种实施方式中,可以通过利用由设备制造商提供的密钥来启动安全通信。该安全通信可以接着允许系统管理员来远程地执行TakeOwnership操作,而不是在每个设备本地执行并且没有将敏感信息暴露给本地软件的风险。
以下结合附图提供的详细描述旨在作为对各示例实现的描述,并且不旨在表示可以执行TPM的可信和机密的远程初始化的唯一形式。该描述阐述了各示例实现的功能以及用于构造和操作各示例的步骤序列。然而,相同的或者等价的功能和序列可以通过替换实施方式来实现。根据附图阅读以下详细描述,将更好地理解本说明书,附图中附

图1是其中可以实现可信和机密的远程TPM初始化的操作环境的示例。附图2提供了附图1的各部分的补充细节,并增加了示例性数据流的指示。附图3是示出了可信和机密的远程TPM初始化的实现的一个示例的流程图。附图4示出了根据一个实施例的计算设备的组件图。详细描述本文尤其描述了允许可信和机密的远程TPM初始化的各种方法和技术的示例。尽管各示例在本文中被描述为并被示为是在个人计算机系统中实现的,但所描述的系统是作为而非限制来提供的。如本领域技术人员将理解的,本发明的各示例适于各种不同类型的系统中的应用。在附图中,相同的参考数字在全部若干附图中被用来表示相似的组件。附图1是其中可以实现可信和机密的远程TPM初始化的操作环境100的示例。服
3务器150包括由客户机110、120和130的制造商提供的背书密钥(Endorsement Key)列表 155。该EK(背书密钥)列表155允许服务器150在局域网170上安全地通信,以远程地初始化 TPM 115、125 和 135。在附图2中可以看到附加细节,其中示出了在服务器150和TPM 115之间的数据流的示例。在这个示例中,服务器150使用TPM 115的EK的公钥来加密模板数据来作为 TakeOwnership指令200的一部分,并将它提交到TPM 115。虽然该示例使用由客户机110、120和130的制造商提供的背书密钥列表155,但在其它实施方式中,它可以是来自可信TPM供应商的单独证书。该领域技术人员将认识到,可以有若干种用来认证TPM的技术。附图3是提供了与这一过程的一个可能的实现有关的更多细节的流程图。客户机通过将EK证书从TPM发送310到服务器来启动该过程。服务器使用客户机的制造商提供的EK信息来确认320该证书。服务器接着计算330Take0wnerShip命令,包括TPM的 OwnerAuth (所有者授权值)和SRKAuth (SRK授权值)的服务器指定值,并利用TPM的EK的公钥部分加密该命令。服务器接着将该经加密的命令发送到客户机,该客户机将它传递340 到TPM。客户机软件不能读取该数据,因为它用受保护的TPM密钥加密了。TPM接着利用EK私钥来解密该经加密的数据,并执行350 TakeOwnership命令。 TPM接着创建存储根密钥(SRK),计算键控散列消息认证码(HMAC),并将该数据发送360回到服务器。因为它仅仅是摘要,所以即使客户机是恶意的,该客户机也不能读取它。通过使用370由制造商提供的EK,服务器可以校验该HMAC (因为它包含SRK的共享秘密),并信任该数据是机密的且信任该数据是来自从制造商获得的EK证书指定的TPM。在该过程中的这一时刻,客户机不能在TPM上使用或者创建密钥,因为该SRK被设置为秘密值。为了解决这个问题,服务器利用SRK公钥启动到TPM的加密隧道。客户机不能假装作为TPM,因为它不具有SRK私钥。一旦建立了该隧道,服务器可以生成密钥、创建身份、并建立委托表。服务器还可以生成能够被用于TPM操作CertifyKey (证明密钥)的可信签署密钥,这将允许该服务器确认任何将来的密钥实际上是来自TPM的。一旦服务器已经完成了初始化TPM所需要的操作,它会将SRKAuth重置380回到全零的公知值,使得客户机可以使用TPM来生成并使用密钥,但是防止了客户机执行所有者(Owner)特权操作。在初始配置成功之后,服务器还可以在随后的时间再次打开加密的通道并修改TPM的配置。附图4示出了根据一个实施例的计算设备的组件图。计算设备600可以被用来实现这里所述的一个或多个计算设备、计算机过程或者软件模块。在一个示例中,计算设备 600可以被用来处理计算、执行指令、接收和传送数字信号。在另一个示例中,视服务器150 或客户机110、120和130的需要,该计算设备600可以被用来处理计算、执行指令、接收和传送数字信号、接收和传送搜索查询以及超文本、编译计算机代码。计算设备600可以是能够以软件、硬件、固件或其组合中执行本文中描述的步骤和/或执行本文中描述的功能的目前已知或将要变得已知的任何通用或专用计算机。在其最基本配置中,计算设备600典型地包括至少一个中央处理单元(CPU)602和存储器604。取决于计算设备的确切配置和类型,存储器604可以是易失性的(例如RAM)、 非易失性的(例如ROM、闪存等)或者二者的某种组合。另外,计算设备600还可以具有附加特征/功能。例如,计算设备600可以包括多个CPU。所描述的方法可以由计算设备600 中的任何处理单元以任何方式来执行。例如,所描述的过程可以由多个CPU来并行执行。计算设备600还可以包括附加存储(可移动的和/或不可移动的),包括但不限于,磁盘或光盘或者磁带。这些附加存储在附图6中由存储206示出。计算机存储介质包括以用于存储例如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术实现的易失性的和非易失性的、可移动的和不可移动的介质。存储器604和存储606都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、R0M、EEPR0M、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光存储器,磁带盒、磁带、磁盘存储或其它磁存储设备,或者可以被用来存储所需信息并能够被计算设备600访问的任何其它介质。任何这种计算机存储介质可以是计算设备600的一部分。计算设备600还可以包括允许该设备与其它设备进行通信的(诸)通信设备612。 (诸)通信设备612是通信介质的示例。通信介质通常以例如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递介质。术语“已调制数据信号”指的是其特征中的一个或多个以在该信号中编码信息的方式被设置或改变的信号。作为示例而非限制,通信介质包括有线介质,例如有线网络或直接线连接,以及无线介质,例如声学、RF、红外和其它无线介质。这里所用的术语计算机可读介质包括计算机存储介质和通信介质两者。所描述的方法可以按例如数据、计算机可执行指令编码等任何形式来编码在任何计算机可读介质中。计算设备600还可以具有(诸)输入设备610,例如键盘、鼠标、笔、语音输入设备、 触摸输入设备等。还可以包括(诸)输出设备608,例如显示器、扬声器、打印机等。所有这些设备在本领域是公知的,因而不需要详细论述。计算设备600还可以具有可信平台模块(TPM)。本领域技术人员会认识到,用于存储程序指令的存储设备可以分布在网络中。例如,远程计算机可以存储该过程的被描述为软件的示例。本地或终端计算机可以访问远程计算机,并下载该软件的一部分或者全部来运行程序。或者,本地计算机可以按需下载该软件的各段,或者在本地终端执行一些软件指令并在远程计算机(或计算机网络)执行一些软件指令。本领域技术人员还会认识到,通过利用本领域技术人员已知的常规技术,这些软件指令的全部或者部分可以通过例如DSP、可编程逻辑阵列等专用电路来执行。
权利要求
1.一种从第一设备(150)供应耦合到第二设备(110、120、130)的可信平台模块的方法,包括接收所述可信平台模块的背书密钥的公共部分(步骤310); 利用来自可信源的数据来验证背书密钥的真实性(步骤320); 利用临时授权值来格式化所述可信平台模块的TPiLTakeOwnership命令(步骤330); 利用所述可信平台模块的背书密钥的公共部分来加密经格式化的TPiLTakeOwnership 命令;将经加密的格式化的TPiLTakeOwnership命令发送到所述可信平台模块(步骤340); 从所述可信平台模块接收消息(步骤360);以及验证所接收到的消息源于所述可信平台模块(步骤370)。
2.如权利要求1的方法,其特征在于,所接收的消息是散列摘要。
3.如权利要求1的方法,其特征在于,所述可信源是由所述可信平台模块的所有者收集的列表(115)。
4.如权利要求1的方法,其特征在于,还包括发送命令来将所述可信平台模块的存储根密钥(250)授权值全部重置为零(步骤 380)。
5.一种供应可信平台模块(11 的方法,包括从远程设备接收经加密的格式化的TPiLTakeOwnership命令(步骤310); 利用背书密钥验证所述TPiLTakeOwnership命令的真实性(步骤320); 执行所述TPM_TakeOwnership命令(步骤350);以及向远程设备发送消息(步骤380)。
6.如权利要求5的方法,其特征在于,还包括从存储根密钥(250)计算散列摘要。
全文摘要
提供了一种允许对可信平台模块远程初始化的技术。即使目标设备具有正在运行的恶意操作系统或其它软件,结果也是可信的和机密的。
文档编号G06F9/44GK102177678SQ200980140559
公开日2011年9月7日 申请日期2009年10月7日 优先权日2008年10月10日
发明者E·L·霍特, K·M·利特瓦克, S·汤姆, S·艾泽霍夫, Y·甘迪 申请人:微软公司

最新回复(0)