首页> 中国专利> 证明的主题的自我调节

证明的主题的自我调节

摘要

本发明涉及揭示了证明的主题的自我调节,自我调节证明客户机的证明。证明客户机从证明服务请求健康凭证,该凭证包括经排序的证明日志和日志的完整性及新鲜度的证据。证明客户机接收所请求的健康凭证,该凭证证实证明客户机在其请求健康凭证时是健康的,以及证实证明服务信任证明客户机在每次该证明客户机使用该健康凭证进行认证时是健康的。该证明客户机接收使用健康凭证认证其健康的请求、验证其当前为健康、以及执行所请求的认证。

著录项

  • 公开/公告号CN102611698A

    专利类型发明专利

  • 公开/公告日2012-07-25

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201210027799.4

  • 申请日2012-02-08

  • 分类号H04L29/06(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人杨洁

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 06:11:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-26

    专利权的转移 IPC(主分类):H04L29/06 变更前: 变更后: 登记生效日:20150805 申请日:20120208

    专利申请权、专利权的转移

  • 2015-02-11

    授权

    授权

  • 2012-09-26

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20120208

    实质审查的生效

  • 2012-07-25

    公开

    公开

说明书

技术领域

本发明涉及计算机系统的健康证明,尤其涉及证明的主题的自我调节。

背景技术

恶意软件(malware),或恶意的软件(malicious software)(例如病毒、 蠕虫、特洛伊木马、间谍软件、内核级后门软件(rootkits)等)一直是在计算 中的严重问题。恶意软件通常在计算系统上执行而不通知用户内容,并在存在 时将计算系统置于不健康或未知状态。一旦受到恶意软件的危害,计算系统不 能被其自身或其它计算机系统信任而如期望的那样工作。此外,在计算系统处 执行的某些软件,虽非恶意软件,但可按未定义或未授权的方式(例如通过bug 或设计瑕疵)工作,也可将计算系统置于不健康或未知状态。

可信计算技术帮助解决确定计算系统是否可被信任的问题。可信计算技术 提供远程证明服务,该服务确认证明客户机的健康,健康是证明的主题。在此 模型下,证明客户机将所有相关系统事件的日志保留在日志中,诸如经排序的 可信计算组(TCG)日志。为增加的安全性,日志可被做成防篡改的(例如通 过被排序或按顺序),并且日志的完整性是可由证明服务验证的。

在请求证明时,证明客户机将整个日志发送到证明服务,证明服务审查该 日志并确定证明客户机的健康。例如,证明服务可确认在日志被发送时是否仅 仅被授权的或可信的代码正在该证明客户机上运行。如果日志通过了证明服务 的确认,则证明服务证明可信任该证明客户机在该证明客户机向证明服务发送 日志时处于健康状态。此信任信息可与证明客户机共享、与依赖方(诸如第三 方)共享、和/或由证明服务自己使用。

发明内容

在此处所描述的一实现中,证明客户机与证明服务一起执行远程证明。此 外,证明客户机执行由证明服务信任的自我调节。证明服务发布健康凭证,该 凭证证实证明客户机在证明时是健康的,并且该证明客户机被信任以按前述方 式使用该健康凭证。

例如,此处描述的至少一个实施例与向证明服务请求健康凭证的自我调节 证明客户机相关。该请求包括经排序的证明日志以及日志的完整性和新鲜度的 证据。随后,证明客户机接收所请求的健康凭证,该凭证代表证明服务的部分 上证实证明客户机在其请求健康凭证时是健康的以及证实证明服务信任证明 客户机在每次证明客户机使用该健康凭证进行认证时是健康的证书。证明客户 机然后接收使用健康凭证认证其为健康的请求、验证其当前为健康、以及,执 行所请求的认证。

本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不 旨在用于帮助确定所要求保护的主题的范围。

附图说明

为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描 述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且 因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描 述和解释各实施例,在附图中:

图1示出了可以用来利用此处所描述的各实施例的示例计算系统;

图2示出了用于执行自我调节证明的证明系统;

图3示出了用于自我调节证明客户机的状态图的流程图;

图4示出了一方法的流程图,该方法用于使自我调节证明客户机使用来自 证明服务的证书认证该自我调节证明客户机在请求时当前为健康;以及

图5示出了用于为自我调节证明客户机生成健康凭证的方法的流程图。

具体实施例

在此处所描述的一实现中,证明客户机与证明服务一起执行远程证明。此 外,证明客户机执行由证明服务信任的自我调节。证明服务发布健康凭证,该 凭证证实证明客户机在证明时是健康的,并且证实该证明客户机被信任以按前 述方式使用该健康凭证。

首先,将参考图1来描述关于计算系统的一些引导性讨论。接着,自我调 节证明的实施例将参考随后的附图予以描述。

参考图1来描述关于计算系统的介绍性讨论。计算系统现在越来越多地采 取多种多样的形式。计算系统可以例如是手持式设备、电器、膝上型计算机、 台式计算机、大型机、分布式计算系统,或者甚至通常不被视为计算系统的设 备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任 何设备或系统(或其组合),该设备或系统包含至少一个物理有形的处理器以 及其上能含有可由处理器执行的计算机可执行指令的物理有形的存储器。存储 器可以采取任何形式,并可以取决于计算系统的特性和形式。计算系统可以分 布在网络环境中,并可包括多个组分计算系统。如图1所示,在其最基本的配 置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104 可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者 的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大 容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是 分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统 上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可 以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。

在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施 例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或 多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。这样 的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可 以存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统 100例如通过网络110与其他消息处理器通信的通信信道108。

本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机 包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨 论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/ 或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由 通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机 可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介 质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的 计算机可读介质:计算机存储介质和传输介质。

计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、 磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式 的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。

“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传 输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连 线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该 连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数 据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数 据链路。上述的组合也应被包括在计算机可读介质的范围内。

此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形 式的程序代码装置可从传输介质自动转移到计算机存储介质(或者相反)。例 如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网 络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统 RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解, 计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统 组件中。

计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计 算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行 指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代 码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所 附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作 是作为实现权利要求的示例形式而公开的。

本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置 的网络计算环境中实施,这些计算机系统配置包括个人计算机、台式计算机、 平板计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于 微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动 电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接 (或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路 的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。 在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。

首先,参考图2呈现根据本发明的各实施例的自我调节证明的简要概览。 接着,自我调节/自我监管证明客户机的更具体的描述将参考图3进行讨论。 最后,在自我调节证明客户机和证明服务处执行的示例动作将参考图4和5进 行讨论。

图2示出了用于执行自我调节证明的证明系统。证明系统200包括至少一 个自我调节证明客户机202和至少一个证明服务204。该证明系统200还可包 括依赖方206。省略号208A表示证明系统200中可以有任何数量的自我调节证 明客户机202。省略号208B表示证明系统200中可以有任何数量的证明服务 204。省略号208C表示证明系统200中可以有任何数量的依赖方206。证明客 户机202、证明服务204,以及依赖方206全都可经由网络210或由任何其它 合适的通信手段来通信地连接。

为开始自我调节证明,证明客户机202通过网络210从证明服务204请求 健康凭证,并且证明服务204接收该请求。如此处所使用的“请求”可以是单 个请求,或包括诸如证明客户机202和证明服务204之类的双方之间的多个通 信。例如,“请求”可包括涉及双方(例如证明客户机202和证明服务204) 之间一个或多个请求和/或回答的握手。无论以初始请求进行通信,还是作为 握手的一部分来进行通信,对健康凭证的目前的请求均包括证明客户机202将 经排序(或顺序)证明日志和该经排序证明日志的完整性和新鲜度的证据传送 到证明服务204。

经排序的证明日志是防篡改(例如,对过去条目的移除或修改)的。在一 些实施例中,证明日志包括可信计算组(TCG)日志。无论证明日志采取何种 形式,证明日志包括从客户机通电之时到证明日志被发送到证明服务器204时 在证明客户机202上发生的所有与相关证明有关的事件的条目。例如,证明日 志可包括关于证明客户机202上所有(或基本上所有)正运行的软件组件的信 息。该信息可包括:例如,加载在证明客户机202处的所有二进制的顺序日志, 以及任何相关联的配置。

证明服务204使用完整性和新鲜度的证据来验证证明日志的完整性和新鲜 度,并使用证明日志中的信息来验证证明客户机202在证明客户机202将证明 日志发送给证明服务204的时刻是健康的。该验证包括验证证明客户机202仅 以可信赖的配置运行可信软件组件。换言之,证明服务204使用证明日志来验 证:在证明客户机202请求健康凭证时,该证明客户机202没有运行恶意软件 或其它不可信代码,并且证明客户机202也未以其他方式处于易受攻击状态。

此外,证明日志中的信息被证明服务204用来验证:可以信任证明客户机 202保护其自身免遭攻击以及仅在证明客户机是健康的或“在策略内”时使用 该健康凭证。换言之,证明服务204验证其可信任证明客户机202在证明客户 机202变得不健康或落入“策略之外”的情况下将丢弃任何已发布的健康凭证 (或拒绝自身对其访问)。如下面更完整地讨论的,证明日志包括关于监视代 理和证明客户机202所使用的安全策略的信息。该信息被证明服务204用作前 述验证的部分以验证证明客户机202是积极地保护自身免遭恶意软件和其它不 可信代码的自我调节客户机,以及验证证明客户机202将仅仅以由安全策略定 义的可信方式来使用健康凭证(如果发布了)。

如果证明服务204验证证明客户机202的过去的健康并验证证明客户机 202自我调节其健康和对健康凭证以可信方式的使用的现在和将来的能力,则 证明服务204生成唯一标识证明客户机202并仅可由证明客户机202使用的健 康凭证。该健康凭证证实证明客户机202在其请求健康凭证时是健康的,并证 实证明服务204信任证明客户机202在每次证明客户机202使用该健康凭证(只 要该健康凭证是有效的)进行认证时是健康的。值得注意的是,健康凭证包括 期满时间,在期满时间之后健康凭证不再有效。在健康凭证期满之后,证明客 户机将需要请求新的健康凭证以再次被证明服务204信任。证明服务204将所 生成的健康凭证发送到证明客户机202,且证明客户机202接收该健康凭证。

随后,证明客户机202接收使用健康凭证来认证其当前为健康的请求。例 如,证明客户机202可从依赖方206接收请求。当然,可以理解依赖方206和 证明服务204可以在相同系统中。可以理解依赖方206和证明客户机202也可 以在相同系统中,因为依赖方206可以是单个计算系统处与证明客户机202组 件并发运行的组件。因此,接收请求可包括通过网络210(或任何其它合适的 通信机制)从证明服务204或分开的依赖方206接收请求。此外,接收请求可 包括接收本地请求。响应于该请求,证明客户机202验证其自己的健康状态, 如果为健康,则证明客户机202使用该健康凭证来认证它当前为健康的或“在 策略内”。

值得注意的是,经典的远程证明服务仅对证明客户机过去的健康进行验证 和证明。这些经典的服务缺乏验证证明客户机是自我调节或自我监管的能力, 而该能力允许证明服务也证明证明客户机在健康凭证的有效期内的现在或将 来的健康。此外,经典的证明客户机缺乏自我调节或自我监管和提供自我证明 性能的能力,该能力可由证明服务和依赖方依赖。证明客户机自我调节/自我 监管和提供自我证明的能力极大地增加了可寄予证明客户机的信任,因为证明 服务可证明证明客户机当前和将来的健康,而非仅过去的健康。此外,这些能 力极大地减少了证明的花费,因为,在初始证明之后,证明客户机自身可以证 明其自己的健康,而无需进一步涉及证明服务,至少直到健康凭证过期。

此外,经典的证明日志随着证明相关的事件在证明的主题的运行时间期间 发生而渐渐变得无穷。可以理解,无穷的日志增长也导致无穷的资源利用,这 包括对(在证明客户机和在证明服务两方的)存储器和/或存储资源的无穷的 消耗、无穷的网络带宽使用(因为日志被发送到证明服务)、以及对(在证明 客户机和在证明服务两方的)处理资源的无穷的使用。如参考图3更详细地讨 论的,所揭示的自我调节和自我证明机制创造了有限的证明日志,其减轻了无 穷资源使用的问题。

现在转到图3,示出了诸如证明客户机202的自我调节的证明客户机的状 态图300的流程图。在证明客户机通电后,证明客户机进入启动状态302,其 中证明客户机执行标准的引导序列。在标准引导序列期间,证明客户机加载一 个或多个可信引导时组件并将标准引导序列的证明相关事件记录到证明日志 中。所记录的信息可包括:例如,所加载的可信引导时组件的身份、以及它们 相应的配置。可信引导时组件可包括任何合适的可信引导时组件,诸如可信硬 件驱动器(例如,经签署的固件)、可信操作系统组件、可信安全组件,等。 记录在安全日志中的事件可被证明服务(例如,证明服务204)用来验证证明 客户机是否在标准引导之后处于健康状态。

此外,在加载任何其它第三方或不可信代码之前,证明客户机加载一个或 多个可信监视代理。可信监视代理可包括,例如,一个或多个反恶意软件代理 和/或一个或多个证明代理。当然,反恶意软件代理和证明代理也可被组合到 单个单元。可信监视代理可由操作系统厂商、安全厂商,和/或诸如反恶意软 件公司(例如麦卡菲McAfee有限公司、赛门铁克Symantec公司等)的可信第 三方提供。不考虑他们的专门配置,可信监视代理在证明客户机的运行时期间 保持驻留并用于自我调节或自我监管。这包括通过积极地防范恶意软件和不可 信代码,并通过强制实施一个或多个证明相关的安全策略来在本地保护证明客 户机。关于一个或多个可信监视代理以及一个或多个安全策略的信息也被记录 在证明日志中。

证明客户机按照前述方式与证明服务一起执行证明事件310,并在接收健 康凭证之后达到健康状态304。如所讨论的,证明事件310包括证明客户机将 证明日志连同证明日志的完整性和新鲜度的证据发送到证明服务,以及证明服 务验证证明日志的完整性和新鲜度。例如,验证证明日志的完整性可包括保护 免遭重放攻击。作为请求的一部分,证明服务可向客户机发送唯一标识符,诸 如密码的“曾用过一次的数字”(现时值(nonce))。接着,当证明客户机将 证明日志发送到证明服务时,证明日志的完整性的证据可包括证明日志的内容 上的签名以及现时值。由于现时值(nonce)按定义仅被使用一次,这提供确保 通信不能被重播的期望特性。此外,验证证明日志的新鲜度可包括证明服务验 证证明日志反映证明客户机的当前状态,而不是某个先前状态。

一旦被验证,证明日志被证明服务用来验证证明客户机在发送证明日志时 是健康的,这包括验证证明服务器在标准引导序列之后是健康的。证明日志也 被证明服务使用来验证一个或多个可信监视代理和一个或多个安全策略的配 置,并通过监视代理和安全策略来验证证明客户机可被信任按可信方式执行自 我调节和自我证明。也就是,证明服务验证其可信任证明客户机监管并保护它 自身以维持健康状态并仅在它实际上是健康的并且“在策略内”时认证它是健 康的。如果所有验证通过,证明服务生成健康凭证,该健康凭证对证明客户机 专用并仅在健康凭证的有效期内可被证明客户机使用。

生成健康凭证可包括生成密码数字证书或令牌(例如,X.509证书,安全 断言标记语言(SAML)令牌,等)并用证明客户机所提供的公共密码密钥来 签署该证书或令牌。例如,证明客户机可在引导期间或在另一时间生成公共密 码密钥以及私有密码密钥。一旦由证明客户机的公共密码密钥签署,健康凭证 仅可在结合证明客户机的私有密码密钥使用时被用来认证证明客户机的健康。 因此,基于安全策略中指定的条件,证明客户机可通过自愿拒绝用私有密码密 钥进行认证或通过完全地放弃对私有密码密钥的访问来拒绝对其健康进行证 明。在一些实施例中,私有密码密钥存储在证明客户机处的可信硬件组件中, 使得一旦对可信硬件组件的访问已经被证明客户机放弃,对私有密码密钥的访 问仅可通过重新引导和重新证明来重新获得。接着可以理解,通过放弃对私有 密码密钥的访问,证明客户机有效地丢弃了健康凭证。

在一些实施例中,可信硬件组件包括用于提供包括密码密钥的生成、伪随 机数生成、封装的/受保护的存储、测量设施、硬件设备的认证等的安全密码 功能的可信平台模块(TPM)。因此,公共和私有密码密钥的生成可包括TPM 生成密钥,存储密钥可包括TPM存储密钥,而放弃对私有密码密钥的访问包 括放弃对存储在TPM中的密钥的访问。

值得注意的是,一旦证明客户机已经执行了初始证明事件310,记录在证 明日志中的证明相关事件的数量可被极大地降低,因为证明客户机(使用健康 凭证)执行自我调节和自我证明,而非完全依赖证明服务来证明其健康。因此, 证明日志的大小可被固定,或其扩展速度与经典证明模式相比可被显著降低, 因此解决了前面讨论的无穷资源使用的问题。当然,证明客户机仍然可诸如通 过更新事件312,来偶尔与证明服务一起执行证明事件。更新事件可,例如, 在健康凭证已经过期或即将过期时被执行。

在健康状态304中,证明客户机使用可信监视代理来执行自我调节以确保 证明客户机或者处于“在策略内”或放弃对其私有密码密钥的访问。安全策略 可包括关于可运行在证明客户机上的第三方应用的规则、要将证明客户机从健 康状态304移除的事件、要将证明客户机恢复到健康状态的事件等。在处于健 康状态304时(即当证明客户机“在策略内”时),证明客户机赞成对使用健 康凭证来认证其为健康的请求作出响应。例如,如果依赖方(例如依赖方206) 请求认证,则证明客户机验证其处于健康状态304并使用健康凭证和私有密码 密钥来认证或证明其健康。

证明客户机可出于任何数量的理由而离开健康状态304。例如,轻罪事件 314可导致证明客户机临时离开健康状态304并进入受损状态306。这可以例 如在当前安全策略已经过期时且新的安全策略必须被获得时发生。这也可以在 证明客户机相信其自身处于不安全环境中且需要采取补救动作的情况下发生。 当处于受损状态306时,证明客户机通过自愿拒绝使用其私有密码密钥来反对 对使用健康凭证进行认证的请求作出响应。补救事件316可使证明客户机恢复 回健康状态304。值得注意的是,即使证明客户机变得受损,使得不能信任证 明客户机自愿拒绝认证,构建到健康凭证中的期满(可以是一段相对短的时间) 使证明客户机在很好定义的有限时间内失去其健康凭证(以及其进行认证的能 力),除非其通过更新其健康凭证(例如,通过更新事件312)而继续被信任。

此外,任何数量的重罪事件318或320可使证明客户机离开健康状态304 或受损状态306并进入故障状态308。重罪事件318或320是其中证明客户机 相信其已落入“政策之外”的事件,以及是证明客户机不能在没有重新启动和 重新证明的情况下从其恢复的事件。当重罪事件318或320发生时,证明客户 机彻底放弃对其私有密码密钥的访问,因此消除了证明客户机使用健康凭证来 认证或证明其健康的能力。放弃对其私有密码密钥的访问可包括,例如,不可 逆地放弃对存储私有密码密钥的可信硬件组件(例如,TPM)的访问。此外, 当重罪事件318或320发生时,证明客户机将事件写到证明日志,这导致向证 明服务对健康凭证的任何将来的请求失败。重罪事件318或320可包括:例如, 健康凭证期满、检测感染、对可疑管理动作的检测、意外或故意错误配置、或 当前安全策略期满。

图4从证明客户机的角度示出了方法400的流程图,该方法用于使用来自 证明服务的健康凭证来认证自我调整证明客户机在请求时是当前健康的。图5 从证明服务的角度示出了方法500的流程图,该方法用于为自我调节证明客户 机生成健康凭证。尽管方法400和500可在包括证明客户机和证明服务的任何 环境中执行,方法400和500将参考图2的证明系统和图3的状态图表来描述。

图4从证明客户机的角度示出方法400可包括请求健康凭证的动作402。 动作402包括证明客户机从证明服务器请求健康凭证,该请求包括经排序的证 明日志以及该经排序的证明日志的完整性和新鲜度的证据。例如,证明客户机 202可向证明服务204请求健康凭证。请求可以是单个请求或握手操作的部分, 且证明客户机202可向证明服务204提供经排序的证明日志,该证明日志包括 在计算系统作出请求时被加载在计算系统处的组件(例如,引导时组件)的经排 序的日志以及这些组件的配置。日志也可包括运行在证明客户机202处的一个 或多个监视代理的身份以及关于在证明客户机202处强制实施的一个或多个安 全策略的信息。在一些示例中,经排序证明日志可以是可信计算组(TCG)日 志。证明客户机202也可向证明服务204提供经排序的证明日志的完整性和新 鲜度的证据。

暂时转到图5,图5从证明服务的角度示出了方法500可包括接收对健康 凭证的请求的动作502。动作502包括证明服务从自我调节证明客户机接收对 健康凭证的请求,该请求包括经排序的证明日志以及该经排序的证明日志的完 整性和新鲜度的证据。例如,证明服务204可从证明客户机202接收对健康凭 证的请求。该请求可包括经排序的证明日志和经排序的证明日志的完整性和新 鲜度的证据,如前面关于动作402所描述的。

图5也示出了方法500可包括验证在请求时的健康的动作504,以及验证 信任将来健康的动作506。动作504包括基于经排序的证明日志和经排序的证 明日志的完整性和新鲜度的证据来验证自我调节证明客户机在客户机请求健 康凭证时是健康的,而动作506包括验证该自我调节证明客户机被信任在每次 客户机使用该健康凭证进行认证时是健康的。例如,动作504和/或动作506 可包括证明服务204基于所接收到的完整性和新鲜度的证据来确认所接收的证 明日志是有效的,并处理整个证明日志。如前面所讨论的,这可包括通过交换 密码现时值以及验证证明日志的新鲜度来保护免遭重播攻击。此外,动作504 可包括:证明服务204基于证明日志验证加载于证明客户机202的一个或多个 组件在证明客户机202发送请求时包括健康状态。这可以包括,例如,验证作 为被监视或被管理的引导的部分加载的任何引导时组件使证明客户机202处于 健康状态。

动作506可包括证明服务204验证在证明客户机202处加载了一个或多个 监视代理,以及这些监视代理被证明服务204信任在证明客户机202处强制执 行一个或多个安全策略。因此,仅当证明客户机202处于健康状态时,信任证 明客户机202保护其自身维持健康状态以及使用任何批准的健康凭证来认证其 当前是健康的。因此,证明客户机202被信任:如果它不能确保其健康则丢弃 或停止使用任何批准的健康凭证。

如所示,方法500也可包括生成所请求的健康凭证的动作508。动作508 包括生成健康凭证,所生成的健康凭证唯一地标识自我调节证明客户机,并证 实在自我调节证明客户机请求健康凭证时自我调节证明客户机是健康的以及 证实证明服务信任自我调节证明客户机在每次自我调节证明客户机使用健康 凭证进行认证时是健康的。例如,证明服务204可为证明客户机202生成包括 这些证书且在一段特定时间后期满的健康凭证。然后,所生成的健康凭证在有 效期内可被证明客户机202使用,以认证依赖方(例如,依赖方206)是健康 的。依赖方可依赖此认证,因为证明服务204已经证实其信任证明客户机202 在每次该证明客户机202使用健康凭证进行认证时是健康的。期满以后,健康 凭证变得无效,证明客户机202必须重新证明并获得新健康凭证以继续向依赖 方进行认证。

在一些示例中,健康凭证可包括密码数字证书或令牌。证书或令牌可用从 证明客户机202接收的公共密码密钥签署。以此方式,所生成的健康凭证唯一 地标识证明客户机202,并且仅可由证明客户机202结合证明客户机202拥有 的私有密码密钥来使用。公共密码密钥和私有密码密钥可先前已经由证明客户 机202(例如,通过TPM)生成。公共密码密钥可先前已经被发送到证明服务 206,或可已经作为对健康凭证的请求的部分发送到证明服务206。

如图5所示,方法500也可包括发送所生成的健康凭证的动作510。动作 510包括将所生成的健康凭证发送到自我调节证明客户机。例如,证明服务204 可向证明客户机202发送所生成的健康凭证。

转回到图4,图4示出了方法400可包括接收所请求的健康凭证的动作404。 动作404可包括从证明服务接收健康凭证,健康凭证唯一地标识证明客户机, 并证实在客户机请求健康凭证时客户机是健康的,以及证实证明服务信任客户 机在每次该客户机使用该健康凭证进行认证时是健康的。例如,在动作508证 明客户机202可接收由证明服务204生产的健康凭证。健康凭证可证实加载于 证明客户机202的一个或多个组件在作出请求时包括健康状态,并且可证实在 证明客户机202处的监视代理被证明服务204信任强制实施确保证明客户机 202仅以前面所讨论的方式使用健康凭证的特定安全策略。

图4还示出方法400可包括接收认证请求的动作406。动作406包括证明 客户机接收使用健康凭证来认证其当前为健康的请求。例如,证明客户机202 可从依赖方206接收使用健康凭证来认证其为健康的请求。如所注意的,依赖 方206也可以是证明服务204,或甚至可以是证明客户机202的部分。因此, 依赖方206不限于是分开的实体。

图4还示出方法400可包括验证当前健康的动作408。动作408包括证明 客户机验证其当前为健康的。例如,证明客户机202可断定其现在处于健康状 态304。这可以包括,例如,证明客户机202断定它没有违背将把它从健康状 态304移除的任何安全策略。附加地或可替换地,证明客户机202可断定它具 有对执行认证必需的私有密码密钥的访问。附加地或可替换地,证明客户机202 可断定一个或多个监视代理正在运行并报告健康状态。

当然,证明客户机202也可断定它不处于健康状态304。例如,证明客户 机202可断定作为发生轻罪事件314的结果它处于受损状态306。在此示例中, 证明客户机202自愿拒绝认证其当前为健康的。后来,证明客户机202可确定 补救状态314已经发生,并将其自己恢复到健康状态304。

此外,证明客户机202可断定作为发生重罪事件318或320的结果它处于 故障状态308。在这种情况中,当其进入故障状态308时,证明客户机202将 放弃对使用健康凭证进行认证所必需的私有密码密钥的访问,因此呈现证明客 户机202不能进行认证。证明客户机可放弃以任何合适的方式对可信硬件组件 的访问,诸如放弃对存储密码密钥的TPM的访问。此外,证明客户机202将 事件写到经排序的证明日志,其使得任何对健康凭证的将来的请求失败。

在动作408成功验证之后,图4示出了方法400可包括认证当前健康的动 作410。动作410包括证明客户机使用健康凭证来认证其当前为健康。例如, 证明客户机202可结合健康凭证使用私有密码密钥来执行认证。依赖方206可 依赖此认证,并信任证明客户机202当前为健康的,因为证明服务204已经证 实其信任证明客户机202在每次该证明客户机202使用健康凭证进行认证时是 健康的。当然,可以理解,在可替换情况中,其中对当前健康的验证失败,证 明客户机202将自愿拒绝认证(即,在处于受损状态306时)或不能认证(即, 在处于故障状态308时)。

因此,揭示了用于自我调节证明客户机或证明的主题的有效机制。该机制 解决了当前证明情形中存在的若干问题,包括可依赖地提供对证明客户机的健 康的当前和将来证明,围绕无穷证明日志的问题的缓和,以及围绕证明客户机 不能执行至少某些自我调节测量的低效的缓和。

本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实 施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由 所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围 内的所有改变被权利要求书的范围所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号