通过凭证的逐步到期来提供联合认证服务的系统和方法

文档序号:6596067阅读:175来源:国知局
专利名称:通过凭证的逐步到期来提供联合认证服务的系统和方法
技术领域
本发明涉及在计算机网络上的用户认证服务、更特别地是在联合认证范例范围内的用户认证服务的领域。
背景技术
联合认证是设计来改善网络应用环境的可管理性和用户体验的服务架构,该网络应用环境工作在用户集与应用集之间的多对多关系下。联合认证平台在实践中的表现是执行单点登录(SSO)的能力,即,允许用户登录到多个网络应用,而无需在每次跨越不同管理域之间的虚拟边界时输入凭证(credential)。联合认证的中心概念是将各种服务提供者(这些服务提供者可以体现为各个服务器,或体现为同一服务器上的不同应用)聚类成依赖于共同身份提供者的联邦 (federation)。来自新用户的任何认证请求均由发布“凭据(ticket) ”的共同认证者处理。 该凭据构成共同认证者对该用户身份的断言(assertion),以及在某些实施例中构成共同认证者对该用户访问联邦内的服务的关联权限的断言。凭据可以随后呈现给同一联邦内的不同服务提供者。凭据具有有限的使用期限;凭据可以自动地到期(在预定的一段时间到期之后),或由于明确的行为(例如,用户从联邦退出,或由共同认证者发起撤消凭据)而到期。这样的凭据到期区别于在特定服务器上的登录会话的到期,登录会话的到期需要用户重新登录。现有技术中已知联合认证方案的若干变体。例如,美国专利6,668,322 (US 6668322 B(W00D、DAVID等人))公开了使用安全凭证的访问管理系统及方法。该方法包括借助于登录凭证来认证终端用户(客户机(client));以及发布可被用来得到对多个信息资源的访问的、加密保护的会话凭证,由此,这样的验证不需要知道生成该会话凭证所用的密钥。这种加密保护会话凭证的方式允许如下架构,凭借该架构,集中式的认证基础结构 (infrastructure)发布会话凭证,而应用提供者的分散式云能够自发验证这些会话凭证。 Wood等人还公开了 给予加密保护的会话凭证有限的使用期限。Wood等人还公开了 发布与不同的信任级别关联的不同的加密保护的会话凭证,所述不同的信任级别允许访问不同的信息资源,以显著地提供以更强认证形式保护更敏感资源的可能性。美国专利公开No. 2002/0184507Al(US 2002184507 A(MAK0WER、DAVID 等人)2002-12-05)公开了用于客户机-服务器环境的集中式单点登录方法及系统,更具体而言,该系统和方法专注于超文本传输协议(http)交互,即,“网络单点登录”解决方案。在该架构中,“用户用联合服务器组中的任意一个服务器对自身进行认证,每个联合服务器与中心登录服务器进行通信,使得当前进行会话的用户无需被联邦中其它服务器重新认证”。该方案包括从期望访问的服务器应用(“始发服务器”)到中心登录服务器然后返回始发服务器的http重定向。起初的重定向指令包括由始发服务器生成的询问(challenge)。中心登录服务器首先寻找客户机是否已经建立会话的指示,这可以通过http的“cookie”的存在来作为信号。如果没有会话被预先建立,则中心登录生成新的“cookie”,并将客户机重定向回始发服务器(包括始发服务器的询问与重定向指令)。被重定向的客户机然后将用始发服务器来进行认证(始发服务器保存由此建立的会话的记录),并以安全的方式(使用签名并加密的通信)通知中心登录服务器此会话。该会话具有有限的使用期限。只要会话有效,则会通过关于相关会话标识数据和用来确认已经与至少一个联合服务器建立了有效会话的始发服务器的询问的签名,将来自相同客户机的、对联邦中其它服务器进行访问的任意后续请求将从中心登录服务器重定向到相应的始发服务器。当被通知在任意联合服务器处建立了每个后续会话时,中心登录服务器更新相关客户机的会话的到期时间。反之,中心登录服务器可以依据来自客户机的、由联合服务器中继的请求来主动终止现有会话,并向本地会话仍在进行当中的所有联合服务器传播该终止。在美国专禾Ij7,194,547 (US 7194547 B(M0REH、JAHANSHAH 等人)2007-03-20)中, 公开了允许客户机通过多种认证机制进行认证的联合认证服务。在此架构中,使用协议代理翻译客户机的凭证并将该凭证中继到适当的认证机制,并在成功认证时生成可以被客户机用来访问服务器应用的“名称断言(name assertion) 在根据Moreh等人的方法中,客户机通过联系认证主体并将客户机的相关身份和域传给认证主体(agent),来发起获得对服务器应用的访问的过程。认证主体提供关于认证机制的信息以供客户机使用。然后客户机将用于访问服务器应用的认证请求传递到协议代理。协议代理接收来自客户机的认证请求并将认证请求翻译成适当的认证机制的本地协议。协议代理试图用该认证机制进行认证,且当认证成功时协议代理从该认证机制接收回包括客户机的属性和访问权的响应。然后协议代理创建名称断言,以及可选地创建授权(entitlement),并将该名称断言和授权翻译成传送回客户机的认证响应。名称断言的到期时间可以由客户机、服务器应用、或者认证机制来要求。客户机将该认证响应递送给服务器应用。单点登录系统的基本优点是用户只认证一次。在成功认证到中心单点登录系统之后,中心系统将使用户自动地登录到其它系统。自会话中的最后的用户活动起设定的时间段之后,单点登录系统上的认证会话到期,用户必须重新认证。在许多单点登录系统中,每种认证类型都具有关联的认证信任级别。与这些单点登录系统集成在一起的应用将定义某一所需的认证信任级别。这样的应用的用户在被允许使用此应用之前将需要以所定义的认证信任级别或更高的级别进行认证。

发明内容
技术问题在现有技术的解决方案中,一旦用户已经以一定认证信任级别进行了认证,则在整个单点登录会话期间,该认证信任级别维持不变。只有通过用使用呈现不同信任级别的认证方法的单点登录系统重新进行认证才能提高该信任级别。此方法未充分解决成功认证的安全值随着时间而降低的情况。在现有技术中已知的单点登录系统具有到期时间,该到期时间保护联合系统不受借助于不再处于合法用户的控制之下、或者就加密而言已泄密的单点登录会话的访问(这是一种随时间而增加的风险)。与较早的认证相比,支持不同信任级别的单点登录系统应当对最近的认证具有更多信任。技术方案
本发明基于以下见解通过引入认证信任级别降级可以在多级别单点登录系统中较充分地解决以上描述的安全问题。克服上述问题的思想是在单点登录系统中实现执行认证信任级别降级的算法。 那样,单点登录系统将只允许被认证的用户在当前认证信任级别等于或高于某一资源所需的认证信用级别的情况下访问该资源。即时认证信任级别L(t)将等于或低于初始认证信任级别Ltl,且将基于所设定的认证信任级别降级规则来计算。可以用不同的算法实现此认证信任级别降级。一个这样的算法提供线性降级在该情况下,认证信任级别与自成功认证时起所经过的时间t成比例地下降L (t) = max {0,L0 (1-ct)}另一个这样的算法提供基于阶跃的降级在该情况下,认证信任级别按自成功认证起所经过的时间的函数、按照一个或多个离散台阶下降。在一些实施例中,信任级别降级的步幅或量可以是用户活跃度的函数。例如,如果用户在一定时间段内保持不活动,当前信任级别可以被降级到比当前信任级别低的一定设定级别。本领域技术人员将了解到在不偏离本发明精神的情况下,存在无数能被用来达到相同目的的其它算法。可以以各种方式估算任意给定时刻的信任级别。在一个可能的实施例中,可能在每次接收到认证请求时,在认征服务器处完成估算。此后,认证服务器将以凭据形式返回与活动的会话关联的最当前的信任级别。在另一个可能的实施例中,降级算法为提供资源的服务器所知。相同的认证凭据可以在整个会话中使用,但是该认证凭据随时间的推移变得不太可信,直至信任级别降低到所讨论的资源所需的最低信任级别以下为止,这时该认证凭据可不再被用来获取对所述资源的访问。实现此的混合方式是使认证服务器发布“分层凭据”,该分层凭据的每层是具有一定信任级别和关联的到期时间的凭据,其中,具有较高信任级别的层被设置成比具有较低信任级别的层更快到期。也可以实现双重检查(double check)机制,在双重检查机制中认证服务器和提供资源的服务器二者都根据降级算法执行估算。在特定的实施例中,提供资源的服务器可以应用其自有形式的降级算法。有益效果在现有技术的解决方案中,一旦用户已经以一定认证信任级别进行了认证,则在整个单点登录会话期间,认证信任级别维持不变。凭证的到期时间与由凭证提供的信任级别关联;高信任级别通常与短的到期时间关联,这意味着高级别的认证可能需要频繁的重新认证。本发明提供一种机制,该机制允许无需用单点登录系统重新进行认证地降低信任级别,直至降低到不再足以获得对期望资源的访问的级别为止。在这时,用户才重新进行认证。这样,可以向进行高质量的初始认证的用户提供针对不太敏感的资源具有长使用期限的凭证,而同时,因为这些长期限的认证将相对快速地降级到特定的敏感资源所需的高信任级别以下,所以可将这些敏感资源的安全性保持在高级别。因此,本发明改善了在保护对敏感资源的访问和保持尤其对不太敏感的资源的用户便利性之间的平衡。


本发明的前述和其它特征及优点根据下文对如附图中所示的本发明的多个实施例的更具体的描述将显而易见。图1示出了根据本发明的方法的流程图,示出了由客户机、服务器、单点登录服务及所述服务的认证缓存所执行的步骤。图2示出了根据本发明的方法的协议交互图,示出了客户机10、第一服务器20、单点登录服务30、服务缓存40及第二服务器50的交互。在图1和图2 二者中使用相同的标记以表示相同的或概念上相似的行为和特征。图3示出了提供根据本发明的认征服务器的功能的系统301的示意图。
具体实施例方式在根据本发明的方法中,试图访问服务器20上的被认证系统保护的受保护资源的终端用户10将经历以下步骤。当请求访问资源(101)时,终端用户被重定向(102)到单点登录(SSO)认证服务进行登录。凭借重定向消息(102)和客户机的后续请求(103),系统20将所请求的受保护资源的最低认证信任级别的指示提供给认证服务30。在终端用户10与认证服务30的交互(103)中,终端用户10提供必要的认证凭证。认证服务30验证认证凭证并返回(104a) 认证凭据,该认证凭据包含被认证用户的标识、获得的认证信任级别、唯一的凭据标识符以及可选地包含认证服务的身份或位置。认证服务30将认证凭据的副本保存到其缓存中 (104b)。在下一个步骤105中,终端用户10将此凭据提供给服务器的认证系统20。认证系统20通过认证服务30请求当前认证信任级别来验证此凭据(106)。认证服务30查询其缓存40以检查该认证凭据,这涉及请求(107)和响应(108a)。如果找到凭据,认证服务 30就使用设定的认证信任级别降级规则来计算(108b)指定用户10的认证信任级别,并将认证信任级别返回(109)给认证服务20。如果没有找到凭据,认证服务30就返回(109)认证信任级别为0。这可能是由凭据到期导致的。认证服务20检查当前认证信任级别是否等于或高于所请求的级别,且如果凭据合适,就向终端用户10提供对所请求的资源的访问(110)。针对联邦中的不同资源的后续访问尝试将受益于在较早会话中所执行的认证。设想同一终端用户10尝试访问第二服务器50上的由认证系统保护的另一受保护资源。终端用户10将其较早获得的凭据提供(111)给认证系统50。认证系统50通过认证服务30请求当前认证信任级别来验证此凭据(112)。认证服务30在其缓存中搜索该认证凭据,这涉及请求(11 和响应(114)。如果找到凭据,认证服务30就使用设定的认证信任级别降级规则和其它信息(比如凭据生成时的时间)来计算指定用户10的认证信任级别,并将认证信任级别返回(11 给认证服务50。如果没有找到凭据,认证服务30就返回 (115)认证信任级别为0。这可能是由凭据到期而导致的。认证服务50检查当前认证信任级别是否等于或高于所请求的级别,且如果凭据合适,就向终端用户10提供对所请求的资源的访问(116)。在一种替选方案中,包括凭据的用户请求(101)由服务器20处理,而无需进一步与认证服务器30进行交互。这在凭据为可被本地验证的形式的情况下是可能的;这可能包括如果服务器20与认证服务器30共享加密机密(cryptographic secret),或者如果认证服务器30使用公用密钥基础结构生成凭据时的情况。在此方案中,用户的消息101和105 实际上重合(coincide)。由消息106、107、108a及109表征的交换被服务器20处的本地处理取代,该本地处理包括使用设定的认证信任级别降级规则和其它信息(比如凭据生成时的时间)来估算用户10的当前信任级别。如果凭据合适,服务器20就向终端用户10提供对所请求的资源的访问(110)。用于提供单点登录服务的方法的一般实施例包括在认证服务器处接收来自用户的认证请求;在所述认证服务器处认证所述用户;将至少一个初始信任级别与所述认证关联;接收与所述用户和应用服务器有关的生效(validation)请求,其中所述应用服务器实施(enforce)所需的最低信任级别;根据至少一个时间的函数计算要与所述认证关联的更新的信任级别;如果所述更新的信任级别超过所述所需的最低级别,就授权(grant)所述用户访问所述应用服务器。 在本发明的一个实施例中,该方法进一步包括针对所述用户生成认证凭据。在本发明的方法的一个特定实施例中,所述生效请求包含对所述认证凭据的引用。用于提供单点登录服务的方法的另一一般实施例包括在认证服务器处接收来自用户的认证请求;在所述认证服务器处认证所述用户;生成针对所述用户的认证凭据;将至少一个初始信任级别与所述认证凭据关联;接收与所述用户和应用服务器有关的生效请求,其中所述生效请求包含对所述认证凭据的引用,且所述应用服务器实施所需的最低信任级别;根据至少一个时间的函数计算要与所述认证凭据关联的更新的信任级别;如果所述更新的信任级别超过所述所需的最低级别,就授权所述用户访问所述应用服务器。在本发明方法的一个实施例中,所述时间的函数是自所述认证以来所经过的时间的函数。在本发明方法的另一实施例中,所述计算还使用所述初始信任级别。在本发明方法的又一实施例中,所述计算还使用所述所需的最低信任级别,如果所述所需的最低信任级别未被授权,所述计算就产生表示认证失败的符号值。在本发明方法的另一实施例中,所述生效请求的所述接收发生在所述应用服务器处。在本发明方法的又一实施例中,所述生效请求的所述接收发生在所述认证服务器处。在本发明方法的一个实施例中,所述计算包括随时间线性地降低所述更新的信任级别。在本发明方法的另一实施例中,所述计算包括随时间指数地降低所述更新的信任级别。在本发明方法的又一实施例中,所述计算包括根据时域上的一系列阶跃函数来降低所述更新的信任级别。在本发明方法的一个实施例中,所述计算包括验证与所述凭据初始关联的多个信任级别的到期时间。在本发明方法的一个实施例中,所述计算发生在所述应用服务器处。在本发明方法的另一实施例中,所述计算发生在所述认证服务器处。在本发明方法的另一实施例中,所述所需的最低信任级别在不同应用服务器处可以不同。通常而言,在一个应用服务器中适用的信任级别独立于在另一个应用服务器中适用的信任级别。用于提供单点登录服务的系统301的一般实施例包括第一接收主体302,用于接收来自用户的认证请求;认证主体303,用于认证所述用户;发布主体304,用于发布针对所述用户的认证凭据,其中,至少一个初始信任级别与所述认证凭据关联;第二接收主体 305,用于接收来自应用服务器的、与所述用户有关的生效请求,所述请求包含对所述认证凭据的引用,并且所述应用服务器实施所需的最低信任级别;处理器306,用于根据至少一个时间的函数来计算要与所述认证凭据关联的更新的信任级别;以及发送主体307,用于将表示所述计算的信号发送给所述应用服务器。在一个实施例中,上述部件302至307被实施在SSO认证服务器当中,该SSO认证服务器可被实现为具有软件或固件以实现这些特定功能的通用计算机。第一接收主体通过存储来自用户的认证请求并将此信息传送给认证主体,来响应该认证请求。认证主体可以基于在请求中接收到的信息(以及在可能情况下认证主体可使用的其它信息或者响应于由认证主体产生的一个或多个特定请求而从用户处获得的其它信息)来确定用户是否是或是否应当被认为是可信的。用于认证用户的过程是常规的。如果用户被认为可信,认证主体就会在存储装置(本地的或全局的)中适当录入(entry)并然后将此信息传送给发布主体。发布主体向用户表明该批准并或许向用户提供此批准的某些切实指示。第二接收主体接收来自应用服务器的生效请求。生效请求包括或涉及先前与用户有关的认证。第二接收主体将此信息传送给能够计算与该认证关联的更新的信任级别的处理器。处理器然后将此更新的信任级别传送给发送主体,发送主体将该信息传送给适当的目标,比如做出该生效请求的应用服务器。在本发明系统的一个实施例中,所述时间的函数是自所述认证以来所经过的时间的函数。在本发明系统的另一实施例中,所述计算还使用所述初始信任级别。在本发明系统的又一实施例中,所述计算还使用所述所需的最低信任级别,且如果所述所需的最低信任级别未被授权,所述计算就产生表示认证失败的符号值。在本发明系统的一个实施例中,所述计算包括随时间线性地降低所述更新的信任级别。在本发明系统的另一实施例中,所述计算包括随时间指数地降低所述更新的信任级别,在本发明系统的又一实施例中,所述计算包括按照时域上的一系列阶跃函数降低所述更新的信任级别。在本发明系统的一个实施例中,所述计算包括验证所述至少一个信任级别中的每一个信任级别的到期时间。用于提供单点登录服务的系统的一般实施例包括接收主体,用于接收来自用户的认证请求;认证主体,用于认证所述用户;以及发布主体,用于发布针对所述用户的认证凭据,其中,至少一个初始信任级别和至少一个后续信任级别与所述认证凭据关联,所述后续信任级别的有效期超过所述初始信任级别的有效期。在本发明的一个实施例中,系统进一步包括第一服务器和第二服务器,每个所述服务器包括信任主体,每个信任主体建立独立于另一信任主体的信任级别的最低信任级别。
用于提供单点登录服务的方法的一般实施例包括接收来自用户的认证请求 ’认证所述用户;以及发布针对所述用户的认证凭据,其中,至少一个初始信任级别和至少一个后续信任级别与所述认证凭据关联,所述后续信任级别的有效期超过所述初始信任级别的有效期。本文描述的方法和系统中的元素可以用特定于应用的硬件、现场可编程硬件、以及具有适当软件的通用处理器等来实现,这对于本领域技术人员而言是显而易见的。虽然以上描述了本发明的多种实施例,但是应当理解的是这些实施例仅作为示例而示出,而绝非限制。因此,本发明的广度和范围不受任何以上描述的示例性实施例的限制,而应该仅按照所附权利要求及其等同方案来限定。
权利要求
1.一种用于提供单点登录服务的方法,包括在认证服务器处接收来自用户的认证请求;在所述认证服务器处认证所述用户;将至少一个初始信任级别与所述认证关联;接收与所述用户和应用服务器有关的生效请求,其中所述应用服务器实施所需的最低信任级别;根据至少一个时间的函数计算要与所述认证关联的更新的信任级别;如果所述更新的信任级别超过所述所需的最低级别,就授权所述用户访问所述应用服务器。
2.根据权利要求1所述的方法,还包括针对所述用户生成认证凭据。
3.根据权利要求2所述的方法,其中,所述生效请求包含对所述认证凭据的引用。
4.根据权利要求1所述的方法,其中,所述时间的函数是自所述认证以来所经过的时间的函数。
5.根据权利要求1所述的方法,其中,所述计算还使用所述初始信任级别。
6.根据权利要求1所述的方法,其中,所述计算还使用所述所需的最低信任级别,并且如果所述所需的最低信任级别未被授权,则所述计算产生表示认证失败的符号值。
7.根据权利要求1所述的方法,其中,所述生效请求的所述接收发生在所述应用服务器处。
8.根据权利要求1所述的方法,其中,所述生效请求的所述接收发生在所述认证服务器处。
9.根据权利要求1所述的方法,其中,所述计算包括随时间线性地降低所述更新的信任级别。
10.根据权利要求1所述的方法,其中,所述计算包括随时间指数地降低所述更新的信任级别。
11.根据权利要求1所述的方法,其中,所述计算包括按照时域上的一系列阶跃函数降低所述更新的信任级别。
12.根据权利要求1所述的方法,其中,所述计算包括验证与所述认证初始关联的多个信任级别的到期时间。
13.根据权利要求1所述的方法,其中,所述计算发生在所述应用服务器处。
14.根据权利要求1所述的方法,其中,所述计算发生在所述认证服务器处。
15.根据权利要求1所述的方法,其中,所述所需的最低信任级别在不同应用服务器处可以不同。
16.一种用于提供单点登录服务的系统,包括第一接收主体,用于接收来自用户的认证请求;认证主体,用于认证所述用户;发布主体,用于发布针对所述用户的认证凭据,其中,至少一个初始信任级别与所述认证凭据关联;第二接收主体,用于接收来自应用服务器的、与所述用户有关的生效请求,所述请求包含对所述认证凭据的引用,且所述应用服务器实施所需的最低信任级别;处理器,用于根据至少一个时间的函数计算要与所述认证凭据关联的更新的信任级别;以及发送主体,用于将表示所述计算的信号发送给所述应用服务器。
17.根据权利要求16所述的系统,其中,所述时间的函数是自所述认证以来所经过的时间的函数。
18.根据权利要求16所述的系统,其中,所述计算还使用所述初始信任级别。
19.根据权利要求16所述的系统,其中,所述计算还使用所述所需的最低信任级别,并且如果所述所需的最低信任级别未被授权,则所述计算产生表示认证失败的符号值。
20.根据权利要求16所述的系统,其中,所述计算包括随时间线性地降低所述更新的信任级别。
21.根据权利要求16所述的系统,其中,所述计算包括随时间指数地降低所述更新的信任级别。
22.根据权利要求16所述的系统,其中,所述计算包括按照时域上的一系列阶跃函数降低所述更新的信任级别。
23.根据权利要求16所述的系统,其中,所述计算包括验证所述至少一个信任级别中的每一个信任级别的到期时间。
24.一种用于提供单点登录服务的系统,包括接收主体,用于接收来自用户的认证请求;认证主体,用于认证所述用户;发布主体,用于发布针对所述用户的认证凭据,其中,至少一个初始信任级别和至少一个后续信任级别与所述认证凭据关联,所述后续信任级别的有效期超过所述初始信任级别的有效期。
25.根据权利要求M所述的系统,还包括第一服务器和第二服务器,每个所述服务器包括信任主体,每个信任主体建立最低信任级别,其中,所述第一服务器的信任主体建立的最低信任级别独立于所述第二服务器的信任主体建立的最低信任级别。
26.一种用于提供单点登录服务的方法,包括接收来自用户的认证请求;认证所述用户;以及发布针对所述用户的认证凭据,其中,至少一个初始信任级别和至少一个后续信任级别与所述认证凭据关联,所述后续信任级别的有效期超过所述初始信任级别的有效期。
全文摘要
本发明涉及计算机网络上的用户认证服务、更特别地是在联合认证或单点登录的范例范围内的用户认证服务的领域。已知的技术包括将不同信任级别关联到不同认证机制,其中,各个信任级别允许访问不同的信息资源,以显著地提供以更强认证形式保护更敏感资源的可能性。本发明提供一种机制,该机制允许无需用单点登录系统重新进行认证地降低信任级别,直至降低到不再足以获得对期望资源的访问的级别为止。只在这时,用户才需要重新进行认证。
文档编号G06F7/04GK102265255SQ200980153099
公开日2011年11月30日 申请日期2009年11月10日 优先权日2008年11月13日
发明者弗雷德里克·诺埃 申请人:威斯科数据安全国际有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1