使用验证令牌的资源访问控制的制作方法

文档序号:12288021阅读:170来源:国知局
使用验证令牌的资源访问控制的制作方法与工艺

本技术涉及数据处理系统领域。更具体地,本技术涉及使用由验证服务器发放的验证令牌,控制用户对由资源服务器控制的资源的访问。



背景技术:

已知提供了一种数据处理系统,其中资源(诸如数据)由资源服务器保持,并且经由由验证服务器发放的验证令牌控制对该数据的访问。用户将联系验证服务器并向验证服务器认证其自身,并且如果该认证成功,则向用户发放验证令牌。然后,用户可以将验证令牌与对由资源服务器管理的资源的访问请求一起发送到资源服务器。然后,资源服务器将联系验证服务器来检验该验证令牌是真实的,并且如果该验证令牌是真实的,则资源服务器将提供用户所请求的对资源的访问。



技术实现要素:

从一个方面看,本技术提供了一种控制用户对由资源服务器控制的资源的访问的方法,所述方法包括步骤:

在验证服务器处接收来自所述用户的验证请求;

如果所述验证请求符合一个或多个验证标准,则向所述用户发放验证令牌;

在所述资源服务器处接收来自寻求访问所述资源的所述用户的资源请求和所述验证令牌;

在所述资源服务器处确定所述资源请求是否满足策略,以及

(i)如果所述资源请求满足所述策略,则在不向所述验证服务器

确认所述验证令牌的有效性的情况下允许所述用户访问所述资源;

以及

(ii)如果所述资源请求不满足所述策略,则在允许所述用户访

问所述资源之前向所述验证服务器确认所述验证令牌的有效性。

本技术用于减少集中在验证服务器上的通信流量,这是因为如果满足策略,则可以接受验证令牌并且在没有向验证服务器确定令牌的有效性的步骤的情况下允许访问。

验证令牌自身可能经受由资源服务器在不参考验证服务器的情况下执行的有效性检验。作为示例,验证令牌可以被验证服务器数字签名,并且资源服务器可以检验向其提供的验证令牌是否被适当地数字签名。这样的检验可以在不需要与验证服务器通信/确认的情况下由资源服务器自身执行。

所接收的资源请求可能满足或可能不满足的策略可以以多种不同的方式建立。在一些实施例中,策略由验证令牌自身内的策略数据指定。在其他实施例中,策略数据可以由资源服务器保持。这些选择的组合也是可能的。

在一些实施例中,资源服务器提供到多个资源的访问。这些多个资源可以具有与其相关联的不同安全/敏感度级别。因此,在一些实施例中,策略可以指定第一组多个资源和第二组多个资源,其中可以在不确认验证令牌的有效性的情况下提供对第一组多个资源的访问,可以在向验证服务器确认了验证令牌的有效性之后提供对第二组多个资源的访问。因此,第一组可以由低敏感度/安全性的资源形成,并且第二组的一部分可以由高敏感度/安全性的资源形成。作为示例,第一组资源可以包括不改变由资源服务器保持的数据的资源,并且第二组资源可以包括改变由资源服务器保持的数据的资源。因此,读取访问比写入访问更容易提供(即,读取访问不需要向验证服务器确认验证令牌的有效性)。在一些实施例中,第一组资源可能排他地(仅仅)是不改变由资源服务器保持的数据的资源,并且第二组资源可能排他地(仅仅)包括改变由资源服务器保持的数据的资源。

应该认识到,控制是否确认验证令牌的有效性的策略可以具有各种广泛的不同形式。在一些实施例中,验证令牌包括指示验证服务器何时发放验证令牌的时间戳。在这种情况下,如果时间戳指示从验证服务器发放验证令牌以来的持续时间大于阈值持续时间,则在允许访问资源之前,策略可以控制资源服务器向验证服务器确认验证令牌的有效性。因此,相对新发放的验证令牌可能在不需要向验证服务器进行确认的情况下被接受,而较老的验证令牌在其寻求验证的访问被允许之前,将需要检验其有效性。

在一些实施例中,验证令牌可以包括使用账户数据,该使用账户数据指示验证令牌可以在没有来自验证服务器的确认的情况下被用于验证对资源的访问的阈值次数。如果验证令牌已经被单独用于验证对资源的访问达到阈值次数,则在允许用户访问资源之前,策略控制资源服务器向验证服务器确认验证令牌的有效性。因此,可以允许验证令牌自我验证资源请求至多到阈值次数,之后验证令牌将需要向验证服务器进行检验。

应该认识到,由服务器应用的策略的复杂性可以变化,并且上述因素(即,时间戳、使用、计数等)和其他因素的组合可以全部形成被应用的策略的一部分,并且被用于控制在相关联的资源请求被允许前是否需要验证令牌向资源服务器确认其有效性。

在一些实施例中,验证服务器向资源服务器发送令牌黑名单数据,该令牌黑名单数据指定已经向用户发放的并且不应再被用于验证访问的验证令牌。资源服务器对照令牌黑名单数据检验伴随资源请求的验证令牌来确定验证令牌是否被允许验证资源请求。因此,通过将验证令牌加入黑名单,验证服务器可以有效地覆写由资源服务器应用的策略,该策略将允许验证令牌在不确认验证令牌的有效性的情况下验证资源请求。例如,这样的覆写机制可以用在以下情况:令牌已经被发放给了用户,但是已知该用户不应再被允许访问(例如,前职员)而常规策略还将允许已经被发放给那个用户的验证令牌在不需要回到验证服务器进行检验的情况下授权资源请求。每一次在资源服务器处提供验证令牌时,令牌黑名单数据在放松向验证服务器检验所有安全令牌的有效性的要求的情况下提供了安全性担保。

应该认识到,策略可以由全部被保持在资源服务器自身中的算法和参数设定。但是,在一些实施例中,验证令牌包括能够被资源服务器读取的数据结构(例如,XML),并且该数据结构指定在确定策略是否被满足时由资源服务器使用的一个或多个参数。嵌入在验证令牌中的这样的参数可以包括时间戳数据、使用计数数据、授权级别数据等。

虽然用户、资源服务器和验证服务器可能处于相同位置,但是当验证服务器和资源服务器位于不同位置并且经由电信链路链接时也可以应用本技术。在资源服务器处使用策略来确定是否需要向验证服务器做关于所接收的验证令牌的有效性的检验可以用于减少在电信链路上的电信流量要求,并且因此减轻通信开销。

虽然上文将系统作为一个整体讨论,但是应该认识到,系统的各种组件的形式和操作也根据其自身的能力代表附加的技术。还应该认识到,整个系统的不同部分可以位于世界的不同区域,例如,做出资源访问请求的用户、验证服务器和资源服务器可以在不同的国家并且经由电信链路连接。

从另一方面看,本技术提供了一种使用由验证服务器发放的验证令牌来控制用户对由资源服务器控制的资源的访问的方法,所述方法包括步骤:

在所述资源服务器处接收来自寻求访问所述资源的所述用户的资源请求和所述验证令牌;及

在所述资源服务器处确定所述资源请求是否满足策略,以及

(i)如果所述资源请求满足所述策略,则在不向所述验证服务器

确认所述验证令牌的有效性的情况下允许所述用户访问所述资源;

以及

(ii)如果所述资源请求不满足所述策略,则在允许所述用户访

问所述资源之前向所述验证服务器确认所述验证令牌的有效性。

从另一方面看,本技术提供了一种控制用户对由资源服务器控制的资源的访问的方法,所述资源服务器依据策略确定是否向验证服务器确认伴随资源请求的验证令牌的有效性,所述方法包括步骤:

在验证服务器处接收来自所述用户的验证请求;以及

如果所述验证请求符合一个或多个验证标准,则向所述用户发放验证令牌,

其中由所述验证服务器发放的所述验证令牌包括能够被所述资源服务器读取的数据结构,并且所述数据结构指定在确定所述策略是否被满足时被所述资源服务器使用的一个或多个参数。

从另一方面看,本技术提供了一种具有用于向用户提供资源的资源服务器和验证服务器的数据处理系统,其中

所述验证服务器被配置为接收来自所述用户的验证请求,并且如果所述验证请求符合一个或多个验证标准,则向所述用户发放验证令牌;以及

所述资源服务器被配置为接收来自寻求访问所述资源的所述用户的资源请求和所述验证令牌,确定所述资源请求是否满足策略,以及

(i)如果所述资源请求满足所述策略,则在不向所述验证服务器确认所述验证令牌的有效性的情况下允许所述用户访问所述资源;以及

(ii)如果所述资源请求不满足所述策略,则在允许所述用户访问所述资源之前向所述验证服务器确认所述验证令牌的有效性。

从另一方面看,本技术提供了一种用于使用由验证服务器发放的验证令牌提供用户对资源的访问的资源服务器,所述资源服务器包括:

接收器,被配置为接收来自寻求访问所述资源的所述用户的资源请求和所述验证令牌;以及

验证控制器,被配置为确定所述资源请求是否满足策略,以及

(i)如果所述资源请求满足所述策略,则在不向所述验证服务器确认所述验证令牌的有效性的情况下允许所述用户访问所述资源;以及

(ii)如果所述资源请求不满足所述策略,则在允许所述用户访问所述资源之前向所述验证服务器确认所述验证令牌的有效性。

从另一方面看,本技术提供了一种用于控制用户对由资源服务器控制的资源的访问的验证服务器,所述资源服务器依据策略确定是否向所述验证服务器确认伴随资源请求的验证令牌的有效性,所述验证服务器包括:

接收器,被配置为接收来自所述用户的验证请求;以及

令牌发放单元,被配置为如果所述验证请求符合一个或多个验证标准,则向所述用户发放验证令牌,

其中由所述验证服务器发放的所述验证令牌包括能够被所述资源服务器读取的数据结构,并且所述数据结构指定在确定所述策略是否被满足时由所述资源服务器使用的一个或多个参数。

从另一方面看,本技术提供了一种具有用于向用户提供资源的资源服务器装置和用于提供验证令牌的验证服务器装置的数据处理系统,其中

所述验证服务器装置适于接收来自所述用户的验证请求,并且如果所述验证请求符合一个或多个验证标准,则向所述用户发放所述验证令牌;以及

所述资源服务器装置适于接收来自寻求访问所述资源的所述用户的资源请求和所述验证令牌,确定所述资源请求是否满足策略,以及

(i)如果所述资源请求满足所述策略,则在不向所述验证服务器装置确认所述验证令牌的有效性的情况下允许所述用户访问所述资源;以及

(ii)如果所述资源请求不满足所述策略,则在允许所述用户访问所述资源之前向所述验证服务器装置确认所述验证令牌的有效性。

从另一方面看,本技术提供了一种用于使用由验证服务器发放的验证令牌提供用户对资源的访问的资源服务器,所述资源服务器包括:

接收装置,用于接收来自寻求访问所述资源的所述用户的资源请求和所述验证令牌;以及

验证装置,用于确定所述资源请求是否满足策略,以及

(i)如果所述资源请求满足所述策略,则在不向所述验证服务器确认所述验证令牌的有效性的情况下允许所述用户访问所述资源;以及

(ii)如果所述资源请求不满足所述策略,则在允许所述用户访问所述资源之前向所述验证服务器确认所述验证令牌的有效性。

从另一方面看,本技术提供了一种用于控制用户对由资源服务器控制的资源的访问的验证服务器,所述资源服务器依据策略确定是否向所述验证服务器确认伴随资源请求的验证令牌的有效性,所述验证服务器包括:

接收装置,用于接收来自所述用户的验证请求;以及

令牌发放装置,用于如果所述验证请求符合一个或多个验证标准,则向所述用户发放验证令牌,

其中由所述验证服务器发放的所述验证令牌包括能够被所述资源服务器读取的数据结构,并且所述数据结构指定在确定所述策略是否被满足时由所述资源服务器使用的一个或多个参数。

附图说明

将参考附图仅以示例方式说明实施例,其中:

图1示意性地示出包括验证服务器、多个资源服务器和由用户操作的用户设备并且全部经由电信链路链接的数据处理系统;

图2示意性地示出在图1的系统中做出验证令牌请求和资源请求的通信和处理流程;

图3是示意性地示出由验证服务器发放令牌的流程图;

图4是示意性地示出由资源服务器处理请求的流程图;以及

图5是示意性地示出可以被用于提供与本技术一起使用的验证服务器和资源服务器中的一个或多个的服务器硬件的示图。

具体实施方式

图1示意性地示出了包括全部经由电信链路14(诸如因特网)链接的验证服务器4、多个资源服务器6、8和例如由用户12操作的用户设备10(诸如可穿戴计算设备、移动电话、膝上型计算机、计算机等)的数据处理系统2。验证服务器4和资源服务器6、8中的每一个包括各自的用于从电信链路14接收通信的接收器16、18、20。接收器16、18、20也可以用于将响应经由电信链路14发回在数据处理系统2中的其他组件(或者可以设置单独的发送器)。

验证服务器4包括被配置为如果从用户12接收的验证请求满足了预定的验证要求,向用户发放验证令牌的令牌发放单元22。作为示例,用户12可以提供用户名和密码作为发送到验证服务器4的验证请求的一部分,并且令牌发放单元22可以将该用户名和密码与保持在验证服务器中的对应数据做比较。如果接收的用户名和密码与已经保持在验证服务器4中的数据相匹配,则可以使用令牌发放单元22将验证令牌(例如,已签名并加密的XML数据块)从验证服务器发回用户12(并且存储在其用户设备10上)。

由令牌发放单元22发放的这个验证令牌可以包括能够被资源服务器6、8读取的数据结构,该数据结构指定在确定那些资源服务器将应用的策略是否被满足时被资源服务器使用的一个或多个参数。验证令牌的数据结构中代表的参数可以包括,例如,诸如指示验证令牌发放时间的时间戳、指示在需要检验其有效性之前验证令牌可以使用多少次的使用计数、和已经被检验的用户名和密码相关联的授权级别等的参数。例如,嵌入在验证令牌中的数据结构可以是XML数据结构的形式。该数据结构可以被加密,并且验证令牌随后以某种方式被数字签名以便防止其被未经授权地更改。

每一个资源服务器6、8包括各自的验证控制器24、26,当在其各自的资源服务器6、8处接收到资源请求时这些验证控制器执行操作。这些验证控制器24、26用于通过评估/应用策略来确定伴随那个资源请求的验证令牌是否应该在访问请求被允许之前已经向验证服务器4确认了其有效性,来响应经由电信链路14从用户设备10接收的资源请求。验证控制器24、26应用的策略可以广泛采用各种不同形式。该策略可以基于存储在资源服务器6、8自身中的数据和参数,可以基于从接收到的验证令牌中读取的参数,可以基于从来自其他地方的数据检索器中读取的参数,或以上的组合。

可以应用的策略的示例包括将嵌入验证令牌中的时间戳与当前时间进行比较来确定从发放该验证令牌以来的持续时间是否大于阈值持续时间。如果从发放以来的持续时间大于阈值持续时间,则在允许资源访问请求之前,验证令牌经受验证服务器4对其有效性的确认。相反,如果从发放验证令牌以来的持续时间小于阈值持续时间,则在不需要验证服务器4对其有效性进行确认的情况下,验证令牌可以被用来授权访问请求。

验证控制器24、26与时间戳组合应用或独立于时间戳应用的策略的另一示例是基于使用计数的示例。验证令牌可以包括指示验证令牌可以用来在特定的资源服务器6、8处验证访问的阈值次数的使用计数数据。验证控制器24、26可以将该使用计数数据与保持在资源服务器6、8中的对于该验证令牌的计数数据相比较,来确定使用计数是否已经超过阈值次数。如果使用计数还没有超过阈值次数,则例如,在不需要验证服务器4对其有效性进行确认的情况下,验证令牌可以被用于验证资源访问请求。相反,如果使用计数指示验证令牌已经被用于访问资源达到阈值次数时,则在资源服务器6、8处允许资源访问请求之前,验证令牌的有效性必须被验证服务器4确认。应该认识到,验证令牌的使用计数可以被保持在资源服务器6、8内,或可以嵌入验证令牌自身中并在每次令牌被使用时由资源服务器6、8更新。

可以应用的策略的另一示例是其中资源服务器提供对多个资源的访问并且将这些资源分为第一组多个资源和第二组多个资源的示例,其中可以在不向验证服务器确认验证令牌的有效性的情况下提供对第一组多个资源的访问,并且可以在向验证服务器确认了验证令牌的有效性之后提供对第二组多个资源的访问。因此,第二组资源是被更安全地保护的资源组。在一些示例中,第一组可以包括不改变由资源服务器6、8保持的数据的资源,并且第二组可以包括改变由资源服务器6、8保持的数据的资源。因此,写入访问比读取访问被更安全地控制。在一些另外的示例中,第一组可以仅(即,排他地)包括不改变由资源服务器6、8保持的数据的资源,并且第二组可以仅(即,排他地)包括改变由资源服务器6、8保持的数据的资源。

图1中示出的数据处理系统2的另一特征是验证服务器4可以经由电信链路14向资源服务器6、8发送令牌黑名单数据。该令牌黑名单数据指定由验证服务器4向用户设备10/用户12发放的、不应再能用于验证访问的验证令牌。因此,即使资源服务器6正常应用的策略和伴随资源访问请求的验证令牌将允许访问,这个访问将被指定特定的验证令牌不应再被认可的令牌黑名单数据所覆写(override)。作为示例,如果验证令牌被发放给特定用户,并且随后已知该用户失去了他们的授权状态(例如,离开相关组织),然后经由令牌黑名单数据将发放给用户12的验证令牌将不应再被认为是有效的通知给资源服务器6、8是适当的。因此,即使所接收的验证令牌和策略指示验证令牌可以用来在不要求验证服务器确认该验证令牌的有效性的情况下授权资源访问请求,该许可可以被令牌黑名单数据覆写。有可能需要以此方式覆写其有效性的验证令牌的数量相对较少,并且因此令牌黑名单数据提供了在不需要每一次使用验证令牌都要由验证服务器4确认该验证的有效性的情况下管理安全性的有效方法,考虑到与这样的确认相关联的通信和处理开销则尤其如此。

令牌发放单元22发放的验证令牌可以被验证服务器数字签名。资源服务器6、8中的验证控制器24、26可以检验验证令牌被正确地数字签名来作为验证资源请求的一部分。以此方式检验数字签名可以作为在随后应用上文讨论的一种或多种策略来确定验证令牌的有效性是否应该向验证服务器4确认之前的附加的初步有效性检验来执行。

图2示意性地示出了用户设备10、验证服务器4和资源服务器6、8之间的通信和由这些实体执行的处理操作。令牌发放处理是由从用户设备10发送到验证服务器4的验证请求28启动的。该验证请求可以包括安全性细节(诸如用户12的用户名和密码)。然后,在步骤30验证服务器2应用验证标准来确定验证请求是否应该被准许。如果符合了验证标准(例如,用户名和密码匹配),则在步骤32将验证令牌32返回用户设备。这个验证令牌可以被验证服务器4数字签名并且可以包括诸如上文讨论的、用于控制当向资源服务器6、8提供验证令牌时该验证令牌什么时候和是否需要验证服务器4对其有效性进行确认的策略数据和参数数据。

在步骤34,用户设备10将验证令牌伴随的资源请求发送到资源服务器6、8。然后,在步骤36,资源服务器使用其验证控制器24、26应用策略来确定是否满足该策略。如果满足策略,则在步骤34,在不需要与验证服务器4进行任何通信的情况下允许所请求的访问,并且在步骤38返回访问结果。

最后,在图2中,示出了当资源服务器6、8应用的策略不被满足时,发生的通信和处理。在步骤40,资源请求与验证令牌一起从用户设备10发送到资源服务器6、8。在步骤42,资源服务器6、8使用其验证控制器24、26应用由资源服务器6、8内保持的数据、所接收的验证令牌内的数据或以上的组合所指定的策略,并且确定所述策略未被满足。然后,步骤44从资源服务器6、8将对于确认有效性的请求发送到验证服务器4。在步骤46,资源服务器4确认验证令牌的有效性,并且在步骤48将令牌有效的消息发回资源服务器6、8。步骤50对应于资源服务器6、8检查从验证服务器4发回的消息并且确定该消息指示了验证令牌是有效的。步骤52跟随在该步骤之后,在步骤52,步骤40中初始请求的访问被允许(例如,请求的数据访问被允许,无论该访问是读取、写入或某种其他对资源的访问或使用)。

图3是示意性地示出当发放令牌时验证服务器4执行的处理的流程图。在步骤54,来自用户设备10/用户12的验证请求被接收。然后,步骤56确定伴随该验证请求的用户名和密码是否有效。如果用户名和密码有效,则处理进行到步骤58,在步骤58验证服务器查找将与该用户相关联的策略参数和将发放的令牌。策略参数可以取决于当事用户的授权级别改变,并且可以取决于被发放的令牌的性质改变。在步骤60,策略参数被嵌入将要发放的令牌(诸如在令牌内的XML数据结构)内。然后,在步骤64将令牌发送回用户设备10/用户12之前,步骤62加密该令牌并对令牌数字签名。

图4示意性地示出了资源服务器6、8执行的请求处理。在步骤66,处理等待直到资源请求和验证令牌被接收。步骤68确定验证令牌是否被正确地数字签名。如果验证令牌没有被正确地数字签名,则请求被拒绝。如果验证令牌被正确地数字签名,则步骤70用于解密令牌并且从其中提取策略参数。

步骤72确定已经被解密70的令牌是否是出现在由令牌的令牌黑名单数据指定的黑名单上的令牌,对于这种令牌,其有效性已经被验证服务器4撤销。如果令牌出现在黑名单上,则资源请求被拒绝并且处理终止。如果令牌没有出现在黑名单上,则处理进行到应用用于确定是否应该向验证服务器4执行验证检验的策略。

步骤74确定嵌入令牌的时间戳数据是否指示了令牌的年龄大于阈值年龄。如果时间戳数据指示该年龄大于阈值年龄,则处理进行到步骤75,在此步骤向验证服务器4发送有效性确认请求。然后,步骤76等待接收来自验证服务器4的响应。当接收到响应时,则步骤78确定该响应是否指示令牌有效。如果令牌被指示为有效,则处理进行到步骤80,在此步骤中在步骤66接收的资源请求访问被允许。如果在步骤78确定令牌不是有效的,则拒绝令牌并且处理终止。

如果在步骤74的测试指示还未超过验证令牌的阈值年龄,则处理进行到步骤82,在此步骤中确定验证令牌是否已经被使用了大于阈值次数。该阈值次数和使用次数可以是嵌入验证令牌自身中的数据和/或由资源服务器6、8保持的数据。如果令牌已经被使用了大于阈值次数,则处理进行到步骤75。如果令牌已经被使用了小于阈值次数,则处理进行到步骤84。

步骤84用于确定资源请求是否满足将应用的策略的任意其他方面。例如,这个策略可以指定如果请求是第一组多个可能请求中的一个,则可以在不需要验证验证令牌的情况下(即,策略被满足)允许该请求,或者相反,请求落入了始终需要向验证服务器4验证验证令牌的第二组(即,策略失败)。如果策略失败,则处理进行到步骤75,在此步骤中向验证服务器4请求验证令牌的验证。相反,如果在步骤84策略被满足,则处理进行到步骤80,在此步骤中资源请求被满足并且用户被给予其所请求的对资源服务器6、8的资源的访问。

图5示意性地示出了可能被图1中的服务器4、6、8使用的硬件配置。这些服务器可以包括全部经由总线96连接的中央处理单元86、存储器88、网络接口90、资源贮存器92和输入/输出设备94。如本领域技术人员所熟知的,存储器88可以包括由中央处理单元86执行并且控制服务器4、6、8来执行上文讨论的操作的计算机程序。例如,由中央处理单元86执行的软件可以执行令牌发放单元22和/或验证控制器24、26的功能中的一个或多个功能。网络接口90可以用于接收来自电信链路14的通信并且经由电信链路14发送通信。例如,资源贮存器92可以存储用户12经由用户设备10可以寻求获得对其的访问(诸如,例如,读取访问或写入访问)的信息数据库。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1