向受信任平台模块提供可更新密钥绑定的方法和装置的制作方法

文档序号:6468928阅读:204来源:国知局

专利名称::向受信任平台模块提供可更新密钥绑定的方法和装置的制作方法
技术领域
:本公开内容整体涉及数据处理领域,并特别地涉及用于向受信任平台模块提供可更新密钥绑定的方法及其相关装置。
背景技术
:处理系统可以包括硬件资源,例如中央处理单元(CPU)、随机存取存储器(RAM)、及非易失性存储器,诸如只读存储器(ROM)和一个或多个硬盘驱动器。处理系统还可以包括数据和软件资源,例如基本输入/输出系统(BIOS)、管理程序(hypervisor)或虚拟机监视器(VMM)、及一个或多个操作系统(OS)。当启动或重置处理系统时,可以装载并运行BIOS。处理系统然后可以装载并运行VMM和OS中的一个或多个。存储在处理系统中的数据可能具有很高的价值。该数据可以包括交易秘密和其他机密的商业数据或个人信息,例如社会保障号码和信用卡账号。此外,处理系经常被用于电子商业事务处理。为了提高计算机的安全性,一个非赢利工业标准组织一受信任计算组织(TCG)已形成和采用了用于更安全处理系统的规范。TCG规范定义了受信任处理系统平台,它是为特定的目的而能够以特定方式运行的计算机平台。受信任平台可以提供数据安全功能,例如数据加密、解密及数据存储。受信任平台的关键组件是受信任平台模块(TPM)。TPM可以执行诸如以下的操作执行密码散列操作以检测完整性的丧失、执行公钥和秘钥的加密操作以阻止未经授权的数据公幵、以及执行数字签名操作来验证所传送的信息。可以使用可被植入硬件中的受TCG保护的存储机制来保护密钥、秘密、和散列值。关于TPM的其他细节可以在规格说明例如标注日期为2003年10月2日的受信任计算组织(TCG)TPM规范1.2版(下文中被称为"TPM规范")中找到,该规范包括如设计原则、TPM结构和TPM命令等部分。TPM规范由TCG发布,并且目前可以从因特网上的立占,点www.trustedcomputinggroup.org/home获f寻。通过检测一个安全配置并密封数据到该配置中,受信任平台也可以证实(demonstrate)当其访问机密数据时是在该安全配置下操作的。TCG规范针对检测计算机平台的组件和存储该检测的结果作了规定。针对一种配置的测量结果可以被散列处理并存储在平台配置寄存器(PCR)中。受信任平台可以只允许在该受信任平台的特定配置下访问数据。TPM密封(seal)操作可以将数据加密到一组特定的PCR值或授权值。为了解封该数据,并由此能够访问该数据,就必须提供授权,并且存储在PCR中的这组值必须与在密封操作中所使用的那组值匹配。同样地,在TPM内生成密钥期间,可以将签名密钥锁定到一组PCR值。平台配置的变化可能导致被密封数据或被PCR锁定密钥变得不可访问。为了在一种经修改的配置下能够访问被密封数据,可能先必须在初始配置下访问该数据,并将其重新密封到该经修改的配置。当数据分布于多个计算机平台上时,实现对数据的访问可能是困难的。通常,被锁定到特定平台配置的密钥对其他配置而言是不可访问的。从所附的权利要求、下面对一个或多个示例性实施例的详细描述以及对应的附图中,本发明的特征和优势会变得更加明显。在附图中-.图1是描述可以实现本发明的一个示例性实施例的特定方面的适当数据处理系统的框图2是描述常规密钥结构的框图3是描述具有可更新密钥绑定的密钥结构的一个示例性实施例的框图;以及图4是用于在图1的数据处理系统中更新密钥绑定的过程的示例性实施例的流程图。具体实施例方式TPM的一个用途是用于数据保护。TPM允许其用户保护数据,同时确切指定了已检视过什么样的平台配置以及什么样的平台配置被认定对于访问数据而言是安全的或经授权的。这一特性典型地是通过对密钥使用PCR8绑定来实现的。PCR绑定可以生成非常严格的数据保护,其中运行在系统上的软件的任何变化都会导致不能够访问该数据。本公开描述了使用TPM配置绑定特性将数据锁定到一种配置的方法,该锁定所采取的方式足够灵活,以允许在受信任的更新服务情况下能够更新在该配置中的软件而不会导致处理系统不能够访问该数据。另外,当处理系统不再能进入预定义的安全或经许可的配置中(例如,允许从失败的更新中恢复)时,该处理系统可以提供数据恢复功能。正如这里所使用的,术语"处理系统"和"数据处理系统"意在广泛地包括单台机器,或者一起操作的在通信上耦合的多台机器或设备组成的系统。处理系统的示例包括但不局限于分布式计算系统、超级计算机、高性能计算系统、计算簇、大型计算机、小型计算机、客户端-服务器系统、个人计算机、工作站、服务器、便携式计算机、膝上型计算机、平板计算机(tablet)、电话、个人数字助理(PDA)、手持设备、娱乐设备(例如音频和/或视频设备)、及用于处理或传送信息的其他设备。图1是描述在其中可以实现本发明示例性实施例的特定方面的适当数据处理系统20的框图。数据处理系统20有多个硬件组件82,例如CPU22,该硬件组件82经由一条或多条系统总线24、其他通信通路、或介质而在通信上与多种其他组件耦合。例如,处理器22可以在通信上耦合到一个或多个易失性或非易失性数据存储设备(例如,RAM26、ROM42、大容量存储设备36)。适当的存储设备可以包括但不局限于硬盘驱动器、软盘驱动器、光盘驱动器、磁带、快闪存储器、记忆棒、数字视频光盘、相变存储器(PCM)等等。处理器22还可以在通信上耦合到一个或多个网络接口控制器(NIC)40、视频控制器、集成驱动电子设备(IDE)控制器、小型计算机系统接口(SCSI)控制器、通用串行总线(USB)控制器、输入/输出(I/O)端口、输入设备、输出设备(例如显示器)等等。在图1的实施例中,CPU22包括第一处理单元30和第二处理单元32。可替代地,处理系统可以包括具有一个处理单元的CPU,或者包括多个处理器,每个处理器具有至少一个处理单元。在具有多个处理单元的系统中,这些处理单元可以被实现为处理内核、超线程(HT)技术、或用于同时或基本同时地执行多个线程的任何其他适当的技术。处理系统20还包括TPM44。为了本公开内容的目的,术语"TPM"意指处理系统中的控制逻辑和受保护的存储器,它们共同工作以便(a)存储对系统配置的检测结果(例如,系统配置的散列),(b)提供系统配置的经检验的证明(例如,经签名的配置检测结果),和(c)至少部分地根据当前系统配置是否与预先确定的经许可的配置相匹配,来限制对受保护的数字密钥的访问。可以将TPM实现为在通信上耦合到处理器的分立式模块,其中在通信上耦合到处理器可能经由芯片组或其他中间模块来实现。可替代地,可以将TPM的控制逻辑和受保护存储器之中的一些或全部实现为一个或多个其他组件(例如,NIC、1/0控制器、1/0控制中心(hub)、处理器等等)的一部分。在图1的实施例中,TPM44是经由芯片组34在通信上耦合到处理器22的分立式模块。芯片组34可以包括用于在通信上耦合系统组件及其他逻辑和存储组件的一个或多个桥或控制中心。一些组件可以被实现为具有用于与总线通信的接口(例如,PCI连接器)的适配卡。在一个实施例中,通过使用例如可编程或不可编程逻辑器件或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等等之类的组件,一个或多个设备可以被实现为嵌入式控制器。为了本公开内容的目的,术语"ROM"通常被用于指非易失性存储器件,例如可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪ROM、快闪存储器等等。同样,术语"总线"指共享的通信通路及点对点通路。处理系统20至少可以部分地由来自常规输入设备(例如键盘、鼠标等)的输入、和/或由接收自另一台机器、生物反馈、或其他输入源或信号的指示来控制。处理系统20可以利用到一个或多个远程数据处理系统80的一个或多个连接,例如通过NIC40、调制解调器、或其他通信端口或耦合。通过使用物理和/或逻辑网络90,例如局域网(LAN)、广域网(WAN)、企业内部互联网、因特网等等,多个处理系统可以相互连接从而形成数据处理环境12。涉及网络的通信可以利用各种有线和/或无线的近程或远程载波和协议,包括射频(RF)、卫星、微波、电机电子工程师学会(IEEE)802.11、802.16、802.20、蓝牙、光、红外线、电缆、激光等等。802.11协议也称为无线保真(WiFi)协议。802.16协议也称为微波接入全球互通(WiMAX)或无线城域网(WirelessMAN)协议,并且有关这些协议的信息目前可从grouper.ieee.org/groups/802/16/index.html上获得。可以在这里参照诸如指令、函数、过程、数据结构、应用程序、配置10设定等之类的数据来描述本发明。当机器访问数据时,机器可以通过执行任务、定义抽象数据类型或低层硬件环境、和/或执行其他操作来作出响应,下面将对此做更详细的描述。数据可以被存储在易失性和/或非易失性数据存储器内。为了本公开内容的目的,术语"程序"覆盖较宽范围的软件组件和构造,包括应用程序、驱动程序、进程、例程、方法、模块和子程序。术语"程序"可用于指代完整的编译单元(即,能够单独编译的指令集)、编译单元的集合、或一个编译单元的一部分。从而,术语"程序"可用于指代当由处理系统运行时执行一个或多个所期望操作的任意指令集合。处理系统20中的程序可以被看作是软件环境84中的组件。例如,当处理系统20启动时,BIOS50可以被装载入RAM26中并在软件环境84中运行。处理系统也可以在软件环境84中装载并运行VMM52和/或一个或多个OS54。例如,如果处理系统20并未针对虚拟化(virtualization)而被配置,则VMM52可以是不必要的,且应用程序可以在OS54上运行。在其他实施例中,VMM52可以在软件环境84中启动不同虚拟机上的各种客户OS和用户应用程序。TPM密钥结构TPM的典型常规用法包括为应用程序或系统创建中央密钥,并随后创建具有逻辑层次的多个密钥作为该中央密钥的子密钥(child)或后代密钥(descendant).可以将所有这些密钥都看作是用户密钥,且可以称中央密钥为根用户密钥。任意或所有这些密钥可以具有PCR绑定。然而,对于一个子密钥,除非满足了针对其父密钥的绑定,否则该子密钥不能被装载到TPM中。因此,通常用绑定保护根用户密钥就足够了,而不必保护每个个别的子密钥。可以使用TPM密钥结构的程序类型包括但不限于系统软件(例如VMM52和OS54)以及用户应用程序(例如应用程序56)。例如,VMM或OS可以针对诸如文件加密、身份管理和配置认证等功能来使用TPM密钥。为了数字权益管理(DRM)的目的,媒体播放器应用程序可以使用TPM密钥。有着其他意图(例如,文件加密、病毒保护等)的软件应用程序同样可以使用TPM密钥。为了本公开内容的目的,术语"系统软件"指在用户应用程序下运行的软件。如下面就图3将更详细地描述的,本公开内容提出了支持迁移(migration)到不同配置的TPM密钥结构60。相对照地,图2是描述常规TPM密钥结构的框图。在该结构中,所有密钥默认是不可迁移的(NM)。具体而言,存储根密钥(StorageRootKey,SRK)被定义为不可迁移,其他密钥则具有"类型"NM存储、NM签名或NM绑定。而且,根用户密钥被绑定到某已知配置"Configl"(即,PCR-Configl)。但是,其他密钥没有PCR绑定(即,PCR-无)。处理系统中的软件的任何变化可能导致不能够访问被绑定到根用户密钥的密钥,这是由于随后的系统配置将不能与根用户密钥所绑定的配置相匹配。图3是描述提供可更新密钥绑定的TPM密钥结构示例性实施例的框图。该密钥结构可以被称为可更新密钥结构60。如上面所指出,可更新密钥结构可以被范围广泛的多种程序或应用程序所使用。例如,应用程序56可以是媒体播放器应用程序,并且它可以创建可更新密钥结构60以保护用于DRM的部分或所有密钥。当计算机在运行时,可更新密钥结构60中的部分或所有密钥可以驻留TPM44和/或RAM26中。当关闭计算机时,可以在大容量存储器36中存储这些密钥中的一些密钥。当密钥位于TPM44之外例如在RAM26或大容量存储器36中时,其由TPM44进行加密和输出之后,以加密形式进行存储。与常规结构相比,可更新密钥结构60包括层次中根用户密钥130和SRK110之间的一个额外层,其被内嵌在TPM44中。在实施例的图3中,层次中的该额外层是配置密钥120。根用户密钥130是配置密钥120的子密钥,且其他用户密钥构成了根用户密钥130之下的层次。在示例性实施例中的其他用户密钥包括签名密钥A140和存储密钥A142(它们为根用户密钥130的子密钥)、存储密钥B150(它为存储密钥A的子密钥)、以及签名密钥B160和绑定密钥A162(它们为存储密钥B的子密钥)。根用户密钥130是经TPM确认的可迁移密钥(CMK)。只有在创建CMK时所指定实体的控制下,才能够迁移CMK到新的父密钥。被选择用以控制根用户密钥130的迁移的实体可以被称为受信任更新机构(authority)或受信任更新管理者。由受信任更新机构用来处理迁移许可请求的处理系统也可以被称为受信任更新机构或受信任更新管理者80。这样,在示例性实施例中,TPM44可能不允许迁移根用户密钥130到新的父密钥,除非处理系统20己接收到使用受信任更新管理者80的私钥12创建的授权令牌。相应地,为了为根用户密钥130指定受信任更新机构,在创建根用户密钥130时应用程序56可以使用受信任更新管理者80的公钥。换言之,应用程序56可以在根用户密钥130中并入受信任更新管理者80的公钥。TPM44随后可以只在处理系统20从受信任更新管理者80接收到许可后,才允许迁移根用户密钥130,其中接收许可是采用使用受信任更新管理者80的相应私钥创建的授权令牌的形式。不过,除非处理系统20提供了可接受的描述新配置密钥122的证书,否则受信任更新管理者80可以拒绝发出这样的授权令牌。图4是用于在处理系统20中更新密钥绑定的过程的示例性实施例的流程图。在处理系统20上安装了系统软件(例如,OS54)和应用程序56的经许可版本之后,该过程开始。如在框200中所示,应用程序56随后可以创建配置密钥120作为SRK110的子密钥,其中有关配置密钥120的PCR绑定被设置为当前平台配置,名为Configl。例如,为了将配置密钥120绑定到Configl,可以通过选择可适用于应用程序56的可信赖度的PCR,来预编程应用程序56。应用程序56随后从TPM读出这些PCR的当前值,并且在配置密钥120的创建期间包含这些PCR值。应用程序56随后可以创建根用户密钥130作为配置密钥120的子密钥,如在框202中所示。而且,应用程序56可以设置关于根用户密钥130的迁移机构为受信任更新管理80,如上面所指出。应用程序56随后可以在可更新密钥结构60中创建一个或多个其他用户密钥(例如,签名密钥A140、存储密钥A142、存储密钥B150等等)作为根用户密钥130的后代密钥,如在框204中所示。经确认的可迁移密钥的这些后代密钥也可以被创建为可迁移密钥(类型-M)。但是,应用程序56可以将迁移这些密钥的授权设置为随机的未公布值或者无效的公钥,以确保它们不会被单独迁移。如在框206中所示,应用程序56随后可以访问并使用这些后代密钥或附属密钥之中的一个或多个,例如用于加密或解密数据。然后,如在框210中所示,可以改变或更新处理系统20的配置。例如,所述改变可以是更新到应用程序56的新版本、更新OS54等等。该改变导致TPM44中PCR70中的值的相应变化。PCR的新值可以被称为Config2。如在框212中所示,应用程序56随后可以生成新的配置密钥,这里被称为新配置密钥122。当应用程序56生成新配置密钥122时,应用程序56使用TPM44来将新配置密钥122绑定到Config2。如在框214中所示,应用程序56随后使用TPM身份认证密钥(AIK)和TPM—CertifyKey函数来生成证实密钥证书(CertifyKeycredential),该证书对关于新配置密钥122的绑定以密码方式进行了认证。应用程序56随后向受信任更新管理者80发送证实密钥证书,同时请求许可将根用户密钥130迁移到新配置密钥122,如在框216中所述。受信任更新管理者80随后确定是否许可该请求,如在框220中所示。例如,受信任更新管理者80可以确定证实密钥证书是否是由AIK签名的。受信任更新管理者80可以检査AIK的身份证书以检验AIK是否受到有效TPM的保护,从而指示证实密钥中的值是否被准确地报告了。受信任更新管理者也可以检验由证实密钥证书所指示的新配置是否仅包括系统软件和应用程序56的经许可版本。如果受信任更新管理者80确定该请求是来自具有有效TPM且具有经许可的Config2的平台,则受信任更新管理者80可以返回一个许可消息到处理系统20,如在框222中所示。例如,该许可消息可以包括TPM44将根用户密钥130迁移为新配置密钥122的而非配置密钥120的子密钥的指令。响应于接收到该许可,处理系统20可以相应地迁移根用户密钥130,如在框224中所示。对应地,图3中的波浪箭头132示出了根用户密钥130能够被迁移为新配置密钥122的而非配置密钥120的子密钥。一旦以这种方式修改了TPM密钥结构60,应用程序56随后就能够在处理系统处于该新配置(如由Config2所反映的配置)时使用新配置密钥122装载根用户密钥130。同样地,用户密钥层次的其余部分(例如,签名密钥A140、存储密钥A142、存储密钥B150等等)也能够从新配置进行访问。从而,处理系统20可以使用这些附属密钥中的任意密钥,如在框226中所示。而且,为了支持在处理系统20的新配置中使用所述附属密钥,除了新配置密钥122之外,处理系统20不必创建任何新密钥。不过,如果受信任更新管理者80对接收自处理系统20的证书不满意,则受信任更新管理者80可以返回一个拒绝迁移请求的消息,如在框230中所示。从而,TPM44可以阻止应用程序56访问在可更新密钥结构60中的任何密钥。因此,例如,如果应用程序56是TPM使能的媒体播放应用程序,则14该应用程序可以创建用以加密第二组密钥的第一组密钥,且可以使用该第二组密钥加密和/或解密购自音乐商店的音乐文件。为了讨论的目的,音乐商店可以被称为Acme。例如,Acme可以拥有用密钥"Skl"加密的歌曲"Sl"。该加密过程可以用函数"Encrypt(Skl,SO"来表示。该加密过程的结果(即,经加密的歌曲)可以用词语"Sl-enc"来表示。当处理系统20上有人购买Sl时,处理系统20会实际接收到Sl-enc和Skl。可以在大容量存储器36中保存Sl-enc,但应用程序56应该使Skl受到保护以便使非授权的应用程序不能够访问它。也可以使用其他密钥(例如,Sk2、Sk3等等)来创建其他经加密的歌曲文件(例如,S2-enc、S3-end等等)。为了保护Skl、Sk2、…Skn,应用程序56用存储密钥(例如,存储密钥A142)对这些密钥中的每一个进行加密,从而唯一能够加密这些Sk的软件就是运行在合适的底层软件之上的应用程序56的合适版本(其中,"合适"意指对应用程序56和底层软件的检测结果与预先确定的、对具有应用程序56和底层软件的经许可版本的处理系统的检测结果相匹配)。例如,应用程序56可以创建具有PCR绑定的配置密钥120,并且其PCR绑定等于运行在经许可版本的OS54上的经许可版本的应用程序56。因此,处理系统20上的其他应用程序不能够访问这些Sk来解密经加密的歌曲。此外,应用程序56可以创建根用户密钥130,并且可以设置关于该密钥的迁移机构以使其等于Acme。这样,发售经加密歌曲的Acme也可以被选择为用以确定是否允许将根用户密钥130迁移到一个新配置的实体。这意味着Acme将负责关于将根用户密钥130迁移到新的父密钥下的许可。在根用户密钥130下,应用程序56创建存储密钥A142并用存储密钥A142加密所有的Sk。而且,可以使用如上所述的密钥迁移过程来允许应用程序56访问Sk,即使是在应用程序56已被更新为更新的版本之后也是如此。如上面所指出,在允许这样的迁移之前,受信任更新机构可以检验Config2是否只包括经许可的系统软件和应用程序56的经许可版本。从而,当安装了新版本的应用程序56时,它创建绑定到当前系统软件和新版本的应用程序56上的新配置密钥122。Acme且只有Acme能够许可将根用户密钥130从配置密钥120(其被锁定到老版本的应用程序56)迁移到新配置密钥122(其被锁定到新版本的应用程序56)。因此,非授权应用程序难以或者不可能访问Sk。其他类型的程序可以使用类似的技术来迁移TPM密钥,以提供在新配置中允许进行访问的密钥结构。例如,OS可以创建配置密钥和根用户密钥,并随后创建一个系统服务用来允许应用程序请求它们自己的密钥。当需要对OS打补丁时,作为更新机构的OS供应商许可将根用户密钥从配置密钥(锁定到最初版本的OS)迁移到新配置密钥(锁定到新版本的OS)。这里的教导也可用于允许从失败的软件更新、或者从处理系统不再能进入预先定义的安全或经许可的配置中的其他情形之中恢复数据。例如,除配置密钥120之外可以创建恢复配置密钥(RecoveryConfigurationKey)。该恢复配置密钥可以不包含任何PCR绑定;但是,可以包含恢复口令来限制对它的访问。可以迁移根用户密钥130以使得配置密钥120或者恢复配置密钥均可以装载它。如果OS遭遇了致命的崩溃,并且不能够引导进入Configl,则信息技术(IT)部门可以选择临时从恢复介质来引导。通过输入正确的恢复口令,IT代表可以使用恢复配置密钥从未预见的恢复环境中装载根用户密钥130,以便恢复系统。通过对比,对于常规TPM密钥结构,必须在实施更新之前导出受保护的数据、必须在每次更新时都创建一组全新的用户密钥,并且随后重新加密数据到该新密钥。因此,常规TPM密钥结构可能极为麻烦,在一些情形下可能需要获得新证书,并且可能不能够支持从未预见的配置(如恢复期间)进行访问。在这里描述并示出的原理和示例性实施例的启示下,将会认识到,可以不脱离该原理的情况下在配置和细节上修改所示出的实施例。例如,可以在SRK的子密钥或后代密钥下,而非SRK本身下,创建可更新密钥结构。例如,在SRK和配置密钥之间可以有OS根密钥。而且,可以用堆栈存储可更新密钥结构。例如,OS可以创建具有子根用户密钥的OS配置密钥。此外,各个应用程序可以创建各自的配置密钥,每个配置密钥都作为根用户密钥的子密钥或后代密钥。例如,来自Acme的应用程序可以创建Acme配置密钥作为OS配置密钥的后代密钥,并且来自另一个公司的应用程序可以创建第三配置密钥作为OS配置密钥的后代密钥。应用程序随后可以创建根用户密钥作为各个应用程序配置密钥的后代密钥(例如,创建Acme根密钥作为Acme配置密钥的子密钥)。这样,配置密钥不必是SRK直接的子密钥,而是可以被创建为任何适当的TPM16存储密钥的子密钥。另外,前面的讨论集中于特定实施例,但也可以考虑其他配置。具体而言,即使这里使用了像"在一个实施例中"、"在另一个实施例中"或诸如此类的表述,这些用语意图一般地提供实施例可能性的参考,而并不意图将本发明限制到特定实施例的配置。如这里所使用的,这些术语可以提供与其他实施例相结合的相同或不同的实施例的参考。类似地,尽管就以特定次序执行的特定操作描述了示例性过程,还可以将许多改动应用到这些过程中,从而得到本发明的许多可替代实施例。例如,替代性实施例可以包括所使用操作少于所有所公开操作的过程、使用额外操作的过程、以不同的次序使用同样操作的过程、以及结合、细分或以其他方式改变了这里所公开的单个操作的过程。本发明的替代实施例也包括用于执行本发明的操作的机器可访问介质编码指令。这样的实施例也可以被称为程序产品。这样的机器可访问介质可以包括但不限于存储介质,例如软盘、硬盘、CD-ROM、ROM和RAM;以及其他由机器或设备制造或形成的微粒的可检测配置。指令也可以被用于分布式环境中,并且可以对其进行本地存储和/或远程存储,以便由单处理器或多处理器机器进行访问。还应该理解,这里所描述的硬件和软件组件表示适当自包含的功能组件,故而它们中的每一个都能够基本独立于其他组件而被设计、构造、或更新。在可替代实施例中,许多组件可以被实现为用于提供这里所描述并示出的功能的硬件、软件、或硬件和软件的组合。考虑到可以方便地从这里所描述的示例性实施例得到范围广泛的多种有益变换,这里的详细说明只试图作为例证性的说明,而不应被视为限制本发明的范围。因此,作为本发明而所请求保护的,是落入下列权利要求的范围和精神的所有实现,以及这样的实现的所有等同物。1权利要求1、一种用于迁移数字密钥的方法,所述方法包括在具有第一配置的处理系统中,创建第一配置密钥作为所述处理系统中受信任平台模块(TPM)的存储根密钥(SRK)的后代密钥;创建根用户密钥作为所述第一配置密钥的后代密钥,所述根用户密钥与更新机构相关联;在所述处理系统改变为第二配置之后,创建第二配置密钥作为所述SRK的后代密钥;向所述更新机构发送关于迁移所述根用户密钥的许可请求;以及响应于接收到来自所述更新机构的许可,迁移所述根用户密钥为所述第二配置密钥的后代密钥。2、根据权利要求l的方法,其中创建所述第一配置密钥的操作包括:第一配置;并且创建所述第二配置密钥的操作包括:第二配置。将所述第一配置密钥绑定到所述将所述第二配置密钥绑定到所述3、根据权利要求l的方法,进一步包括当所述处理系统具有所述第一配置时,允许对所述根用户密钥进行访问;并且在迁移所述根用户密钥之后,当所述处理系统具有所述第二配置时,允许对所述根用户密钥进行访问。4、根据权利要求1的方法,进一步包括当所述处理系统具有所述第一配置时,允许对所述根用户密钥进行访问;将所述处理系统从所述第一配置改变为所述第二配置;并且在将所述处理系统改变为所述第二配置之后,允许对所述根用户密钥进行访问,而不必在所述处理系统中已创建除了所述第二配置密钥之外的任何新密钥。5、根据权利要求1的方法,进一步包括当所述处理系统具有所述第一配置时,允许对所述根用户密钥进行访问;并且在所述处理系统改变为所述第二配置之后,如果没有从所述更新机构接收到许可,则阻止对所述根用户密钥的访问。6、根据权利要求l的方法,其中,向所述更新机构发送所述请求的操作包括从所述处理系统向在所述更新机构的控制之下运行的远程处理系统发送所述请求。7、根据权利要求1的方法,进一步包括生成用于认证所述第二配置的证书;并且将所述证书连同关于迁移所述根用户密钥的所述许可请求发送给所述更新机构。8、根据权利要求7的方法,其中,生成证书的操作包括-生成由身份认证密钥(AIK)签名的证实密钥证书,其中,该证实密钥证书包括用于验证所述AIK是否受到有效TPM保护的身份证书。9、根据权利要求1的方法,进一步包括创建用户密钥,作为所述根用户密钥的后代密钥。10、一种处理系统,包括处理单元;响应于所述处理单元的受信任平台模块(TPM);响应于所述处理单元的至少一个存储组件;以及在所述至少一个存储组件中的程序;其中,所述程序包括当运行时导致如下操作的指令创建第一配置密钥作为所述TPM的存储根密钥(SRK)的后代密钥,所述第一配置密钥与所述处理系统的第一配置相关联;创建根用户密钥作为所述第一配置密钥的后代密钥,所述根用户密钥与更新机构相关联;在所述处理系统改变为第二配置之后,创建第二配置密钥作为所述SRK的后代密钥;向所述更新机构发送关于迁移所述根用户密钥的许可请求;以及响应于接收到来自所述更新机构的许可,迁移所述根用户密钥为所述第二配置密钥的后代密钥。11、根据权利要求10的处理系统,其中创建所述第一配置密钥的操作包括将所述第一配置密钥梆定到所述第一配置;并且创建所述第二配置密钥的操作包括将所述第二配置密钥绑定到所述第二配置。12、根据权利要求IO的处理系统,进一步包括,所述TPM可用以执行下列操作当所述处理系统具有所述第一配置时,允许对所述根用户密钥进行访问;并且在己经迁移所述根用户密钥为所述第二配置密钥的后代密钥之后,当所述处理系统具有所述第二配置时,允许对所述根用户密钥进行访问。13、根据权利要求10的处理系统,进一步包括,所述TPM可用以执行下列操作当所述处理系统具有所述第一配置时,允许对所述根用户密钥进行访问;在将所述处理系统改变为所述第二配置之后,允许对所述根用户密钥进行访问,而不必在所述处理系统中已创建除了所述第二配置密钥之外的任何新密钥。14、根据权利要求10的处理系统,进一步包括,所述TPM可用以执行下列操作当所述处理系统具有所述第一配置时,允许对所述根用户密钥进行访问;并且在所述处理系统改变为所述第二配置之后,如果没有从所述更新机构接收到许可,则阻止对所述根用户密钥的访问。15、根据权利要求10的处理系统,其中,向所述更新机构发送所述请求的操作包括从所述处理系统向在所述更新机构的控制之下运行的远程处理系统发送所述请求。16、根据权利要求10的处理系统,其中,所述操作进一步包括生成用于认证所述第二配置的证书;并且将所述证书连同关于迁移所述根用户密钥的所述许可请求发送给所述更新机构。17、一种装置,包括机器可访问介质;和在所述机器可访问介质中的指令,其中,当所述指令由具有受信任平台模块(TPM)的处理系统运行时,导致如下操作创建第一配置密钥作为所述TPM的存储根密钥(SRK)的后代密钥,^f述第一配置密钥与所述处理系统的第一配置相关联;创建根用户密钥作为所述第一配置密钥的后代密钥,所述根用户密钥与更新机构相关联;在所述处理系统改变为第二配置之后,创建第二配置密钥作为所述SRK的后代密钥;向所述更新机构发送关于迁移所述根用户密钥的许可请求;以及响应于接收到来自所述更新机构的许可,迁移所述根用户密钥为所述第二配置密钥的后代密钥。18、根据权利要求17的装置,其中创建所述第一配置密钥的操作包括将所述第一配置密钥绑定到所述第一配置;并且创建所述第二配置密钥的操作包括将所述第二配置密钥绑定到所述第二配置。19、根据权利要求17的装置,其中,向所述更新机构发送所述请求的操作包括从所述处理系统向在所述更新机构的控制之下运行的远程处理系统发送所述请求。20、根据权利要求17的装置,其中,所述操作进一步包括生成用于认证所述第二配置的证书;并且将所述证书连同关于迁移所述根用户密钥的所述许可请求发送给所述更新机构。全文摘要一种具有受信任平台模块(TPM)的处理系统,其支持数字密钥的迁移。例如,当处理系统具有第一配置时,处理系统中的应用程序可以创建第一配置密钥作为TPM存储根密钥(SRK)的子密钥。应用程序也可以创建与更新机构相关联的可更新根用户密钥作为第一配置密钥的子密钥。应用程序还可以创建用户密钥作为可更新根用户密钥的子密钥。当处理系统具有第二配置时,应用程序可以创建第二配置密钥作为SRK的子密钥。应用程序可以向更新机构请求迁移许可。响应于从更新机构接收到许可,应用可以迁移根用户密钥为第二配置密钥的子密钥。还描述了其他实施例并要求了其权利。文档编号G06F21/00GK101488170SQ200810188778公开日2009年7月22日申请日期2008年9月26日优先权日2007年9月27日发明者A·库尔马,F·A·西迪基,N·M·史密斯,T·布鲁切,V·R·斯卡拉塔,W·M·怀斯曼申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1