无线装置认证和服务访问的制作方法

文档序号:12289840阅读:228来源:国知局
无线装置认证和服务访问的制作方法

改进经由网络、特别是无线网络的通信的性能是正在进行研究和开发的领域。经常利用802.11标准管理无线网络。尽管并非所有网络都需要使用与802.11相关联的所有标准,但是至少部分因为标准是众所周知并被文档记载的,针对诸如所谓802.11n等的标准的讨论提供了有用的描述无线系统相关问题的背景。

确保适当的装置接收到适当的服务(例如,系统管理员已授予权限的服务)是提供无线服务的重要方面。经常地,接收服务需要对装置进行认证。特别是在利用(相对于授予无线访问的一方的)第三方的情况下,可能需要如下的两次认证:在根据例如802.11协议进行认证时的一次认证和在与第三方服务进行认证时的再一次认证。减少认证次数在可以将访问控制维持于合理水平的情况下,将被视为有利的。

对相关技术及与之相关的限制的上述示例意图为说明性的并且不是排它性的。例如,无线客户端可以使用除802.11以外的不同协议,可能包括尚未开发出的协议。然而,与多次认证相关联的问题可能继续存在。在阅读说明书并且研究附图的情况下,相关技术的其它限制对于本领域技术人员将是显而易见的。



技术实现要素:

与仅为示例性和说明性的而非限制范围的系统、工具和方法相结合地描述并且示出以下实现及其各方面。在各实现中解决了上述问题中的一个或多个,而其它实现旨在进行其它改进。

各实现涉及针对客户端装置提供向服务的单点登录访问。在各实现的至少一个实现中,针对网络来对连接至认证器网络装置的客户端装置进行认证。在各实现的至少一个实现中,在认证器网络装置处接收来自客户端装置的服务请求。此外,在各实现的至少一个实现中,在认证器网络装置处接收包括用户的用户ID、用户密钥和随机数(nonce)的用户凭据。在各实现的至少一个实现中,使用所接收到的用户凭据来生成令牌。另外,在各实现的至少一个实现中,修改服务请求以包括令牌和作为用户ID的用户ID参数以生成修改服务请求。在各实现的至少一个实现中,使用修改服务请求来提供向作为服务请求的对象的服务的单点登录访问。

在阅读以下说明并且研究附图的若干示例的情况下,这些以及其它优点对于相关领域的技术人员将变得明显。

附图说明

图1示出客户端装置针对网络的单点登录认证和客户端装置向网络所提供的服务的访问所用的系统的示例的图。

图2示出用于利用在访问客户端装置所用的服务时使用的装置来针对网络对客户端装置进行授权的系统的示例的图。

图3示出用于提供向服务的单点登录访问的系统的示例的图。

图4示出用于根据令牌来确定用户ID的系统的示例的图。

图5示出用于将向服务的单点登录访问提供至客户端装置的方法的示例的流程图。

图6示出用于生成在提供向服务的单点登录访问时所使用的令牌的方法的示例的流程图。

图7示出用于根据作为修改服务请求的一部分而包括的令牌来确定用户ID以提供向服务的单点登录访问的方法的示例的流程图。

具体实施方式

图1示出客户端装置针对网络的单点登录认证和客户端装置向网络所提供的服务的访问所用的系统的示例的图100。图1所示的示例系统包括计算机可读介质102、客户端装置104、认证器网络装置106、网络认证系统108和装置服务管理系统110。

在图1所示的示例系统中,认证器网络装置106、网络认证系统108和装置服务管理系统110经由计算机可读介质102彼此连接。如本文中所使用的,“计算机可读介质”意图包括法定的(例如,在美国为根据35U.S.C.101的)所有介质,并且具体排除从性质上非法定的所有介质,以达到针对包括有效的计算机可读介质的权利要求需要进行该排除的程度。已知的法定计算机可读介质包括硬件(例如,寄存器、随机存取存储器(RAM)、非易失性(NV)存储器(仅举几个例子)),但可以局限于或者不局限于硬件。

计算机可读介质102意图表示各种潜在可应用的技术。例如,计算机可读介质102可用于形成网络或网络的一部分。在两个组件共同位于装置上的情况下,计算机可读介质102可以包括总线或者其它数据管道或平面。在第一组件位于一个装置上并且第二组件位于不同装置上的情况下,计算机可读介质102可以包括无线或有线后端网络或LAN。在适用的情况下,计算机可读介质102还可以包含WAN或其它网络的相关部分。

本文所述的计算机可读介质102、客户端装置104、认证器网络装置106、网络认证系统108、装置服务管理系统110和其它系统或装置可被实现为计算机系统或计算机系统的一部分或多个计算机系统。如本文中所使用的,计算机系统意图是从广义上进行解释的,并且可以包括或被实现为用于执行本文所述的功能的专用计算机系统。通常,计算机系统将包括处理器、存储器、非易失性存储器和接口。典型的计算机系统通常将至少包括处理器、存储器和使存储器连接至处理器的装置(例如,总线)。处理器例如可以是诸如微处理器等的通用中央处理单元(CPU)或者诸如微控制器等的专用处理器。

存储器可以通过示例而非限制性的方式包括诸如动态RAM(DRAM)和静态RAM(SRAM)等的随机存取存储器(RAM)。存储器可以为本地的、远程的或分布式的。总线还可以使处理器连接至非易失性存储器。非易失性存储器经常是磁性软盘或硬盘、磁光盘、光盘、只读存储器(ROM)(诸如CD-ROM、EPROM或EEPROM等)、磁性或光学卡、或者针对大量数据的其它形式的存储器。在计算机系统上执行软件期间,该数据中的一部分经常通过直接存储器访问处理而被写入存储器。非易失性存储器可以是本地的、远程的或分布式的。由于可以利用存储器内可利用的所有适用数据来创建系统,因此非易失性存储器是可选的。

通常将软件存储在非易失性存储器中。实际上,对于大型程序,可能甚至无法将整个程序存储在存储器中。然而,应当理解,为了运行软件,在需要的情况下,将该软件移动至适合处理的计算机可读位置,并且为了例示目的,在本文中将该位置称为存储器。即使在将软件移动至存储器以供执行的情况下,处理器通常也将利用用以存储与该软件相关联的值的硬件寄存器、以及理想地用以加速执行的本地高速缓冲存储器。如这里所使用的,在将软件程序称为“以计算机可读存储介质来实现”的情况下,假定将该软件程序存储在适用的已知或方便的位置(从非易失性存储器到硬件寄存器)。在将与程序相关联的至少一个值存储在处理器可读取的寄存器中的情况下,处理器被视为“被配置为执行该程序”。

在操作的一个示例中,可以利用操作系统软件、即包括诸如盘操作系统等的文件管理系统的软件程序,来控制计算机系统。具有关联的文件管理系统软件的操作系统软件的一个示例是已知为位于华盛顿州雷德蒙德市的微软公司的的操作系统家族及其关联的文件管理系统。具有关联的文件管理系统软件的操作系统软件的另一示例是Linux操作系统及其关联的文件管理系统。文件管理系统通常被存储在非易失性存储器中,并且使处理器执行操作系统所要求的用以输入和输出数据并将数据存储在存储器中(包括将文件存储在非易失性存储器上)的各种动作。

总线还可以使处理器连接至接口。接口可以包括一个或多个输入和/或输出(I/O)装置。I/O装置可以通过示例而非限制性的方式包括键盘、鼠标或其它指示装置、盘驱动器、打印机、扫描器和包括显示装置的其它I/O装置。显示装置可以通过示例而非限制性的方式包括阴极射线管(CRT)、液晶显示器(LCD)或某些其它适用的已知或方便的显示装置。接口可以包括调制解调器或网络接口中的一个或多个。应当理解,调制解调器或网络接口可被视为计算机系统的一部分。接口可以包括模拟调制解调器、isdn调制解调器、线缆调制解调器、令牌环接口、卫星传输接口(例如,“直播卫星(direct PC)”)、或者用于使计算机系统连接至其它计算机系统的其它接口。接口使得计算机系统和其它装置在网络内能够连接到一起。

计算机系统可以与基于云的计算系统的一部分兼容、或者可被实现为基于云的计算系统的一部分或可以经由基于云的计算系统来实现。如本文中所使用的,基于云的计算系统是向客户端装置提供虚拟化的计算资源、软件和/或信息的系统。可以通过维持边缘装置经由诸如网络等的通信接口可以访问的集中服务和资源来使计算资源、软件和/或信息虚拟化。“云”可以是营销术语,并且为了本文的目的可以包括这里所述的任何网络。基于云的计算系统可以涉及针对服务的订阅或者使用效用定价模型。用户可以经由位于这些用户的客户端装置上的web浏览器或其它容器应用程序来访问基于云的计算系统的协议。

计算机系统可被实现为引擎、引擎的一部分或可以经由多个引擎来实现。如本文中所使用的,引擎包括至少两个组件:1)专用或共享处理器;以及2)处理器所执行的硬件、固件和/或软件模块。根据特定实现考虑、特定结构考虑或其它考虑,引擎可以为集中式或者其功能可以为分布式。引擎可以是包括以计算机可读介质来体现以供处理器执行的专用硬件、固件或软件的专用引擎。诸如参考本文的附图所述等,处理器使用所实现的数据结构和方法来将数据变换成新数据。

本文所述的引擎或者可以实现本文所述的系统和装置所经由的引擎可以是基于云的引擎。如本文中所使用的,基于云的引擎是可以使用基于云的计算系统来运行应用程序和/或功能的引擎。这些应用程序和/或功能的全部或一部分可以分布在多个计算装置之间,并且不必局限于仅一个计算装置。在一些实施例中,基于云的引擎可以执行最终用户在无需具有这些最终用户的计算装置上本地安装的功能和/或模块的情况下经由web浏览器或容器应用程序进行访问的功能和/或模块。

如本文中所使用的,数据存储器意图包括具有任何适用的数据的组织的资源库,其中该数据的组织包括表、逗号分隔值(CSV)文件、传统数据库(例如,SQL)或者其它适用的已知或方便组织的格式。例如,数据存储器可被实现为在通用或专用机器上的物理计算机可读介质中、在固件中、在硬件中、在它们的组合中、或者在适用的已知或方便的装置或系统中所体现的软件。尽管数据存储器关联组件的物理位置和其它特性对于理解本文所述的技术而言并不重要,但诸如数据库接口等的数据存储器关联组件可被视为数据存储器的“一部分”、一些其它系统组件的一部分或它们的组合。

数据存储器可以包括数据结构。如本文所使用的,数据结构与用于将数据存储在计算机中并进行组织以使得可以在给定上下文内高效地使用数据的特定方式相关联。数据结构通常基于计算机的如下的能力:在由地址(即自身可以存储在存储器中并且利用程序进行操作的位串)所指定的存储器中的任何位置处进行数据的提取和存储。因而,一些数据结构基于通过算术运算来计算数据项的地址;而其它数据结构基于将数据项的地址存储在结构自身内。许多数据结构使用有时以非平凡方式组合的这两个原则。数据结构的实现通常引起写入创建并操作该结构的实例的一组过程。本文中所述的数据存储器可以是基于云的数据存储器。基于云的数据存储器是与基于云的计算系统和引擎兼容的数据存储器。

在图1所示的示例系统中,客户端装置104连接至认证器网络装置106。在连接至认证器106时,客户端装置104可以与认证器网络装置106形成LAN或LAN的一部分。在特定实现中,客户端装置104用以经由网络来发送和接收数据。在发送和接收数据时,客户端装置104可以发送和接收用于对网络上的客户端装置104进行认证的认证数据。根据特定实现考虑、特定结构考虑或其它考虑,客户端装置104可以为:诸如智能电话、PDA或可穿戴电子装置等的移动装置;诸如笔记本式或膝上型计算机或者通常被视为便携型的其它装置等的半移动装置;或者诸如台式计算机等的通常不被视为移动型的装置。此外,根据特定实现考虑、特定结构考虑或其它考虑,客户端装置104可以是薄型客户端装置或超薄型客户端装置。

在特定实现中,客户端装置104经由无线连接而连接至认证器网络装置106。在特定实现中,客户端装置104经由认证器网络装置106来发送和接收数据。例如,客户端装置104可以经由使客户端装置104连接至认证器网络装置106的无线连接来相对于认证器网络装置106进行数据的发送和接收。使客户端装置104连接至认证器网络装置的无线连接可以是或者可以不是IEEE 802兼容的。在本文中,通过相对较好理解的示例的方式使用IEEE 802标准术语来论述包括使站点经由无线介质连接的无线技术的实现。如本文中所使用的站点可被称为具有介质访问控制(MAC)地址和与符合IEEE 802标准的无线介质的物理层(PHY)接口的装置。因而,例如,在适用的情况下,可以将客户端装置和这些客户端装置所关联的网络称为站点。IEEE 802.1、IEEE 802.3、IEEE 802.11a-1999、IEEE 802.11b-1999、IEEE 802.11g-2003、IEEE 802.11-2007和IEEE 802.11n TGn Draft 8.0(2009)通过引用而被包含。

在无线连接使客户端装置104连接至认证器网络装置106的特定实现中,本文中所述的适用的装置、系统和引擎可以或者可以不兼容IEEE 802标准或者符合IEEE 802标准。如本文中所使用的,兼容IEEE 802标准或符合IEEE 802标准符合所包含的文档的要求和/或建议以及文档的较早草案的要求和/或建议的一个或多个中的至少一部分,并且包括Wi-Fi系统。Wi-Fi是非技术性描述,其一般与IEEE 802.11标准以及Wi-Fi保护接入(WPA)和WPA2安全标准及可扩展认证协议(EAP)标准相关。在替代实现中,站点可以符合除Wi-Fi或者IEEE 802.11以外的不同标准,可以被称作除“站点”以外的名称,并且可以具有与无线介质或其它介质的不同接口。

在特定实现中,认证器网络装置106用于使客户端装置104连接至网络。根据特定实现考虑或其它考虑,认证器网络装置106可以使客户端装置104连接至网络内的LAN。在使客户端装置104连接至网络时,认证器网络装置106可以从客户端装置104接收到数据并且发送经由向客户端装置104的网络所接收到的数据。认证器网络装置106可以是在使客户端装置连接至网络时所使用的适用装置。例如,认证器网络装置106可以是虚拟专用网(以下称为“VPN”)网关、路由器、接入点(以下称为“AP”)或装置交换机。

在特定实现中,认证器网络装置106用于在网络认证系统108和客户端装置104之间生成并发送认证数据。可以使用认证器网络装置106所发送的认证数据来根据诸如IEEE 802.1X等的适用标准对装置进行认证。此外,认证器网络装置106所发送的认证数据可以包括网络认证系统108和客户端装置104所生成并发送的请求和响应。认证器网络装置106所发送的请求帧和响应帧可以包括网络中正进行认证的客户端装置104的标识(例如,MAC地址)。

在特定实现中,认证器网络装置106被配置为生成并发送用于发起网络中的客户端装置104的认证的认证数据。例如,认证器网络装置106可以相对于客户端装置104和网络认证系统108进行EAP请求帧的发送。另外,认证器网络装置106可以相对于客户端装置104和网络认证系统108进行EAP响应帧的发送。认证器网络装置106所发送的EAP响应帧可以是包括客户端装置104的标识(诸如客户端装置104的MAC地址或者与客户端装置104相关联的用户的用户ID等)的EAP响应标识帧。

在特定实现中,认证器网络装置106被配置为生成并发送在网络中的客户端装置104的协商和认证中所使用的认证数据。例如,认证器网络装置106可以在网络认证系统108和客户端装置104之间发送在对网络中的客户端装置104进行认证时所使用的请求和响应(例如,EAP请求和响应)。网络认证系统108可以发送包括协商并商定认证方法时所使用的消息(例如,EAP方法请求和响应)的认证数据。认证器网络装置106所发送的认证数据可以包括表示客户端装置104针对网络已被成功认证的成功消息(例如,EAP成功消息)。另外,认证器网络装置106所发送的认证数据可以包括表示客户端装置104针对网络未被成功认证的失败消息(例如,EAP失败消息)。

在特定实现中,认证器网络装置106用于管理客户端装置104连接至认证器网络装置106所经由的端口。在管理客户端装置104连接至认证器网络装置106所经由的端口时,认证器网络装置106可以将该端口设置成未授权状态。在对客户端装置104进行认证的时间(例如,从客户端装置104首先连接至认证器网络装置106时起、直到该客户端装置针对网络得到网络认证系统108认证时为止的时间)内,认证器网络装置106可以将端口设置成未授权状态。如这里所使用的,处于未授权状态的端口仅允许用于对客户端装置进行认证的通信量通过该端口。例如,如果使认证器网络装置106和客户端装置连接的端口被设置成未授权状态,则认证器网络装置106可以经由该端口仅发送用于对客户端装置104进行认证的消息(例如,EAP响应和请求)。另外,在管理客户端装置104连接至认证器网络装置106所经由的端口时,认证器网络装置106可以将客户端装置104连接至认证器网络装置106所经由的端口设置成授权状态。如这里所使用的,将端口设置成授权状态允许所有适用的通信量通过该端口。认证器网络装置106可以在接收到表示客户端装置104针对网络已得到网络认证系统认证的消息(例如,EAP成功消息)之后,将端口设置成授权状态。

在特定实现中,认证器网络装置106用于对该认证器网络装置106所发送的认证数据进行封装。认证器网络装置106可以对在网络认证系统108和客户端装置104之间所发送的认证数据进行封装。根据特定实现考虑或其它考虑,认证器网络装置106可以根据远程认证拨号用户服务(以下称为“RADIUS”)协议或diameter(直径)协议来对认证数据进行封装。例如,认证器网络装置106可以从客户端装置104接收到标识响应,并且将该标识响应封装在发送至网络认证系统108的RADIUS访问请求包中。

在特定实现中,网络认证系统108用于针对网络对客户端装置104进行认证。可以注意,认证器网络装置106还可以具有一些认证能力,并且在认证器网络装置106和网络认证系统108上发生的认证处理量可被视为特定实现的。然而,为了便于例示,将网络认证系统108视为唯一的无线接入认证器。

在特定实现中,在针对网络对客户端装置104进行认证时,网络认证系统108可以进行认证数据的发送和接收。网络认证系统108可以根据诸如EAP等的用于对客户端装置进行认证的适用协议来进行认证数据的发送和接收。在发送和接收认证数据时,网络认证系统108可以将认证数据经由认证器网络装置106发送至客户端装置104并且经由认证器网络装置106从客户端装置104接收认证数据。在各种实现中,作为对客户端装置104进行认证的一部分,网络认证系统108可以接收包括客户端装置104的标识(例如,客户端装置104的MAC地址或者与客户端装置104相关联的用户的用户ID)的认证数据。网络认证系统108可以发送和接收包括用于确定并商定网络认证系统108对客户端装置104进行认证将利用的方法的消息的认证数据。例如,网络认证系统108可以发送和接收EAP方法消息。

在特定实现中,在对客户端装置104进行认证时,网络认证系统108可以判断客户端装置104针对与网络认证系统108相关联的网络是否得到认证。如果网络认证系统108针对网络认证了客户端装置104,则网络认证系统108可以生成并发送表示客户端装置104针对网络已被成功认证的成功消息(例如,EAP成功消息)。同样,如果网络认证系统108针对网络没有认证客户端装置104,则网络认证系统108可以生成并发送表示客户端装置104针对网络未被成功认证的失败消息(例如,EAP失败消息)。

在特定实现中,装置服务管理系统110用于提供并管理客户端装置所用的服务。根据特定实现考虑或其它考虑,装置服务管理系统110可以提供并管理要求授权来访问服务的向服务的访问。此外,根据特定实现考虑或其它考虑,装置服务管理系统110可以提供并管理不要求授权来访问服务的向服务的访问。装置服务管理系统110所提供并管理的服务可以来自(例如,除请求者和网络接入提供商以外的)第三方。

在特定实现中,装置服务管理系统110用于在提供并管理客户端装置104所用的服务时与认证器网络装置106进行通信。根据特定实现考虑或其它考虑,认证器网络装置106可以使用用以对通信进行加密的适用加密技术来与装置服务管理系统110进行通信。例如,认证器网络装置106可以从装置服务管理系统110获得公钥基础设施(以下称为“PKI”)证书以便于与装置服务管理系统110进行加密通信。还可以采用其它已知的适用或方便的加密技术。

在特定实现中,认证器网络装置106用于生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统110。根据特定实现考虑或其它考虑,在客户端装置104针对网络得到网络认证系统108授权之后,认证器网络装置106生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统110。此外,根据特定实现考虑或其它考虑,在将新服务提供至与网络连接的客户端装置之后,认证器网络装置106生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统110。此外,根据特定实现考虑或其它考虑,认证器网络装置106在从客户端装置接收到服务请求之后,生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统。认证器网络装置106所发送的用户凭据查询消息可以包括客户端装置104的MAC地址。

在特定实现中,装置服务管理系统110用于将用户凭据发送至认证器网络装置106。装置服务管理系统110发送至认证器网络装置106的用户凭据可以包括用户密钥、用户ID、以及用户序列号、数字串或nonce。装置服务管理系统110可以响应于从认证器网络装置106接收到用户凭据查询消息来将用户凭据发送至认证器网络装置106。在将用户凭据发送至认证器网络装置106时,装置服务管理系统110可以使用作为用户凭据查询消息的一部分而包括的客户端装置104的MAC地址来搜索用户凭据。

在特定实现中,认证器网络装置106用于针对与客户端装置104相关联的用户来生成令牌。在生成令牌时,认证器网络装置106可以生成包括从装置服务管理系统110接收到的用户凭据(例如,用户标识、nonce和用户密钥)的采用纯文本的正文。此外,在生成令牌时,认证器网络装置106可以利用用户密钥来对包括用户凭据的采用纯文本的正文进行加密。认证器网络装置106可以使用诸如Base64等的适用的编码方案来对加密正文进行编码。

在特定实现中,认证器网络装置106用于从客户端装置104接收服务请求。此外,在特定实现中,认证器网络装置106用于修改从客户端装置104接收到的服务请求以包括所生成的令牌,并且将修改后的服务请求发送至装置服务管理系统110。可以以诸如先前段落所述的方式等的适用方式来生成认证器网络装置修改得到后的服务请求中所包括的令牌。认证器网络装置106所接收并修改得到的服务请求可以包括注册请求,该注册请求指定用以在装置服务管理系统110所提供的服务中进行注册的期望。另外,认证器网络装置106所接收并修改得到的服务请求可以包括使用请求,该使用请求指定用以使用装置服务管理系统110所提供的服务的期望。根据特定实现考虑或其它考虑,认证器网络装置106可以接收并修改HTTP服务请求。在对服务请求进行修改时,认证器网络装置106可以将令牌作为参数插入服务请求中以创建修改服务请求。此外,在对服务请求进行修改时,认证器网络装置106可以修改所接收到的服务请求以包括所生成的与从其接收到服务请求的客户端装置相关联的用户特有的令牌。认证器网络装置106可以通过添加其它参数(诸如与从其接收到服务请求的客户端相关联的用户的用户id等)来修改所接收到的服务请求。认证器网络装置106修改得到的HTTP服务请求的示例如下所述:http://www.example.com/enrollment?id=user-id&token=user-token。在修改所接收到的服务请求之后,认证器网络装置106可以将修改服务请求发送至装置服务管理系统110。

在特定实现中,装置服务管理系统110用于根据所接收到的修改服务请求来确定发起了服务请求的用户。在确定发起了服务请求的用户时,装置服务管理系统110可以对作为修改服务请求的一部分而包括的令牌进行解码。装置服务管理系统110可以经由适用的密码技术(例如,使用Base64)来对令牌进行解码。在对令牌进行解码时,装置服务管理系统110可以使用用户密钥来从令牌中提取纯文本。装置服务管理系统110可以确定作为所提取的纯文本的一部分而包括的nonce和用户ID。

在特定实现中,装置服务管理系统用于判断根据从令牌中提取的纯文本所确定的用户ID是否有效。在判断用户ID是否有效时,装置服务管理系统110可以将根据从令牌中提取的纯文本所确定的nonce(用户nonce和服务nonce中的任一或这两者)与基准nonce进行比较,以进行集成检查和令牌有效性判断。例如,如果本地存储的基准nonce与根据从修改服务请求内的令牌中提取的纯文本所确定的nonce不相同,则装置服务管理系统110可以判断为令牌无效。同样,如果本地存储的基准nonce与根据从修改服务请求内的令牌中提取的纯文本所确定的nonce相同,则装置服务管理系统110可以判断为令牌有效。如果判断为令牌有效,则装置服务管理系统110可以判断为根据从修改服务请求的令牌中提取的纯文本所确定的用户ID有效。

在特定实现中,装置服务管理系统110用于管理服务的使用。在管理服务的使用时,装置服务管理系统110可以判断客户端装置104的用户是否被授权使用服务。装置服务管理系统110可以使用修改服务请求中的令牌来判断客户端装置104的用户是否被授权使用作为修改服务请求的对象的服务。在使用修改服务请求中的令牌来判断客户端装置104的用户是否被授权使用服务时,实现了单点登录使用,由此用户在针对网络得到认证之后,不必输入这些用户的凭据来使用服务。此外,在使用修改服务请求中的令牌来判断客户端装置104的用户是否被授权使用服务时,装置服务管理系统110可以根据修改服务请求来确定用户ID。装置服务管理系统110可以使用根据修改服务请求所确定的用户ID来判断用户是否被授权访问作为修改服务请求的对象的服务。例如,装置服务管理系统110可以利用列出具有用户ID的特定用户被授权使用的所有服务的授权表来判断用户被授权使用哪些服务。在管理服务的使用时,装置服务管理系统110可以将客户端装置104在使用服务时可以利用的数据发送至认证器网络装置106。

在特定实现中,装置服务管理系统110用于注册客户端装置104的用户以获得用以使用服务的权利。在注册客户端装置104的用户时,装置服务管理系统110可以使用作为注册请求的修改服务请求中的令牌。在使用令牌来注册用户时,实现了单点登录注册,由此用户在针对网络得到认证之后,不必再次输入这些用户的凭据来被授权使用服务。此外,在使用修改服务请求中的令牌来注册客户端装置104的用户时,装置服务管理系统110可以根据修改服务请求中的令牌来确定用户ID。另外,装置服务管理系统110可以使用根据修改服务请求中的令牌所确定的用户ID,以通过表示与该用户ID相关联的用户被授权使用服务来注册该用户。例如,装置服务管理系统110可以使用用户ID来更新或创建授权表中的条目,以反映用户被授权使用服务。

在图1所示的示例系统的操作示例中,客户端装置用于经由认证器网络装置来发送和接收数据。在该操作示例中,网络认证系统108用于针对网络对客户端装置104进行认证。此外,在该操作示例中,认证器网络装置106在网络认证系统108和客户端装置104之间发送认证数据。在该操作示例中,认证器网络装置106生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统。另外,在该操作示例中,装置服务管理系统110将包括用户密钥、用户ID和nonce的用户凭据发送至认证器网络装置106。在该操作示例中,认证器网络装置106使用从装置服务管理系统110接收到的用户凭据来生成令牌。

在该操作示例中,认证器网络装置106用于从客户端装置104接收包括用以使用服务或服务中所注册的请求的请求。此外,在该操作示例中,认证器网络装置106修改所接收到的服务请求以创建包括所生成的令牌和发起请求的用户的用户ID的修改服务请求。在该操作示例中,认证器网络装置106将修改服务请求发送至装置服务管理系统110。另外,在该操作示例中,装置服务管理系统110使用修改服务请求中的令牌来确定用户ID。在该操作示例中,装置服务管理系统110基于根据修改服务请求所确定的用户ID来判断用户是被授权使用服务、还是注册用户以有权使用服务。此外,在该操作示例中,装置服务管理系统110在判断为用户有权访问服务的情况下,将该服务提供至用户。

图2示出用于利用在访问客户端装置所用的服务时使用的装置来针对网络对客户端装置进行认证的系统的示例的图200。图2所示的示例系统包括计算机可读介质202、认证器网络装置204和网络认证系统206。认证器网络装置204和网络认证系统206经由计算机可读介质202彼此连接。

在特定实现中,诸如本文所述的认证器网络装置等的认证器网络装置204根据用于提供向网络的访问并且经由网络向客户端装置提供服务的适用装置而进行工作。在提供向网络的访问时,认证器网络装置204可用于发送用于针对网络对连接至认证器网络装置204的客户端装置进行认证的认证护具。在经由网络提供服务时,认证器网络装置204可用于将包括用以访问服务或在服务中注册的请求的请求以及与使用服务相关联的数据发送至与认证器网络装置204连接的客户端装置。另外,认证器网络装置可以提供向服务的访问,使得在客户端装置针对网络已被认证之后,客户端装置的用户不必输入用户凭据来有权访问并使用服务。

在特定实现中,诸如本文所述的网络认证系统等的网络认证系统206根据用于针对网络对客户端装置进行授权的适用系统而进行工作。网络认证系统206可以接收、生成并发送用于对客户端装置进行认证的认证数据。具体地,网络认证系统206可以经由认证器网络装置204将认证数据发送至客户端装置以及从客户端装置接收认证数据。

在图2所示的示例系统中,认证器网络装置204包括认证发起引擎208、认证通信引擎210和端口管理引擎212。在特定实现中,认证发起引擎208用于发起与认证器网络装置204连接的客户端装置的针对网络的认证。在发起客户端装置的认证时,认证发起引擎208可以判断连接至认证器网络装置204的客户端装置针对网络是否得到认证。如果判断为客户端装置针对网络没有得到认证,则认证发起引擎208可以生成并发送针对该客户端装置的标识请求。例如,认证发起引擎208可以将EAP请求标识帧发送至该认证发起引擎208判断为针对网络没有得到认证的客户端装置。

在特定实现中,认证通信引擎210用于相对于连接至认证器网络装置204的客户端装置进行认证数据的发送和接收。认证引擎210可以将认证引擎208所生成的标识请求发送至客户端装置以发起客户端装置的认证。认证引擎210可以从客户端装置接收针对标识请求消息的响应。例如,认证引擎210可以从客户端装置接收包括客户端装置的标识的EA响应标识帧。另外,认证引擎210可以将从网络认证系统206接收到的认证数据发送至与认证网络装置204连接的客户端装置。例如,认证通信引擎210可以将在网络中对客户端装置进行认证时所使用的EAP请求和EAP响应从网络认证系统206发送至客户端装置。认证通信引擎210发送至客户端装置的认证数据可以涉及确定对客户端装置进行认证将利用的方法。例如,认证通信引擎210可以将在商定在网络中对客户端装置进行认证所利用的EAP方法时所使用的EAP请求和EAP响应发送至客户端装置。

在特定实现中,认证通信引擎210用于根据从连接至认证通信引擎210的客户端装置接收到的认证数据来确定该客户端装置的标识。例如,认证通信引擎210可以确定从客户端发送来的请求或响应的帧中所包括的客户端的MAC地址。根据特定实现考虑或其它考虑,认证通信引擎210可以将客户端装置的标识的副本以本地方式存储于认证器网络装置204处。此外,根据特定实现考虑或其它考虑,认证通信引擎210可以将客户端装置的标识和认证通信引擎210相对于客户端装置进行数据的发送所经由的端口的标识的副本存储于认证器网络装置204处。例如,认证通信引擎210可以更新认证器网络装置204处所维持的转发表以包括客户端装置的MAC地址和相对于客户端装置进行数据的发送所经由的端口。

在特定实现中,认证通信引擎210用于相对于网络认证系统206进行认证数据的发送和接收。认证通信引擎210可以将从连接至认证器网络装置204的客户端装置接收到的认证数据(例如,请求和响应)发送至网络认证系统206。例如,认证通信引擎210可以将从客户端装置接收到的EAP请求和EAP响应发送至网络认证系统。在另一示例中,认证通信引擎210可以将客户端装置响应于标识请求所生成的标识响应发送至网络认证系统206。认证通信引擎210发送至网络认证系统206的认证数据可以涉及确定对连接至认证器网络装置204的客户端装置进行认证所利用的方法。例如,认证通信引擎210可以将在商定在网络中对客户端装置进行认证所利用的EAP方法时所使用的EAP请求和EAP响应发送至网络认证系统206。

在特定实现中,端口管理引擎212用于管理客户端装置与认证器网络装置204连接所经由的端口。根据特定实现考虑或其它考虑,端口管理引擎212可以管理客户端装置与认证器网络装置204连接所经由的有线或无线端口。在管理端口时,端口管理引擎212可以将端口设置成未授权状态。例如,在针对网络没有得到认证的客户端装置经由端口连接至认证器网络装置204时,端口管理引擎212可以将该端口设置成未授权状态。另外,在管理端口时,端口管理引擎212可以将端口设置成授权状态。例如,在针对网络得到认证的客户端装置经由端口连接至认证器网络装置204时,端口管理引擎212可以将该端口设置成授权状态。端口管理引擎212在从网络认证系统接收到表示连接至端口的客户端装置针对网络已得到认证的成功消息(例如,EAP成功消息)之后,也可以将该端口设置成授权状态。

在特定实现中,认证通信引擎210用于对发送至适当接收方(例如,网络认证系统206或客户端装置)的认证数据进行封装。根据特定实现考虑或其它考虑,认证通信引擎210可以根据RADIUS协议或diameter协议来对认证数据进行封装。例如,认证通信引擎210可以从连接至认证器网络装置204的客户端装置中接收标识响应并且将该标识响应封装在RADIUS访问请求包中。

网络认证系统206包括网络认证方法确定引擎214、认证消息生成引擎216和网络认证确定引擎218。在特定实现中,网络认证方法确定引擎214用于确定用以对连接至认证器网络装置204的客户端装置进行认证的适用认证方法。适用认证方法的示例包括一次性密码(以下称为“OTP”)认证或相互认证方法。网络认证方法确定引擎214可以在从客户端装置接收到表示先前确定的认证方法被拒绝的响应之后,确定认证方法。例如,网络认证方法确定引擎214可以接收到表示拒绝使用认证方法A进行认证的响应,并且结果确定新的认证方法。

在特定实现中,认证消息生成引擎216用于生成用以对连接至认证器网络装置204的客户端装置进行认证的消息。认证消息生成引擎216所生成的消息可以包括包含用于对连接至认证器网络装置204的客户端装置进行认证的认证数据的请求和响应。认证消息生成引擎216可以基于网络认证方法确定引擎214所确定的认证方法来生成表示认证方法的请求或响应(例如,EAP方法响应或请求)。例如,如果网络认证方法确定引擎214判断为使用认证方法A来对客户端装置进行认证,则响应生成引擎216可以生成表示作为对客户端装置进行认证所利用的方法的认证方法A的请求。认证消息生成引擎216可以将所生成的消息发送至认证器网络装置,其中在该认证器网络装置中,这些消息可以由认证通信引擎210发送(并且在可能的情况下进行封装)至客户端装置。

在特定实现中,网络认证确定引擎218用于基于包括经由认证器网络装置204从客户端装置接收到的请求和响应的认证数据来针对网络对客户端装置进行认证。具体地,网络认证确定引擎218可以基于从客户端装置所接收到的认证数据来判断是否应根据所商定的认证方法来针对网络对客户端装置进行认证。

在特定实现中,认证消息生成引擎216根据网络认证确定引擎218针对网络是否认证了客户端装置进行认证来生成消息。例如,在网络认证确定引擎218针对网络认证了客户端装置的情况下,认证消息生成引擎216可以生成成功消息(例如,EAP响应)。可选地,在网络认证确定引擎218没有认证客户端装置的情况下,认证消息生成引擎216可以生成失败消息(例如,EAP响应)。将认证消息生成引擎216根据网络认证确定引擎218针对网络是否认证了客户端装置所生成的消息发送至认证器网络装置。

在图2所示的示例系统的操作示例中,认证发起引擎判断连接至认证器网络装置204的客户端装置针对网络是否得到认证。在该操作示例中,如果判断为认证器网络装置针对网络没有得到认证,则认证发起引擎208生成标识请求。此外,在该操作示例中,认证通信引擎210将所生成的标识请求发送至与认证器网络装置204连接的客户端装置。在该操作示例中,端口管理引擎212将未授权的客户端装置连接至认证器网络装置所经由的端口设置成未授权状态。另外,在该操作示例中,认证通信引擎对从客户端装置接收到的标识响应进行封装并将封装后的标识响应发送至网络认证系统206。在该操作示例中,认证通信引擎210在客户端装置和网络认证系统206之间发送用于对客户端装置进行认证的认证数据。

在该操作示例中,网络认证方法确定引擎214确定在针对网络对客户端装置进行认证时要使用的方法。此外,在该操作示例中,认证消息生成引擎216生成包括网络认证方法确定引擎214所确定的认证方法的消息。在该操作示例中,网络认证确定引擎218根据网络认证方法确定引擎214所确定的认证方法和经由认证器网络装置204从客户端装置接收到的认证数据来判断是否针对网络认证了客户端装置。另外,在该操作示例中,认证消息生成引擎216基于网络认证确定引擎218针对网络是否认证了客户端装置来生成并发送成功消息或失败消息。

图3示出用于提供向服务的单点登录访问的系统的示例的图300。图3所示的示例系统包括计算机可读介质302、认证器网络装置304和装置服务管理系统306。在图3所示的示例中,认证器网络装置304和装置服务管理系统306经由计算机可读介质302彼此连接。

在特定实现中,诸如本文所述的认证器网络装置等的认证器网络装置304根据用于提供向网络的访问并且经由该网络提供向服务的访问的适用装置而进行工作。在提供向网络的访问时,认证器网络装置304可以在连接至认证器网络装置304的客户端装置与装置服务管理系统306之间发送认证数据。在经由网络提供向服务的访问时,认证器网络装置304可以在装置服务管理系统306和客户端装置之间发送包括使用请求和注册请求的服务请求以及使得用户能够使用服务的数据。

在特定实现中,诸如本文所述的装置服务管理系统等的装置服务管理系统306根据用于管理向网络中的服务的客户端装置访问的适用系统而进行工作。在针对网络认证了客户端装置之后,装置服务管理系统306可以以单点登录方式提供向服务的访问。例如,装置服务管理系统306可以提供服务的单点登录使用。在另一示例中,装置服务管理服务可以提供用于注册客户端装置的用户的单点登录注册。

在图3所示的示例系统中,认证器网络装置304包括凭据检索引擎308、令牌生成系统310和服务请求修改引擎312。在特定实现中,凭据检索引擎308用于从装置服务管理系统306中检索用户凭据。凭据检索引擎308所检索到的用户凭据可以包括用户密钥、用户ID、以及用户序列号、数字串或nonce。凭据检索引擎308可以检索与连接至认证器网络装置304的客户端装置相关联的用户的用户凭据。例如,在认证器网络装置从客户端装置接收到服务请求、例如用户请求或注册请求之后,凭据检索引擎308可以检索与该客户端装置相关联的用户的用户凭据。

在特定实现中,凭据检索引擎可以生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统306以检索凭据。凭据检索引擎所生成并发送的用户凭据查询消息可以包括与检索到用户凭据的用户相关联的客户端装置的标识符(例如,MAC地址)。根据特定实现考虑或其它考虑,凭据检索引擎308可以根据从客户端装置接收到的请求来确定客户端装置标识符。例如,服务请求可以包括发送该服务请求的客户端装置的MAC地址。此外,根据特定实现考虑或其它考虑,凭据检索引擎308可以根据认证器网络装置304上本地存储的客户端装置标识符的副本来确定客户端装置标识符。在检索用户凭据时,凭据检索引擎308可以基于发送至装置服务管理系统306的用户凭据查询消息来从装置服务管理系统306接收用户凭据。

在特定实现中,令牌生成引擎310用于针对特定用户生成令牌。令牌生成引擎310可以基于从凭据检索引擎308检索到的针对特定用户的用户凭据来针对该特定用户生成令牌。在生成令牌时,令牌生成系统可以生成包括凭据检索引擎308所检索到的用户凭据(例如,用户标识和nonce)的采用纯文本形式的正文。此外,在生成令牌时,令牌生成系统310可以利用用户密钥来对包括用户凭据的采用纯文本形式的正文进行加密。令牌生成系统310可以使用诸如Base64等的适用编码方案来对加密正文进行编码。

在特定实现中,服务请求修改引擎312用于修改认证器网络装置304所接收到的服务请求以包括令牌生成系统310所生成的令牌。服务请求修改引擎312可以修改从连接至认证器网络装置304的客户端装置所接收到的服务请求。在修改服务请求以创建修改服务请求时,服务请求修改引擎312可以修改服务请求以包括与从其接收到服务请求的客户端装置相关联的用户特有的令牌。例如,服务请求修改引擎312可以将令牌作为参数添加在服务请求中以创建修改服务请求。根据特定实现考虑或其它考虑,服务请求修改引擎312可以添加与从其接收到服务请求的客户端装置相关联的用户的诸如用户id和用户id参数等的其它参数,从而创建修改服务请求。服务请求修改引擎312可以将修改后的请求发送至装置服务管理系统306。

在图3所示的示例系统中,装置服务管理系统306包括凭据返回引擎314、凭据数据存储器316、用户ID确定系统318、服务管理引擎320和服务数据存储器322。在特定实现中,凭据返回引擎314用于将用户凭据返回至凭据检索引擎308。凭据返回引擎314可以基于从凭据检索引擎308接收到的用户凭据查询消息来将凭据数据存储器316中所存储的用户凭据返回至凭据检索引擎308。在基于用户凭据查询消息来确定要返回至凭据检索引擎308的用户凭据时,凭据返回引擎314可以利用作为用户凭据查询消息的一部分而包括的客户端装置标识符。例如,凭据返回引擎314可以使用客户端装置的MAC地址来在凭据数据存储器316中查找与该客户端装置相关联的用户的用户凭据并返回这些用户凭据。

在特定实现中,用户ID确定系统318用于根据从服务请求修改引擎312接收到的修改服务请求中所包括的令牌来确定用户ID。在根据修改服务请求确定用户ID时,用户ID确定系统318可以对作为修改服务请求的一部分而包括的令牌进行解码。用户ID确定系统318可以经由适用的密码技术(例如,使用Base64)来对令牌进行解码。在对令牌进行解码时,用户ID确定系统318可以使用用户密钥来从令牌中提取纯文本。用户ID确定系统318可以根据从令牌中提取的纯文本来确定nounce和用户ID。

在特定实现中,用户ID确定系统318用于判断根据从修改服务请求内的令牌中提取的纯文本所确定的用户ID的有效性。在判断用户ID的有效性时,用户ID确定系统318将根据从令牌中提取的纯文本所确定的nonce(用户nonce和服务nonce中的任一或这两者)与基准nonce进行比较,以进行集成检查和令牌有效性判断。可以将基准nonce连同该基准nonce所关联的用户的用户ID一起存储在凭据数据存储器316中。在特定实现中,如果与用户ID所标识的用户相关联的基准nonce 316与根据从修改服务请求内的令牌中提取的纯文本所确定的nonce不相同,则用户ID确定系统318可以判断为令牌无效。同样,如果与用户ID所标识的用户相关联的基准nonce 316与根据从修改服务请求内的令牌中提取的纯文本所确定的nonce相同,则用户ID确定系统318可以判断为令牌有效。如果判断为令牌有效,则用户ID确定系统318可以判断为根据从修改服务请求的令牌中提取的纯文本所确定的用户ID有效。

在特定实现中,服务管理引擎320用于使用用户ID确定系统318所确定的用户ID来管理服务的使用。在使用用户ID来管理服务的使用时,服务管理引擎320可以判断用户ID所标识的用户是否被授权使用服务。另外,在使用用户ID来管理服务的使用时,服务管理引擎320可以判断用户ID所标识的用户是否被授权使用作为所接收到的修改服务请求的对象的服务。在判断用户是否被授权使用服务时,服务管理引擎320可以使用服务数据存储器322中所存储的服务授权数据。服务数据存储器322中所存储的授权数据可以包括特定用户ID所标识的用户被授权使用的所有服务。例如,服务数据存储器322中所存储的服务授权数据可以包括具有如下字段的授权表,其中这些字段包含用户ID和用户ID所表示的用户被授权使用的服务。在管理服务的使用时,服务管理引擎320可以向认证器网络装置发送或者便于发送客户端装置在使用服务时所使用的数据。

在特定实现中,服务管理引擎320用于基于用户ID确定系统318所确定的用户ID来将用户注册在服务中。在注册用户时,服务管理引擎320可以更新服务数据存储器322中所存储的诸如授权表等的服务授权数据,以反映出用户被授权使用服务。例如,服务管理引擎320可以在授权表中更新或创建包括用户ID和该用户ID所标识的用户被授权使用的服务的条目。

在图3所示的示例系统的操作示例中,凭据检索引擎308基于认证器网络装置304所接收到的服务请求来生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统306。此外,在该操作示例中,凭据返回引擎314基于用户凭据查询消息来将凭据数据存储器316中所存储的凭据返回至凭据检索引擎308。在该操作示例中,令牌生成引擎310基于凭据检索引擎308从凭据返回引擎314所接收到的用户凭据来生成令牌。此外,在该操作示例中,服务请求修改引擎312使用令牌生成系统310所生成的令牌来修改所接收到的服务请求。

在该操作示例中,用户ID确定系统318根据作为服务请求修改引擎312修改得到的服务请求的一部分而包括的令牌来确定用户ID。此外,在该操作示例中,服务管理引擎320基于用户ID确定系统所确定的用户ID和服务数据存储器322中所存储的服务授权数据来管理向服务的访问。在该操作示例中,在管理向服务的访问时,服务管理引擎320将用户ID所表示的用户注册到服务中。另外,在该操作示例中,在管理向服务的访问时,服务管理引擎320判断用户是否被授权使用服务。在该操作示例中,在管理向服务的访问时,服务管理引擎320发送或者便于发送客户端装置在使用服务时所使用的数据。

图4示出用于根据令牌来确定用户ID的系统的示例的图400。在各种实现中,图4所示的系统可以用在向服务的单点登陆访问中。图4所示的示例系统包括计算机可读介质402、认证器网络装置404、用户ID确定系统406和凭据数据存储器408。在图4所示的示例系统中,认证器网络装置404、用户ID确定系统406和凭据数据存储器408经由计算机可读介质402彼此连接。

在特定实现中,诸如本文所述的认证器网络装置等的认证器网络装置404根据用于在网络中对客户端装置进行认证和针对向服务的访问的适用系统而进行工作。认证器网络装置404可以发送用于针对网络对客户端装置进行认证的认证数据。认证器网络装置404还可以修改来自客户端装置的服务请求并且将修改服务请求发送至用户ID确定系统。在对服务请求进行修改时,认证器网络装置404可以将用户凭据添加到服务请求中以创建修改服务请求。例如,认证器网络装置404可以将令牌和用户ID添加到服务请求的参数中以创建修改服务请求。

在特定实现中,诸如本文所述的用户ID确定系统等的用户ID确定系统406根据用于确定用户的适用系统而进行工作。用户ID确定系统406可以根据从认证器网络装置404接收到的修改服务请求来确定发起了服务请求的特定用户的用户ID。可以使用用户ID确定系统406所确定的用户ID来进行用户的向服务的单点登录访问。例如,可以使用用户ID确定系统406所确定的用户ID来进行用户的服务的单点登录使用。在另一示例中,可以使用用户ID确定系统406所确定的用户ID来进行用户在服务中的单点登录注册。

在特定实现中,诸如本文所述的凭据数据存储器等的凭据数据存储器408根据用于存储用户凭据的适用数据存储器而进行工作。凭据数据存储器408中所存储的用户凭据可以包括特定用户特有的用户密钥、用户ID和nonce。可以将用户密钥和nonce根据使用户密钥和nonce相关联的用户ID而存储在凭据数据存储器408中。例如,可以将用户密钥和nonce连同使用户密钥和nonce相关联的用户ID一起存储在表的条目中。根据特定实现考虑或其它考虑,认证器网络装置404可以使用凭据数据存储器408中所存储的用户凭据来在创建修改服务请求时修改服务请求。

在图4所示的示例系统中,用户ID确定系统406包括用户密钥确定引擎410、令牌解码引擎412、用户ID确定引擎414和令牌有效性判断引擎416。在特定实现中,用户密钥确定引擎410用于根据从认证器网络装置404接收到的修改服务请求来确定用户密钥。在确定用户密钥时,用户密钥确定引擎410可以根据作为参数(例如,作为用户ID的用户ID参数)而插入修改服务请求中的用户ID来确定用户ID。用户密钥确定引擎410可以使用用户ID来查找并检索与该用户ID相关联的用户密钥。具体地,用户密钥确定引擎410可以查找并检索凭据数据存储器408中所存储的与用户ID相关联的用户密钥。

在特定实现中,令牌解码引擎412用于对作为从认证器网络装置404接收到的修改服务请求的一部分而包括的令牌进行解码。令牌解码引擎412可以使用诸如Base64等的适用的解密技术来对作为修改服务请求的一部分而包括的令牌进行解码。

在特定实现中,用户ID确定引擎414用于根据作为修改服务请求的一部分而包括的并由令牌解码引擎412进行了解码的令牌来确定用户ID。在根据令牌来确定用户ID时,用户ID确定引擎414可以使用用户密钥确定引擎410所确定的用户密钥来对令牌进行解密。例如,如果修改服务请求包括用户IDA作为参数,则用户ID确定引擎414可以使用如用户密钥确定引擎410所确定的与用户ID A相关联的用户密钥A来对修改服务请求中所包括的令牌进行解密。在对令牌进行解密时,用户ID确定引擎414可用于从该令牌中提取纯文本。用户ID确定引擎414可以根据作为对令牌进行解密的结果而从该令牌中提取的纯文本来确定用户ID和用户nonce。根据从令牌中提取的纯文本所确定的用户ID可以是用户ID确定引擎414所确定的用户ID。

在特定实现中,令牌有效性判断引擎416用于判断作为从认证器网络装置404接收到的修改服务请求的一部分而包括的令牌的有效性。在判断令牌的有效性时,令牌有效性判断引擎416可以使用用户ID和nonce。在一个示例中,令牌有效性判断引擎416为了判断令牌的有效性所使用的用户ID和nonce是由用户ID确定引擎414根据从令牌中提取的纯文本所确定的。在另一示例中,将令牌有效性判断引擎416为了判断令牌的有效性所使用的用户ID作为用户ID参数而包括在令牌中,并且为了判断令牌的有效性所使用的nonce是由用户ID确定引擎414根据从令牌中提取的纯文本所确定的。在判断令牌的有效性时,令牌有效性判断引擎416可以将用户ID确定引擎414根据从令牌提取的纯文本所确定的nonce与凭据数据存储器408中所存储的基准nonce进行比较。根据特定实现考虑或其它考虑,凭据数据存储器408中所存储的基准nonce是基于用户凭据查询消息而返回至认证器网络装置404的nonce。在判断令牌的有效性时,用户ID确定引擎414可以使用作为用户ID参数而包括的和根据从令牌中提取的纯文本所确定的任一或这两个用户ID来确定基准nonce。具体地,令牌有效性判断引擎416可以使用用户ID来确定凭据数据存储器408中所存储的与该用户ID相关联并因此用作基准nonce的nonce。如果用户ID确定引擎414所确定的nonce与凭据数据存储器408中的基准nonce不一致,则令牌有效性判断引擎416可以判断为用户ID确定引擎414确定nonce所依据的令牌是无效的。同样,如果用户ID确定引擎414所确定的nonce与凭据数据存储器408中的基准nonce一致,则令牌有效性判断引擎416可以判断为用户ID确定引擎414确定nonce所依据的令牌是有效的。

在特定实现中,用户ID确定引擎414可以基于令牌有效性判断引擎416是否判断为令牌有效,来根据该令牌确定用户ID。具体地,如果令牌有效性判断引擎416判断为令牌有效,则用户ID确定引擎414可以判断为根据从令牌中提取的纯文本所确定的用户ID有效。同样,如果令牌有效性判断引擎416判断为令牌无效,则用户ID确定引擎414可以判断为根据从令牌中提取的纯文本所确定的用户ID无效。

在图4所示的示例系统的操作示例中,认证器网络装置修改从客户端装置接收到的服务请求以包括用户令牌。在该操作示例中,认证器网络装置404将修改服务请求发送至用户ID确定系统406。此外,在该操作示例中,用户密钥确定引擎410用于使用修改服务请求中所包括的令牌和凭据数据存储器408中所存储的用户凭据来确定发起了认证器网络装置404修改得到的服务请求的用户的用户密钥。在该操作示例中,令牌解码引擎412对修改服务请求中所包括的令牌进行解码。另外,在该操作示例中,用户ID确定引擎414根据令牌解码引擎412进行解码后的令牌来确定用户ID。在该操作示例中,在根据令牌来确定用户ID时,用户ID确定引擎对令牌解码引擎412进行解码后的令牌进行解密,以提取包括nonce和用户ID的纯文本。此外,在该操作示例中,令牌有效性判断引擎416使用作为从令牌中提取的纯文本的一部分而包括的nonce和作为凭据数据存储器408中所存储的用户凭据而包括的基准nonce来判断令牌的有效性。

图5示出用于将向服务的单点登录访问提供至客户端装置的方法的示例的流程图500。示例流程图500从模块502开始,其中在该模块502中,至少部分使用认证器网络装置来针对网络对连接至该认证器网络装置的客户端装置进行授权。在针对网络对客户端装置进行认证时,认证器网络装置可以在客户端装置和网络认证系统之间发送用于针对网络对客户端装置进行认证的认证数据。此外,作为针对网络对客户端装置进行认证的一部分,认证器网络装置可以管理客户端装置与认证器网络装置连接所经由的端口。在管理客户端装置与认证器网络装置连接所经由的端口时,认证器网络装置可以基于经由认证器网络装置所发送的认证数据来将该端口设置成授权状态或未授权状态。

图5所示的示例流程图500继续进入模块504,其中在该模块504中,认证器网络装置从连接至该认证器网络装置的客户端装置接收服务请求。认证器网络装置从客户端装置所接收到的服务请求可以是用于指定客户端装置的用户的用以在服务中进行注册的期望的注册请求。认证器网络装置从客户端接收到的服务请求可以是用于指定客户端装置的用户的用以使用服务的期望的使用请求。

图5所示的示例流程图500继续进入模块506,其中在该模块506中,认证器网络装置接收针对与客户端装置相关联的用户的用户凭据。认证器网络装置所接收到的用户凭据可以针对发起了认证器网络装置在模块504中所接收到的服务请求的用户。认证器网络装置可以在生成用户凭据查询消息并将该用户凭据查询消息发送至装置服务管理系统之后,从装置服务管理系统接收用户凭据。模块506中所接收到的用户凭据可以包括与特定用户相关联和/或特定用户特有的用户ID、用户密钥和nonce。响应于认证器网络装置所生成的包括客户端装置标识符(例如,客户端装置的MAC地址)的用户凭据查询消息,可以在认证器网络装置处接收到用户凭据。

图5所示的示例流程图500继续进入模块508,其中在该模块508中,使用模块506中所接收到的用户凭据来生成令牌。在认证器网络装置处接收到用户凭据之后,可以在认证器网络装置处生成令牌。可以通过生成包括nonce和作为认证器网络装置所接收到的用户凭据的一部分而包含的用户ID的纯文本来生成令牌。可以对作为生成令牌的一部分所生成的纯文本进行加密和编码以创建令牌。可以使用作为用户凭据的一部分而包括的用户密钥来对作为生成令牌的一部分所生成的纯文本进行加密。可以生成与具有用于生成令牌的用户凭据的特定用户相关联的和/或该特定用户特有的令牌。

图5所示的示例流程图500继续进入模块510,其中在该模块510中,修改服务请求以包括模块508中所生成的令牌,从而创建修改服务请求。可以利用发起了服务请求的用户特有的令牌来修改该服务请求。在生成修改服务请求时,可以将令牌作为参数插入服务请求中以生成修改服务请求。根据特定实现考虑或其它考虑,在进一步生成修改服务请求时,可以将发起了服务请求的用户的用户ID插入到服务请求的参数中以创建修改服务请求。

图5所示的示例流程图500继续进入模块512,其中在该模块512中,使用模块510中修改得到的服务请求来向用户提供单点登录访问。在提供单点登录访问时,可以对作为参数而包括在修改服务请求中的令牌进行解码和解密,以根据该修改服务请求来确定nonce和用户ID。根据特定实现考虑或其它考虑,使用根据作为参数而包括在修改服务请求中的用户ID所确定的用户ID特有的用户密钥来对作为该修改服务请求的一部分而包括的令牌进行解密。在提供单点登录访问时,通过将根据令牌所确定的nonce与同作为令牌的一部分而包括的用户ID和/或作为参数而添加在修改服务请求中的用户ID相关联的基准nonce进行比较,来判断令牌有效性。如果判断为令牌有效,则可以判断为根据令牌所确定的用户ID有效,并且可以提供单点登录访问。根据特定实现考虑或其它考虑,通过使用修改服务请求中的令牌所提供的单点登录访问可以包括服务中的单点登录注册和服务的单点登录使用中的任一或这两者。

图6示出用于生成在提供向服务的单点登录访问时所使用的令牌的方法的示例的流程图600。图6所示的示例流程图600从模块602开始,其中在该模块602中,接收用户凭据。可以响应于用户凭据查询消息而在认证器网络装置处接收到用户凭据。根据特定实现考虑或其它考虑,认证器网络装置可以针对发起了从连接至认证器网络装置的客户端装置所接收到的服务请求的特定用户来生成用户凭据查询消息。此外,根据特定实现考虑或其它考虑,可以在认证器网络装置处接收到发起了服务请求的特定用户特有的用户凭据。模块602所接收到的用户凭据可以包括与用户相关联的用户ID、用户密钥和nonce。

图6所示的示例流程图600继续进入模块604,其中在该模块604中,生成采用纯文本形式的正文。模块604中所生成的采用纯文本形式的正文包括作为模块602中所接收到的用户凭据的一部分而包括的用户ID和nonce。根据特定实现考虑或其它考虑,作为模块604中所生成的采用纯文本形式的正文的一部分而包括的用户ID和nonce可以是特定用户特有的,使得模块604中所生成的采用纯文本形式的正文是特定用户特有的。

图6所示的示例流程图600继续进入模块606,其中在该模块606中,使用用户密钥来对采用纯文本形式的正文进行加密。可以使用用于生成采用纯文本形式的正文的用户凭据中所包括的用户密钥来对采用纯文本形式的正文进行加密。根据特定实现考虑或其它考虑,可以使用对于纯文本所包括的用户ID和nonce是特有的用户而言也是特有的用户密钥来对采用纯文本形式的正文进行加密。在模块606中,根据适用的加密技术,可以使用用户密钥对纯文本进行加密。

图6所示的示例流程图600继续进入模块608,其中在该模块608中,对在模块606中进行加密后的纯文本进行编码以生成令牌。可以根据诸如Base64等的适用的编码技术来对加密后的纯文本进行编码。可以将如此得到的令牌添加至服务请求以生成修改服务请求。另外,可以使用如此得到的令牌来提供向作为使用令牌修改得到的服务请求的对象的服务的单点登录访问。

图7示出用于根据作为修改服务请求的一部分而包括的令牌来确定用户ID以提供向服务的单点登录访问的方法的示例的流程图700。图7所示的示例流程图700从模块702开始,其中在该模块702中,接收包括令牌和用户ID的修改服务请求。令牌和用户ID可以作为修改服务请求的参数而被包括为修改服务请求的一部分。可以从认证器网络装置来接收包括令牌和用户ID作为参数的修改服务请求。可以根据用于生成令牌的适用技术并且使用适用系统(诸如本文所述的系统和技术等)来生成作为修改服务请求的一部分而包括的令牌。

图7所示的示例流程图700继续进入模块704,其中在该模块704中,对作为修改服务请求的一部分而包括的令牌进行解码。可以使用诸如Base64等的适用的解码技术来对作为修改服务请求的一部分而包括的令牌进行解码。

图7所示的示例流程图700继续进入模块706,其中在该模块706中,根据修改服务请求中所包括的用户ID来确定用户密钥。可以根据作为参数而包括在修改服务请求中的用户ID来确定用户密钥。根据特定实现考虑或其它考虑,用户密钥可以是与修改服务请求中所包括的用户ID唯一地相关联的用户所特有的。

图7所示的示例流程图700继续进入模块708,其中在该模块708中,使用用户密钥来对令牌进行解密以提取采用纯文本形式的正文。使用模块706中所确定的用户密钥来对令牌进行解密。在从令牌中提取纯文本时,可以根据适用的解密技术并且使用用户密钥来对令牌进行解密。

图7所示的示例流程图700继续进入模块710,其中在该模块710中,根据通过在模块708中对令牌进行解密所提取的纯文本的正文来确定用户ID和nonce。可以利用用户ID和nonce来生成纯文本,使得在从令牌提取出纯文本之后,可以根据该纯文本来确定用户ID和nonce。

图7所示的示例流程图700继续进入模块712,其中在该模块712中,使用用户ID来确定基准nonce。根据特定实现考虑或其它考虑,可以使用作为参数而包括在修改服务请求中的以及根据从令牌中提取的纯文本所确定的任一或这两个用户ID来确定基准nonce。可以将基准nonce连同该基准nonce所关联的用户的用户ID一起存储在适用的数据存储器中。根据特定实现考虑或其它考虑,基准nonce可以是与用于确定该基准nonce的用户ID相关联的用户所特有的。

图7所示的示例流程图700继续进入判定点714,其中在该判定点714中,判断根据从令牌中提取的纯文本所确定的nonce与模块712中所确定的基准nonce是否一致。如果在判定点714中判断为该nonce与模块712中所确定的基准nonce不一致,则图7所示的示例流程图700继续进入模块716,其中在该模块716中,判断为根据所提取的纯文本所确定的用户ID是无效的,因此令牌无效。在判断为用户ID无效时,不向发起了针对服务的请求的用户提供向服务的单点登录访问。根据特定实现考虑或其它考虑,如果判断为用户ID无效,则可以将针对新的修改服务请求的请求发送回至认证器网络装置,以接收具有有效令牌的修改服务请求。

如果在判定点714中判断为根据从令牌中提取的纯文本所确定的nonce与模块712中所确定的基准nonce一致,则图7所示的示例流程图700继续进入模块718。在模块718中,判断为根据从令牌中提取的纯文本所确定的用户ID是有效的,因此令牌有效。在模块718中,在判断为令牌有效的情况下,提供向作为修改服务请求的对象的服务的单点登录访问。根据特定实现考虑或其它考虑,向服务的单点服务访问可以包括向服务的单点登录注册和服务的单点登录使用中的任一或这两者。

本文所提供的这些和其它示例意图例示而未必限制所述实现。如这里所使用的,术语“实现”是指用于通过示例而非限制性的方式进行例示的实现。在前面的文本和附图中所述的技术可根据情况要求进行混合和匹配以产生替代实现。

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