专利名称:作为服务的可信设备声明的制作方法
技术领域:
本发明涉及通信领域,尤其涉及通信领域中的设备声明。相关申请的交叉引用本申请根据35U. S. C. § 119(e)款要求2010年9月30日提交的题为 "Trustworthy Device Claims as a krvice (作为服务的可信设备声明)”的代理人案号 M1103. 70894US00的美国临时申请第61/388,433号的优先权,该申请通过引用整体合并于此。
背景技术:
许多组织设法为用户提供在任何时间使用任何设备从任何位置透明地访问应用的能力。向用户提供这一访问级别涉及克服多个障碍,包括与安全有关的那些障碍。例如, 取决于每一用户的角色和/或与组织的关系,组织可设法提供对应用程序和/或数据的不同级别的用户访问。
发明内容
2010 年 6 月 24 日提交的、题为"Network Layer Claims Based Access Control (基于网络层声明的访问控制),,的共同转让的美国专利申请号12/822,724公开了通过在“声明”(对于本领域技术人员而言也称为“断言”)中所提供的信息的使用来提供关于在0 栈的网络层处作出访问控制决定的灵活性的各技术。简言之,声明可包括关于以下中的任一个的信息请求访问资源的计算机的多个属性中、围绕所请求的访问的环境、被请求访问的资源、和/或其他信息。根据所公开的各技术,在声明中提供的信息可鉴于一个或多个访问控制策略来评估,并在决定是授予还是拒绝对特定网络资源的访问中使用。由于在声明中所提供的信息可能比先前用于在网络层处作出访问控制决定的信息更详细,策略可被更灵活地制定,并且可考虑变换的本质或类型的信息。同时提交的题为"Trustworthy Device Claims for Enterprise Applications(用于企业应用的可信设备声明),,的共同转让的美国专利申请号XX公开了各技术,通过该技术可按声明形式向应用提供信息,该信息描述请求对应用的访问的设备的特征和/或状态。描述设备的特征和/或状态的这些声明在后文中被称为“设备声明”。向其提供设备声明的应用可采用其中的信息,以驱动多种类型的功能中的任一个,包括与安全有关的功能和非安全有关的功能。作为一示例,设备声明可由应用用于驱动访问控制决定,在使特定功能或数据可用之前验证所描述的设备满足特定准则,生成适合设备的特征的输出等。根据所公开的技术,设备经历远程证明过程,通过该远程证明过程来生成设备声明并且随后将其转换成应用被配置成消费的形式。设备声明随后可由该设备包括在访问应用的请求中。作为经由远程证明过程来生成的结果,设备声明被应用接受作为对该设备的特征和/或状态的准确且真实的表示。本发明各实施例使得发放可信设备声明作为服务对设备可用。在这一方面,申请人认识到在特定实例中,使应用通过网络(例如,经由可公开访问的因特网)可用的实体可在设备声明可提供的信息中找到价值(例如,对请求访问的设备的特征和/或状态的独立评定),但可能不希望招致与向寻求对应用的访问的设备发放设备声明相关联的管理和成本开销。因此,本发明的某些实施例提供设备可从中获取设备声明的服务,该设备声明随后可与对访问网络应用的尝试相关地使用。服务可进行(例如,执行和/或监督)对设备的特征和/或状态的独立评定,在设备声明中表征这一评定的结果,并且将设备声明提供给该设备以供在访问一应用的后续尝试中使用。在某些实施例中,服务可由设备从使网络应用可用的实体的管理边界外部访问。由此,本发明各实施例对于使网络应用在商业对消费者(B2C)和商业对商业(B2B)拓扑结构中可由设备访问的各方可能有用。前述是对由所附权利要求定义的本发明中各实施例的非限定性的概述。
附图不旨在按比例绘制。在附图中,各个附图中示出的每一完全相同或近乎完全相同的组件由同样的标号来表示。出于简明的目的,不是每一个组件在每张附图中均被标号。在附图中图1是根据本发明某些实施例的描绘其中可向客户机设备发放可信设备声明的系统的框图;图2是根据本发明某些实施例的描绘由此客户机设备从网络应用中接收受信设备状态令牌服务的列表并且选择受信DSTS的示例过程的流程图;图3是根据本发明某些实施例的描绘由此网络应用评估由客户机设备所提交的设备声明的示例过程的流程图;图4是描绘其上可实现本发明各实施例的示例计算机系统的框图;以及图5是描绘其上可存储体现本发明的各方面的指令的示例存储器的框图。
具体实施例方式根据本发明的某些实施例,提供了一种服务,设备可从该服务从中获取设备声明以供与对访问网络应用的尝试相关地使用。在某些实施例中,响应于设备对访问网络应用的尝试,可向该设备提供受网络应用和/或该设备所信任的一个或多个设备状态令牌服务 (DSTS)的指示,以便进行对该设备的特征和/或状态的独立评定并以设备声明的形式发放该设备的特征和/或状态的准确且真实的表示。一旦DSTS向该设备发放了设备声明,则该设备声明可由该设备与对访问该网络应用的尝试相关地使用,并且可由该网络应用使用以驱动与安全有关的功能和非安全有关的功能。图1中描绘了包括用于向设备发放可信设备声明的组件的示例系统以及这些组件可通过其来交互的示例过程。在所示示例中,客户机设备110(其可以是任何合适的计算设备,诸如台式或膝上型计算机、移动电话、个人数字助理、内容再现设备、电视机、游戏控制台和/或任何其他合适的设备类型)经由一个或多个网络(图1中未示出)与网络应用 120(其可包括任何一个或多个应用组件)进行通信。一个或多个网络可根据任何一个或多个合适的通信协议来促进通信,并且包括任何合适的通信基础结构。一个或多个网络例如可包括可公开访问的因特网。图1中描绘的示例过程以客户机设备110尝试访问网络应用120来开始,如箭头152所指示的。网络应用120可以用多种方式中的任一种来对这一访问尝试作出响应。在图1描绘的示例中,网络应用120通过向客户机设备110提供对一个或多个DSTS的指示 (例如列表)来作出响应,网络应用120信任该一个或多个DSTS来发放可信设备声明,如箭头1 所指示的。客户机设备110随后可选择其同样信任的DSTS来进行评定。图2中描绘了由此客户机设备从网络应用接收对被信任来发放设备声明的一个或多个DSTS的指示、并且选择向其请求设备声明的DSTS的示例过程200。在过程200的开始处,客户机设备110在动作210中接收对一个或多个DSTS的指示,该一个或多个DSTS被网络应用120信任来执行对客户机设备的特征和/或状态的独立评定、并且发放表征该客户机设备的特征和/或状态的设备声明。在图1所示示例中,网络应用120与DSTS 130具有信任关系(由箭头122指示),但不与DSTS 140具有信任关系。过程200随后前进至动作220,其中客户机设备110选择向其请求设备声明的 DSTS0例如,客户机设备110可从由网络应用120所提供的列表中选择其同样信任的DSTS。 给定DSTS在发放设备声明过程中所执行的某些评定的侵入性本质,信任可能是优选的。 DSTS可由于预先存在的信任关系而被客户机110信任,因为DSTS满足一个或多个准则或出于任何其他原因。在图1中所描绘的示例中,客户机设备110与DSTS 130(由箭头115指示)和DSTS 140(由箭头118指示)具有预先存在的信任关系。(应理解,尽管图1中仅描绘了两个DSTS,但可提供任何合适数量的DSTS。)在该示例中,给定DSTS130被包括在动作 210中所接收的指示上,客户机设备110选择DSTS 130作为向其请求设备声明的DSTS。过程200随后前进至动作230,其中客户机设备110认证所选择的DSTS130。对 DSTS 130的认证可例如防止恶意行为者伪装成DSTS 130来获取对客户机设备110上的信息和/或功能的不受束缚的访问。在某些实施例中,客户机设备110可通过评估DSTS 130 为此目的所发放的X. 509证书、或使用任何其他合适的认证手段来认证DSTS 130。过程200 随后前进至动作M0,其中客户机设备110请求设备声明,并且随后完成。应理解,图2的过程仅仅是由此客户机设备可标识向其请求设备声明的DSTS的一个示例过程。例如,在动作210中向客户机设备110所提供的指示不需要仅包括被网络应用120所信任的DSTS,而是可以包括被网络应用120和客户机设备110两者都信任的DSTS。 还应理解,本发明各实施例根本不限于其中客户机设备选择一 DSTS的实现。例如,在从客户机设备110接收访问请求(在图1中由箭头152指示)之后,网络应用120可简单地将客户机设备110重新定向到其信任的DSTS来发放准确的设备声明。本发明各实施例可以用多种方式中的任一种来实现。还应理解,如果无法标识向其请求设备声明的合适的DSTS,则图2中所示的示例过程可被补充以包括(例如由客户机设备110执行的)各动作。如果无法标识合适的DSTS, 则可执行多个操作中的任一个。例如,客户机设备110可向用户呈现与定位合适的DSTS有关的信息,客户机设备110可查询网络应用120以获取与定位合适的DSTS有关的信息,和 /或一个或多个其他操作可被执行。本发明各实施例不限于任何特定的实现。在完成图2的示例过程时(即,在客户机设备110请求设备声明之后),DSTS 130(图1)通过向客户机设备110提供设备状态策略和脚本来对针对设备声明的请求作出响应。在某些实施例中,从DSTS 130所获取的信息可向客户机设备110指示关于为支持向客户机设备110发放设备声明而要收集的信息。
由DSTS 130向客户设备110所提供的脚本当由客户机设备110执行时可以帮助收集该信息的一些或全部。由此收集与客户机设备有关的信息以支持设备声明的发放的示例技术在 2010 年 9 月 30 日提交的题为 “^Trustworthy Device Claims for Enterprise Applications (用于企业应用的可信设备声明)”共同转让的美国专利申请序列号XX中描述,其某些部分在此重现。在其公开的各实施例中,客户机设备110上的数据收集组件(图 1中未示出)与一个或多个数据源通信以收集由DSTS 130所指定的信息。例如,数据收集组件可向数据源提供信息,并且从每一数据源接收指示设备特征和/或状态的信息。例如, 数据收集组件可向数据源提供与在客户机设备的生命周期期间多个事件中的任一个发生时或发生后(例如,其操作系统的重新引导、从休眠/睡眠中恢复、软件补丁的一个或多个驱动程序的安装、网络连接的启动、位置变更或其他事件)的客户机设备的状态有关的上下文信息。数据源进而可提供关于客户机设备110的“健康”的信息(例如,客户机设备是否配备有安全和/或反病毒软件,某些(例如,安全)软件是否被激活,客户机设备是否采用了防火墙,防火墙是否是运行的,反病毒签名是否是最新的,等等)、客户机设备110用来访问应用的密码术的类型(例如,是否使用了签名和/或加密通信,加密的类型等)、客户机设备110的标识符、客户机设备110扮演的角色(例如,作为台式计算机、数据库服务器、 web服务器等)、其所有者(例如,公司、雇员、厂商等)、客户机设备110的地理位置、和/或多种其他类型的信息中的任一种。所提供的信息可由数据源“签名”以证明其准确性。除了上述数据源之外,客户机设备110还可从本地实现的受信平台模块(TPM)组件(图1中未描绘)接收信息。TPM可执行与设备声明的生成有关的多个功能中的任一个, 包括将事件记录在其平台配置寄存器(PCR)中;允许生成、存储和使用密钥;允许在被称为 "TCG日志”的数据构造上生成“引证”来向远程方证明在该日志中报告的事件的可信性;维护可用于区分连续引导周期的“引导计数器”并提供跨越休眠/重启事件的附加安全措施; 和/或其他功能。随后将所收集的信息提供给DSTS 130,如箭头158指示的。DSTS 130随后可初步评估由客户机设备110所提供的信息以确定是否应发放设备声明。例如,DSTS 130可确认 TPM测量以确认该TPM测量在生成后没有被修改,确定客户机设备110是否没有恶意软件, 和/或执行其他初步评定。如果作出声明生成应开始的初步确定,则DSTS 130可进一步评估从客户机设备110所接收的信息以确定应生成的具体设备声明。这一确定可基于所接收的信息至少部分地由管控应生成的设备声明的DSTS 130所实现的策略来驱动。所生成的设备声明由DSTS 130来签署,并且随后被发送给客户机设备110,如箭头160指示的。可使用任何合适的递送媒介来将设备声明发送给客户机设备110。例如,某些实施例提供要包括在向客户机设备110所发送的安全断言标记语言(SAML)令牌中的设备声明。然而,可为设备声明采用任何合适的传播媒介。在某些实施例中,向客户机设备110发送的信息包括对客户机设备的身份的指示,以便将设备声明绑定到该客户机设备。该绑定可阻止恶意行为者盗用设备声明并伪装成客户机设备110来获得对网络应用120的访问。绑定可使用任何合适的技术来完成,诸如经由通过DSTS 130发放X. 509证书。在接收设备声明之后,客户机设备110尝试访问网络应用120,如箭头162指示的。 例如,在客户机设备110上执行的浏览器应用(图1中未示出)可将设备声明包括在对访问网络应用120的请求中。当然,客户机设备110不限于采用浏览器应用来访问网络应用 120,因为可使用任何合适的技术和/或组件来尝试访问网络应用120。网络应用120随后可评估从客户机设备110所接收的设备声明。在图3中描绘了可通过其来执行评估的示例过程300。在过程300的开始处,在动作310中网络应用120接收设备声明。在动作320中, 网络应用120确定该设备声明是否是由向其发放设备声明的设备提供的。可执行这一步骤来阻止恶意行为者在尝试访问网络设备时伪装成特定设备。对设备声明是由向其发放该设备声明的设备所提供的验证可以用各种方式中的任一种来执行。在某些实施例中,如上所述,网络应用可通过检查由DSTS130所发放的X. 509证书来确认设备声明以便将设备声明绑定到客户机设备。如果网络应用120不能验证设备声明是由向其发放该设备声明的设备所提供的, 则过程300前进至动作360,其中网络应用向客户机设备通知访问没有被授权。过程300随
后完成。相反,如果网络应用120验证设备声明是由向其发放该设备声明的设备所提供的,则过程300前进至动作330,其中网络应用120确定设备声明是否已期满。在这一方面, 尽管客户机设备可采用与访问网络应用的多个尝试相关的一组给定设备声明,但在某些实施例中,设备声明可具有规定期满(例如,发放后特定小时数,和/或某些其他基于条件的期满)。例如,由于设备声明本质上可以是上下文的(例如,它们可与设备的状态、其物理位置有关、客户机设备是否安装了特定软件补丁等有关),在发放之后的某些时候它们的准确性可变得有问题。如果网络应用120确定设备声明(或其子集)已期满,则过程300前进至动作360, 其中网络应用向客户机设备通知访问没有被授权。网络应用120可例如向客户机设备110 通知应获取新设备声明。过程300随后完成。如果网络应用120确定设备声明没有期满,则过程300前进至动作340,其中对设备声明或为该设备声明建立的到其的绑定的客户机身份是否已被撤销作出确定。在这一方面,设备声明可出于多种原因中的任一种而由DSTS撤销,并且由此在它们期满之前变成无效。例如,由DSTS所实现的策略中的改变、客户机设备的状态和/或特征中的改变、或任何其他原因可导致DSTS撤销设备声明。客户机的身份(例如,经由与设备声明一起发放的证书来指定)也可被撤销,使得向该身份所发放过的任何设备声明变成无效。对客户机设备的身份和/或设备声明是否已被撤销的确定可以用多种方式中的任一种来执行。在一个示例中,网络应用可查询向客户机设备发放设备声明的DSTS(在图 1中所述的示例中为DSTS 130),以使用在线证书状态协议(OCSP)或任何其他合适的协议或技术来验证客户机设备的身份和/或设备声明未被撤销。在动作340中如果网络应用120确定设备声明或为该设备声明建立的对其的绑定的客户机身份已被撤销,则过程300前进至动作360,其中网络应用向客户机设备通知访问没有被授权。在某些实施例中,网络应用可指示客户机设备应获取一组新的设备声明。过程300随后完成。在动作340中如果网络应用120确定设备声明和客户机身份没有被撤销,则过程 300前进至动作350,其中对设备声明是否提供授予访问的足够基础作出确定。这一确定可基于多种因素中的任一种。例如,网络应用120可由于设备声明中的信息不满足一个或多个预先确定的准则来确定设备声明是不足的。例如,特定声明可能丢失(例如,指示反病毒软件没有安装、恶意软件在客户机设备110上执行等),一个或多个声明值可能是不令人满意的(例如,指示特定安全补丁丢失和/或诸如BitLocker等特定安全措施没有在客户机设备110上激活),和/或出于其他原因而不满足预先确定的准则。网络应用120可以用多种方式中的任一种来评估在设备声明中所提供的信息以确定它们是否提供授予访问的足够基础。如果设备声明没有提供授予访问的足够基础,则过程300前进至动作360,其中网络应用120向客户机设备通知访问没有被授权。在某些实施例中,网络应用120可指示客户机设备110和/或其用户如何补救该缺陷。例如,网络应用120可指示客户机设备110向其用户呈现对访问为何没有被授权的原因的指示,以便用户可帮助补救。在这一方面,客户机设备110可包括用于获取可帮助用户补救该缺陷的信息的编程逻辑。例如,如果从网络应用120所接收的信息本质上是技术性的(例如,按照用户可能不能容易地理解的错误代码来表达),则客户机设备110可(例如,通过查询DSAP服务器)检索更容易理解的信息。 这一信息可包括例如,指导性文本、带有附加信息的站点URL等。例如,可向用户呈现文本以指示他/她安装DSTS期望要安装的最新近的反病毒补丁等,以使得用户可采取行动来补救设备声明的缺陷。然而,应理解并非本发明的所有实施例都依赖于用户采取行动来补救缺陷。例如,在某些实施例中客户机设备110可执行用于自动地补救缺陷的编程逻辑。本发明各实施例可以用多种方式中的任一种来实现。在完成动作360之后,过程300随后完成。在动作350中,如果确定设备声明提供授权访问的足够基础,则过程300前进至动作370,其中访问被授权。过程300随后完成。再次参考图1,在向客户机设备110授予访问之后,网络应用120可处理设备声明。 这样的处理可涉及使用设备声明中的信息来执行多种功能中的任一种,包括与安全有关的功能和非安全有关的功能。例如,设备声明中描述客户机设备110的特征或能力的信息可由网络应用120用于驱动具体的应用功能,以便定制输出来适合那些特征或能力等。本发明各实施例不限于以任何特定的方式来使用设备声明中所提供的信息。在某些实施例中,图1的示例过程可稍被更改,因为客户机设备可能不直接与网络应用进行通信,相反可通过中介与网络应用进行通信。在这一方面,图1描绘了接入网关 125,在某些实施例中该接入网关125可与客户机设备110通信,例如,以从客户机设备110 接收对访问网络应用120的请求(以上讨论的如由箭头152指示的),对访问请求作出响应 (以上讨论的如由箭头巧4指示的),和/或从客户机设备110接收设备声明(以上讨论的如由箭头162指示的)。诸如接入网关等中介在例如网络应用120不支持或以其他方式被不适合地配置成处理设备声明的情况下可能是有用的。例如,申请人认识到,某些传统网络应用可能不能够处理设备声明,并且启用该能力必需的重新配置可涉及使网络应用可用的实体的重大投资。由此,中介可为网络应用120提供“启用声明的”前端以处理设备声明中所提供的信息。中介进行的处理可包括各种功能中的任一种,包括但不限于与安全有关的那些功能。作为一个示例,中介可处理设备声明以作出访问控制决定,并且仅将来自被授予访问权的客户机设备的信息传递到网络应用120。作为另一示例,中介可预处理设备声明以将其变换成网络应用被配置成消费的形式,以使得该应用随后可在执行特定功能中使用该信息。 计算机编程领域的技术人员可为图1的示例系统中的中介构想多种使用,并且本发明各实施例不限于任何特定实现。采用中介的某些示例实现以及由此执行的功能在2010年6月 24 日提交的、题为 “Trusted Intermediary For Network Layer Claims-Enabled Access Control (用于网络层启用声明的访问控制的受信中介),,的共同转让的美国专利申请序列号12/822,745中公开,其通过引用整体结合于此。如上所述,客户机设备可潜在地从诸如客户机设备和/或网络应用与其具有信任关系的多个DSTS中的任一个获取设备声明。为阻止每一 DSTS在发放设备声明中所使用的策略中的不一致性,本发明的某些实施例提供每一 DSTS订阅的一致策略方案。例如,在某些实施例中,所有设备声明发放策略可以是这样的一个DSTS可比其他DSTS对客户机设备施加更为限制性的要求,但没有DSTS实现客户机设备只有通过违反另一 DSTS所实现的策略来满足的策略。例如,为了要发放特定设备声明而要求客户机设备不应在前一周安装软件补丁的一个DSTS可被阻止,而另一 DSTS规定客户机设备为了要发放设备声明只可具有特定天数的遗漏软件补丁。在某些实施例中,通过在附加条款中表达条件来避免策略冲突, 尽管本发明各实施例不限于这一方面,因为如果策略一致性不是一优先级则可采用任何合适的方案或根本不采用任何方案。应理解,尽管图1的示例系统采用DSTS来执行与向客户机设备提供设备声明相关联的处理,但本发明各实施例不限于这样的实现。可另选地使用任何一个或多个合适的组件,该组件可包括或可不包括DSTS。例如,如在以上参考题为“Trustworthy Device Claims for Enterprise Applications (用于企业应用的可信设备声明)”的序列号XX的共同转让的美国专利申请中所述的,与生成和发放设备声明相关联的处理的部分可由证明服务器来执行。其他实施例可以根本不采用DSTS,而可采用其他组件来生成和/或发放设备声明。 由于本发明各实施例不限于这一方面,因此可采用任何合适的组件配置。用于实施本发明的各特征的系统和方法的各个方面可被实现在一个或多个计算机系统上,诸如图4中示出的示例性计算机系统400。计算机系统400包括输入设备402、 输出设备401、处理器403、存储器系统404和存储406,这些设备全都经由可包括一个或多个总线、交换机、网络和/或任何其他合适互连的互连机制405来直接或间接地耦合。输入设备402从用户或机器(如,人类操作者)接收输入,并且输出设备401向用户或机器(如, 液晶显示器)显示或传送信息。输入和输出设备主要可用于呈现用户界面。可被用来提供用户界面的输出设备的示例包括用于输出的视觉呈现的打印机或显示屏和用于输出的可听呈现的扬声器或其他声音生成设备。可被用于用户界面的输入设备的示例包括键盘和诸如鼠标、触摸板和数字化输入板等定点设备。作为另一示例,计算机可以通过语音识别或以其他可听格式来接收输入信息。处理器403通常执行被称为操作系统(例如,微软Windows系列操作系统或任何其他合适的操作系统)的计算机程序,操作系统控制其他计算机程序的执行并提供调度、 输入/输出以及其他设备控制、会计、编译、存储分配、数据管理、存储器管理、通信以及数据流控制。笼统而言,处理器和操作系统定义为其编写应用程序和其他计算机程序语言的计算机平台。
处理器403还可执行一个或多个计算机程序以实现各种功能。这些计算机程序语言可以用任何类型的计算机程序语言来编写,包括过程程序设计语言、面向对象的程序设计语言、宏语言、或它们的组合。这些计算机程序可存储在存储系统406中。存储系统406 可将信息保持在易失性或非易失性介质上,并可以是固定的或可移动的。在图5中更详细地示出了存储系统406。存储系统406可包括有形计算机可读和可写非易失性记录介质501,其上存储有定义计算机程序或要由该程序使用的信息的信号。记录介质例如可以是盘存储器、闪存、和 /或可用于记录和存储信息的任何其它制品。通常,在操作中,处理器403使得数据从非易失性记录介质501读入允许处理器403比对介质501进行的更快的信息访问的易失性存储器502(如,随机存取存储器,即RAM)中。如图4所示,存储器502可位于存储系统406中或位于存储器系统404中。处理器403 —般操纵集成电路存储器404、502内的数据,然后在处理完成之后将这些数据复制到介质501中。已知有各种机制可用于管理介质501和集成电路存储元件404、502之间的数据移动,并且本发明不限于当前已知的或以后研发的任何机制。本发明也不限于特定的存储器系统404或存储系统406。描述了本发明的至少一个实施例的若干方面,可以理解,本领域的技术人员可容易地想到各种更改、修改和改进。这样的更改、修改和改进旨在是本发明的一部分,且旨在处于本发明的精神和范围内。因此,上述描述和附图仅用作示例。可以用多种方式中的任一种来实现本发明的上述实施例。例如,可使用硬件、软件或其组合来实现各实施例。当使用软件实现时,该软件代码可在无论是在单个计算机中提供的还是在多个计算机和/或系统之间分布的任何合适的处理器或处理器的集合上执行。尽管可使用以任何适合的格式的电路来实现处理器,但这样的处理器可被实现为集成电路,集成电路组件中具有一个或多个处理器。应当理解,执行此处描述的功能的任何组件或组件的集合一般可被认为是控制上述功能的一个或多个控制器。一个或多个控制器可以用众多方式来实现,诸如用专用硬件、 或通过采用使用执行上述功能的微码或软件来编程的一个或多个处理器。在控制器存储或提供数据以供系统操作的情况下,这些数据可以存储在中央储存库中、多个储存库中、或其组合。还应当理解,计算机可以用多种形式中的任意一种来具体化,诸如机架式计算机、 台式计算机、膝上型计算机、或平板计算机。另外,计算机可以具体化在通常不被认为是计算机但具有合适的处理能力的设备中,包括个人数字助理(PDA)、智能电话、或任何其他合适的便携式或固定电子设备。同样,计算机可以具有一个或多个输入和输出设备。这些设备主要可被用来呈现用户界面。可用于提供用户界面的输出设备的示例包括用于输出的视觉呈现的打印机或显示屏和用于输出的可听呈现的扬声器或其它声音生成设备。可被用于用户界面的输入设备的示例包括键盘和诸如鼠标、触摸板和数字化输入板等定点设备。作为另一示例,计算机可以通过语音识别或以其他可听格式来接收输入信息。这些计算机可以通过任何合适形式的一个或多个网络来互连,包括作为局域网或广域网,如企业网络或因特网。这些网络可以基于任何合适的技术并可以根据任何合适的协议来操作,并且可以包括无线网络、有线网络或光纤网络。
而且,此处略述的各种方法或过程可被编码为可在采用各种操作系统或平台中任何一种的一个或多个处理器上执行的软件。此外,这样的软件可使用多种合适的程序设计语言和/或程序设计或脚本工具中的任何一种来编写,而且它们还可被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。在这方面,本发明可被具体化为用一个或多个程序编码的一个计算机可读介质 (或多个计算机可读介质)(如,计算机存储器、一个或多个软盘、紧致盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或其他半导体器件中的电路配置、或其他非瞬态的有形计算机可读存储介质),当这些程序在一个或多个计算机或其他处理器上执行时,它们执行实现以上讨论的本发明的各实施例的方法。一个或多个计算机可读介质可以是便携的,使得其上存储的一个或多个程序可被加载到一个或多个不同的计算机或其它处理器上以便实现以上讨论的本发明的各个方面。如此处所使用的,术语“非瞬态计算机可读存储介质”只包含可被认为是产品(即,制品)或机器的计算机可读介质。此处以一般的意义使用术语“程序”或“软件”来指可被用来对计算机或其他处理器编程以实现以上讨论的本发明的各个方面的任何类型的计算机代码或计算机可执行指令集。另外,应当理解,根据本实施例的一个方面,当被执行时执行本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以按模块化的方式分布在多个不同的计算机或处理器之间以实现本发明的各方面。计算机可执行指令可以具有可由一个或多个计算机或其他设备执行的许多形式, 诸如程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,在各实施例中,程序模块的功能可以视需要组合或分布。而且,数据结构能以任何合适的形式存储在计算机可读介质中。为简化说明,数据结构可被示为具有通过该数据结构中的位置而相关的字段。这些关系同样可以通过对各字段的存储分配传达各字段之间的关系的计算机可读介质中的位置来得到。然而,可以使用任何合适的机制来在数据结构的各字段中的信息之间建立关系,包括通过使用指针、标签、 或在数据元素之间建立关系的其他机制。本发明的各个方面可单独、组合或以未在前述实施例中具体讨论的各种安排来使用,从而并不将其应用限于前述描述中阐述或附图中所示的组件的细节和安排。例如,可使用任何方式将一个实施例中描述的各方面与其他实施例中描述的各方面组合。同样,本发明可被具体化为方法,其示例已经提供。作为该方法的一部分所执行的动作可以按任何合适的方式来排序。因此,可以构建各个实施例,其中各动作以与所示的次序所不同的次序执行,不同的次序可包括同时执行某些动作,即使这些动作在此处描述的各说明性实施例中被示为顺序动作。在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要求元素本身并不意味着一个权利要求元素较之另一个权利要求元素的优先级、先后次序或顺序、 或者方法的各动作执行的时间顺序,而仅用作将具有某一名字的一个权利要求元素与(若不是使用序数词则)具有同一名字的另一元素区分开的标签以区分各权利要求元素。同样,此处所使用的短语和术语是出于描述的目的而不应被认为是限制。此处对 “包括”、“包含”、或“具有”、“含有”、“涉及”及其变型的使用旨在包括其后所列的项目及其等效物以及其它项目。
权利要求
1.一种供在包括网络应用(120)和客户机设备(110)的系统中使用的方法,所述方法包括(A)与所述网络设备(120)具有信任关系的设备状态令牌服务(130)从所述客户机设备(110)接收(158)描述所述客户机设备的特征和/或状态的信息;(B)处理所述信息以标识要向所述客户机设备发放的设备声明;(C)生成在(B)中所标识的设备声明;(D)向所述客户机设备发放(160)在(C)中所生成的设备声明。
2.如权利要求1所述的方法,其特征在于,所述设备状态令牌服务还与所述客户机设备具有信任关系。
3.如权利要求1所述的方法,其特征在于,还包括,在(A)之前所述设备状态令牌服务向客户机设备提供所述客户机设备能用于收集(A)中所提供的信息的策略和/或脚本;以及接收经由所述策略和/或脚本的执行所生成的结果,所述结果包括由所述客户机设备上的受信平台模块(TPM)组件所生成的信息。
4.至少一种其上具有编码的指令的计算机可读存储介质(501),当所述指令由包括客户机设备(110)和网络应用(120)的系统中的所述客户机设备(110)执行时执行一种方法,所述方法包括(A)请求(152)对所述网络应用(120)的访问;(B)接收(210)对被所述网络应用信任来发放设备声明的一个或多个设备状态令牌服务的指示;(C)从(B)中所指示的一个或多个设备状态令牌服务之中选择(220)被所述客户机设备信任来发放设备声明的设备状态令牌服务;(D)向(C)中所选择的设备状态令牌服务传递(MO)发放描述所述客户机设备的特征和/或状态的设备声明的请求。
5.如权利要求4所述的至少一个计算机可读存储介质,其特征在于,(C)包括从所述一个或多个设备状态令牌服务中选择所述客户机设备与其具有预先存在的信任关系的设备状态令牌服务。
6.如权利要求4所述的至少一个计算机可读存储介质,其特征在于,(C)包括从所述一个或多个设备状态令牌服务中选择满足预先确定的准则的设备状态令牌服务。
7.如权利要求4所述的至少一个计算机可读存储介质,其特征在于,还包括,在(D)之后,接收所发放的设备声明;以及结合访问所述网络应用的请求来采用所发放的设备声明。
8.一种包括至少一个处理器G03)的系统,所述处理器被编程为(A)从客户机设备接收(310)—个或多个设备声明;(B)确定(320、330、340)所述一个或多个设备声明是有效的且真实的;(C)如果在(B)中确定了所述一个或多个设备声明是有效的且真实的,则评估(350)所述一个或多个设备声明以确定是否应向所述客户机设备授予对网络应用的访问;(D)如果在(C)中确定了访问应被授予,则授予(370)所述客户机设备对所述网络应用的访问。
9.如权利要求8所述的系统,其特征在于,(A)一 (D)的至少一子集由所述网络应用来执行。
10.如权利要求8所述的系统,其特征在于,还包括,如果确定了访问不应被授予,则指示所述客户机设备为了访问被授权而采取的步骤,所述指示包括向所述客户机设备提供与补救所述设备声明中导致在O)中确定访问不应被授权的缺陷有关的信息。
全文摘要
本发明公开了作为服务的可信设备声明。本发明各实施例使得可信设备声明的发放作为服务对各客户机设备可用,使得向其发放设备声明的客户机设备可与访问网络应用的尝试相关地使用设备声明。该服务可进行对该设备的特征和/或状态的评定,将这一评定的结果表征在设备声明中,并且向该设备发放设备声明。该服务可由客户机设备从使网络应用可访问的实体的管理边界外部访问,并且由此对于使网络应用在商业至消费者(B2C)和商业至商业(B2B)拓扑结构中诸如通过可公开访问的因特网可访问的实体可以是有用的。
文档编号H04L29/06GK102404315SQ20111030869
公开日2012年4月4日 申请日期2011年9月29日 优先权日2010年9月30日
发明者D·艾伦, E(J)·尼斯塔德特, K·E·艾哈迈德, M·诺瓦克, Y·亚苏尔, Y·托尔 申请人:微软公司