改進經(jīng)由網(wǎng)絡、特別是無線網(wǎng)絡的通信的性能是正在進行研究和開發(fā)的領(lǐng)域。經(jīng)常利用802.11標準管理無線網(wǎng)絡。盡管并非所有網(wǎng)絡都需要使用與802.11相關(guān)聯(lián)的所有標準,但是至少部分因為標準是眾所周知并被文檔記載的,針對諸如所謂802.11n等的標準的討論提供了有用的描述無線系統(tǒng)相關(guān)問題的背景。
確保適當?shù)难b置接收到適當?shù)姆?例如,系統(tǒng)管理員已授予權(quán)限的服務)是提供無線服務的重要方面。經(jīng)常地,接收服務需要對裝置進行認證。特別是在利用(相對于授予無線訪問的一方的)第三方的情況下,可能需要如下的兩次認證:在根據(jù)例如802.11協(xié)議進行認證時的一次認證和在與第三方服務進行認證時的再一次認證。減少認證次數(shù)在可以將訪問控制維持于合理水平的情況下,將被視為有利的。
對相關(guān)技術(shù)及與之相關(guān)的限制的上述示例意圖為說明性的并且不是排它性的。例如,無線客戶端可以使用除802.11以外的不同協(xié)議,可能包括尚未開發(fā)出的協(xié)議。然而,與多次認證相關(guān)聯(lián)的問題可能繼續(xù)存在。在閱讀說明書并且研究附圖的情況下,相關(guān)技術(shù)的其它限制對于本領(lǐng)域技術(shù)人員將是顯而易見的。
技術(shù)實現(xiàn)要素:
與僅為示例性和說明性的而非限制范圍的系統(tǒng)、工具和方法相結(jié)合地描述并且示出以下實現(xiàn)及其各方面。在各實現(xiàn)中解決了上述問題中的一個或多個,而其它實現(xiàn)旨在進行其它改進。
各實現(xiàn)涉及針對客戶端裝置提供向服務的單點登錄訪問。在各實現(xiàn)的至少一個實現(xiàn)中,針對網(wǎng)絡來對連接至認證器網(wǎng)絡裝置的客戶端裝置進行認證。在各實現(xiàn)的至少一個實現(xiàn)中,在認證器網(wǎng)絡裝置處接收來自客戶端裝置的服務請求。此外,在各實現(xiàn)的至少一個實現(xiàn)中,在認證器網(wǎng)絡裝置處接收包括用戶的用戶ID、用戶密鑰和隨機數(shù)(nonce)的用戶憑據(jù)。在各實現(xiàn)的至少一個實現(xiàn)中,使用所接收到的用戶憑據(jù)來生成令牌。另外,在各實現(xiàn)的至少一個實現(xiàn)中,修改服務請求以包括令牌和作為用戶ID的用戶ID參數(shù)以生成修改服務請求。在各實現(xiàn)的至少一個實現(xiàn)中,使用修改服務請求來提供向作為服務請求的對象的服務的單點登錄訪問。
在閱讀以下說明并且研究附圖的若干示例的情況下,這些以及其它優(yōu)點對于相關(guān)領(lǐng)域的技術(shù)人員將變得明顯。
附圖說明
圖1示出客戶端裝置針對網(wǎng)絡的單點登錄認證和客戶端裝置向網(wǎng)絡所提供的服務的訪問所用的系統(tǒng)的示例的圖。
圖2示出用于利用在訪問客戶端裝置所用的服務時使用的裝置來針對網(wǎng)絡對客戶端裝置進行授權(quán)的系統(tǒng)的示例的圖。
圖3示出用于提供向服務的單點登錄訪問的系統(tǒng)的示例的圖。
圖4示出用于根據(jù)令牌來確定用戶ID的系統(tǒng)的示例的圖。
圖5示出用于將向服務的單點登錄訪問提供至客戶端裝置的方法的示例的流程圖。
圖6示出用于生成在提供向服務的單點登錄訪問時所使用的令牌的方法的示例的流程圖。
圖7示出用于根據(jù)作為修改服務請求的一部分而包括的令牌來確定用戶ID以提供向服務的單點登錄訪問的方法的示例的流程圖。
具體實施方式
圖1示出客戶端裝置針對網(wǎng)絡的單點登錄認證和客戶端裝置向網(wǎng)絡所提供的服務的訪問所用的系統(tǒng)的示例的圖100。圖1所示的示例系統(tǒng)包括計算機可讀介質(zhì)102、客戶端裝置104、認證器網(wǎng)絡裝置106、網(wǎng)絡認證系統(tǒng)108和裝置服務管理系統(tǒng)110。
在圖1所示的示例系統(tǒng)中,認證器網(wǎng)絡裝置106、網(wǎng)絡認證系統(tǒng)108和裝置服務管理系統(tǒng)110經(jīng)由計算機可讀介質(zhì)102彼此連接。如本文中所使用的,“計算機可讀介質(zhì)”意圖包括法定的(例如,在美國為根據(jù)35U.S.C.101的)所有介質(zhì),并且具體排除從性質(zhì)上非法定的所有介質(zhì),以達到針對包括有效的計算機可讀介質(zhì)的權(quán)利要求需要進行該排除的程度。已知的法定計算機可讀介質(zhì)包括硬件(例如,寄存器、隨機存取存儲器(RAM)、非易失性(NV)存儲器(僅舉幾個例子)),但可以局限于或者不局限于硬件。
計算機可讀介質(zhì)102意圖表示各種潛在可應用的技術(shù)。例如,計算機可讀介質(zhì)102可用于形成網(wǎng)絡或網(wǎng)絡的一部分。在兩個組件共同位于裝置上的情況下,計算機可讀介質(zhì)102可以包括總線或者其它數(shù)據(jù)管道或平面。在第一組件位于一個裝置上并且第二組件位于不同裝置上的情況下,計算機可讀介質(zhì)102可以包括無線或有線后端網(wǎng)絡或LAN。在適用的情況下,計算機可讀介質(zhì)102還可以包含WAN或其它網(wǎng)絡的相關(guān)部分。
本文所述的計算機可讀介質(zhì)102、客戶端裝置104、認證器網(wǎng)絡裝置106、網(wǎng)絡認證系統(tǒng)108、裝置服務管理系統(tǒng)110和其它系統(tǒng)或裝置可被實現(xiàn)為計算機系統(tǒng)或計算機系統(tǒng)的一部分或多個計算機系統(tǒng)。如本文中所使用的,計算機系統(tǒng)意圖是從廣義上進行解釋的,并且可以包括或被實現(xiàn)為用于執(zhí)行本文所述的功能的專用計算機系統(tǒng)。通常,計算機系統(tǒng)將包括處理器、存儲器、非易失性存儲器和接口。典型的計算機系統(tǒng)通常將至少包括處理器、存儲器和使存儲器連接至處理器的裝置(例如,總線)。處理器例如可以是諸如微處理器等的通用中央處理單元(CPU)或者諸如微控制器等的專用處理器。
存儲器可以通過示例而非限制性的方式包括諸如動態(tài)RAM(DRAM)和靜態(tài)RAM(SRAM)等的隨機存取存儲器(RAM)。存儲器可以為本地的、遠程的或分布式的??偩€還可以使處理器連接至非易失性存儲器。非易失性存儲器經(jīng)常是磁性軟盤或硬盤、磁光盤、光盤、只讀存儲器(ROM)(諸如CD-ROM、EPROM或EEPROM等)、磁性或光學卡、或者針對大量數(shù)據(jù)的其它形式的存儲器。在計算機系統(tǒng)上執(zhí)行軟件期間,該數(shù)據(jù)中的一部分經(jīng)常通過直接存儲器訪問處理而被寫入存儲器。非易失性存儲器可以是本地的、遠程的或分布式的。由于可以利用存儲器內(nèi)可利用的所有適用數(shù)據(jù)來創(chuàng)建系統(tǒng),因此非易失性存儲器是可選的。
通常將軟件存儲在非易失性存儲器中。實際上,對于大型程序,可能甚至無法將整個程序存儲在存儲器中。然而,應當理解,為了運行軟件,在需要的情況下,將該軟件移動至適合處理的計算機可讀位置,并且為了例示目的,在本文中將該位置稱為存儲器。即使在將軟件移動至存儲器以供執(zhí)行的情況下,處理器通常也將利用用以存儲與該軟件相關(guān)聯(lián)的值的硬件寄存器、以及理想地用以加速執(zhí)行的本地高速緩沖存儲器。如這里所使用的,在將軟件程序稱為“以計算機可讀存儲介質(zhì)來實現(xiàn)”的情況下,假定將該軟件程序存儲在適用的已知或方便的位置(從非易失性存儲器到硬件寄存器)。在將與程序相關(guān)聯(lián)的至少一個值存儲在處理器可讀取的寄存器中的情況下,處理器被視為“被配置為執(zhí)行該程序”。
在操作的一個示例中,可以利用操作系統(tǒng)軟件、即包括諸如盤操作系統(tǒng)等的文件管理系統(tǒng)的軟件程序,來控制計算機系統(tǒng)。具有關(guān)聯(lián)的文件管理系統(tǒng)軟件的操作系統(tǒng)軟件的一個示例是已知為位于華盛頓州雷德蒙德市的微軟公司的的操作系統(tǒng)家族及其關(guān)聯(lián)的文件管理系統(tǒng)。具有關(guān)聯(lián)的文件管理系統(tǒng)軟件的操作系統(tǒng)軟件的另一示例是Linux操作系統(tǒng)及其關(guān)聯(lián)的文件管理系統(tǒng)。文件管理系統(tǒng)通常被存儲在非易失性存儲器中,并且使處理器執(zhí)行操作系統(tǒng)所要求的用以輸入和輸出數(shù)據(jù)并將數(shù)據(jù)存儲在存儲器中(包括將文件存儲在非易失性存儲器上)的各種動作。
總線還可以使處理器連接至接口。接口可以包括一個或多個輸入和/或輸出(I/O)裝置。I/O裝置可以通過示例而非限制性的方式包括鍵盤、鼠標或其它指示裝置、盤驅(qū)動器、打印機、掃描器和包括顯示裝置的其它I/O裝置。顯示裝置可以通過示例而非限制性的方式包括陰極射線管(CRT)、液晶顯示器(LCD)或某些其它適用的已知或方便的顯示裝置。接口可以包括調(diào)制解調(diào)器或網(wǎng)絡接口中的一個或多個。應當理解,調(diào)制解調(diào)器或網(wǎng)絡接口可被視為計算機系統(tǒng)的一部分。接口可以包括模擬調(diào)制解調(diào)器、isdn調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器、令牌環(huán)接口、衛(wèi)星傳輸接口(例如,“直播衛(wèi)星(direct PC)”)、或者用于使計算機系統(tǒng)連接至其它計算機系統(tǒng)的其它接口。接口使得計算機系統(tǒng)和其它裝置在網(wǎng)絡內(nèi)能夠連接到一起。
計算機系統(tǒng)可以與基于云的計算系統(tǒng)的一部分兼容、或者可被實現(xiàn)為基于云的計算系統(tǒng)的一部分或可以經(jīng)由基于云的計算系統(tǒng)來實現(xiàn)。如本文中所使用的,基于云的計算系統(tǒng)是向客戶端裝置提供虛擬化的計算資源、軟件和/或信息的系統(tǒng)??梢酝ㄟ^維持邊緣裝置經(jīng)由諸如網(wǎng)絡等的通信接口可以訪問的集中服務和資源來使計算資源、軟件和/或信息虛擬化。“云”可以是營銷術(shù)語,并且為了本文的目的可以包括這里所述的任何網(wǎng)絡。基于云的計算系統(tǒng)可以涉及針對服務的訂閱或者使用效用定價模型。用戶可以經(jīng)由位于這些用戶的客戶端裝置上的web瀏覽器或其它容器應用程序來訪問基于云的計算系統(tǒng)的協(xié)議。
計算機系統(tǒng)可被實現(xiàn)為引擎、引擎的一部分或可以經(jīng)由多個引擎來實現(xiàn)。如本文中所使用的,引擎包括至少兩個組件:1)專用或共享處理器;以及2)處理器所執(zhí)行的硬件、固件和/或軟件模塊。根據(jù)特定實現(xiàn)考慮、特定結(jié)構(gòu)考慮或其它考慮,引擎可以為集中式或者其功能可以為分布式。引擎可以是包括以計算機可讀介質(zhì)來體現(xiàn)以供處理器執(zhí)行的專用硬件、固件或軟件的專用引擎。諸如參考本文的附圖所述等,處理器使用所實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和方法來將數(shù)據(jù)變換成新數(shù)據(jù)。
本文所述的引擎或者可以實現(xiàn)本文所述的系統(tǒng)和裝置所經(jīng)由的引擎可以是基于云的引擎。如本文中所使用的,基于云的引擎是可以使用基于云的計算系統(tǒng)來運行應用程序和/或功能的引擎。這些應用程序和/或功能的全部或一部分可以分布在多個計算裝置之間,并且不必局限于僅一個計算裝置。在一些實施例中,基于云的引擎可以執(zhí)行最終用戶在無需具有這些最終用戶的計算裝置上本地安裝的功能和/或模塊的情況下經(jīng)由web瀏覽器或容器應用程序進行訪問的功能和/或模塊。
如本文中所使用的,數(shù)據(jù)存儲器意圖包括具有任何適用的數(shù)據(jù)的組織的資源庫,其中該數(shù)據(jù)的組織包括表、逗號分隔值(CSV)文件、傳統(tǒng)數(shù)據(jù)庫(例如,SQL)或者其它適用的已知或方便組織的格式。例如,數(shù)據(jù)存儲器可被實現(xiàn)為在通用或?qū)S脵C器上的物理計算機可讀介質(zhì)中、在固件中、在硬件中、在它們的組合中、或者在適用的已知或方便的裝置或系統(tǒng)中所體現(xiàn)的軟件。盡管數(shù)據(jù)存儲器關(guān)聯(lián)組件的物理位置和其它特性對于理解本文所述的技術(shù)而言并不重要,但諸如數(shù)據(jù)庫接口等的數(shù)據(jù)存儲器關(guān)聯(lián)組件可被視為數(shù)據(jù)存儲器的“一部分”、一些其它系統(tǒng)組件的一部分或它們的組合。
數(shù)據(jù)存儲器可以包括數(shù)據(jù)結(jié)構(gòu)。如本文所使用的,數(shù)據(jù)結(jié)構(gòu)與用于將數(shù)據(jù)存儲在計算機中并進行組織以使得可以在給定上下文內(nèi)高效地使用數(shù)據(jù)的特定方式相關(guān)聯(lián)。數(shù)據(jù)結(jié)構(gòu)通?;谟嬎銠C的如下的能力:在由地址(即自身可以存儲在存儲器中并且利用程序進行操作的位串)所指定的存儲器中的任何位置處進行數(shù)據(jù)的提取和存儲。因而,一些數(shù)據(jù)結(jié)構(gòu)基于通過算術(shù)運算來計算數(shù)據(jù)項的地址;而其它數(shù)據(jù)結(jié)構(gòu)基于將數(shù)據(jù)項的地址存儲在結(jié)構(gòu)自身內(nèi)。許多數(shù)據(jù)結(jié)構(gòu)使用有時以非平凡方式組合的這兩個原則。數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)通常引起寫入創(chuàng)建并操作該結(jié)構(gòu)的實例的一組過程。本文中所述的數(shù)據(jù)存儲器可以是基于云的數(shù)據(jù)存儲器?;谠频臄?shù)據(jù)存儲器是與基于云的計算系統(tǒng)和引擎兼容的數(shù)據(jù)存儲器。
在圖1所示的示例系統(tǒng)中,客戶端裝置104連接至認證器網(wǎng)絡裝置106。在連接至認證器106時,客戶端裝置104可以與認證器網(wǎng)絡裝置106形成LAN或LAN的一部分。在特定實現(xiàn)中,客戶端裝置104用以經(jīng)由網(wǎng)絡來發(fā)送和接收數(shù)據(jù)。在發(fā)送和接收數(shù)據(jù)時,客戶端裝置104可以發(fā)送和接收用于對網(wǎng)絡上的客戶端裝置104進行認證的認證數(shù)據(jù)。根據(jù)特定實現(xiàn)考慮、特定結(jié)構(gòu)考慮或其它考慮,客戶端裝置104可以為:諸如智能電話、PDA或可穿戴電子裝置等的移動裝置;諸如筆記本式或膝上型計算機或者通常被視為便攜型的其它裝置等的半移動裝置;或者諸如臺式計算機等的通常不被視為移動型的裝置。此外,根據(jù)特定實現(xiàn)考慮、特定結(jié)構(gòu)考慮或其它考慮,客戶端裝置104可以是薄型客戶端裝置或超薄型客戶端裝置。
在特定實現(xiàn)中,客戶端裝置104經(jīng)由無線連接而連接至認證器網(wǎng)絡裝置106。在特定實現(xiàn)中,客戶端裝置104經(jīng)由認證器網(wǎng)絡裝置106來發(fā)送和接收數(shù)據(jù)。例如,客戶端裝置104可以經(jīng)由使客戶端裝置104連接至認證器網(wǎng)絡裝置106的無線連接來相對于認證器網(wǎng)絡裝置106進行數(shù)據(jù)的發(fā)送和接收。使客戶端裝置104連接至認證器網(wǎng)絡裝置的無線連接可以是或者可以不是IEEE 802兼容的。在本文中,通過相對較好理解的示例的方式使用IEEE 802標準術(shù)語來論述包括使站點經(jīng)由無線介質(zhì)連接的無線技術(shù)的實現(xiàn)。如本文中所使用的站點可被稱為具有介質(zhì)訪問控制(MAC)地址和與符合IEEE 802標準的無線介質(zhì)的物理層(PHY)接口的裝置。因而,例如,在適用的情況下,可以將客戶端裝置和這些客戶端裝置所關(guān)聯(lián)的網(wǎng)絡稱為站點。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連接至認證器網(wǎng)絡裝置106的特定實現(xiàn)中,本文中所述的適用的裝置、系統(tǒng)和引擎可以或者可以不兼容IEEE 802標準或者符合IEEE 802標準。如本文中所使用的,兼容IEEE 802標準或符合IEEE 802標準符合所包含的文檔的要求和/或建議以及文檔的較早草案的要求和/或建議的一個或多個中的至少一部分,并且包括Wi-Fi系統(tǒng)。Wi-Fi是非技術(shù)性描述,其一般與IEEE 802.11標準以及Wi-Fi保護接入(WPA)和WPA2安全標準及可擴展認證協(xié)議(EAP)標準相關(guān)。在替代實現(xiàn)中,站點可以符合除Wi-Fi或者IEEE 802.11以外的不同標準,可以被稱作除“站點”以外的名稱,并且可以具有與無線介質(zhì)或其它介質(zhì)的不同接口。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于使客戶端裝置104連接至網(wǎng)絡。根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置106可以使客戶端裝置104連接至網(wǎng)絡內(nèi)的LAN。在使客戶端裝置104連接至網(wǎng)絡時,認證器網(wǎng)絡裝置106可以從客戶端裝置104接收到數(shù)據(jù)并且發(fā)送經(jīng)由向客戶端裝置104的網(wǎng)絡所接收到的數(shù)據(jù)。認證器網(wǎng)絡裝置106可以是在使客戶端裝置連接至網(wǎng)絡時所使用的適用裝置。例如,認證器網(wǎng)絡裝置106可以是虛擬專用網(wǎng)(以下稱為“VPN”)網(wǎng)關(guān)、路由器、接入點(以下稱為“AP”)或裝置交換機。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于在網(wǎng)絡認證系統(tǒng)108和客戶端裝置104之間生成并發(fā)送認證數(shù)據(jù)。可以使用認證器網(wǎng)絡裝置106所發(fā)送的認證數(shù)據(jù)來根據(jù)諸如IEEE 802.1X等的適用標準對裝置進行認證。此外,認證器網(wǎng)絡裝置106所發(fā)送的認證數(shù)據(jù)可以包括網(wǎng)絡認證系統(tǒng)108和客戶端裝置104所生成并發(fā)送的請求和響應。認證器網(wǎng)絡裝置106所發(fā)送的請求幀和響應幀可以包括網(wǎng)絡中正進行認證的客戶端裝置104的標識(例如,MAC地址)。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106被配置為生成并發(fā)送用于發(fā)起網(wǎng)絡中的客戶端裝置104的認證的認證數(shù)據(jù)。例如,認證器網(wǎng)絡裝置106可以相對于客戶端裝置104和網(wǎng)絡認證系統(tǒng)108進行EAP請求幀的發(fā)送。另外,認證器網(wǎng)絡裝置106可以相對于客戶端裝置104和網(wǎng)絡認證系統(tǒng)108進行EAP響應幀的發(fā)送。認證器網(wǎng)絡裝置106所發(fā)送的EAP響應幀可以是包括客戶端裝置104的標識(諸如客戶端裝置104的MAC地址或者與客戶端裝置104相關(guān)聯(lián)的用戶的用戶ID等)的EAP響應標識幀。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106被配置為生成并發(fā)送在網(wǎng)絡中的客戶端裝置104的協(xié)商和認證中所使用的認證數(shù)據(jù)。例如,認證器網(wǎng)絡裝置106可以在網(wǎng)絡認證系統(tǒng)108和客戶端裝置104之間發(fā)送在對網(wǎng)絡中的客戶端裝置104進行認證時所使用的請求和響應(例如,EAP請求和響應)。網(wǎng)絡認證系統(tǒng)108可以發(fā)送包括協(xié)商并商定認證方法時所使用的消息(例如,EAP方法請求和響應)的認證數(shù)據(jù)。認證器網(wǎng)絡裝置106所發(fā)送的認證數(shù)據(jù)可以包括表示客戶端裝置104針對網(wǎng)絡已被成功認證的成功消息(例如,EAP成功消息)。另外,認證器網(wǎng)絡裝置106所發(fā)送的認證數(shù)據(jù)可以包括表示客戶端裝置104針對網(wǎng)絡未被成功認證的失敗消息(例如,EAP失敗消息)。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于管理客戶端裝置104連接至認證器網(wǎng)絡裝置106所經(jīng)由的端口。在管理客戶端裝置104連接至認證器網(wǎng)絡裝置106所經(jīng)由的端口時,認證器網(wǎng)絡裝置106可以將該端口設置成未授權(quán)狀態(tài)。在對客戶端裝置104進行認證的時間(例如,從客戶端裝置104首先連接至認證器網(wǎng)絡裝置106時起、直到該客戶端裝置針對網(wǎng)絡得到網(wǎng)絡認證系統(tǒng)108認證時為止的時間)內(nèi),認證器網(wǎng)絡裝置106可以將端口設置成未授權(quán)狀態(tài)。如這里所使用的,處于未授權(quán)狀態(tài)的端口僅允許用于對客戶端裝置進行認證的通信量通過該端口。例如,如果使認證器網(wǎng)絡裝置106和客戶端裝置連接的端口被設置成未授權(quán)狀態(tài),則認證器網(wǎng)絡裝置106可以經(jīng)由該端口僅發(fā)送用于對客戶端裝置104進行認證的消息(例如,EAP響應和請求)。另外,在管理客戶端裝置104連接至認證器網(wǎng)絡裝置106所經(jīng)由的端口時,認證器網(wǎng)絡裝置106可以將客戶端裝置104連接至認證器網(wǎng)絡裝置106所經(jīng)由的端口設置成授權(quán)狀態(tài)。如這里所使用的,將端口設置成授權(quán)狀態(tài)允許所有適用的通信量通過該端口。認證器網(wǎng)絡裝置106可以在接收到表示客戶端裝置104針對網(wǎng)絡已得到網(wǎng)絡認證系統(tǒng)認證的消息(例如,EAP成功消息)之后,將端口設置成授權(quán)狀態(tài)。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于對該認證器網(wǎng)絡裝置106所發(fā)送的認證數(shù)據(jù)進行封裝。認證器網(wǎng)絡裝置106可以對在網(wǎng)絡認證系統(tǒng)108和客戶端裝置104之間所發(fā)送的認證數(shù)據(jù)進行封裝。根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置106可以根據(jù)遠程認證撥號用戶服務(以下稱為“RADIUS”)協(xié)議或diameter(直徑)協(xié)議來對認證數(shù)據(jù)進行封裝。例如,認證器網(wǎng)絡裝置106可以從客戶端裝置104接收到標識響應,并且將該標識響應封裝在發(fā)送至網(wǎng)絡認證系統(tǒng)108的RADIUS訪問請求包中。
在特定實現(xiàn)中,網(wǎng)絡認證系統(tǒng)108用于針對網(wǎng)絡對客戶端裝置104進行認證??梢宰⒁猓J證器網(wǎng)絡裝置106還可以具有一些認證能力,并且在認證器網(wǎng)絡裝置106和網(wǎng)絡認證系統(tǒng)108上發(fā)生的認證處理量可被視為特定實現(xiàn)的。然而,為了便于例示,將網(wǎng)絡認證系統(tǒng)108視為唯一的無線接入認證器。
在特定實現(xiàn)中,在針對網(wǎng)絡對客戶端裝置104進行認證時,網(wǎng)絡認證系統(tǒng)108可以進行認證數(shù)據(jù)的發(fā)送和接收。網(wǎng)絡認證系統(tǒng)108可以根據(jù)諸如EAP等的用于對客戶端裝置進行認證的適用協(xié)議來進行認證數(shù)據(jù)的發(fā)送和接收。在發(fā)送和接收認證數(shù)據(jù)時,網(wǎng)絡認證系統(tǒng)108可以將認證數(shù)據(jù)經(jīng)由認證器網(wǎng)絡裝置106發(fā)送至客戶端裝置104并且經(jīng)由認證器網(wǎng)絡裝置106從客戶端裝置104接收認證數(shù)據(jù)。在各種實現(xiàn)中,作為對客戶端裝置104進行認證的一部分,網(wǎng)絡認證系統(tǒng)108可以接收包括客戶端裝置104的標識(例如,客戶端裝置104的MAC地址或者與客戶端裝置104相關(guān)聯(lián)的用戶的用戶ID)的認證數(shù)據(jù)。網(wǎng)絡認證系統(tǒng)108可以發(fā)送和接收包括用于確定并商定網(wǎng)絡認證系統(tǒng)108對客戶端裝置104進行認證將利用的方法的消息的認證數(shù)據(jù)。例如,網(wǎng)絡認證系統(tǒng)108可以發(fā)送和接收EAP方法消息。
在特定實現(xiàn)中,在對客戶端裝置104進行認證時,網(wǎng)絡認證系統(tǒng)108可以判斷客戶端裝置104針對與網(wǎng)絡認證系統(tǒng)108相關(guān)聯(lián)的網(wǎng)絡是否得到認證。如果網(wǎng)絡認證系統(tǒng)108針對網(wǎng)絡認證了客戶端裝置104,則網(wǎng)絡認證系統(tǒng)108可以生成并發(fā)送表示客戶端裝置104針對網(wǎng)絡已被成功認證的成功消息(例如,EAP成功消息)。同樣,如果網(wǎng)絡認證系統(tǒng)108針對網(wǎng)絡沒有認證客戶端裝置104,則網(wǎng)絡認證系統(tǒng)108可以生成并發(fā)送表示客戶端裝置104針對網(wǎng)絡未被成功認證的失敗消息(例如,EAP失敗消息)。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)110用于提供并管理客戶端裝置所用的服務。根據(jù)特定實現(xiàn)考慮或其它考慮,裝置服務管理系統(tǒng)110可以提供并管理要求授權(quán)來訪問服務的向服務的訪問。此外,根據(jù)特定實現(xiàn)考慮或其它考慮,裝置服務管理系統(tǒng)110可以提供并管理不要求授權(quán)來訪問服務的向服務的訪問。裝置服務管理系統(tǒng)110所提供并管理的服務可以來自(例如,除請求者和網(wǎng)絡接入提供商以外的)第三方。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)110用于在提供并管理客戶端裝置104所用的服務時與認證器網(wǎng)絡裝置106進行通信。根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置106可以使用用以對通信進行加密的適用加密技術(shù)來與裝置服務管理系統(tǒng)110進行通信。例如,認證器網(wǎng)絡裝置106可以從裝置服務管理系統(tǒng)110獲得公鑰基礎設施(以下稱為“PKI”)證書以便于與裝置服務管理系統(tǒng)110進行加密通信。還可以采用其它已知的適用或方便的加密技術(shù)。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)110。根據(jù)特定實現(xiàn)考慮或其它考慮,在客戶端裝置104針對網(wǎng)絡得到網(wǎng)絡認證系統(tǒng)108授權(quán)之后,認證器網(wǎng)絡裝置106生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)110。此外,根據(jù)特定實現(xiàn)考慮或其它考慮,在將新服務提供至與網(wǎng)絡連接的客戶端裝置之后,認證器網(wǎng)絡裝置106生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)110。此外,根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置106在從客戶端裝置接收到服務請求之后,生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)。認證器網(wǎng)絡裝置106所發(fā)送的用戶憑據(jù)查詢消息可以包括客戶端裝置104的MAC地址。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)110用于將用戶憑據(jù)發(fā)送至認證器網(wǎng)絡裝置106。裝置服務管理系統(tǒng)110發(fā)送至認證器網(wǎng)絡裝置106的用戶憑據(jù)可以包括用戶密鑰、用戶ID、以及用戶序列號、數(shù)字串或nonce。裝置服務管理系統(tǒng)110可以響應于從認證器網(wǎng)絡裝置106接收到用戶憑據(jù)查詢消息來將用戶憑據(jù)發(fā)送至認證器網(wǎng)絡裝置106。在將用戶憑據(jù)發(fā)送至認證器網(wǎng)絡裝置106時,裝置服務管理系統(tǒng)110可以使用作為用戶憑據(jù)查詢消息的一部分而包括的客戶端裝置104的MAC地址來搜索用戶憑據(jù)。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于針對與客戶端裝置104相關(guān)聯(lián)的用戶來生成令牌。在生成令牌時,認證器網(wǎng)絡裝置106可以生成包括從裝置服務管理系統(tǒng)110接收到的用戶憑據(jù)(例如,用戶標識、nonce和用戶密鑰)的采用純文本的正文。此外,在生成令牌時,認證器網(wǎng)絡裝置106可以利用用戶密鑰來對包括用戶憑據(jù)的采用純文本的正文進行加密。認證器網(wǎng)絡裝置106可以使用諸如Base64等的適用的編碼方案來對加密正文進行編碼。
在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于從客戶端裝置104接收服務請求。此外,在特定實現(xiàn)中,認證器網(wǎng)絡裝置106用于修改從客戶端裝置104接收到的服務請求以包括所生成的令牌,并且將修改后的服務請求發(fā)送至裝置服務管理系統(tǒng)110。可以以諸如先前段落所述的方式等的適用方式來生成認證器網(wǎng)絡裝置修改得到后的服務請求中所包括的令牌。認證器網(wǎng)絡裝置106所接收并修改得到的服務請求可以包括注冊請求,該注冊請求指定用以在裝置服務管理系統(tǒng)110所提供的服務中進行注冊的期望。另外,認證器網(wǎng)絡裝置106所接收并修改得到的服務請求可以包括使用請求,該使用請求指定用以使用裝置服務管理系統(tǒng)110所提供的服務的期望。根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置106可以接收并修改HTTP服務請求。在對服務請求進行修改時,認證器網(wǎng)絡裝置106可以將令牌作為參數(shù)插入服務請求中以創(chuàng)建修改服務請求。此外,在對服務請求進行修改時,認證器網(wǎng)絡裝置106可以修改所接收到的服務請求以包括所生成的與從其接收到服務請求的客戶端裝置相關(guān)聯(lián)的用戶特有的令牌。認證器網(wǎng)絡裝置106可以通過添加其它參數(shù)(諸如與從其接收到服務請求的客戶端相關(guān)聯(lián)的用戶的用戶id等)來修改所接收到的服務請求。認證器網(wǎng)絡裝置106修改得到的HTTP服務請求的示例如下所述:http://www.example.com/enrollment?id=user-id&token=user-token。在修改所接收到的服務請求之后,認證器網(wǎng)絡裝置106可以將修改服務請求發(fā)送至裝置服務管理系統(tǒng)110。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)110用于根據(jù)所接收到的修改服務請求來確定發(fā)起了服務請求的用戶。在確定發(fā)起了服務請求的用戶時,裝置服務管理系統(tǒng)110可以對作為修改服務請求的一部分而包括的令牌進行解碼。裝置服務管理系統(tǒng)110可以經(jīng)由適用的密碼技術(shù)(例如,使用Base64)來對令牌進行解碼。在對令牌進行解碼時,裝置服務管理系統(tǒng)110可以使用用戶密鑰來從令牌中提取純文本。裝置服務管理系統(tǒng)110可以確定作為所提取的純文本的一部分而包括的nonce和用戶ID。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)用于判斷根據(jù)從令牌中提取的純文本所確定的用戶ID是否有效。在判斷用戶ID是否有效時,裝置服務管理系統(tǒng)110可以將根據(jù)從令牌中提取的純文本所確定的nonce(用戶nonce和服務nonce中的任一或這兩者)與基準nonce進行比較,以進行集成檢查和令牌有效性判斷。例如,如果本地存儲的基準nonce與根據(jù)從修改服務請求內(nèi)的令牌中提取的純文本所確定的nonce不相同,則裝置服務管理系統(tǒng)110可以判斷為令牌無效。同樣,如果本地存儲的基準nonce與根據(jù)從修改服務請求內(nèi)的令牌中提取的純文本所確定的nonce相同,則裝置服務管理系統(tǒng)110可以判斷為令牌有效。如果判斷為令牌有效,則裝置服務管理系統(tǒng)110可以判斷為根據(jù)從修改服務請求的令牌中提取的純文本所確定的用戶ID有效。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)110用于管理服務的使用。在管理服務的使用時,裝置服務管理系統(tǒng)110可以判斷客戶端裝置104的用戶是否被授權(quán)使用服務。裝置服務管理系統(tǒng)110可以使用修改服務請求中的令牌來判斷客戶端裝置104的用戶是否被授權(quán)使用作為修改服務請求的對象的服務。在使用修改服務請求中的令牌來判斷客戶端裝置104的用戶是否被授權(quán)使用服務時,實現(xiàn)了單點登錄使用,由此用戶在針對網(wǎng)絡得到認證之后,不必輸入這些用戶的憑據(jù)來使用服務。此外,在使用修改服務請求中的令牌來判斷客戶端裝置104的用戶是否被授權(quán)使用服務時,裝置服務管理系統(tǒng)110可以根據(jù)修改服務請求來確定用戶ID。裝置服務管理系統(tǒng)110可以使用根據(jù)修改服務請求所確定的用戶ID來判斷用戶是否被授權(quán)訪問作為修改服務請求的對象的服務。例如,裝置服務管理系統(tǒng)110可以利用列出具有用戶ID的特定用戶被授權(quán)使用的所有服務的授權(quán)表來判斷用戶被授權(quán)使用哪些服務。在管理服務的使用時,裝置服務管理系統(tǒng)110可以將客戶端裝置104在使用服務時可以利用的數(shù)據(jù)發(fā)送至認證器網(wǎng)絡裝置106。
在特定實現(xiàn)中,裝置服務管理系統(tǒng)110用于注冊客戶端裝置104的用戶以獲得用以使用服務的權(quán)利。在注冊客戶端裝置104的用戶時,裝置服務管理系統(tǒng)110可以使用作為注冊請求的修改服務請求中的令牌。在使用令牌來注冊用戶時,實現(xiàn)了單點登錄注冊,由此用戶在針對網(wǎng)絡得到認證之后,不必再次輸入這些用戶的憑據(jù)來被授權(quán)使用服務。此外,在使用修改服務請求中的令牌來注冊客戶端裝置104的用戶時,裝置服務管理系統(tǒng)110可以根據(jù)修改服務請求中的令牌來確定用戶ID。另外,裝置服務管理系統(tǒng)110可以使用根據(jù)修改服務請求中的令牌所確定的用戶ID,以通過表示與該用戶ID相關(guān)聯(lián)的用戶被授權(quán)使用服務來注冊該用戶。例如,裝置服務管理系統(tǒng)110可以使用用戶ID來更新或創(chuàng)建授權(quán)表中的條目,以反映用戶被授權(quán)使用服務。
在圖1所示的示例系統(tǒng)的操作示例中,客戶端裝置用于經(jīng)由認證器網(wǎng)絡裝置來發(fā)送和接收數(shù)據(jù)。在該操作示例中,網(wǎng)絡認證系統(tǒng)108用于針對網(wǎng)絡對客戶端裝置104進行認證。此外,在該操作示例中,認證器網(wǎng)絡裝置106在網(wǎng)絡認證系統(tǒng)108和客戶端裝置104之間發(fā)送認證數(shù)據(jù)。在該操作示例中,認證器網(wǎng)絡裝置106生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)。另外,在該操作示例中,裝置服務管理系統(tǒng)110將包括用戶密鑰、用戶ID和nonce的用戶憑據(jù)發(fā)送至認證器網(wǎng)絡裝置106。在該操作示例中,認證器網(wǎng)絡裝置106使用從裝置服務管理系統(tǒng)110接收到的用戶憑據(jù)來生成令牌。
在該操作示例中,認證器網(wǎng)絡裝置106用于從客戶端裝置104接收包括用以使用服務或服務中所注冊的請求的請求。此外,在該操作示例中,認證器網(wǎng)絡裝置106修改所接收到的服務請求以創(chuàng)建包括所生成的令牌和發(fā)起請求的用戶的用戶ID的修改服務請求。在該操作示例中,認證器網(wǎng)絡裝置106將修改服務請求發(fā)送至裝置服務管理系統(tǒng)110。另外,在該操作示例中,裝置服務管理系統(tǒng)110使用修改服務請求中的令牌來確定用戶ID。在該操作示例中,裝置服務管理系統(tǒng)110基于根據(jù)修改服務請求所確定的用戶ID來判斷用戶是被授權(quán)使用服務、還是注冊用戶以有權(quán)使用服務。此外,在該操作示例中,裝置服務管理系統(tǒng)110在判斷為用戶有權(quán)訪問服務的情況下,將該服務提供至用戶。
圖2示出用于利用在訪問客戶端裝置所用的服務時使用的裝置來針對網(wǎng)絡對客戶端裝置進行認證的系統(tǒng)的示例的圖200。圖2所示的示例系統(tǒng)包括計算機可讀介質(zhì)202、認證器網(wǎng)絡裝置204和網(wǎng)絡認證系統(tǒng)206。認證器網(wǎng)絡裝置204和網(wǎng)絡認證系統(tǒng)206經(jīng)由計算機可讀介質(zhì)202彼此連接。
在特定實現(xiàn)中,諸如本文所述的認證器網(wǎng)絡裝置等的認證器網(wǎng)絡裝置204根據(jù)用于提供向網(wǎng)絡的訪問并且經(jīng)由網(wǎng)絡向客戶端裝置提供服務的適用裝置而進行工作。在提供向網(wǎng)絡的訪問時,認證器網(wǎng)絡裝置204可用于發(fā)送用于針對網(wǎng)絡對連接至認證器網(wǎng)絡裝置204的客戶端裝置進行認證的認證護具。在經(jīng)由網(wǎng)絡提供服務時,認證器網(wǎng)絡裝置204可用于將包括用以訪問服務或在服務中注冊的請求的請求以及與使用服務相關(guān)聯(lián)的數(shù)據(jù)發(fā)送至與認證器網(wǎng)絡裝置204連接的客戶端裝置。另外,認證器網(wǎng)絡裝置可以提供向服務的訪問,使得在客戶端裝置針對網(wǎng)絡已被認證之后,客戶端裝置的用戶不必輸入用戶憑據(jù)來有權(quán)訪問并使用服務。
在特定實現(xiàn)中,諸如本文所述的網(wǎng)絡認證系統(tǒng)等的網(wǎng)絡認證系統(tǒng)206根據(jù)用于針對網(wǎng)絡對客戶端裝置進行授權(quán)的適用系統(tǒng)而進行工作。網(wǎng)絡認證系統(tǒng)206可以接收、生成并發(fā)送用于對客戶端裝置進行認證的認證數(shù)據(jù)。具體地,網(wǎng)絡認證系統(tǒng)206可以經(jīng)由認證器網(wǎng)絡裝置204將認證數(shù)據(jù)發(fā)送至客戶端裝置以及從客戶端裝置接收認證數(shù)據(jù)。
在圖2所示的示例系統(tǒng)中,認證器網(wǎng)絡裝置204包括認證發(fā)起引擎208、認證通信引擎210和端口管理引擎212。在特定實現(xiàn)中,認證發(fā)起引擎208用于發(fā)起與認證器網(wǎng)絡裝置204連接的客戶端裝置的針對網(wǎng)絡的認證。在發(fā)起客戶端裝置的認證時,認證發(fā)起引擎208可以判斷連接至認證器網(wǎng)絡裝置204的客戶端裝置針對網(wǎng)絡是否得到認證。如果判斷為客戶端裝置針對網(wǎng)絡沒有得到認證,則認證發(fā)起引擎208可以生成并發(fā)送針對該客戶端裝置的標識請求。例如,認證發(fā)起引擎208可以將EAP請求標識幀發(fā)送至該認證發(fā)起引擎208判斷為針對網(wǎng)絡沒有得到認證的客戶端裝置。
在特定實現(xiàn)中,認證通信引擎210用于相對于連接至認證器網(wǎng)絡裝置204的客戶端裝置進行認證數(shù)據(jù)的發(fā)送和接收。認證引擎210可以將認證引擎208所生成的標識請求發(fā)送至客戶端裝置以發(fā)起客戶端裝置的認證。認證引擎210可以從客戶端裝置接收針對標識請求消息的響應。例如,認證引擎210可以從客戶端裝置接收包括客戶端裝置的標識的EA響應標識幀。另外,認證引擎210可以將從網(wǎng)絡認證系統(tǒng)206接收到的認證數(shù)據(jù)發(fā)送至與認證網(wǎng)絡裝置204連接的客戶端裝置。例如,認證通信引擎210可以將在網(wǎng)絡中對客戶端裝置進行認證時所使用的EAP請求和EAP響應從網(wǎng)絡認證系統(tǒng)206發(fā)送至客戶端裝置。認證通信引擎210發(fā)送至客戶端裝置的認證數(shù)據(jù)可以涉及確定對客戶端裝置進行認證將利用的方法。例如,認證通信引擎210可以將在商定在網(wǎng)絡中對客戶端裝置進行認證所利用的EAP方法時所使用的EAP請求和EAP響應發(fā)送至客戶端裝置。
在特定實現(xiàn)中,認證通信引擎210用于根據(jù)從連接至認證通信引擎210的客戶端裝置接收到的認證數(shù)據(jù)來確定該客戶端裝置的標識。例如,認證通信引擎210可以確定從客戶端發(fā)送來的請求或響應的幀中所包括的客戶端的MAC地址。根據(jù)特定實現(xiàn)考慮或其它考慮,認證通信引擎210可以將客戶端裝置的標識的副本以本地方式存儲于認證器網(wǎng)絡裝置204處。此外,根據(jù)特定實現(xiàn)考慮或其它考慮,認證通信引擎210可以將客戶端裝置的標識和認證通信引擎210相對于客戶端裝置進行數(shù)據(jù)的發(fā)送所經(jīng)由的端口的標識的副本存儲于認證器網(wǎng)絡裝置204處。例如,認證通信引擎210可以更新認證器網(wǎng)絡裝置204處所維持的轉(zhuǎn)發(fā)表以包括客戶端裝置的MAC地址和相對于客戶端裝置進行數(shù)據(jù)的發(fā)送所經(jīng)由的端口。
在特定實現(xiàn)中,認證通信引擎210用于相對于網(wǎng)絡認證系統(tǒng)206進行認證數(shù)據(jù)的發(fā)送和接收。認證通信引擎210可以將從連接至認證器網(wǎng)絡裝置204的客戶端裝置接收到的認證數(shù)據(jù)(例如,請求和響應)發(fā)送至網(wǎng)絡認證系統(tǒng)206。例如,認證通信引擎210可以將從客戶端裝置接收到的EAP請求和EAP響應發(fā)送至網(wǎng)絡認證系統(tǒng)。在另一示例中,認證通信引擎210可以將客戶端裝置響應于標識請求所生成的標識響應發(fā)送至網(wǎng)絡認證系統(tǒng)206。認證通信引擎210發(fā)送至網(wǎng)絡認證系統(tǒng)206的認證數(shù)據(jù)可以涉及確定對連接至認證器網(wǎng)絡裝置204的客戶端裝置進行認證所利用的方法。例如,認證通信引擎210可以將在商定在網(wǎng)絡中對客戶端裝置進行認證所利用的EAP方法時所使用的EAP請求和EAP響應發(fā)送至網(wǎng)絡認證系統(tǒng)206。
在特定實現(xiàn)中,端口管理引擎212用于管理客戶端裝置與認證器網(wǎng)絡裝置204連接所經(jīng)由的端口。根據(jù)特定實現(xiàn)考慮或其它考慮,端口管理引擎212可以管理客戶端裝置與認證器網(wǎng)絡裝置204連接所經(jīng)由的有線或無線端口。在管理端口時,端口管理引擎212可以將端口設置成未授權(quán)狀態(tài)。例如,在針對網(wǎng)絡沒有得到認證的客戶端裝置經(jīng)由端口連接至認證器網(wǎng)絡裝置204時,端口管理引擎212可以將該端口設置成未授權(quán)狀態(tài)。另外,在管理端口時,端口管理引擎212可以將端口設置成授權(quán)狀態(tài)。例如,在針對網(wǎng)絡得到認證的客戶端裝置經(jīng)由端口連接至認證器網(wǎng)絡裝置204時,端口管理引擎212可以將該端口設置成授權(quán)狀態(tài)。端口管理引擎212在從網(wǎng)絡認證系統(tǒng)接收到表示連接至端口的客戶端裝置針對網(wǎng)絡已得到認證的成功消息(例如,EAP成功消息)之后,也可以將該端口設置成授權(quán)狀態(tài)。
在特定實現(xiàn)中,認證通信引擎210用于對發(fā)送至適當接收方(例如,網(wǎng)絡認證系統(tǒng)206或客戶端裝置)的認證數(shù)據(jù)進行封裝。根據(jù)特定實現(xiàn)考慮或其它考慮,認證通信引擎210可以根據(jù)RADIUS協(xié)議或diameter協(xié)議來對認證數(shù)據(jù)進行封裝。例如,認證通信引擎210可以從連接至認證器網(wǎng)絡裝置204的客戶端裝置中接收標識響應并且將該標識響應封裝在RADIUS訪問請求包中。
網(wǎng)絡認證系統(tǒng)206包括網(wǎng)絡認證方法確定引擎214、認證消息生成引擎216和網(wǎng)絡認證確定引擎218。在特定實現(xiàn)中,網(wǎng)絡認證方法確定引擎214用于確定用以對連接至認證器網(wǎng)絡裝置204的客戶端裝置進行認證的適用認證方法。適用認證方法的示例包括一次性密碼(以下稱為“OTP”)認證或相互認證方法。網(wǎng)絡認證方法確定引擎214可以在從客戶端裝置接收到表示先前確定的認證方法被拒絕的響應之后,確定認證方法。例如,網(wǎng)絡認證方法確定引擎214可以接收到表示拒絕使用認證方法A進行認證的響應,并且結(jié)果確定新的認證方法。
在特定實現(xiàn)中,認證消息生成引擎216用于生成用以對連接至認證器網(wǎng)絡裝置204的客戶端裝置進行認證的消息。認證消息生成引擎216所生成的消息可以包括包含用于對連接至認證器網(wǎng)絡裝置204的客戶端裝置進行認證的認證數(shù)據(jù)的請求和響應。認證消息生成引擎216可以基于網(wǎng)絡認證方法確定引擎214所確定的認證方法來生成表示認證方法的請求或響應(例如,EAP方法響應或請求)。例如,如果網(wǎng)絡認證方法確定引擎214判斷為使用認證方法A來對客戶端裝置進行認證,則響應生成引擎216可以生成表示作為對客戶端裝置進行認證所利用的方法的認證方法A的請求。認證消息生成引擎216可以將所生成的消息發(fā)送至認證器網(wǎng)絡裝置,其中在該認證器網(wǎng)絡裝置中,這些消息可以由認證通信引擎210發(fā)送(并且在可能的情況下進行封裝)至客戶端裝置。
在特定實現(xiàn)中,網(wǎng)絡認證確定引擎218用于基于包括經(jīng)由認證器網(wǎng)絡裝置204從客戶端裝置接收到的請求和響應的認證數(shù)據(jù)來針對網(wǎng)絡對客戶端裝置進行認證。具體地,網(wǎng)絡認證確定引擎218可以基于從客戶端裝置所接收到的認證數(shù)據(jù)來判斷是否應根據(jù)所商定的認證方法來針對網(wǎng)絡對客戶端裝置進行認證。
在特定實現(xiàn)中,認證消息生成引擎216根據(jù)網(wǎng)絡認證確定引擎218針對網(wǎng)絡是否認證了客戶端裝置進行認證來生成消息。例如,在網(wǎng)絡認證確定引擎218針對網(wǎng)絡認證了客戶端裝置的情況下,認證消息生成引擎216可以生成成功消息(例如,EAP響應)??蛇x地,在網(wǎng)絡認證確定引擎218沒有認證客戶端裝置的情況下,認證消息生成引擎216可以生成失敗消息(例如,EAP響應)。將認證消息生成引擎216根據(jù)網(wǎng)絡認證確定引擎218針對網(wǎng)絡是否認證了客戶端裝置所生成的消息發(fā)送至認證器網(wǎng)絡裝置。
在圖2所示的示例系統(tǒng)的操作示例中,認證發(fā)起引擎判斷連接至認證器網(wǎng)絡裝置204的客戶端裝置針對網(wǎng)絡是否得到認證。在該操作示例中,如果判斷為認證器網(wǎng)絡裝置針對網(wǎng)絡沒有得到認證,則認證發(fā)起引擎208生成標識請求。此外,在該操作示例中,認證通信引擎210將所生成的標識請求發(fā)送至與認證器網(wǎng)絡裝置204連接的客戶端裝置。在該操作示例中,端口管理引擎212將未授權(quán)的客戶端裝置連接至認證器網(wǎng)絡裝置所經(jīng)由的端口設置成未授權(quán)狀態(tài)。另外,在該操作示例中,認證通信引擎對從客戶端裝置接收到的標識響應進行封裝并將封裝后的標識響應發(fā)送至網(wǎng)絡認證系統(tǒng)206。在該操作示例中,認證通信引擎210在客戶端裝置和網(wǎng)絡認證系統(tǒng)206之間發(fā)送用于對客戶端裝置進行認證的認證數(shù)據(jù)。
在該操作示例中,網(wǎng)絡認證方法確定引擎214確定在針對網(wǎng)絡對客戶端裝置進行認證時要使用的方法。此外,在該操作示例中,認證消息生成引擎216生成包括網(wǎng)絡認證方法確定引擎214所確定的認證方法的消息。在該操作示例中,網(wǎng)絡認證確定引擎218根據(jù)網(wǎng)絡認證方法確定引擎214所確定的認證方法和經(jīng)由認證器網(wǎng)絡裝置204從客戶端裝置接收到的認證數(shù)據(jù)來判斷是否針對網(wǎng)絡認證了客戶端裝置。另外,在該操作示例中,認證消息生成引擎216基于網(wǎng)絡認證確定引擎218針對網(wǎng)絡是否認證了客戶端裝置來生成并發(fā)送成功消息或失敗消息。
圖3示出用于提供向服務的單點登錄訪問的系統(tǒng)的示例的圖300。圖3所示的示例系統(tǒng)包括計算機可讀介質(zhì)302、認證器網(wǎng)絡裝置304和裝置服務管理系統(tǒng)306。在圖3所示的示例中,認證器網(wǎng)絡裝置304和裝置服務管理系統(tǒng)306經(jīng)由計算機可讀介質(zhì)302彼此連接。
在特定實現(xiàn)中,諸如本文所述的認證器網(wǎng)絡裝置等的認證器網(wǎng)絡裝置304根據(jù)用于提供向網(wǎng)絡的訪問并且經(jīng)由該網(wǎng)絡提供向服務的訪問的適用裝置而進行工作。在提供向網(wǎng)絡的訪問時,認證器網(wǎng)絡裝置304可以在連接至認證器網(wǎng)絡裝置304的客戶端裝置與裝置服務管理系統(tǒng)306之間發(fā)送認證數(shù)據(jù)。在經(jīng)由網(wǎng)絡提供向服務的訪問時,認證器網(wǎng)絡裝置304可以在裝置服務管理系統(tǒng)306和客戶端裝置之間發(fā)送包括使用請求和注冊請求的服務請求以及使得用戶能夠使用服務的數(shù)據(jù)。
在特定實現(xiàn)中,諸如本文所述的裝置服務管理系統(tǒng)等的裝置服務管理系統(tǒng)306根據(jù)用于管理向網(wǎng)絡中的服務的客戶端裝置訪問的適用系統(tǒng)而進行工作。在針對網(wǎng)絡認證了客戶端裝置之后,裝置服務管理系統(tǒng)306可以以單點登錄方式提供向服務的訪問。例如,裝置服務管理系統(tǒng)306可以提供服務的單點登錄使用。在另一示例中,裝置服務管理服務可以提供用于注冊客戶端裝置的用戶的單點登錄注冊。
在圖3所示的示例系統(tǒng)中,認證器網(wǎng)絡裝置304包括憑據(jù)檢索引擎308、令牌生成系統(tǒng)310和服務請求修改引擎312。在特定實現(xiàn)中,憑據(jù)檢索引擎308用于從裝置服務管理系統(tǒng)306中檢索用戶憑據(jù)。憑據(jù)檢索引擎308所檢索到的用戶憑據(jù)可以包括用戶密鑰、用戶ID、以及用戶序列號、數(shù)字串或nonce。憑據(jù)檢索引擎308可以檢索與連接至認證器網(wǎng)絡裝置304的客戶端裝置相關(guān)聯(lián)的用戶的用戶憑據(jù)。例如,在認證器網(wǎng)絡裝置從客戶端裝置接收到服務請求、例如用戶請求或注冊請求之后,憑據(jù)檢索引擎308可以檢索與該客戶端裝置相關(guān)聯(lián)的用戶的用戶憑據(jù)。
在特定實現(xiàn)中,憑據(jù)檢索引擎可以生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)306以檢索憑據(jù)。憑據(jù)檢索引擎所生成并發(fā)送的用戶憑據(jù)查詢消息可以包括與檢索到用戶憑據(jù)的用戶相關(guān)聯(lián)的客戶端裝置的標識符(例如,MAC地址)。根據(jù)特定實現(xiàn)考慮或其它考慮,憑據(jù)檢索引擎308可以根據(jù)從客戶端裝置接收到的請求來確定客戶端裝置標識符。例如,服務請求可以包括發(fā)送該服務請求的客戶端裝置的MAC地址。此外,根據(jù)特定實現(xiàn)考慮或其它考慮,憑據(jù)檢索引擎308可以根據(jù)認證器網(wǎng)絡裝置304上本地存儲的客戶端裝置標識符的副本來確定客戶端裝置標識符。在檢索用戶憑據(jù)時,憑據(jù)檢索引擎308可以基于發(fā)送至裝置服務管理系統(tǒng)306的用戶憑據(jù)查詢消息來從裝置服務管理系統(tǒng)306接收用戶憑據(jù)。
在特定實現(xiàn)中,令牌生成引擎310用于針對特定用戶生成令牌。令牌生成引擎310可以基于從憑據(jù)檢索引擎308檢索到的針對特定用戶的用戶憑據(jù)來針對該特定用戶生成令牌。在生成令牌時,令牌生成系統(tǒng)可以生成包括憑據(jù)檢索引擎308所檢索到的用戶憑據(jù)(例如,用戶標識和nonce)的采用純文本形式的正文。此外,在生成令牌時,令牌生成系統(tǒng)310可以利用用戶密鑰來對包括用戶憑據(jù)的采用純文本形式的正文進行加密。令牌生成系統(tǒng)310可以使用諸如Base64等的適用編碼方案來對加密正文進行編碼。
在特定實現(xiàn)中,服務請求修改引擎312用于修改認證器網(wǎng)絡裝置304所接收到的服務請求以包括令牌生成系統(tǒng)310所生成的令牌。服務請求修改引擎312可以修改從連接至認證器網(wǎng)絡裝置304的客戶端裝置所接收到的服務請求。在修改服務請求以創(chuàng)建修改服務請求時,服務請求修改引擎312可以修改服務請求以包括與從其接收到服務請求的客戶端裝置相關(guān)聯(lián)的用戶特有的令牌。例如,服務請求修改引擎312可以將令牌作為參數(shù)添加在服務請求中以創(chuàng)建修改服務請求。根據(jù)特定實現(xiàn)考慮或其它考慮,服務請求修改引擎312可以添加與從其接收到服務請求的客戶端裝置相關(guān)聯(lián)的用戶的諸如用戶id和用戶id參數(shù)等的其它參數(shù),從而創(chuàng)建修改服務請求。服務請求修改引擎312可以將修改后的請求發(fā)送至裝置服務管理系統(tǒng)306。
在圖3所示的示例系統(tǒng)中,裝置服務管理系統(tǒng)306包括憑據(jù)返回引擎314、憑據(jù)數(shù)據(jù)存儲器316、用戶ID確定系統(tǒng)318、服務管理引擎320和服務數(shù)據(jù)存儲器322。在特定實現(xiàn)中,憑據(jù)返回引擎314用于將用戶憑據(jù)返回至憑據(jù)檢索引擎308。憑據(jù)返回引擎314可以基于從憑據(jù)檢索引擎308接收到的用戶憑據(jù)查詢消息來將憑據(jù)數(shù)據(jù)存儲器316中所存儲的用戶憑據(jù)返回至憑據(jù)檢索引擎308。在基于用戶憑據(jù)查詢消息來確定要返回至憑據(jù)檢索引擎308的用戶憑據(jù)時,憑據(jù)返回引擎314可以利用作為用戶憑據(jù)查詢消息的一部分而包括的客戶端裝置標識符。例如,憑據(jù)返回引擎314可以使用客戶端裝置的MAC地址來在憑據(jù)數(shù)據(jù)存儲器316中查找與該客戶端裝置相關(guān)聯(lián)的用戶的用戶憑據(jù)并返回這些用戶憑據(jù)。
在特定實現(xiàn)中,用戶ID確定系統(tǒng)318用于根據(jù)從服務請求修改引擎312接收到的修改服務請求中所包括的令牌來確定用戶ID。在根據(jù)修改服務請求確定用戶ID時,用戶ID確定系統(tǒng)318可以對作為修改服務請求的一部分而包括的令牌進行解碼。用戶ID確定系統(tǒng)318可以經(jīng)由適用的密碼技術(shù)(例如,使用Base64)來對令牌進行解碼。在對令牌進行解碼時,用戶ID確定系統(tǒng)318可以使用用戶密鑰來從令牌中提取純文本。用戶ID確定系統(tǒng)318可以根據(jù)從令牌中提取的純文本來確定nounce和用戶ID。
在特定實現(xiàn)中,用戶ID確定系統(tǒng)318用于判斷根據(jù)從修改服務請求內(nèi)的令牌中提取的純文本所確定的用戶ID的有效性。在判斷用戶ID的有效性時,用戶ID確定系統(tǒng)318將根據(jù)從令牌中提取的純文本所確定的nonce(用戶nonce和服務nonce中的任一或這兩者)與基準nonce進行比較,以進行集成檢查和令牌有效性判斷。可以將基準nonce連同該基準nonce所關(guān)聯(lián)的用戶的用戶ID一起存儲在憑據(jù)數(shù)據(jù)存儲器316中。在特定實現(xiàn)中,如果與用戶ID所標識的用戶相關(guān)聯(lián)的基準nonce 316與根據(jù)從修改服務請求內(nèi)的令牌中提取的純文本所確定的nonce不相同,則用戶ID確定系統(tǒng)318可以判斷為令牌無效。同樣,如果與用戶ID所標識的用戶相關(guān)聯(lián)的基準nonce 316與根據(jù)從修改服務請求內(nèi)的令牌中提取的純文本所確定的nonce相同,則用戶ID確定系統(tǒng)318可以判斷為令牌有效。如果判斷為令牌有效,則用戶ID確定系統(tǒng)318可以判斷為根據(jù)從修改服務請求的令牌中提取的純文本所確定的用戶ID有效。
在特定實現(xiàn)中,服務管理引擎320用于使用用戶ID確定系統(tǒng)318所確定的用戶ID來管理服務的使用。在使用用戶ID來管理服務的使用時,服務管理引擎320可以判斷用戶ID所標識的用戶是否被授權(quán)使用服務。另外,在使用用戶ID來管理服務的使用時,服務管理引擎320可以判斷用戶ID所標識的用戶是否被授權(quán)使用作為所接收到的修改服務請求的對象的服務。在判斷用戶是否被授權(quán)使用服務時,服務管理引擎320可以使用服務數(shù)據(jù)存儲器322中所存儲的服務授權(quán)數(shù)據(jù)。服務數(shù)據(jù)存儲器322中所存儲的授權(quán)數(shù)據(jù)可以包括特定用戶ID所標識的用戶被授權(quán)使用的所有服務。例如,服務數(shù)據(jù)存儲器322中所存儲的服務授權(quán)數(shù)據(jù)可以包括具有如下字段的授權(quán)表,其中這些字段包含用戶ID和用戶ID所表示的用戶被授權(quán)使用的服務。在管理服務的使用時,服務管理引擎320可以向認證器網(wǎng)絡裝置發(fā)送或者便于發(fā)送客戶端裝置在使用服務時所使用的數(shù)據(jù)。
在特定實現(xiàn)中,服務管理引擎320用于基于用戶ID確定系統(tǒng)318所確定的用戶ID來將用戶注冊在服務中。在注冊用戶時,服務管理引擎320可以更新服務數(shù)據(jù)存儲器322中所存儲的諸如授權(quán)表等的服務授權(quán)數(shù)據(jù),以反映出用戶被授權(quán)使用服務。例如,服務管理引擎320可以在授權(quán)表中更新或創(chuàng)建包括用戶ID和該用戶ID所標識的用戶被授權(quán)使用的服務的條目。
在圖3所示的示例系統(tǒng)的操作示例中,憑據(jù)檢索引擎308基于認證器網(wǎng)絡裝置304所接收到的服務請求來生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)306。此外,在該操作示例中,憑據(jù)返回引擎314基于用戶憑據(jù)查詢消息來將憑據(jù)數(shù)據(jù)存儲器316中所存儲的憑據(jù)返回至憑據(jù)檢索引擎308。在該操作示例中,令牌生成引擎310基于憑據(jù)檢索引擎308從憑據(jù)返回引擎314所接收到的用戶憑據(jù)來生成令牌。此外,在該操作示例中,服務請求修改引擎312使用令牌生成系統(tǒng)310所生成的令牌來修改所接收到的服務請求。
在該操作示例中,用戶ID確定系統(tǒng)318根據(jù)作為服務請求修改引擎312修改得到的服務請求的一部分而包括的令牌來確定用戶ID。此外,在該操作示例中,服務管理引擎320基于用戶ID確定系統(tǒng)所確定的用戶ID和服務數(shù)據(jù)存儲器322中所存儲的服務授權(quán)數(shù)據(jù)來管理向服務的訪問。在該操作示例中,在管理向服務的訪問時,服務管理引擎320將用戶ID所表示的用戶注冊到服務中。另外,在該操作示例中,在管理向服務的訪問時,服務管理引擎320判斷用戶是否被授權(quán)使用服務。在該操作示例中,在管理向服務的訪問時,服務管理引擎320發(fā)送或者便于發(fā)送客戶端裝置在使用服務時所使用的數(shù)據(jù)。
圖4示出用于根據(jù)令牌來確定用戶ID的系統(tǒng)的示例的圖400。在各種實現(xiàn)中,圖4所示的系統(tǒng)可以用在向服務的單點登陸訪問中。圖4所示的示例系統(tǒng)包括計算機可讀介質(zhì)402、認證器網(wǎng)絡裝置404、用戶ID確定系統(tǒng)406和憑據(jù)數(shù)據(jù)存儲器408。在圖4所示的示例系統(tǒng)中,認證器網(wǎng)絡裝置404、用戶ID確定系統(tǒng)406和憑據(jù)數(shù)據(jù)存儲器408經(jīng)由計算機可讀介質(zhì)402彼此連接。
在特定實現(xiàn)中,諸如本文所述的認證器網(wǎng)絡裝置等的認證器網(wǎng)絡裝置404根據(jù)用于在網(wǎng)絡中對客戶端裝置進行認證和針對向服務的訪問的適用系統(tǒng)而進行工作。認證器網(wǎng)絡裝置404可以發(fā)送用于針對網(wǎng)絡對客戶端裝置進行認證的認證數(shù)據(jù)。認證器網(wǎng)絡裝置404還可以修改來自客戶端裝置的服務請求并且將修改服務請求發(fā)送至用戶ID確定系統(tǒng)。在對服務請求進行修改時,認證器網(wǎng)絡裝置404可以將用戶憑據(jù)添加到服務請求中以創(chuàng)建修改服務請求。例如,認證器網(wǎng)絡裝置404可以將令牌和用戶ID添加到服務請求的參數(shù)中以創(chuàng)建修改服務請求。
在特定實現(xiàn)中,諸如本文所述的用戶ID確定系統(tǒng)等的用戶ID確定系統(tǒng)406根據(jù)用于確定用戶的適用系統(tǒng)而進行工作。用戶ID確定系統(tǒng)406可以根據(jù)從認證器網(wǎng)絡裝置404接收到的修改服務請求來確定發(fā)起了服務請求的特定用戶的用戶ID??梢允褂糜脩鬒D確定系統(tǒng)406所確定的用戶ID來進行用戶的向服務的單點登錄訪問。例如,可以使用用戶ID確定系統(tǒng)406所確定的用戶ID來進行用戶的服務的單點登錄使用。在另一示例中,可以使用用戶ID確定系統(tǒng)406所確定的用戶ID來進行用戶在服務中的單點登錄注冊。
在特定實現(xiàn)中,諸如本文所述的憑據(jù)數(shù)據(jù)存儲器等的憑據(jù)數(shù)據(jù)存儲器408根據(jù)用于存儲用戶憑據(jù)的適用數(shù)據(jù)存儲器而進行工作。憑據(jù)數(shù)據(jù)存儲器408中所存儲的用戶憑據(jù)可以包括特定用戶特有的用戶密鑰、用戶ID和nonce。可以將用戶密鑰和nonce根據(jù)使用戶密鑰和nonce相關(guān)聯(lián)的用戶ID而存儲在憑據(jù)數(shù)據(jù)存儲器408中。例如,可以將用戶密鑰和nonce連同使用戶密鑰和nonce相關(guān)聯(lián)的用戶ID一起存儲在表的條目中。根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置404可以使用憑據(jù)數(shù)據(jù)存儲器408中所存儲的用戶憑據(jù)來在創(chuàng)建修改服務請求時修改服務請求。
在圖4所示的示例系統(tǒng)中,用戶ID確定系統(tǒng)406包括用戶密鑰確定引擎410、令牌解碼引擎412、用戶ID確定引擎414和令牌有效性判斷引擎416。在特定實現(xiàn)中,用戶密鑰確定引擎410用于根據(jù)從認證器網(wǎng)絡裝置404接收到的修改服務請求來確定用戶密鑰。在確定用戶密鑰時,用戶密鑰確定引擎410可以根據(jù)作為參數(shù)(例如,作為用戶ID的用戶ID參數(shù))而插入修改服務請求中的用戶ID來確定用戶ID。用戶密鑰確定引擎410可以使用用戶ID來查找并檢索與該用戶ID相關(guān)聯(lián)的用戶密鑰。具體地,用戶密鑰確定引擎410可以查找并檢索憑據(jù)數(shù)據(jù)存儲器408中所存儲的與用戶ID相關(guān)聯(lián)的用戶密鑰。
在特定實現(xiàn)中,令牌解碼引擎412用于對作為從認證器網(wǎng)絡裝置404接收到的修改服務請求的一部分而包括的令牌進行解碼。令牌解碼引擎412可以使用諸如Base64等的適用的解密技術(shù)來對作為修改服務請求的一部分而包括的令牌進行解碼。
在特定實現(xiàn)中,用戶ID確定引擎414用于根據(jù)作為修改服務請求的一部分而包括的并由令牌解碼引擎412進行了解碼的令牌來確定用戶ID。在根據(jù)令牌來確定用戶ID時,用戶ID確定引擎414可以使用用戶密鑰確定引擎410所確定的用戶密鑰來對令牌進行解密。例如,如果修改服務請求包括用戶IDA作為參數(shù),則用戶ID確定引擎414可以使用如用戶密鑰確定引擎410所確定的與用戶ID A相關(guān)聯(lián)的用戶密鑰A來對修改服務請求中所包括的令牌進行解密。在對令牌進行解密時,用戶ID確定引擎414可用于從該令牌中提取純文本。用戶ID確定引擎414可以根據(jù)作為對令牌進行解密的結(jié)果而從該令牌中提取的純文本來確定用戶ID和用戶nonce。根據(jù)從令牌中提取的純文本所確定的用戶ID可以是用戶ID確定引擎414所確定的用戶ID。
在特定實現(xiàn)中,令牌有效性判斷引擎416用于判斷作為從認證器網(wǎng)絡裝置404接收到的修改服務請求的一部分而包括的令牌的有效性。在判斷令牌的有效性時,令牌有效性判斷引擎416可以使用用戶ID和nonce。在一個示例中,令牌有效性判斷引擎416為了判斷令牌的有效性所使用的用戶ID和nonce是由用戶ID確定引擎414根據(jù)從令牌中提取的純文本所確定的。在另一示例中,將令牌有效性判斷引擎416為了判斷令牌的有效性所使用的用戶ID作為用戶ID參數(shù)而包括在令牌中,并且為了判斷令牌的有效性所使用的nonce是由用戶ID確定引擎414根據(jù)從令牌中提取的純文本所確定的。在判斷令牌的有效性時,令牌有效性判斷引擎416可以將用戶ID確定引擎414根據(jù)從令牌提取的純文本所確定的nonce與憑據(jù)數(shù)據(jù)存儲器408中所存儲的基準nonce進行比較。根據(jù)特定實現(xiàn)考慮或其它考慮,憑據(jù)數(shù)據(jù)存儲器408中所存儲的基準nonce是基于用戶憑據(jù)查詢消息而返回至認證器網(wǎng)絡裝置404的nonce。在判斷令牌的有效性時,用戶ID確定引擎414可以使用作為用戶ID參數(shù)而包括的和根據(jù)從令牌中提取的純文本所確定的任一或這兩個用戶ID來確定基準nonce。具體地,令牌有效性判斷引擎416可以使用用戶ID來確定憑據(jù)數(shù)據(jù)存儲器408中所存儲的與該用戶ID相關(guān)聯(lián)并因此用作基準nonce的nonce。如果用戶ID確定引擎414所確定的nonce與憑據(jù)數(shù)據(jù)存儲器408中的基準nonce不一致,則令牌有效性判斷引擎416可以判斷為用戶ID確定引擎414確定nonce所依據(jù)的令牌是無效的。同樣,如果用戶ID確定引擎414所確定的nonce與憑據(jù)數(shù)據(jù)存儲器408中的基準nonce一致,則令牌有效性判斷引擎416可以判斷為用戶ID確定引擎414確定nonce所依據(jù)的令牌是有效的。
在特定實現(xiàn)中,用戶ID確定引擎414可以基于令牌有效性判斷引擎416是否判斷為令牌有效,來根據(jù)該令牌確定用戶ID。具體地,如果令牌有效性判斷引擎416判斷為令牌有效,則用戶ID確定引擎414可以判斷為根據(jù)從令牌中提取的純文本所確定的用戶ID有效。同樣,如果令牌有效性判斷引擎416判斷為令牌無效,則用戶ID確定引擎414可以判斷為根據(jù)從令牌中提取的純文本所確定的用戶ID無效。
在圖4所示的示例系統(tǒng)的操作示例中,認證器網(wǎng)絡裝置修改從客戶端裝置接收到的服務請求以包括用戶令牌。在該操作示例中,認證器網(wǎng)絡裝置404將修改服務請求發(fā)送至用戶ID確定系統(tǒng)406。此外,在該操作示例中,用戶密鑰確定引擎410用于使用修改服務請求中所包括的令牌和憑據(jù)數(shù)據(jù)存儲器408中所存儲的用戶憑據(jù)來確定發(fā)起了認證器網(wǎng)絡裝置404修改得到的服務請求的用戶的用戶密鑰。在該操作示例中,令牌解碼引擎412對修改服務請求中所包括的令牌進行解碼。另外,在該操作示例中,用戶ID確定引擎414根據(jù)令牌解碼引擎412進行解碼后的令牌來確定用戶ID。在該操作示例中,在根據(jù)令牌來確定用戶ID時,用戶ID確定引擎對令牌解碼引擎412進行解碼后的令牌進行解密,以提取包括nonce和用戶ID的純文本。此外,在該操作示例中,令牌有效性判斷引擎416使用作為從令牌中提取的純文本的一部分而包括的nonce和作為憑據(jù)數(shù)據(jù)存儲器408中所存儲的用戶憑據(jù)而包括的基準nonce來判斷令牌的有效性。
圖5示出用于將向服務的單點登錄訪問提供至客戶端裝置的方法的示例的流程圖500。示例流程圖500從模塊502開始,其中在該模塊502中,至少部分使用認證器網(wǎng)絡裝置來針對網(wǎng)絡對連接至該認證器網(wǎng)絡裝置的客戶端裝置進行授權(quán)。在針對網(wǎng)絡對客戶端裝置進行認證時,認證器網(wǎng)絡裝置可以在客戶端裝置和網(wǎng)絡認證系統(tǒng)之間發(fā)送用于針對網(wǎng)絡對客戶端裝置進行認證的認證數(shù)據(jù)。此外,作為針對網(wǎng)絡對客戶端裝置進行認證的一部分,認證器網(wǎng)絡裝置可以管理客戶端裝置與認證器網(wǎng)絡裝置連接所經(jīng)由的端口。在管理客戶端裝置與認證器網(wǎng)絡裝置連接所經(jīng)由的端口時,認證器網(wǎng)絡裝置可以基于經(jīng)由認證器網(wǎng)絡裝置所發(fā)送的認證數(shù)據(jù)來將該端口設置成授權(quán)狀態(tài)或未授權(quán)狀態(tài)。
圖5所示的示例流程圖500繼續(xù)進入模塊504,其中在該模塊504中,認證器網(wǎng)絡裝置從連接至該認證器網(wǎng)絡裝置的客戶端裝置接收服務請求。認證器網(wǎng)絡裝置從客戶端裝置所接收到的服務請求可以是用于指定客戶端裝置的用戶的用以在服務中進行注冊的期望的注冊請求。認證器網(wǎng)絡裝置從客戶端接收到的服務請求可以是用于指定客戶端裝置的用戶的用以使用服務的期望的使用請求。
圖5所示的示例流程圖500繼續(xù)進入模塊506,其中在該模塊506中,認證器網(wǎng)絡裝置接收針對與客戶端裝置相關(guān)聯(lián)的用戶的用戶憑據(jù)。認證器網(wǎng)絡裝置所接收到的用戶憑據(jù)可以針對發(fā)起了認證器網(wǎng)絡裝置在模塊504中所接收到的服務請求的用戶。認證器網(wǎng)絡裝置可以在生成用戶憑據(jù)查詢消息并將該用戶憑據(jù)查詢消息發(fā)送至裝置服務管理系統(tǒng)之后,從裝置服務管理系統(tǒng)接收用戶憑據(jù)。模塊506中所接收到的用戶憑據(jù)可以包括與特定用戶相關(guān)聯(lián)和/或特定用戶特有的用戶ID、用戶密鑰和nonce。響應于認證器網(wǎng)絡裝置所生成的包括客戶端裝置標識符(例如,客戶端裝置的MAC地址)的用戶憑據(jù)查詢消息,可以在認證器網(wǎng)絡裝置處接收到用戶憑據(jù)。
圖5所示的示例流程圖500繼續(xù)進入模塊508,其中在該模塊508中,使用模塊506中所接收到的用戶憑據(jù)來生成令牌。在認證器網(wǎng)絡裝置處接收到用戶憑據(jù)之后,可以在認證器網(wǎng)絡裝置處生成令牌??梢酝ㄟ^生成包括nonce和作為認證器網(wǎng)絡裝置所接收到的用戶憑據(jù)的一部分而包含的用戶ID的純文本來生成令牌??梢詫ψ鳛樯闪钆频囊徊糠炙傻募兾谋具M行加密和編碼以創(chuàng)建令牌??梢允褂米鳛橛脩魬{據(jù)的一部分而包括的用戶密鑰來對作為生成令牌的一部分所生成的純文本進行加密。可以生成與具有用于生成令牌的用戶憑據(jù)的特定用戶相關(guān)聯(lián)的和/或該特定用戶特有的令牌。
圖5所示的示例流程圖500繼續(xù)進入模塊510,其中在該模塊510中,修改服務請求以包括模塊508中所生成的令牌,從而創(chuàng)建修改服務請求??梢岳冒l(fā)起了服務請求的用戶特有的令牌來修改該服務請求。在生成修改服務請求時,可以將令牌作為參數(shù)插入服務請求中以生成修改服務請求。根據(jù)特定實現(xiàn)考慮或其它考慮,在進一步生成修改服務請求時,可以將發(fā)起了服務請求的用戶的用戶ID插入到服務請求的參數(shù)中以創(chuàng)建修改服務請求。
圖5所示的示例流程圖500繼續(xù)進入模塊512,其中在該模塊512中,使用模塊510中修改得到的服務請求來向用戶提供單點登錄訪問。在提供單點登錄訪問時,可以對作為參數(shù)而包括在修改服務請求中的令牌進行解碼和解密,以根據(jù)該修改服務請求來確定nonce和用戶ID。根據(jù)特定實現(xiàn)考慮或其它考慮,使用根據(jù)作為參數(shù)而包括在修改服務請求中的用戶ID所確定的用戶ID特有的用戶密鑰來對作為該修改服務請求的一部分而包括的令牌進行解密。在提供單點登錄訪問時,通過將根據(jù)令牌所確定的nonce與同作為令牌的一部分而包括的用戶ID和/或作為參數(shù)而添加在修改服務請求中的用戶ID相關(guān)聯(lián)的基準nonce進行比較,來判斷令牌有效性。如果判斷為令牌有效,則可以判斷為根據(jù)令牌所確定的用戶ID有效,并且可以提供單點登錄訪問。根據(jù)特定實現(xiàn)考慮或其它考慮,通過使用修改服務請求中的令牌所提供的單點登錄訪問可以包括服務中的單點登錄注冊和服務的單點登錄使用中的任一或這兩者。
圖6示出用于生成在提供向服務的單點登錄訪問時所使用的令牌的方法的示例的流程圖600。圖6所示的示例流程圖600從模塊602開始,其中在該模塊602中,接收用戶憑據(jù)??梢皂憫谟脩魬{據(jù)查詢消息而在認證器網(wǎng)絡裝置處接收到用戶憑據(jù)。根據(jù)特定實現(xiàn)考慮或其它考慮,認證器網(wǎng)絡裝置可以針對發(fā)起了從連接至認證器網(wǎng)絡裝置的客戶端裝置所接收到的服務請求的特定用戶來生成用戶憑據(jù)查詢消息。此外,根據(jù)特定實現(xiàn)考慮或其它考慮,可以在認證器網(wǎng)絡裝置處接收到發(fā)起了服務請求的特定用戶特有的用戶憑據(jù)。模塊602所接收到的用戶憑據(jù)可以包括與用戶相關(guān)聯(lián)的用戶ID、用戶密鑰和nonce。
圖6所示的示例流程圖600繼續(xù)進入模塊604,其中在該模塊604中,生成采用純文本形式的正文。模塊604中所生成的采用純文本形式的正文包括作為模塊602中所接收到的用戶憑據(jù)的一部分而包括的用戶ID和nonce。根據(jù)特定實現(xiàn)考慮或其它考慮,作為模塊604中所生成的采用純文本形式的正文的一部分而包括的用戶ID和nonce可以是特定用戶特有的,使得模塊604中所生成的采用純文本形式的正文是特定用戶特有的。
圖6所示的示例流程圖600繼續(xù)進入模塊606,其中在該模塊606中,使用用戶密鑰來對采用純文本形式的正文進行加密??梢允褂糜糜谏刹捎眉兾谋拘问降恼牡挠脩魬{據(jù)中所包括的用戶密鑰來對采用純文本形式的正文進行加密。根據(jù)特定實現(xiàn)考慮或其它考慮,可以使用對于純文本所包括的用戶ID和nonce是特有的用戶而言也是特有的用戶密鑰來對采用純文本形式的正文進行加密。在模塊606中,根據(jù)適用的加密技術(shù),可以使用用戶密鑰對純文本進行加密。
圖6所示的示例流程圖600繼續(xù)進入模塊608,其中在該模塊608中,對在模塊606中進行加密后的純文本進行編碼以生成令牌??梢愿鶕?jù)諸如Base64等的適用的編碼技術(shù)來對加密后的純文本進行編碼。可以將如此得到的令牌添加至服務請求以生成修改服務請求。另外,可以使用如此得到的令牌來提供向作為使用令牌修改得到的服務請求的對象的服務的單點登錄訪問。
圖7示出用于根據(jù)作為修改服務請求的一部分而包括的令牌來確定用戶ID以提供向服務的單點登錄訪問的方法的示例的流程圖700。圖7所示的示例流程圖700從模塊702開始,其中在該模塊702中,接收包括令牌和用戶ID的修改服務請求。令牌和用戶ID可以作為修改服務請求的參數(shù)而被包括為修改服務請求的一部分。可以從認證器網(wǎng)絡裝置來接收包括令牌和用戶ID作為參數(shù)的修改服務請求。可以根據(jù)用于生成令牌的適用技術(shù)并且使用適用系統(tǒng)(諸如本文所述的系統(tǒng)和技術(shù)等)來生成作為修改服務請求的一部分而包括的令牌。
圖7所示的示例流程圖700繼續(xù)進入模塊704,其中在該模塊704中,對作為修改服務請求的一部分而包括的令牌進行解碼??梢允褂弥T如Base64等的適用的解碼技術(shù)來對作為修改服務請求的一部分而包括的令牌進行解碼。
圖7所示的示例流程圖700繼續(xù)進入模塊706,其中在該模塊706中,根據(jù)修改服務請求中所包括的用戶ID來確定用戶密鑰??梢愿鶕?jù)作為參數(shù)而包括在修改服務請求中的用戶ID來確定用戶密鑰。根據(jù)特定實現(xiàn)考慮或其它考慮,用戶密鑰可以是與修改服務請求中所包括的用戶ID唯一地相關(guān)聯(lián)的用戶所特有的。
圖7所示的示例流程圖700繼續(xù)進入模塊708,其中在該模塊708中,使用用戶密鑰來對令牌進行解密以提取采用純文本形式的正文。使用模塊706中所確定的用戶密鑰來對令牌進行解密。在從令牌中提取純文本時,可以根據(jù)適用的解密技術(shù)并且使用用戶密鑰來對令牌進行解密。
圖7所示的示例流程圖700繼續(xù)進入模塊710,其中在該模塊710中,根據(jù)通過在模塊708中對令牌進行解密所提取的純文本的正文來確定用戶ID和nonce??梢岳糜脩鬒D和nonce來生成純文本,使得在從令牌提取出純文本之后,可以根據(jù)該純文本來確定用戶ID和nonce。
圖7所示的示例流程圖700繼續(xù)進入模塊712,其中在該模塊712中,使用用戶ID來確定基準nonce。根據(jù)特定實現(xiàn)考慮或其它考慮,可以使用作為參數(shù)而包括在修改服務請求中的以及根據(jù)從令牌中提取的純文本所確定的任一或這兩個用戶ID來確定基準nonce??梢詫⒒鶞蕁once連同該基準nonce所關(guān)聯(lián)的用戶的用戶ID一起存儲在適用的數(shù)據(jù)存儲器中。根據(jù)特定實現(xiàn)考慮或其它考慮,基準nonce可以是與用于確定該基準nonce的用戶ID相關(guān)聯(lián)的用戶所特有的。
圖7所示的示例流程圖700繼續(xù)進入判定點714,其中在該判定點714中,判斷根據(jù)從令牌中提取的純文本所確定的nonce與模塊712中所確定的基準nonce是否一致。如果在判定點714中判斷為該nonce與模塊712中所確定的基準nonce不一致,則圖7所示的示例流程圖700繼續(xù)進入模塊716,其中在該模塊716中,判斷為根據(jù)所提取的純文本所確定的用戶ID是無效的,因此令牌無效。在判斷為用戶ID無效時,不向發(fā)起了針對服務的請求的用戶提供向服務的單點登錄訪問。根據(jù)特定實現(xiàn)考慮或其它考慮,如果判斷為用戶ID無效,則可以將針對新的修改服務請求的請求發(fā)送回至認證器網(wǎng)絡裝置,以接收具有有效令牌的修改服務請求。
如果在判定點714中判斷為根據(jù)從令牌中提取的純文本所確定的nonce與模塊712中所確定的基準nonce一致,則圖7所示的示例流程圖700繼續(xù)進入模塊718。在模塊718中,判斷為根據(jù)從令牌中提取的純文本所確定的用戶ID是有效的,因此令牌有效。在模塊718中,在判斷為令牌有效的情況下,提供向作為修改服務請求的對象的服務的單點登錄訪問。根據(jù)特定實現(xiàn)考慮或其它考慮,向服務的單點服務訪問可以包括向服務的單點登錄注冊和服務的單點登錄使用中的任一或這兩者。
本文所提供的這些和其它示例意圖例示而未必限制所述實現(xiàn)。如這里所使用的,術(shù)語“實現(xiàn)”是指用于通過示例而非限制性的方式進行例示的實現(xiàn)。在前面的文本和附圖中所述的技術(shù)可根據(jù)情況要求進行混合和匹配以產(chǎn)生替代實現(xiàn)。