对受保护数据集进行基于网络的管理的制作方法

文档序号:6534322阅读:247来源:国知局
对受保护数据集进行基于网络的管理的制作方法
【专利摘要】一种包括被配置成维持受保护账户的账户管理模块的系统。例如,特定受保护账户包括在系统外部无法读取并且可能甚至在账户外部无法读取的受保护数据集。该特定数据集对应于指派给特定账户的特定实体并且包括对应于特定实体的密钥。安全处理器响应于从特定实体接收到一个或多个受信执行环境命令而使用多个密钥中的至少一些以执行密码过程。
【专利说明】对受保护数据集进行基于网络的管理
[0001] 背景
[0002] 受信平台模块(即"TPM")是与计算设备的常规操作环境隔离的受信执行环境。 通常,TPM以物理上绑定到计算设备的芯片形式来实现。常规计算环境可以通过接口(该 接口的一个示例是基于TPM的服务(即"TBS"))与TPM通信。
[0003] TPM提供各种功能,这些功能中最常用的是密码密钥生成、策略驱动的密钥使用、 密封存储、以及证明。TPM具有被称为"受保护区域"的存储器区域,该"受保护区域"包含 无法被读取的数据,但是可以使用这些数据来执行操作和/或对这些数据执行操作。一些 数据是不可改变的,并且因而由正在执行的操作读取(但不被改变),而一些数据是可改变 的并且可以通过这些操作来改变。注意到,读取数据的是在TPM内部正在执行的操作。受 保护数据在TPM外部是不可读的。
[0004] 因而,TPM具有执行操作的操作组件,以及保留不能够在TPM外部被读取的受保护 数据的存储器组件。TPM的操作速度受限于TPM内硬件的能力。同样,受保护区域的大小受 限于TPM内的空间。
[0005] 简要概述
[0006] 本文描述的至少一个实施例涉及一种包括被配置成维持受保护账户的账户管理 模块的系统。例如,特定受保护账户包括从系统外部无法访问并且可能甚至从账户外部无 法访问的受保护数据集。该特定数据集与指派给特定账户的特定实体(例如,设备、系统、 用户、组件、或其组合)相对应并且包括对应于特定设备的密钥。安全处理器响应于从特定 实体接收到一个或多个受信执行环境命令而使用这些密钥中的至少一些以执行密码和安 全过程。在一些实施例中,可能存在针对属于相同账户的不同实体的多个数据集。
[0007] 提供本概述是为了以简化的形式介绍将在以下【具体实施方式】中进一步描述的概 念选择。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮 助确定所要求保护的主题的范围。

【专利附图】

【附图说明】
[0008] 为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通 过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其 范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
[0009] 图1示出可用于采用本文描述的各实施例并且包括管理级和本地受信执行环境 级的示例计算系统;
[0010] 图2示出了一环境,其中多个客户端中的一些客户端通过网络利用受信平台模块 (TPM)与系统对接,该系统包括多个账户,每一个账户具有一个或多个受保护数据集,这些 受保护数据集服从响应于从客户端接收到的本地受信执行环境命令而实现的密码过程;
[0011] 图3将受保护数据集抽象地示为包括不可改变数据和可改变数据;以及
[0012] 图4示出了用于管理受信执行环境命令的方法的流程图。

【具体实施方式】
[0013] 根据本文描述的至少一个实施例,描述了一种系统,其中账户管理模块维持受保 护账户。例如,特定受保护账户包括从系统外部无法访问并且可能甚至从账户外部无法访 问的受保护数据集。该特定数据集与指派给特定账户的特定实体(例如,设备、系统(诸如 计算系统)、用户、组件、或其组合)相对应并且包括对应于特定实体的密钥。安全处理器响 应于从特定实体接收到的一个或多个受信执行环境命令而使用多个密钥中的至少一些以 执行密码和安全过程。在一些实施例中,可能存在多个数据集,每个数据集对应于不同的实 体。此外,尽管未作要求,但也可能在单个账户内存在多个受保护数据集。
[0014] 计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设 备(诸如智能电话)、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常 规上不被认为是计算系统的设备(诸如腕带手表、厨房电器、汽车、医疗植入设备等)。在本 说明书以及权利要求书中,术语"计算系统"被广义地定义为包括任何设备或系统(或其组 合),该设备或系统包含至少一个物理有形的处理器以及其上能含有可由处理器执行的计 算机可执行指令的物理有形的存储器。存储器可以采取任何形式,并可以取决于计算系统 的性质和形式。
[0015] 如此处所使用的那样,术语"模块"或"组件"可以指在计算系统上执行的软件对 象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的 对象或进程(例如,作为分开的线程)。
[0016] 这里描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括 诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。这里描述 的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算 机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介 质。存储计算机可执行指令或数据的计算机可读介质是物理存储介质。承载计算机可执行 指令或数据的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可 包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
[0017] 计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他 磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由 通用或专用计算机访问的任何其他介质。
[0018] "网络"被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设 备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、 或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介 质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且 可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读 介质的范围内。
[0019] 此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程 序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或 数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,"NIC") 内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算 机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输 介质的计算机系统组件中。
[0020] 计算机可执行指令包括,当在处理器处执行时使通用计算机、专用计算机、或专用 处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代 码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专 用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或 动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0021] 本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络 计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息 处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型 计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。
[0022] 在本说明书和权利要求书中,"设备"被定义为不是分布式的任何计算系统。然而, 本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬 连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环 境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
[0023] 图1示出了计算系统100的示例。计算系统100包括管理域110(即"管理级") 和本地受信执行环境域120 (即"本地受信执行环境级")。管理域110包括处理器111和 主存储器112。主存储器112经由处理器111的使用可供计算系统100的管理员访问。主 存储器112可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的 某种组合。术语"存储器"在此也可用来指诸如物理存储介质等非易失性大容量存储。
[0024] 本地受信执行环境域120甚至无法直接由人类管理员访问。本地受信执行环境域 120包括受信平台模块(TPM) 121,受信平台模块(TPM) 121包括密码功能122和受保护区域 123。如果存在直接访问TPM内容的任何可能的方法,则该方法将会涉及实际上物理地将 TPM分片或以其它方式将TPM分解并且使用复杂设备来物理地检查内容。因而,本地受信 执行环境域120的内容是安全的。受保护区域123包括在TPM外部无法读取的至少一些内 容。然而,密码功能122能够使用受保护区域123的内容来操作。受保护区域包括不可改 变数据123A和可改变数据123B。这两种类型的数据都能够由密码功能122读取。然而,仅 可改变数据123B能够被密码功能122写入。
[0025] 不可改变数据的一个示例是背书密钥,其充当TPM的通行证,从而提供TPM身份的 制造商级安全性。此外,由于常规TPM物理地附连于计算系统,背书密钥还安全地标识了计 算系统100,并且因而可以充当计算系统100的信任基础。
[0026] 可改变数据的示例包括其它密钥、单调计数器、以及非易失性存储器。其它密钥可 以应处理器111的请求来构造。单调计数器开始于0,并且当处理器111作出请求时或者响 应于某些事件(诸如打开系统电源)递增。密钥可以是可迀移的或者不可迀移的。可迀移 密钥可以在具有正确授权的任何TPM中使用,而不可迀移密钥仅可在TPM 121中使用。
[0027] 计算系统100包括用于在处理器111与TPM 121中间进行通信的接口 130。常规 接口 130的一个示例是基于TPM的服务模块(TBS),基于TPM的服务模块(TBS)将来自处 理器111的TPM命令提供给TPM 121,并且如果合适,将密码处理的结果(当然不包括TPM 121的内容)返回给处理器111。
[0028] 参考图1描述的具有常规部署的TPM的这一常规计算系统100具有某些优点和缺 点。例如,常规TPM制造起来较不昂贵,并且的确提供本地受信执行环境级的受保护区域。 然而,TPM的密码功能由于处理受限于小型TPM的能力而常常是相当慢的。此外,受保护区 域122的存储器空间也常常是相当小的,并且常常远低于1兆字节。此外,如果计算系统 100或TPM 121被破坏,绑定到TPM或者由TPM构造的所有密钥都变得无用。而且,常规计 算系统仅能够通过物理地绑定到TPM来利用TPM的功能。
[0029] 尽管包含TPM的常规计算系统不是分布式的,但如本文所使用的术语"计算系统" 也可以在网络环境上分布,在该情形中,处理、存储器和/或存储能力也可以是分布式的。
[0030] 在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果 这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已 经执行了计算机可执行指令来引导计算系统的操作。这样的操作的示例涉及对数据的操 纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统的存储器中。
[0031] 图2示出了可采用本文中所描述的原理的环境200。具体地,环境200包括多个客 户端计算系统201 (在下文被称为"客户端201")。本文描述的原理允许至少一些本地受信 执行环境功能通过网络203从客户端卸载到系统210中。这是违反直觉的,因为传统上TPM 模块在本地受信执行环境级操作并且因而物理地绑定到客户端。在图2的情形中,多个客 户端能够将TPM功能卸载到系统210中。网络203的一个示例是因特网,但是本文描述的 原理还可应用于其它网络,诸如可能是企业网络。
[0032] TPM的功能通过使系统210仿真受保护区域及其不可读取性的特征来卸载。例如, 传统TPM具有包括在TPM外部无法被读取的数据的受保护区域,而系统210具有针对每一 实体的受保护区域,并且该受保护区域从系统外部或者从账户外部无法读取,除了安全处 理器213能够读取之外。由于系统210不容易遭到破坏而藉此允许另一实体读取受保护数 据,因此系统210在造成对发现受保护区域的内容的严重障碍方面提供了本地受信执行环 境安全的等效物。
[0033] 此外,安全处理器213可以用本地TPM通常将对受信执行环境命令作出响应的相 同方式来对这些受信执行环境命令作出响应。例如,安全处理器213可以对密钥和/或受 保护数据集执行密码和/或安全处理。这允许对TPM的许多功能进行仿真。如果客户端被 毁坏,TPM在系统210中仍然可用,并且因而从TPM生成的密钥和其它数据(诸如与TPM相 关联的单调计数器、非易失性RAM内容等)仍然可以使用。
[0034] 在图2中,存在示出的六个客户端20IA到20IF。然而,省略号20IG表示本文描述 的原理不受到连接到系统210的客户端201的特定数量的限制。可能存在少至一个客户端, 但也可能存在很多个客户端,尤其在网络203是因特网和/或系统210是云计算环境的情 况下。此外,客户端201的数量可以随着时间而改变。例如,如果系统210是云计算环境, 则客户端201的数量可以每秒或每分钟地变化。
[0035] 在该描述和下面的权利要求书中,"云计算"被定义为用于允许对可配置计算资源 (例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。"云计算"的定 义不限于可从这样的模型(在被合适地部署时)中获得的任何其他多个优点。
[0036] 例如,云计算机当前被用于市场,以便提供对可配置计算资源的共享池的普遍存 在且方便的按需访问。此外,可配置计算资源的共享池可经由虚拟化而被快速地供应,并可 利用低管理努力或服务提供商干预来发布,并随后因此被缩放。
[0037] 云计算模型可由各种特性组成,诸如按需自服务、广泛网络访问、资源池、快速灵 活性、测定的服务等。云计算模型还可形成各种服务模型,诸如例如软件即服务(SaaS)、平 台即服务(PaaS)以及基础结构即服务(IaaS)。云计算模型还可以使用不同的部署模型来 部署,诸如私有云、社区云、公共云和混合云等。在该描述和权利要求书中,"云计算环境"是 其中采用了云计算的环境。
[0038] 一些客户端201可包括TPM,而一些客户端可以不包括TPM。例如,在图2的情形 中,客户端201A具有TPM 202A,客户端201B具有TPM 202B,而客户端201E具有客户端 202E。包括客户端201C、201D或201F的其它客户端不具有TPM。TPM的存在允许将TPM的 一些机器特定的功能(诸如提供与机器相关联的受信事件历史的能力)如下文所说明地进 行卸载,即便本地客户端TPM可能无法完全作为TPM来运作。然而,即便没有TPM,一些TPM 功能仍然可以如下所述地进行卸载。
[0039] 系统210包括接收模块211,接收模块211接收由客户端201发出的受信执行环境 命令。通常使用TPM软件接口(诸如TBS)被发到TPM的受信执行环境命令取而代之被截 取,并且指派到系统210以藉此由接收模块211接收。例如,客户端201A到201F将这些受 信执行环境命令指派为由对应的箭头205A到205F所表示的。每一受信执行环境命令是用 于对与发出命令的实体相对应的安全上下文(例如,密钥或数据)进行操作的命令。系统 包括安全处理器213,安全处理器213响应于由接收模块211接收到受信执行环境命令来执 行密码和安全功能。
[0040] 系统210还包括账户管理模块212,账户管理模块212包括多个受保护账户221。 在图2中,账户包括三个账户221A、221B和221C,但省略号221D表示可以存在由系统210 管理的任何数目的账户。每一个账户对应于客户端201中的一个或多个客户端,并且包括 对应于每一客户端的受保护数据集。每一受保护数据集仿真TPM的受保护区域对于每个客 户端而言看起来将是如何。然而,由于受保护数据集不受TPM的较小区域的限制,因此受保 护数据集可以大得多,可能在兆字节、千兆字节或万亿字节的范围内。
[0041] 在图2中,账户221A具有对应于客户端201A的受保护数据集222A。账户221B 具有对应于客户端201B的受保护数据集222B,以及对应于客户端201C的受保护数据集 222C。账户221B的各个客户端由点划线框涵盖。账户221C具有对应于客户端201D的受 保护数据集222D,对应于客户端201E的受保护数据集222E,以及对应于客户端201F的受 保护数据集222F。账户221C的各个客户端由虚线框涵盖。
[0042] 受保护数据集222在它们的内容在系统的上下文外部无法读取并且可能在对应 的账户外部无法读取(除了可能由安全处理器213读取之外)的意义上是"受保护"的。在 一个实施例中,安全处理器213的一个实例是在账户的上下文内部运行。在该情形中,将会 在账户221A内部存在安全处理器213,在账户221B内部存在另一安全处理器213,并且在 账户221C内部存在另一安全处理器213。
[0043] 每一数据集仿真在TPM不存在存储器限制的情况下对应的客户端201可能在其 TPM中具有什么的示例。例如,图3示出了包括不可改变数据301和可改变数据302的特定 数据集300。例如,不可改变数据302包括背书密钥311,其是不可迀移的。不可改变数据 302还包括可迀移密钥312以及其它不可改变数据313。可改变数据302包括可迀移密钥 321、不可迀移密钥322、单调计数器323、以及非易失性存储器324。
[0044] 所有的数据集300如上所提及地受保护。然而,不可改变数据301无法被改变,即 便是安全处理器213也无法改变它。可改变数据302可以改变,但仅响应于安全处理器213 的执行。背书密钥311是不可迀移密钥,因为其仅能在对应于数据集的账户内部使用。然 而,可迀移密钥312可以在账户外部使用,但仅能在阻止对可迀移密钥不受阻碍地读取的 受保护环境(诸如在另一 TPM或另一类似配置的账户内)下进行。不可改变数据301还可 包括其它数据313。可改变数据302也可具有可迀移和不可迀移密钥,诸如可迀移密钥321 和不可迀移密钥322。可改变数据302还包括单调计数器,单调计数器响应于递增的请求和 /或响应于另一事件(诸如打开机器的电源)而不可逆地递增。可改变数据302还可包括 非易失性存储器。
[0045] 可任选地,每一受保护账户221A到221C可以进一步包括对应的账户级数据集 223A到223C。例如,账户221A具有帐户级数据集223A,账户221B具有账户级数据集223B, 而账户221C具有账户级数据集223C。每一账户级数据集不特定于与该账户相关联的任 何实体,而是通用于该账户本身。作为一个示例,使用现有的TPM通信协议,可以将上级 PCR(诸如PCR 24及以上)用于这样的账户级数据。
[0046] 作为一个示例,假定账户22IB对应于特定用户,账户级数据集223B可列出用户口 令。账户级数据集223B还可用于记录与账户相关联的不可改变事件。例如,账户级数据集 223B可以存储操作系统中高敏感度功能(诸如账户和会话管理)的记录。这将使得难以提 高特权或劫持账户。此外,能够将账户绑定到其它受信平台模块(TPM)属性(例如像PCR) 允许向用户隐式证明系统是被成功认证并且是可操作的。作为另一示例,用户可以存储用 户向其注册的许可序列。再一次,这一序列可以是不可改变的,并且可能使用可从中数学地 导出许可序列的单个条目来作出。在该情形中,如果出现关于用户是否具有对特定产品的 许可证的问题,则该用户可能具体地知道答案。
[0047] 相应地,本文所描述的是一种将受保护区域的内容的有保证的不可改变性通过网 络(诸如在云计算环境中)从本地TPM卸载到服务的有效方式。这通过截取从客户端处理 器向TPM发出的受信执行环境命令,并且通过网络将它们重定向到具有能够解读受信执行 环境命令的安全处理器以及针对包括要受保护的数据的每一客户端的数据集的系统来完 成。
[0048] 这保护了本地受信执行环境层的安全性,因为要破坏受保护区域(例如数据集) 将是极度困难的或不可能的,实质上要求破坏系统210以便访问受保护数据。由于系统210 可能是相当复杂且具有高安全级,破坏系统210将是极度困难的或不可能的。该难度或不 可能性甚至可能超过试图破坏客户端机器本身上的客户端TPM的难度或不可能性。相应 地,保护了本地受信执行环境安全性。尽管信息可以从客户端传达到系统210,但这些信息 仅仅是受信执行环境命令,而非数据集中受保护的实际数据。相应地,即便有人能够读取这 些话务,受保护数据仍然是受保护的。在某一实施例中,如果客户端处理器和系统210之间 存在信任关系,则甚至网络话务都可以被加密。在存在与毫无障碍地传送命令相关联的安 全问题的情形中,这可能是有帮助的。这样的信任关系可以例如在供应客户端的时候被引 导。
[0049] 作为一种附加益处,由于存储器空间不再受限于小的芯片,可用存储器的量可显 著增加。此外,由于处理能力不再受限于小型TPM芯片,密码过程可以被更高效得多地执行 和/或变得更复杂。同样,由于受保护区域不再物理耦合至客户端,如果客户端被毁坏,使 用来自受保护区域的数据构造的密钥仍然可以使用。
[0050] 在描述其它方面之前,本文将进一步描述与处理受信执行环境命令相关联的一般 处理流程。具体地,图4示出了用于处理受信执行环境命令的方法400的流程图。作为一 个示例,受信执行环境命令可以是任何TPM命令,无论是否符合任何现有协议(诸如TPM版 本1. 2和TPM版本2. 0)或者是否符合促进与本地受信执行环境层的通信的将来TPM协议 或任何协议。方法400的一些动作由客户端(例如客户端201A)执行,如图4的右侧列中 标题"客户端"下方所示。其它动作由系统210执行,如图4的中间列中标题"系统"下方 所示。其它动作由安全处理器213执行,如图4的左侧列中标题"安全操作"下方所示。
[0051] 该过程当客户端发出受信执行环境命令时开始(动作401)。作为指派到客户端上 的本地TPM的替换或者补充,受信执行环境命令被截取(动作402),并且指派到系统(动作 403) 〇
[0052] 系统接着接收到受信执行环境命令(动作411),标识与发出该受信执行环境命令 的客户端相关联的账户(动作412),标识与该客户端相关联的数据集(动作413),以及标 识要执行的操作(动作414)。安全处理器随后被指令执行操作(动作415),并且安全处理 器随后对标识出的账户的标识出的数据集执行操作(动作421)。
[0053] 尚未提及的TPM的功能之一依赖于检测对应客户端的电力循环的能力。这是TPM 在对应客户端内绑定并且硬连线到客户端的电源的原因之一,因为这样TPM能够检测电源 的丢失以及电源的恢复。检测电力循环的原因之一在于使得TPM能够在经历电源丢失和恢 复之际重置受保护数据内的一些数据。在一些情形中,一些机器专用的数据在TPM内的可 靠性依赖于知晓电力循环。
[0054] 应当在电力循环之际被重置的数据的一个示例是平台事件日志。在典型的TPM 中,事件日志被表示为单个条目。只要感兴趣的新事件发生(例如,加载了一段软件,或者 开始执行了一段软件),该事件与先前的条目串接、散列、并且随后作为该条目的新值被存 储。如果以保留来自旧条目的信息(即先前事件)的方式来完成这些操作,则可以数学地 求解该条目以回放在平台上发生的事件序列。由此,能够证明平台完整性。
[0055] 然而,由于系统210没有物理地绑定到任何客户端201而是取而代之通过网络进 行通信,使系统210确定各个客户端201中的任一个客户端是否经历电力循环是困难的。然 而,如果客户端的确具有TPM,则该TPM可追踪刚好够推断已经发生电力循环的信息。甚至 在给定受信执行环境命令可能未被给予本地TPM而是取而代之被截取并且指派给系统210 从而本地客户端TPM无法完全运转的情况下,这也是可能的。例如,在图2中,客户端20IA 被示为包括TPM 202A,客户端201B被示为包括TPM 202B,而客户端201E被示为包括TPM 202E〇
[0056] 在此情形中,账户管理模块212和/或系统210作为整体可以通过与安装在该客 户端中的本地客户端TPM进行通信(例如,在客户端20IA的情形中与TPM 202A进行通信) 来检测给定客户端已经被重新引导。例如,系统210可以从客户端201A接收指示已经发生 动力循环的加密陈述。存在能够发生这一操作的若干方式。
[0057] 在第一示例中,系统210和本地客户端TPM可以通信,以使得系统210接收到在电 力循环之际将被重置的与寄存器相关联的PCR值。系统210随后将系统处的受保护数据中 的PCR的当前值与本地客户端TPM中的PCR值作比较,并且可以推断是否已经发生了电力 循环。
[0058] 在第二示例中,本地客户端TPM可以在客户端每次通电之际建立短暂密钥,并且 随后与客户端处理器协商关于使用这一短暂密钥以便通信。系统210知晓这一短暂密钥, 因为它追踪通信。如果系统210检测到它不再能够理解通信,则该短暂密钥一定已经改变, 从而暗示客户端经历了电力循环。
[0059] 在一替换实施例中,系统210的电力循环甚至可以在系统210上没有TPM的情况 下被检测到。例如,这可以通过具有能够监视客户端系统的电力循环的系统监视器来完 成。这一系统监视器的一个非限制示例是MICROSOFT?的系统中央虚拟机监视器(即 SCVMM)〇
[0060] 只要新的客户端被添加到账户,系统210就可以将受保护数据添加到给定账户。 例如,当检测到与特定账户的通信并且该通信或多或少指示了该通信来自未经识别的客户 端时,则可以将新的数据集添加到该账户。因而,例如,假定客户端使用加密密钥来与系统 通信,如果使用未经识别的加密密钥的通信到达,则可能已经添加了新的客户端。同样地, 在对应客户端不再在账户上操作之后,可以删除该账户的受保护数据集。例如,可能存在垃 圾收集动作,其中在某一时间段(可能几年)内未被使用的受保护数据集从账户删除。
[0061] 策略模块214可用于取决于关于对应于客户端的受保护数据集的一个或多个数 据字段是否满足准则来允许客户端作出的动作。替换地或附加地,策略模块214可用于取 决于关于账户级数据集的一个或多个数据字段是否满足准则来允许与账户相关联的任何 客户端作出的动作。结合与受保护数据集相关联的存储器与本地TPM相比可被显著扩充的 事实,这能够实现极多的可能性。
[0062] 例如,假定给定客户端的受保护数据集包括客户端的恢复状态的整个映像(例 如,操作系统、任何标准应用、标准配置设置等)。如果该客户端被丢失或破坏,账户上的另 一客户端可以访问该映像并且将该映像安装到新的客户端上(假定满足某些策略),该策 略旨在受保护以免不正确地获得客户端的恢复状态。
[0063] 系统210还可包括证书管理模块215,证书管理模块215使用不可迀移密钥(例如 在账户外部无法使用的密钥)来生成专用于该账户并且因而可以由与该账户相关联的任 何客户端使用的证书。因而,每一客户端不必为了参与基于证书的认证而创建其自己的证 书。
[0064] 本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在 所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而 非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书 的范围所涵盖。
【权利要求】
1. 一种系统,包括: 接收模块,所述接收模块能够接收由多个实体通过网络发出的受信执行环境命令,每 一受信执行环境命令是用于对与发出所述命令的实体相对应的安全上下文进行操作的命 令; 安全处理器,所述安全处理器被配置成响应于由所述接收模块接收到所述受信执行环 境命令对密钥和受保护数据集执行多个密码和安全过程;W及 账户管理模块,所述账户管理模块被配置成维持多个受保护账户,其中所述多个受保 护账户中的特定受保护账户包括对应于指派给所述特定账户的特定实体的且包括对应于 所述特定实体的多个密钥的受保护数据集,所述受保护数据集在所述系统外部不能读取, 所述安全处理器响应于从所述特定实体接收到一个或多个受信执行环境命令使用所述多 个密钥中的至少一些密钥来执行密码过程。
2. 如权利要求1所述的系统,其特征在于,所述受信执行环境命令符合受信平台模块 (TPM)通信协议。
3. 如权利要求1所述的系统,其特征在于,所述受保护数据集包括除了所述安全处理 器之外不能读取的数据的至少一部分。
4. 如权利要求1所述的系统,其特征在于,所述特定账户包括各自对应于与所述特定 账户相关联的实体的多个数据集,所述特定数据集是第一数据集,所述特定实体是第一实 体,并且所述多个密钥是第一多个密钥,所述特定账户进一步包括: 对应于指派给所述特定账户的第二实体的且包括对应于所述第二实体的第二多个密 钥的第二受保护数据集,所述第二受保护数据集在所述系统外部不能读取,所述安全处理 器响应于从所述第二实体接收到一个或多个受信执行环境命令使用所述第二多个密钥中 的至少一些密钥来执行密码过程。
5. 如权利要求1所述的系统,其特征在于,所述账户管理模块被进一步配置成当新的 实体被添加到所述账户时将新的受保护数据集添加到所述多个数据集。
6. 如权利要求1所述的系统,其特征在于,所述账户管理模块被进一步配置成在对应 实体不再进行操作之后从所述多个数据集中移除受保护数据集。
7. 如权利要求1所述的系统,其特征在于,所述特定实体是特定设备或系统,所述账户 管理模块被进一步配置成检测所述特定设备或系统已经被重新引导并且作为响应重置所 述受保护数据集的一部分。
8. 如权利要求1所述的系统,其特征在于,进一步包括: 策略模块,所述策略模块被配置成取决于关于所述数据集是否满足策略来允许所述特 定实体作出的动作。
9. 一种包括在其上具有计算机可执行指令的一个或多个计算机存储介质的计算机程 序产品,当所述计算机可执行指令由计算系统的一个或多个处理器执行时,使得所述计算 系统实例化W下: 账户管理模块,所述账户管理模块被配置成维持多个受保护账户,其中所述多个账户 中的特定受保护账户包括对应于指派给所述特定账户的特定实体的且包括对应于所述特 定实体的多个密钥的受保护数据集,所述受保护数据集在所述特定账户外部不能读取,安 全处理器响应于从所述特定实体接收到一个或多个受信执行环境命令使用所述多个密钥 中的至少一些密钥和受保护数据集来执行密码和安全过程。
10.如权利要求9所述的计算机程序产品,其特征在于,所述计算机可执行指令在被所 述一个或多个处理器执行时进一步使所述计算系统实例化W下: 安全处理器,所述安全处理器被配置成响应于多个实体通过网络发出的受信执行环境 命令对密钥执行多个密码和安全过程,每一受信执行环境命令是用于对与发出所述命令的 实体相对应的安全上下文进行操作的命令。
【文档编号】G06F21/57GK104471584SQ201380032549
【公开日】2015年3月25日 申请日期:2013年6月13日 优先权日:2012年6月19日
【发明者】M·F·诺瓦克, A·J·雷曼, M·尼斯特伦, S·汤姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1