可信执行环境虚拟机克隆的制作方法_4

文档序号:8207744阅读:来源:国知局
有云、社区云、公共云和混合云等。在该描述和权利要求书中,"云计算环境"是 其中采用了云计算的环境。
[0070] 一些客户端801可包括TPM,而一些客户端可以不包括TPM。例如,在图8的情形 中,客户端801A具有TPM 802A,客户端801B具有TPM 802B,而客户端801E具有客户端 802E。包括客户端801C、801D或801F的其它客户端不具有TPM。TPM的存在允许将TPM的 一些机器特定的功能(诸如提供与机器相关联的可信事件历史的能力)如下文所说明地进 行卸载,即便本地客户端TPM可能无法完全作为TPM来运作。然而,即便没有TPM,一些TPM 功能仍然可以如下所述地进行卸载。
[0071] 系统810包括接收模块811,接收模块811接收由客户端801发出的可信执行环境 命令。通常使用TPM软件接口(诸如TBS)被发到TPM的可信执行环境命令取而代之被截 取,并且指派到系统810以藉此由接收模块811接收。例如,客户端801A到801F将这些可 信执行环境命令指派为由对应的箭头805A到805F所表示的。每一可信执行环境命令是用 于对与发出命令的实体相对应的安全环境(例如,密钥或数据)进行操作的命令。系统包 括安全处理器813,安全处理器813响应于由接收模块811接收到可信执行环境命令来执行 密码和安全功能。
[0072] 系统810还包括账户管理模块812,账户管理模块812包括多个受保护账户821。 在图8中,账户包括三个账户821A、82IB和821C,但省略号82ID表示可以存在由系统810 管理的任何数目的账户。每一个账户对应于客户端801中的一个或多个客户端,并且包括 对应于每一客户端的受保护数据集。每一受保护数据集仿真TPM的受保护区域对于每个客 户端而言看起来将是如何。然而,由于受保护数据集不受TPM的较小区域的限制,因此受保 护数据集可以大得多,可能在兆字节、千兆字节或万亿字节的范围内。
[0073] 在图8中,账户821A具有对应于客户端801A的受保护数据集822A。账户821B 具有对应于客户端801B的受保护数据集822B,以及对应于客户端801C的受保护数据集 822C。账户821B的各个客户端由点划线框涵盖。账户821C具有对应于客户端801D的受 保护数据集822D,对应于客户端801E的受保护数据集822E,以及对应于客户端801F的受 保护数据集822F。账户821C的各个客户端由虚线框涵盖。
[0074] 受保护数据集822在它们的内容在系统的上下文外部无法读取并且可能在对应 的账户外部无法读取(除了可能由安全处理器813读取之外)的意义上是"受保护"的。在 一个实施例中,安全处理器813的一个实例是在账户的上下文内部运行。在该情形中,将会 在账户821A内部存在安全处理器813,在账户821B内部存在另一安全处理器813,并且在 账户821C内部存在另一安全处理器813。
[0075] 每一数据集仿真在TPM不存在存储器限制的情况下对应的客户端801可能在其 TPM中具有什么的示例。例如,图9示出了包括不可改变数据901和可改变数据902的特定 数据集900。例如,不可改变数据901包括背书密钥911,其是不可迀移的。不可改变数据 901还包括可迀移密钥912以及其它不可改变数据913。可改变数据902包括可迀移密钥 921、不可迀移密钥922、单调计数器923、以及非易失性存储器924。
[0076] 所有的数据集900如上所提及地受保护。然而,不可改变数据901无法被改变,即 便是安全处理器813也无法改变它。可改变数据902可以改变,但仅响应于安全处理器813 的执行。背书密钥911是不可迀移密钥,因为其仅能在对应于数据集的账户内部使用。然 而,可迀移密钥912可以在账户外部使用,但仅能在阻止对可迀移密钥不受阻碍地读取的 受保护环境(诸如在另一 TPM或另一类似配置的账户内)下进行。不可改变数据901还可 包括其它数据913。可改变数据902也可具有可迀移和不可迀移密钥,诸如可迀移密钥921 和不可迀移密钥922。可改变数据902还可包括单调计数器,单调计数器响应于递增的请求 和/或响应于另一事件(诸如打开机器的电源)而不可逆地递增。可改变数据902还可包 括非易失性存储器。
[0077] 可任选地,每一受保护账户821A到821C可以进一步包括对应的账户级数据集 823A到823C。例如,账户821A具有帐户级数据集823A,账户821B具有账户级数据集823B, 而账户821C具有账户级数据集823C。每一账户级数据集不特定于与该账户相关联的任 何实体,而是通用于该账户自身。作为一个示例,使用现有的TPM通信协议,可以将上级 PCR(诸如PCR 24及以上)用于这样的账户级数据。
[0078] 作为一个示例,假定账户82IB对应于特定用户,账户级数据集823B可列出用户口 令。账户级数据集823B还可用于记录与账户相关联的不可改变事件。例如,账户级数据集 823B可以存储操作系统中高敏感度功能(诸如账户和会话管理)的记录。此外,能够将账 户绑定到其它可信平台模块(TPM)属性(例如像PCR)允许向用户隐式证明系统是被成功 认证并且是可操作的。作为另一示例,用户可以存储用户向其注册的许可序列。再一次,这 一序列可以是不可改变的,并且可能使用可从中数学地导出许可序列的单个条目来作出。 在该情形中,如果出现关于用户是否具有对特定产品的许可证的问题,则该用户可能具体 地知道答案。
[0079] 相应地,本文所描述的是一种将受保护区域的内容的有保证的不可改变性通过网 络(诸如在云计算环境中)从本地TPM卸载到服务的有效方式。这通过截取从客户端处理 器向TPM发出的可信执行环境命令,并且通过网络将它们重定向到具有能够解读可信执行 环境命令的安全处理器以及针对包括要受保护的数据的每一客户端的数据集的系统来完 成。
[0080] 这保护了本地可信执行环境层的安全性,因为要破坏受保护区域(例如数据集) 将是极度困难的或不可能的,实质上要求破坏系统810以便访问受保护数据。由于系统810 可能是相当复杂且具有高安全级,破坏系统810将是极度困难的或不可能的。该难度或不 可能性甚至可能超过试图破坏客户端机器自身上的客户端TPM的难度或不可能性。相应 地,保护了本地可信执行环境安全性。尽管信息可以从客户端传达到系统810,但这些信息 仅仅是可信执行环境命令,而非数据集中受保护的实际数据。相应地,即便有人能够读取这 些话务,受保护数据仍然是受保护的。在某一实施例中,如果客户端处理器和系统810之间 存在信任关系,则甚至网络话务都可以被加密。在存在与毫无障碍地传送命令相关联的安 全问题的情形中,这可能是有帮助的。这样的信任关系可以例如在供应客户端的时候被引 导。
[0081] 作为一种附加益处,由于存储器空间不再受限于小的芯片,可用存储器的量可显 著增加。此外,由于处理能力不再受限于小型TPM芯片,密码过程可以被更高效得多地执行 和/或变得更复杂。同样,由于受保护区域不再物理耦合至客户端,如果客户端被毁坏,使 用来自受保护区域的数据构造的密钥仍然可以使用。
[0082] 在描述其它方面之前,本文将进一步描述与处理可信执行环境命令相关联的一般 处理流程。具体地,图10示出了用于处理可信执行环境命令的方法1000的流程图。作为 一个示例,可信执行环境命令可以是任何TPM命令,无论是否符合任何现有协议(诸如TPM 版本2. 0)或者是否符合促进与本地可信执行环境层的通信的将来TPM协议或任何协议。方 法1000的一些动作由客户端(例如客户端801A)执行,如图10的右侧栏中标题"客户端" 下方所示。其它动作由系统810执行,如图10的中间栏中标题"系统"下方所示。其它动 作由安全处理器813执行,如图10的左侧栏中标题"TPM"下方所示。
[0083] 该过程当客户端发出可信执行环境命令时开始(动作1001)。作为指派到客户端 上的本地TPM的替换或者补充,可信执行环境命令被截取(动作1002),并且指派到系统 (动作 1003)。
[0084] 系统接着接收到可信执行环境命令(动作1011),标识与发出该可信执行环境命 令的客户端相关联的账户(动作1012),标识与该客户端相关联的数据集(动作1013),以 及标识要执行的操作(动作1014)。安全处理器随后被指令执行操作(动作1015),并且安 全处理器随后对标识出的账户的标识出的数据集执行操作(动作1021)。
[0085] 尚未提及的TPM的功能之一依赖于检测对应客户端的电力循环的能力。这是TPM 在对应客户端内绑定并且硬连线到客户端的电源的原因之一,因为这样TPM能够检测电源 的丢失以及电源的恢复。检测电力循环的原因之一在于使得TPM能够在经历电源丢失和恢 复之际重置受保护数据内的一些数据。在一些情形中,一些机器专用的数据在TPM内的可 靠性依赖于知晓电力循环。
[0086] 应当在电力循环之际被重置的数据的一个示例是平台事件日志。在典型的TPM 中,事件日志被表示为单个条目。只要感兴趣的新事件发生(例如,加载了一段软件,或者 开始执行了一段软件),该事件与先前的条目串接、散列、并且随后作为该条目的新值被存 储。如果以保留来自旧条目的信息(即先前事件)的方式来完成这些操作,
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1