CN104471584A - 对受保护数据集进行基于网络的管理 - Google Patents

对受保护数据集进行基于网络的管理 Download PDF

Info

Publication number
CN104471584A
CN104471584A CN201380032549.2A CN201380032549A CN104471584A CN 104471584 A CN104471584 A CN 104471584A CN 201380032549 A CN201380032549 A CN 201380032549A CN 104471584 A CN104471584 A CN 104471584A
Authority
CN
China
Prior art keywords
account
protected
key
tpm
execution environment
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.)
Granted
Application number
CN201380032549.2A
Other languages
English (en)
Other versions
CN104471584B (zh
Inventor
M·F·诺瓦克
A·J·雷曼
M·尼斯特伦
S·汤姆
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 CN104471584A publication Critical patent/CN104471584A/zh
Application granted granted Critical
Publication of CN104471584B publication Critical patent/CN104471584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access

Abstract

一种包括被配置成维持受保护账户的账户管理模块的系统。例如,特定受保护账户包括在系统外部无法读取并且可能甚至在账户外部无法读取的受保护数据集。该特定数据集对应于指派给特定账户的特定实体并且包括对应于特定实体的密钥。安全处理器响应于从特定实体接收到一个或多个受信执行环境命令而使用多个密钥中的至少一些以执行密码过程。

Description

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

Claims (10)

1.一种系统,包括:
接收模块,所述接收模块能够接收由多个实体通过网络发出的受信执行环境命令,每一受信执行环境命令是用于对与发出所述命令的实体相对应的安全上下文进行操作的命令;
安全处理器,所述安全处理器被配置成响应于由所述接收模块接收到所述受信执行环境命令对密钥和受保护数据集执行多个密码和安全过程;以及
账户管理模块,所述账户管理模块被配置成维持多个受保护账户,其中所述多个受保护账户中的特定受保护账户包括对应于指派给所述特定账户的特定实体的且包括对应于所述特定实体的多个密钥的受保护数据集,所述受保护数据集在所述系统外部不能读取,所述安全处理器响应于从所述特定实体接收到一个或多个受信执行环境命令使用所述多个密钥中的至少一些密钥来执行密码过程。
2.如权利要求1所述的系统,其特征在于,所述受信执行环境命令符合受信平台模块(TPM)通信协议。
3.如权利要求1所述的系统,其特征在于,所述受保护数据集包括除了所述安全处理器之外不能读取的数据的至少一部分。
4.如权利要求1所述的系统,其特征在于,所述特定账户包括各自对应于与所述特定账户相关联的实体的多个数据集,所述特定数据集是第一数据集,所述特定实体是第一实体,并且所述多个密钥是第一多个密钥,所述特定账户进一步包括:
对应于指派给所述特定账户的第二实体的且包括对应于所述第二实体的第二多个密钥的第二受保护数据集,所述第二受保护数据集在所述系统外部不能读取,所述安全处理器响应于从所述第二实体接收到一个或多个受信执行环境命令使用所述第二多个密钥中的至少一些密钥来执行密码过程。
5.如权利要求1所述的系统,其特征在于,所述账户管理模块被进一步配置成当新的实体被添加到所述账户时将新的受保护数据集添加到所述多个数据集。
6.如权利要求1所述的系统,其特征在于,所述账户管理模块被进一步配置成在对应实体不再进行操作之后从所述多个数据集中移除受保护数据集。
7.如权利要求1所述的系统,其特征在于,所述特定实体是特定设备或系统,所述账户管理模块被进一步配置成检测所述特定设备或系统已经被重新引导并且作为响应重置所述受保护数据集的一部分。
8.如权利要求1所述的系统,其特征在于,进一步包括:
策略模块,所述策略模块被配置成取决于关于所述数据集是否满足策略来允许所述特定实体作出的动作。
9.一种包括在其上具有计算机可执行指令的一个或多个计算机存储介质的计算机程序产品,当所述计算机可执行指令由计算系统的一个或多个处理器执行时,使得所述计算系统实例化以下:
账户管理模块,所述账户管理模块被配置成维持多个受保护账户,其中所述多个账户中的特定受保护账户包括对应于指派给所述特定账户的特定实体的且包括对应于所述特定实体的多个密钥的受保护数据集,所述受保护数据集在所述特定账户外部不能读取,安全处理器响应于从所述特定实体接收到一个或多个受信执行环境命令使用所述多个密钥中的至少一些密钥和受保护数据集来执行密码和安全过程。
10.如权利要求9所述的计算机程序产品,其特征在于,所述计算机可执行指令在被所述一个或多个处理器执行时进一步使所述计算系统实例化以下:
安全处理器,所述安全处理器被配置成响应于多个实体通过网络发出的受信执行环境命令对密钥执行多个密码和安全过程,每一受信执行环境命令是用于对与发出所述命令的实体相对应的安全上下文进行操作的命令。
CN201380032549.2A 2012-06-19 2013-06-13 对受保护数据集进行基于网络的管理 Active CN104471584B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/527,439 US8782423B2 (en) 2012-06-19 2012-06-19 Network based management of protected data sets
US13/527,439 2012-06-19
PCT/US2013/045725 WO2013192016A1 (en) 2012-06-19 2013-06-13 Network based management of protected data sets

Publications (2)

Publication Number Publication Date
CN104471584A true CN104471584A (zh) 2015-03-25
CN104471584B CN104471584B (zh) 2017-06-13

Family

ID=48782597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380032549.2A Active CN104471584B (zh) 2012-06-19 2013-06-13 对受保护数据集进行基于网络的管理

Country Status (20)

Country Link
US (2) US8782423B2 (zh)
EP (1) EP2862119B1 (zh)
JP (1) JP6293133B2 (zh)
KR (1) KR102134491B1 (zh)
CN (1) CN104471584B (zh)
AU (2) AU2013277539B2 (zh)
BR (1) BR112014031586B1 (zh)
CA (1) CA2875664A1 (zh)
CL (1) CL2014003437A1 (zh)
CO (1) CO7160075A2 (zh)
HK (1) HK1206445A1 (zh)
IL (1) IL235816B (zh)
MX (1) MX356483B (zh)
MY (1) MY189174A (zh)
NZ (1) NZ702250A (zh)
PH (1) PH12014502633A1 (zh)
RU (1) RU2640653C2 (zh)
SG (1) SG11201407985WA (zh)
WO (1) WO2013192016A1 (zh)
ZA (1) ZA201408574B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110214324A (zh) * 2017-01-24 2019-09-06 微软技术许可有限责任公司 密钥保管库包围区

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782423B2 (en) * 2012-06-19 2014-07-15 Microsoft Corporation Network based management of protected data sets
KR102132218B1 (ko) * 2013-09-24 2020-07-09 삼성전자 주식회사 신뢰하는 실행 환경에서의 보안 도메인 관리 방법 및 장치
US9940234B2 (en) * 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10819696B2 (en) 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity
US11316693B2 (en) * 2018-04-13 2022-04-26 Microsoft Technology Licensing, Llc Trusted platform module-based prepaid access token for commercial IoT online services
US11934540B2 (en) * 2018-05-28 2024-03-19 Royal Bank Of Canada System and method for multiparty secure computing platform
CN108924421B (zh) * 2018-07-16 2020-09-11 Oppo广东移动通信有限公司 图像处理方法、装置、计算机可读存储介质和电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965999B2 (en) * 1998-05-01 2005-11-15 Microsoft Corporation Intelligent trust management method and system
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
US8108668B2 (en) 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
US8272002B2 (en) 2006-08-18 2012-09-18 Fujitsu Limited Method and system for implementing an external trusted platform module
CN100566251C (zh) * 2007-08-01 2009-12-02 西安西电捷通无线网络通信有限公司 一种增强安全性的可信网络连接方法
JP5178341B2 (ja) * 2008-06-23 2013-04-10 パナソニック株式会社 オプショナルなコンポーネントを伴うセキュアブートの方法
US20110270761A1 (en) * 2010-04-30 2011-11-03 Tobsc Inc. Methods and apparatus for a financial document clearinghouse and secure delivery network
US8959363B2 (en) * 2010-06-03 2015-02-17 Intel Corporation Systems, methods, and apparatus to virtualize TPM accesses
WO2012093924A1 (en) 2011-01-07 2012-07-12 Mimos Berhad System and method to provide trusted platform module (tpm) functionalities on a remote server for multiple users
US8782423B2 (en) * 2012-06-19 2014-07-15 Microsoft Corporation Network based management of protected data sets

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110214324A (zh) * 2017-01-24 2019-09-06 微软技术许可有限责任公司 密钥保管库包围区
CN110214324B (zh) * 2017-01-24 2024-02-06 微软技术许可有限责任公司 密钥保管库包围区

Also Published As

Publication number Publication date
ZA201408574B (en) 2016-09-28
US8782423B2 (en) 2014-07-15
PH12014502633B1 (en) 2015-02-02
IL235816A0 (en) 2015-01-29
RU2640653C2 (ru) 2018-01-10
AU2013277539A1 (en) 2014-12-04
JP2015524128A (ja) 2015-08-20
US20130339729A1 (en) 2013-12-19
EP2862119A1 (en) 2015-04-22
JP6293133B2 (ja) 2018-03-14
US9268492B2 (en) 2016-02-23
MX356483B (es) 2018-05-30
BR112014031586A2 (pt) 2017-06-27
AU2013277539B2 (en) 2017-12-21
MX2014015685A (es) 2015-07-23
PH12014502633A1 (en) 2015-02-02
BR112014031586B1 (pt) 2022-02-15
NZ702250A (en) 2017-10-27
CL2014003437A1 (es) 2015-05-08
SG11201407985WA (en) 2015-01-29
CA2875664A1 (en) 2013-12-27
WO2013192016A1 (en) 2013-12-27
IL235816B (en) 2018-02-28
KR102134491B1 (ko) 2020-07-15
AU2018201934B2 (en) 2020-01-16
BR112014031586A8 (pt) 2021-05-25
AU2018201934A1 (en) 2018-04-12
CO7160075A2 (es) 2015-01-15
EP2862119B1 (en) 2021-02-24
MY189174A (en) 2022-01-31
RU2014151557A (ru) 2016-07-10
US20140304506A1 (en) 2014-10-09
CN104471584B (zh) 2017-06-13
HK1206445A1 (zh) 2016-01-08
KR20150020221A (ko) 2015-02-25

Similar Documents

Publication Publication Date Title
CN104520869B (zh) 可信执行环境虚拟机克隆
US11036869B2 (en) Data security with a security module
CN104471584B (zh) 对受保护数据集进行基于网络的管理
CN105359486B (zh) 使用代理安全访问资源
US10211977B1 (en) Secure management of information using a security module
CN113014539B (zh) 一种物联网设备安全保护系统及方法
CN104247329A (zh) 请求云服务的装置的安全补救
CN103828292A (zh) 带外远程认证
CN110321713B (zh) 基于双体系架构的可信计算平台的动态度量方法和装置
CN109995523B (zh) 激活码管理方法及装置、激活码生成方法及装置
CN113014444B (zh) 一种物联网设备生产测试系统及安全保护方法
US11695650B2 (en) Secure count in cloud computing networks
WO2014091342A1 (en) User trusted device to attest trustworthiness of initialization firmware
KR102467441B1 (ko) 텐더민트 bft를 이용한 비정형 데이터의 암호화 방법, 장치 및 컴퓨터-판독가능 기록매체
Hein et al. Securing mobile agents for crisis management support
Cabrera Gutiérrez Secure and Reliable Communication Protocols in Industrial IoT Networks
CN115587384A (zh) 敏感信息的处理方法和装置、存储介质及电子设备
CN117792723A (zh) 一种用户请求的处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1206445

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170410

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1206445

Country of ref document: HK