专利名称:用于基于凭证的访问控制的支持语句的制作方法
用于基于凭证的访问控制的支持语句 发明领域本发明一般涉及访问控制,尤其涉及在分布式访问控制系统中的基于凭证 的访问控制。发明背景计算环境可包含各种实体和资源。实体可包括用户、操作系统、应用程序、 过程、线程、对象等。资源可包括信息、文件、网络连接、对象的属性和方法 等。通常,当一个实体("客户机")想访问由另一实体("服务器")所拥 有或管理的资源时,该客户机向该服务器发出一个访问请求。服务器可以使用 管理该资源的程序("资源管理器")来决定是否准许该访问请求。决定过程 通常被称为访问控制过程。资源管理器可以通过咨询预先配置的针对该资源的 访问策略("使用策略")来作出决定。资源管理器、资源及相关联的使用策 略可以被认为是服务器的几个部分。资源管理器和相关联的使用策略构成访问 控制系统。传统的访问控制系统就哪个实体能访问一资源而言往往是静态且封闭的。 在这类访问控制系统中,客户机通常是服务器本地已知的经认证的实体,并且 作出决定所需的信息通常可以在服务器上本地获得。因此,服务器需要本地管 理访问控制的整个复杂体系并且不能将某些管理工作委托给其它实体。诸如因特网等分布式且动态的计算环境的发展使静态和封闭的访问控制 系统变得不足。例如,不是服务器本地已知的实体可能会请求访问服务器上的 资源。该实体可以为资源管理器提供可供在其决定过程期间使用的信息。由实 体提供的信息可以是对来自服务器的在准许实体所请求的访问之前要求该实 体证明的命题的回复。这一回复又称为证明。实体可将凭证语句随访问请求一 起提供。凭证语句提供用于标识该实体的身份的信息。凭证语句可包括的不止
是用于帮助确定该实体的身份的认证信息。凭证语句还可包括附加策略语句。 因为策略语句的可靠性和完整性可以用当前的密码技术来确保,资源的所有者 可以远程创作策略语句并将这些策略语句提供给客户机。随后,客户机可以向 资源的资源管理器给出这些策略语句。随后,资源管理器可以检查这些策略语 句的真实性并向资源所有者咨询。最终,资源管理器可以用与在策略语句中表 达的资源所有者的意图相符的方式提供访问。通过受密码保护的语句远程地配置策略的能力为访问控制系统提供许多 背离传统的封闭和静态模型的机会。例如,客户机可以提出由一实体创作的证 明该客户机是预先确定的组的成员的语句。客户机还可以提出由资源所有者创 作的陈述根据该实体、组的成员可以访问该资源的语句。这些语句在一起意味 着客户机应该能访问该资源。在这样一个例子中,资源管理器可能对证明该客 户机是被认证的组的成员的实体没有先验知识。资源管理器也可能预先并不知 道资源所有者已将仅针对此特定访问控制决定的证明能力委托给该实体。诸如ISO权限表达式语言(XrML 2.x)和委托逻辑等某些方法以逻辑的 形式表示诸语句以使得能从语句本身符号地计算该访问控制决定。更具体而 言,这些方法的基础在于谓词演算,并且它们对根据所有者的意图是否应准许 访问的计算过程等效于找到证明。基于证明的方法有几个优点。最重要的优点 是它提供了访问为什么应被准许的数学可验证的理由。另一优点是不需要将表 达式的涵义翻译成其它某种形式以揭示所有者的意图;推理可以在表达式层面 本身进行。为了使各种委托情景能够实现,资源管理器需要处理由客户机提供的语句 并决定是否准许所请求的访问。为了允许多个语句以可升级且可管理的方式隐 含访问,资源管理器需要对由客户机提供的语句中的隐含的涵义及固有的意图 进行推理。这一推理过程可以称为"计算证明"或"定理证明"。然而,定理证明的过程可能会变得很麻烦。声明性授权系统与诸如Prolog 等声明性编程语言密切地对齐。定理证明在计算上等效于如C++、 C弁或Java 等的较常用的编程系统的命令语义。因此,定理证明可用于将任意计算问题即 任意计算机程序编码。因此,存在着能多快地计算证明的理论限制。例如,对于全谓词演算,在最差的情形中,现有算法不能保证在计算证明时会终止,正 如在C十+、 C弁等中存在不能解答的问题那样。因此,由于这类问题,对访问控 制的决定可能永远都达不到。开放式结尾可能会将资源管理器曝露于对手的攻 击。例如,客户机能建立假断言来使资源管理器陷入计算证明的艰巨任务,包 括构造大小无限的证明。假断言还可包括资源管理器花费无限量的时间和/或空 间来推断证明不存在。当资源管理器进入无穷尽的计算时,资源管理器不得不 拒绝对其它实体进行服务。这类情形称为拒绝服务式攻击,它能中断网络路由 服务并使网络不可操作。因此,需要减轻资源管理器的繁重的证明计算以避免诸如拒绝服务式攻击 等由无穷尽的计算带来的负面后果。发明概要本发明通过提供支持语句,即帮助构造用于安全而高效的验证的证明的附 加断言来解决上述需求。附加断言使资源管理器能检査并验证证明而非计算证 明。本发明的一个方面提供一种系统,包括服务器组件、客户机组件、以及 --个或多个支持语句,即附加断言。服务器组件是拥有或管理资源的任何实体。 资源与规定谁能访问该资源的使用策略相关联。客户机组件是任何请求访问资 源的实体。可以将一个或多个实体("辅助客户机")补充到该系统中。客户 机组件和/或辅助客户机向服务器组件提供诸如凭证语句和/或附加断言等信 息。凭证语句标识客户机组件的身份。凭证语句还可包括诸如证明客户机组件 是预先确定的组中的成员的语句等由辅助客户机中的任何一个提供的授权语 句。客户机组件可以不是服务器组件所信任的实体。只要服务器组件能验证得 自由客户机组件提供的信息的证明是正确的,服务器组件就将向该客户机组件 准许所请求的访问。该一个或多个断言被用于指示如何构造论证客户机组件应被准许所请求 的访问的证明。该一个或多个断言可以由服务器组件提供并被客户机组件用于 构造论证所请求的访问应被准许的证明。或者,客户机组件可以向服务器组件
提供一个或多个断言和凭证语句,该服务器组件随后构造论证该访问请求应被 准许的证明。断言可以向变量赋值,或证明凭证或使用策略语句之一中的前提 子句。根据本发明的一个方面,该一个或多个断言可以指示如何构造决定所请 求的访问是否应被准许所需的证明的仅一部分而非全部。本发明的另一个方面提供一种方法,在该方法中,服务器组件在接收到来 自客户机组件的访问请求之际向客户机组件发送一个命题。该命题包括帮助客 户机组件构造论证该客户机应被准许所请求的访问的证明的附加断言。本发明的又一方面提供一种方法,在该方法中,客户机组件将访问请求随 凭证语句和附加断言一起发送给服务器组件。附加断言向服务器组件指示如何 使用凭证语句来推导是否准许所请求的访问的结论。无论是由客户机组件还是服务器组件提供附加断言,服务器组件均将检査 应用附加断言所得出的证明并判定该证明是否正确。如果证明是正确的,则该 访问请求将被准许。否则,该访问请求将被拒绝。总而言之,本发明通过给出 支持语句,即帮助安全而高效地构造并验证证明的附加断言,来减轻由证明的 繁重计算所带来的问题。因此,本发明将资源管理器的任务精简成简单地检查 证明的有效性而不是计算证明来决定是否准许所请求的访问。附图简要说明结合附图参照以下的详细说明更好地理解本发明后,本发明的上述方面和 许多随附优点将变得更容易了解,在附图中
图1是示出用于实现本发明的诸方面的示例性系统的框图; 图2是示出一个示例性使用策略语句的文本图; 图3是示出由客户机提供的示例性凭证语句的文本图; 图4是示出帮助访问请求的证明的示例性附加断言的文本图; 图5是示出作为将图2中所示的使用策略语句、图3中所示的凭证语句以 及图4中所示的附加断言整合的结果的示例性整合语句的文本图; 图6是示出服务器处理访问请求的示例性例程的流程图;以及 图7是示出客户机寻求访问服务器上的资源的示例性例程的流程图。
优选实施例的详细说明图1是示出实现本发明的诸方面的示例性系统100的框图。如图1中所示, 系统100包括服务器102组件("服务器")和客户机104组件("客户机"), 并可任选地包括一个或多个辅助客户机112。服务器102包括至少一个资源106 以及规定谁能访问资源106的相应使用策略108。服务器102还可包括检查由 客户机104和/或辅助客户机112提交的访问请求和凭证118的资源管理器110。 客户机104是任何请求访问服务器102上的资源106的实体。可以将一个或多个辅助客户机112补充至系统100。辅助客户机112可以 向服务器102或向客户机104提供信息。例如,如果客户机104是公司,则辅 助客户机U2可以该公司的子公司或合伙方。在本发明的示例性实施例中,辅 助客户机12可以有其自己的合作方,每一合作方也可有它自己的合作方,以 此类推。所有不同层次的合作方被集总地认为是辅助客户机U2。客户机104向资源管理器110发送访问请求和/或用于访问资源106的凭 证118。凭证即凭证语句用于证明客户机104具有访问资源106的资格。凭证 语句可以由客户机104和/或一个或多个辅助客户机112提供。辅助客户机112 可以向客户机104或直接向服务器102发送凭证语句。资源管理器处理所接收 的访问请求以及凭证U8并根据使用策略108决定是否要准许所请求的访问。 资源管理器随后将关于访问请求的决定120发回给客户机104。更重要地,在本发明的示例性实施例中,系统IOO还包括附加断言114。 附加断言可以由客户机104和/或一个或多个辅助客户机112向服务器102提 供。在这一情形中,附加断言114将向资源管理器110指示如何处理所接收的 凭证以满足由使用策略108规定的要求。在本发明的某些示例性实施例中,附 加断言114可以在资源管理器110接收到来自客户机104的访问请求之际由资 源管理器110向客户机104提供。客户机104使用附加断言114来构造用于请 求对资源106的访问的证明。附加断言114使资源管理器110免于计算用于决 定是否准许访问请求的证明。作为代替,附加断言114使得资源管理器能只检 査证明的正确性。图4示出示例性附加断言并将在稍后详细说明。 系统100只是说明本发明适用的情形的示例性实现。系统100的组件可以存在于单个计算机系统上或分布在网络上。 一般而言,系统100可存在于诸如 服务器102等组件需要诸如客户机104等另一组件提供信息来作出诸如准许所 请求的对资源106的访问的决定120等的决定的任何上下文中。这一上下文包 括例如服务器机器对另一服务器机器、客户机机器对另一客户机机器、同一机 器内的两个实体、以及受信任的网络内的两个不同的进程。总而言之,本发明 适用于一个实体需要来自另一实体的信息来作出决定的任何情形。本发明的示例性实施例使用以逻辑形式而不仅仅是数据形式来表示使用 策略、凭证语句和断言的访问控制语言D在分布式访问控制系统中,客户机104 可以委托多层的辅助客户机112来发出请求对资源的访问所需的凭证语句。如 果数据被用于凭证语句,则在从一个实体向另一实体传送数据的每一层,均需 要检査和计算数据的涵义。另一方面,如果以逻辑格式表示凭证语句,则该分 布式访问控制系统将能平滑而无限地升级,因为凭证语句的表达式揭示固有的 涵义。在本发明的示例性实施例中,诸如使用策略语句和凭证语句等的语句采用 在许多访问控制语言中广泛使用的三个概念。第一个概念是在策略语句中使用 变量。例如,资源106的使用策略108可以宣称"Parama可读取X",其中变 量"X"表示全局量化变量,即变量X可以取任何值。策略语句还可包括限定 变量X可以取的值的约束。例如,使用策略108可以宣称"Parama可读取X, 其中X是文本文件"。本发明中的语句所使用的第二个概念是策略语句具有规 定谁能授权用于访问资源的凭证语句或断言的能力。例如,使用策略108可以 宣称"acme.com能作出允许访问资源106的断言"。本发明的示例性实施例 中的语句还采用第三个概念,该概念允许语句基于其它断言来判定断言。例如, 使用策略108可宣称"根据公司A,如果Parama是公司A雇员,则Parama 可访问资源106"。在本发明的一个示例性实施例中,客户机104和/或一个或多个辅助客户 机112可以拥有相关的凭证语句。或者,凭证语句可以存储在其它某个地方。 然后,只将对凭证语句的引用发送给服务器102。
图2至5示出示例性使用策略语句200、凭证语句300、附加断言400以 及整合了使用策略语句200、凭证语句300和附加断言400的整合语句500。 图2至5中使用的示例性语句表示或组合上述三个概念。图2至5将参照图1 进行说明。这些示例性语句中所使用的实体反映了系统100的示例性组件。例 如,Contosa.com可以是服务器102; Parama可以是请求访问Contosa.com上的 Web服务的客户机104; Fabrikam.com和Fabrikam.com合作方Acme.com可以 是辅助客户机112。图2示出可以由诸如使用策略108等的使用策略提供的一个示例性使用策 略语句200。该使用策略语句200陈述Contosa.com宣称"如果X是由 Fabrikam.com授权的金星成员,则X可访问Contosa.com Web服务"。假定X 是请求访问Contosa.com Web服务的客户机。根据使用策略语句200,如果X 能证明它是由Fabrikam.com授权的金星会员,则X能获得对Contosa.com Web 服务的访问。在诸如系统100等分布式访问控制系统中,当分布的层次增加时,服务器 102可能不知道客户机104。服务器102可以依靠其它实体来作出关于客户机 的语句。因此,服务器102从客户机104接收的凭证语句可包含由包括客户机 104和/或一个或多个辅助客户机112在内的几个实体提供的凭证语句。图3示 出服务器Contosa.com可能从客户机Parama和/或辅助客户机Fabrikam.com和 Acme.com接收的一组凭证语句300。如图3中所示,凭证语句300A陈述 Fabrikam.com宣称"如果X是Fabrikam.com合作方,则X能发出金星成员证 书"。此语句还暗示Fabrikam.com指定Fabrikam.com合作方是谁。凭证语句 300B陈述Fabrikam.com宣称"Acme.com"是Fabrikam.com合作方"。凭证 语句300C陈述Acme.com宣称"Parama是金星成员"。现在假定Parama作出对Contosa.com的访问请求并给出凭证语句300。常 规地,Contosa.com的资源管理器需要读完使用策略语句200和凭证语句300 才能计算关于Parama是否应具有所请求的访问的证明。资源管理器审核每一 凭证语句以判定凭证语句是否适用于使用策略。凭证语句提供使得资源管理器 能作出决定的级联逻辑。如果资源管理器接收到许多凭证语句,则由资源管理
器执行的计算过程的复杂度可能变得不确定,这可能发生在例如为Parama提 供凭证语句的过程中涉及许多层的辅助客户机时。当存在许多凭证语句时,服 务器要以诱导证明的方式来安排凭证语句将变得难以处理。很可能该计算过程 可永不结束。服务器102可能潜在地需要无限的搜索空间,并且不能先验地知 道确定是否准许所请求的访问实际上要花多长时间。本发明的一个方面通过使用相关的凭证语句来提供指示关于如何构造证 明的附加断言来解决这一问题。例如,断言可以向使用策略语句中的一个变量 赋值。断言还可指示使用策略语句中一个前提子句的证明。图4示出示例性客 户机Parama可向示例性服务器Contosa.com提供的示例性附加断言400。如图 4中所示,断言400A陈述在语句#1中用Parama替换X。断言400B陈述 在语句#2中用Acme.com替换X。断言400C陈述使用语句#3来满足语句#6。 断言400D陈述用语句#7来证明语句糾。断言400E陈述使用语句#8来满 足语句#5。附加断言400向Contosa.com的资源管理器建议如何将凭证语句300放在 -起米得出证明。因此,Contosa.com Web服务的资源管理器现在只需要显 式地遵守附加断言400中的指令,而不是面对可能不确定的工作量一通过搜遍 凭证语句300的所有种类的可能后果来确立Parama是否能访问Contosa.com Web服务。附加断言因而使本发明能提供系统而高效的方式来处理使用策略以 及凭证语句以得出证明。图5示出从执行附加断言300中关于使用策略语句200和凭证整合语句 300的指令的Contosa.com的资源管理器得到的集成语句500。如图5中所示, 集成语句500A陈述Contosa.com宣称"如果Parama是由Fabrikam.com授权 的金星成员,贝U parama能访问资源"。整合语句500B陈述Fabrikam.com宣 称"如果根据Fabrikam.com, Acme.com是Fabrikam.com合作方,则Acme.com 能发出金星成员证书"。整合语句500C陈述Fabrikam.com宣称"Acme.com 能发出金星成员证书"。整合语句500D陈述Fabrikam.com宣称"Parama是 金星成员"。因此,整合语句500作出结论Contosa.com宣称"Parama能访 问Contosa.com Web月艮务,,。
因此,示例性服务器Contosa.com的资源管理器能使用附加断言400来以 直接的方式作出Contosa.com已隐式地授权Parama访问Contosa.com Web服务的结论。当应用每一附加断言400时,所有Contosa.com需要检查是否能应用 此断言。换而言之,提出断言的实体不能使Contosa.com做使用策略语句200 和凭证语句300未隐含的事情。可以向服务器或向客户机提供附加断言。在接收到来自客户机或辅助客户 机的附加断言之际,服务器的资源管理器使用附加断言来构造证明,然后检査 该证明而不是计算该证明。在本发明的示例性实施例中, 一旦服务器接收并读 完.组凭证语句和附加断言,服务器就能确定是否准许所请求的访问请求。或者,服务器能向客户机提供附加断言。在接收到来自客户机的访问请求 之际,服务器能用命题回复。该命题可包括指令客户机如何构建针对服务器的 为获得所请求的访问的证明的附加断言。因此,服务器将从客户机接收所需的 证明。服务器所需要做的仅是检査该证明以根据与所请求的资源相关联的使用 策略来确定该证明是否提供有效结论。在本发明的示例性实施例中,服务器不必相信由客户机提供的证明。服务 器可以检查凭证语句和附加断言的真实性。这意味着凭证语句和附加断言不必 来tJ被信任的实体,因为无法欺骗服务器的资源管理器使其相信非证明是证 明。断言请求资源管理器执行的步骤应只创建已隐含的动作,诸如替换使用策 略中的变量。因此,客户机不能骗服务器以诱导服务器得出是假的证明。如果 所提供的附加断言为假,则服务器不能找到证明。附加断言能只帮助服务器作 出证明,但不能骗服务器作出假证明。如果附加断言为假,则服务器将不能得 出证明。这类似于通过迷宫。计算证明就象找到迷宫的出路,这可能很难。相 反,验证给定路径是否是正确的路径要容易得多如果给定路径通向迷宫的出 口,则给定路径是正确的路径。附加断言等效于"给定路径"。 一组给定附加 断言如果使服务器得出证明就是正确的;如果服务器使用该组给定附加断言不 能得出证明,那这组给定附加断言就是不正确的并被忽略。在本发明的示例性实施例中,由服务器或客户机提供的附加断言可能只构 成决定是否准许所请求的访问所需的部分证明而不是全部证明。例如,服务器
可以决定不向任何实体透露其使用策略。相反,服务器只提供隐藏的用户策略所要求的使客户机能证明客户机的身份的附加断言。例如,Contosa.com可决 定不透露使用策略语句200。因此,Contosa.com在客户机并不知道使用策略语 句200的情况下要求示例性客户机Parama证明它是由Fabrikam.com授权的金 星成员。或者,服务器与受到先前提到的定理证明的无穷尽计算的危险的传统 定理证明器相关联。为了消除这一危险,附加断言可用于构造证明的"困难" 部分,留下传统定理证明的一个简单(而安全)的变体来填补这些小空缺。在 这一方法中,定理验证和证明工作一起用于提供证明的安全而表达性的计算。在本发明的一个示例实施例中,图1中示出的服务器102还包括审计组件 116。该审计组件116记录并保存资源管理的用于准许或不准许所请求的访问 的推理过程。由审计组件116记录的信息可以标识资源管理器处理用于得出结 论的推理过程和/或各种语句。因此,审计信息可以不仅揭示谁访问了资源还可 揭示为什么该访问被准许。审计信息可用于分析访问控制系统如何工作、谁请 求了资源、为什么该请求被准许、以及请求如何被准许。例如,审计信息可以 提供Parama已请求对Contosa.com Web服务的访问并且该访问被准许,因为 Parama被证明是由Fabdkam.com授权的金星成员。在本发明的--个示例性实 施例中,审计信息包括所使用的该组附加断言。图6示出一个示例性例程600,其中诸如服务器102等服务器处理访问请 求并得出是否准许该访问请求的决定。具体而言,例程600通过确定服务器是 否已接收到访问请求来开始。见决定框602。如果服务器未接收到访问请求, 则例程600不继续进行。如果服务器已接收到访问请求,则例程600用服务器 在向客户机准许所请求的访问之前要让发送该访问请求的客户机证明的命题 进行回复。见框604。该命题可标识所请求的资源的使用策略。该命题还可包 括用于标识多个使用策略语句之间的关系以及这些使用策略语句中的任何变 量的证明结构。该命题还可包括向客户机指示如何将证明结构实体化的附加断 言。例如,附加断言可向客户机建议如何满足使用策略语句中的条件和/或如何 在使用策略语句中找到变量的具体值。例程600随后响应于该命题等待接收来自客户机的证明。例程600确定它 是否已接收到这一证明。见决定框606。如果对决定框606的回答为否,则例 程600不再继续。如果例程600接收到来自客户机的证明,则例程600继续检 查该证明。见框608。在检查所接收的证明时,例程600确定该证明是否正确。 见决定框610。正确的证明论证该客户机具有访问所请求的资源的权限并且该 证明构成真语句。如果对决定框610的回答为是,即意味着所接收的证明是正 确的,则例程600进而准许该访问请求。见框614。另一方面,如果对决定框 610的回答为否,即意味着所接收到的证明是不正确的,则例程600拒绝该访 问请求。见框612。随后例程600终止。图7示出一个示例性例程700,其中客户机向服务器寻求对访问服务器的 资源的许可。具体而言,例程700从确定客户机是否想访问服务器的资源开始。 见决定框702。如果答案为否,则例程700不再继续。如果客户机想访问服务 器的资源,则例程700向服务器发送访问请求。见框704。随后例程700等待 接收来自服务器的命题。例程700确定是否接收到命题。见框706。如果答案 为否,则例程700不再继续。如果客户机接收到来自服务器的命题,则例程700 进而根据该命令构造证明。见框708。该证明包括满足在命题中规定的要求的 数据和逻辑步骤。如果命题包含指示如何构造该证明的附加断言,则将根据该 附加断言构造该证明。在所接收到的命题不包含附加断言的情形中,所构造的 证明包括标识客户机的身份的凭证语句。所构造的证明还可包括向服务器指示 如何使用所提供的凭证语句来得出是否准许该访问请求的附加断言。例程700 随后向服务器发送所构造的证明。见框710。例程700结束。在本发明的一个 示例性实施例中,如果客户机预先知道服务器需要什么才能作出关于访问请求 的决定,则在向服务器发送访问请求时,客户机还提供所需的凭证语句和附加 断言。从而,服务器不必发送命题。虽然已示出并说明了本发明的优选实施例,但将了解可以在其中进行各种 改变而不会背离本发明的精神和范围。
权利要求
1.一种采用使用包括变量和/或前提子句的逻辑形式的访问控制语言的系统,包括与至少一个资源和相关联的用于访问所述资源的使用策略链接的服务器组件;请求访问所述资源的客户机组件;以及指示如何构造论证所请求的访问应被准许的证明的一个或多个断言。
2. 如权利耍求1所述的系统,其特征在于,所述客户机组件不是所述服 务器组件所信任的实体。
3. 如权利要求l所述的系统,其特征在于,还包括至少一个辅助客户机, 所述辅助客户机是为所述客户机组件提供信息的任何实体。
4. 如权利要求3所述的系统 息都被接收到之后才被构造。
5. 如权利要求1所述的系统值替换变量。
6. 如权利要求1所述的系统 明至少一个前提子句。
7. 如权利要求1所述的系统 归证明前提子句。
8. 如权利要求1所述的系统 何构造论证所请求的访问应被准许的证明的仅一部分。
9. 如权利要求1所述的系统,其特征在于,所述一个或多个断言被所述 客户机组件用于构造论证所请求的访问应被准许的证明。
10. 如权利要求1所述的系统,其特征在于,所述一个或多个断言被所述 服务器组件用于构造论证所请求的访问应被准许的证明。
11. 如权利要求l所述的系统,其特征在于,所述服务器组件还包括记录 所请求的访问为何被准许或拒绝的审计组件。,其特征在于,所述证明仅在所有必需的信 ,其特征在于,所述一个或多个断言指示用 ,其特征在于,所述一个或多个断言指示证 ,其特征在于,所述一个或多个断言指示递 ,其特征在于,所述一个或多个断言指示如
12. 如权利要求11所述的系统,其特征在于,所述审计组件记录所述证明。
13. 如权利要求l所述的系统,其特征在于,所述服务器组件从由所述客 户机组件和至少一个辅助客户机构成的组中选择的提供者接收至少一个关于 所述客户机组件的凭证语句。
14. 如权利要求l所述的系统,其特征在于,所述凭证语句被存储在所述 提供者以外的位置处,且所述提供者在向所述服务器组件提供所述凭证语句时 参考所述凭证语句。
15. —种用于在与和使用策略相关联的资源相关联的实体("服务器") 与请求访问所述资源的实体("客户机")之间通信的计算机实现的方法,包 括在所述服务器从所述客户机接收到对访问所述资源的请求之际,所述服务 器向所述客户机发送一命题,所述命题包括帮助所述客户机构造论证所述客户 机应被准许所述访问请求的证明的附加断言;在接收到所述证明之际,所述服务器检査所述证明; 如果所述证明是正确的,则所述服务器准许所述访问请求;以及 如果所述证明是不正确的,则所述服务器拒绝所述访问请求。
16. 如权利要求15所述的计算机实现的方法,其特征在于,还包括 在接收到来自所述服务器的命题之际,所述客户机使用包括在所述命题中的附加断言来构造所述证明。
17. —种用于在与和使用策略相关联的资源相关联的实体("服务器") 与请求访问所述资源的实体("客户机")之间通信的计算机实现的方法,包 括所述客户机向所述服务器发送访问请求以及凭证语句和一个或多个附加断 言,其中一个或多个附加断言向所述服务器指示如何构造论证所请求的访问应被准许的证明。
18. 如权利要求17所述的计算机实现的方法,其特征在于,由所述客户 机或所述服务器以外的实体提供任何所述凭证语句和所述一个或多个附加断曰o
全文摘要
提供支持语句以帮助安全而高效地构造和验证决定是否准许来自一个实体的对访问由另一实体所拥有或管理的资源的请求所需的证明。
文档编号H04L9/32GK101164277SQ200680013400
公开日2008年4月16日 申请日期2006年4月20日 优先权日2005年4月22日
发明者C·F·罗斯三世, M·帕拉玛斯万姆, N·帕耶特 申请人:微软公司