專利名稱:用于建立多個會話的系統(tǒng)和方法
用于建立多個會話的系統(tǒng)和方法背景技術(shù)本發(fā)明 一般地涉及網(wǎng)絡(luò)安全性,更具體地涉及允許單個設(shè)備通過一次登錄(login)來建立多個會話(session)的系統(tǒng)和方法。網(wǎng)絡(luò)安全性已經(jīng)成為商業(yè)上的一個關(guān)鍵問題。因此,不同的應(yīng)用和系 統(tǒng)需要彼此進(jìn)行認(rèn)證。這些認(rèn)證是在隔離的環(huán)境(context)中進(jìn)行的,并 使得建立了多個安全的經(jīng)認(rèn)證的會話。例如,在無線環(huán)境下, 一個接入點(diǎn)(access point)可以運(yùn)行多個不同 的應(yīng)用或子系統(tǒng)。結(jié)果,該接入點(diǎn)需要進(jìn)行多次認(rèn)證。當(dāng)通過包括數(shù)百個 接入點(diǎn)的網(wǎng)絡(luò)而大量增加時,這會急劇地加大AAA (認(rèn)證、授權(quán)和計費(fèi)(Authentication, Authorization and Accounting ))月艮務(wù)器的負(fù)荷?,F(xiàn)有的單點(diǎn)登錄系統(tǒng)(single sign-on system)傾向于對用戶方的優(yōu) 化,以通過對用戶隱藏隨后的認(rèn)證來使得用戶不必連續(xù)地登錄不同的應(yīng) 用。典型地,用戶執(zhí)行單點(diǎn)登錄以"解鎖"對安全證書的存取。這些證書 隨后被單點(diǎn)登錄系統(tǒng)用于按需地對用戶是否有權(quán)訪問其它應(yīng)用進(jìn)行認(rèn)證。 例如,從麻省理工學(xué)院可以獲得的Kerberos以及許多其它商業(yè)產(chǎn)品對用戶 是否有權(quán)訪問票據(jù)(ticketing)服務(wù)器進(jìn)行認(rèn)證。用戶請求其意欲使用的 各個應(yīng)用的票據(jù)。當(dāng)用戶啟動一個應(yīng)用時,票據(jù)被單點(diǎn)登錄系統(tǒng)用于建立 與各個應(yīng)用的安全會話。用戶設(shè)備將票據(jù)提交給所述應(yīng)用的認(rèn)證方(authenticator),認(rèn)證方隨后通過票據(jù)服務(wù)器對該票據(jù)進(jìn)行認(rèn)證。因此, 所述設(shè)備還是執(zhí)行了多次認(rèn)證,即使單點(diǎn)登錄系統(tǒng)對用戶隱藏對應(yīng)用的認(rèn) 證。發(fā)明內(nèi)容根據(jù)本發(fā)明的一個方面,在此描述了一種系統(tǒng)和方法,該系統(tǒng)和方法 允許設(shè)備完成針對一個AAA服務(wù)器或多個AAA服務(wù)器的一次成功的認(rèn)證 序列,從而得到用于不同應(yīng)用或子系統(tǒng)的許多安全會話,例如,由客戶端身份、AAA服務(wù)器的策略、客戶端(例如,AP)在初始化時的配置或其任意組合決定的數(shù)量的安全會話。根據(jù)本發(fā)明的一個方面,在此公開了一種系統(tǒng)和方法,該系統(tǒng)和方法 允許按需將多個會話的認(rèn)證請求分發(fā)給不同的認(rèn)證服務(wù)器。在一個實(shí)施例 中,認(rèn)證服務(wù)器起到作為其它認(rèn)證方的代理的作用,并將請求發(fā)送到不相 交認(rèn)證服務(wù)器??商鎿Q地,認(rèn)證服務(wù)器具有其它認(rèn)證方的全局知識,并能 夠按需將請求分發(fā)給不同認(rèn)證服務(wù)器。如果所述認(rèn)證服務(wù)器中的任意一個 認(rèn)證服務(wù)器能夠處理多個請求,則可以使用所述經(jīng)分發(fā)的請求的集合。根據(jù)本發(fā)明的一個方面,在此描述了一種對用于單個請求方的經(jīng)認(rèn)證的多個會話的建立進(jìn)行優(yōu)化的方法。該方法包括利用認(rèn)證服務(wù)器來對請 求方進(jìn)行認(rèn)證,并確定用于該請求方的至少一個其它會話。認(rèn)證服務(wù)器通 過所述至少一個其它會話的認(rèn)證方來啟動所述用于請求方的至少一個其它 會話。本發(fā)明的幾個方面包括用于實(shí)施這里所描述的方法的系統(tǒng)和指令的 計算機(jī)可讀介質(zhì)。本發(fā)明的一個方面在于其允許在設(shè)備上的附加子系統(tǒng)立即通過經(jīng)認(rèn)證的安全會話而開始工作,而無需完整的認(rèn)證交換,因此降低了 AAA服務(wù)器的流量。根據(jù)本發(fā)明的一個方面,在此公開了一種用于通過認(rèn)證服務(wù)器來建立 多個會話的方法。所述方法包括從請求方的認(rèn)證方接收該請求方的認(rèn)證請 求。判斷是否存在用于所述請求方的至少一個其它會話。所述請求方的至 少一個其它會話由所述至少一個其它會話的服務(wù)器來啟動。根據(jù)本發(fā)明的一個方面,在此公開了一種根據(jù)本發(fā)明的一個方面來配 置的認(rèn)證服務(wù)器。該認(rèn)證服務(wù)器被配置用于從請求方的認(rèn)證方接收該請求 方的認(rèn)證請求。所述認(rèn)證服務(wù)器被配置用于響應(yīng)于所述認(rèn)證請求而通過請 求方的至少一個其它會話的服務(wù)器來啟動所述請求方的至少一個其它會 話。根據(jù)本發(fā)明的一個方面,在此公開了一種認(rèn)證服務(wù)器。該認(rèn)證服務(wù)器 包括用于從請求方的認(rèn)證方接收該請求方的認(rèn)證請求的裝置。所述認(rèn)證服
務(wù)器還包括用于確定請求方的至少一個其它會話的裝置,以及用于通過所 述至少一個其它會話的服務(wù)器來啟動所述請求方的至少一個其它會話的裝置。
本領(lǐng)域技術(shù)人員根據(jù)以下描述將很容易了解本發(fā)明的其它目的,在以 下描述中,僅通過舉例說明最適于實(shí)施本發(fā)明的最佳模式中的一種來示出 和描述了本發(fā)明的優(yōu)選實(shí)施例。正如將被實(shí)現(xiàn)的,本發(fā)明可以有其它不同 的實(shí)施例,并且能夠在不脫離本發(fā)明的情況下在各個明顯的方面對其幾個 細(xì)節(jié)進(jìn)行修改。因此,附圖和描述的本質(zhì)將被認(rèn)為是示意性的,而非限制 性的。
結(jié)合在說明書中并形成說明書的一部分的附圖與用于說明本發(fā)明的原 理的描述一起示出了本發(fā)明的幾個方面。
圖1是根據(jù)本發(fā)明的一個方面的系統(tǒng)的框圖2是根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例的無線局域網(wǎng)的框圖; 圖3是一個示例性網(wǎng)絡(luò),其中,認(rèn)證服務(wù)器代理向附加認(rèn)證服務(wù)器發(fā) 送認(rèn)證請求;
圖4是采用認(rèn)證服務(wù)器的服務(wù)器群的示例性網(wǎng)絡(luò);
圖5是采用認(rèn)證服務(wù)器和多個授權(quán)服務(wù)器的示例性網(wǎng)絡(luò);
圖6是用于實(shí)施本發(fā)明的一個方面的計算機(jī)系統(tǒng)的框圖7是根據(jù)本發(fā)明的一個方面的方法的框圖8是根據(jù)本發(fā)明的一個方面的方法的詳細(xì)框圖9是用于建立多個會話的方法的框圖。 '
具體實(shí)施例方式
在通篇說明書中示出的優(yōu)選實(shí)施例和示例應(yīng)當(dāng)被認(rèn)為是本發(fā)明的示 例,而非對本發(fā)明的限制。本發(fā)明提供了用于單個設(shè)備提供安全地認(rèn)證的 多個會話的建立的解決方案,以消除對若干冗余的認(rèn)證交換(exchange) 的需要。設(shè)備通過AAA服務(wù)器來完成一次完整的認(rèn)證序列,從而得到由
客戶身份和AAA服務(wù)器策略來確定的不同應(yīng)用或子系統(tǒng)所需要的數(shù)量的
安全會話。當(dāng)設(shè)備被認(rèn)證時,AAA服務(wù)器確定用于該設(shè)備的其它會話。 AAA服務(wù)器生成用于其它會話的會話密鑰,向另一會話發(fā)送一個密鑰并向 所述設(shè)備發(fā)送相應(yīng)的密鑰,以允許設(shè)備在無需完整的認(rèn)證交換的情況下通 過所述經(jīng)認(rèn)證的安全會話來開始運(yùn)作。
請求方設(shè)備(supplicant device)被利用邏輯(logic)來配置,以使其 了解其維護(hù)的不同子系統(tǒng)以及它們的相對優(yōu)先權(quán),所述子系統(tǒng)中的一些可 能需要認(rèn)證。這里所使用的"邏輯"包括但并不限于硬件、固件、軟件和/ 或各個的組合,以執(zhí)行一種或多種功能或者一個或多個動作,和/或引起其 它組件的功能或動作。例如,基于期望的應(yīng)用或需要,邏輯可以包括軟件 控制的微處理器,諸如專用集成電路(ASIC)、可編程邏輯設(shè)備、包含指 令的存儲設(shè)備等的分立邏輯,或者用硬件來實(shí)現(xiàn)的組合邏輯。邏輯還可以 完全體現(xiàn)為軟件。
當(dāng)請求方開始建立用于預(yù)定義的"初始"子系統(tǒng)的經(jīng)認(rèn)證的會話時, 附加的經(jīng)認(rèn)證會話的列表被采用,以指示附加會話。在一個實(shí)施例中,所 述列表被請求方在登錄到認(rèn)證服務(wù)器的過程中附接。在另一個實(shí)施例中, 所述列表被存儲在認(rèn)證服務(wù)器中。
AAA服務(wù)器被利用邏輯來配置,以識別用于請求方的附加會話的列 表。AAA服務(wù)器響應(yīng)于該列表而向認(rèn)證方發(fā)送用于附加會話的附加會話密 鑰。AAA服務(wù)器還將向請求方和初始認(rèn)證方發(fā)送會話密鑰,該會話密鑰可 以與用于附加會話的會話密鑰一起或分開來發(fā)送。
認(rèn)證方被利用邏輯來配置,以在被AAA服務(wù)器按例如會話密鑰的形 式而非按來自請求方的認(rèn)證請求的形式來提示時,對會話的建立進(jìn)行處 理。這使得設(shè)備上的另外的子系統(tǒng)立即開始利用經(jīng)認(rèn)證的安全會話來運(yùn) 作,同時無需完整的認(rèn)證交換。
本發(fā)明的一個方面在于其降低了對執(zhí)行認(rèn)證的設(shè)備的負(fù)荷,以及對 AAA服務(wù)器的負(fù)荷,AAA服務(wù)器必須執(zhí)行對每一個會話的認(rèn)證。本發(fā)明 還減小了處理所有的認(rèn)證過程所需要的消息的數(shù)目,從而也降低了網(wǎng)絡(luò)流
現(xiàn)在參考圖1,其示出了根據(jù)本發(fā)明的一個方面的系統(tǒng)100的框圖。
請求方102與認(rèn)證方104進(jìn)行雙向通信。在一個優(yōu)選實(shí)施例中,請求方 102是希望經(jīng)由認(rèn)證方104來接入網(wǎng)絡(luò)的客戶端。認(rèn)證方104與認(rèn)證服務(wù) 器106進(jìn)行雙向通信。在一個優(yōu)選實(shí)施例中,認(rèn)證服務(wù)器106是AAA (認(rèn) 證、授權(quán)和計費(fèi))服務(wù)器,例如遠(yuǎn)程認(rèn)證撥入用戶服務(wù)(RADIUS: Remote Authentication Dial-In User Service, RFC 2865)月艮務(wù)器。另外,認(rèn) 證方104、認(rèn)證服務(wù)器106或者其兩者為了另外的應(yīng)用1、 110,應(yīng)用2、 114,...和應(yīng)用N、 118而分別與認(rèn)證方108, 112...和116進(jìn)行雙向通信。 從合乎邏輯的角度來看,每一個應(yīng)用都有其自身的認(rèn)證方。但是,對于位 于同一個設(shè)備上的應(yīng)用來說,認(rèn)證方有可能卻并不必然是在相同的邏輯框 (box)上運(yùn)行的相同的代碼,對于各個單獨(dú)的認(rèn)證會話具有各自的環(huán)
境o
當(dāng)請求方102第一次與網(wǎng)絡(luò)相連接時,認(rèn)證方104具有僅允許認(rèn)證請 求消息在請求方102和認(rèn)證服務(wù)器106之間傳送的邏輯。在請求方102被 認(rèn)證之前,與應(yīng)用1、 108,應(yīng)用2、 110,...,應(yīng)用N、 112的會話被在無 線交換機(jī)204中的邏輯禁止。當(dāng)認(rèn)證服務(wù)器106對請求方102進(jìn)行認(rèn)證 時,在認(rèn)證服務(wù)器中的邏輯向認(rèn)證方104和請求方102發(fā)送用于會話的加 密材料(keying material)。
另外,或者與認(rèn)證過程一起或者作為單獨(dú)的過程,在認(rèn)證服務(wù)器106 中的邏輯至少確定一個用于請求方102的其它會話,例如,應(yīng)用1、 108, 應(yīng)用2、 110,...應(yīng)用N、 112。在一個實(shí)施例中,在請求方的邏輯向認(rèn)證 服務(wù)器106發(fā)送附加會話的列表,例如,作為消息的一部分的信息元素 (IE: Information Element)來添加。可替換地,認(rèn)證服務(wù)器106利用邏輯 來從可以訪問認(rèn)證服務(wù)器的數(shù)據(jù)庫取回該服務(wù)器的數(shù)據(jù)庫條目。數(shù)據(jù)庫優(yōu) 選地位于認(rèn)證服務(wù)器106中,但是也可以位于其它地方。
本發(fā)明考慮到了幾種根據(jù)一次認(rèn)證來生成多個會話的方法。本發(fā)明考 慮到了使請求方和網(wǎng)絡(luò)架構(gòu)兩者都了解所采用的方法和裝置。因此,請求 方向認(rèn)證方104或者認(rèn)證服務(wù)器106發(fā)送信號以指示其希望建立所述多個 會話。替換實(shí)施例是基于策略決定是由認(rèn)證方104還是認(rèn)證服務(wù)器106來
做出的。不過邏輯是相同的,即,在請求方為AP的情況下,AP必須通過
向作為EAP方法自身的802.1X EAP認(rèn)證添加的元素將對此事的認(rèn)可用信 號進(jìn)行通知,或能夠隱式地理解為其所有的認(rèn)證都將產(chǎn)生多個會話。認(rèn)證 方104或認(rèn)證服務(wù)器106在AP開始多個會話的建立之前確認(rèn)AP有權(quán)建立 所述多個會話。
當(dāng)認(rèn)證服務(wù)器106確定至少有一個用于請求方102的其它會話時,認(rèn) 證服務(wù)器106為所述至少一個其它會話而開始與認(rèn)證方進(jìn)行會話,例如, 應(yīng)用1、 110的認(rèn)證方108,應(yīng)用2、 114的認(rèn)證方112,...,和應(yīng)用N、 118的認(rèn)證方116。
會話是通過生成唯一的新的加密材料來建立的,所述新的加密材料被 傳送給各個會話。這可以通過以下方式來實(shí)現(xiàn)(a)認(rèn)證方104或認(rèn)證服 務(wù)器106發(fā)布密鑰并將它們分發(fā)給請求方和應(yīng)用兩者(經(jīng)由它們的認(rèn)證 方);或者(b)認(rèn)證方104或認(rèn)證服務(wù)器106與請求方(例如,如圖2所 示的AP) —起生成會話唯一密鑰,所述會話唯一密鑰隨后被分發(fā)給應(yīng)用
(經(jīng)由它們的認(rèn)證方)。
對于前一種由端點(diǎn)(endpoint)來導(dǎo)出密鑰的情況,所述端點(diǎn)可以是 請求方102、認(rèn)證服務(wù)器106 (例如,AS)或認(rèn)證方104 (例如, WDS)。對于端點(diǎn)為請求方102的情況,請求方102將在成功認(rèn)證之后發(fā) 出其希望使用的各個應(yīng)用的密鑰。如何通過使用例如EAP-FAST來實(shí)現(xiàn)這 一操作的示例是進(jìn)一步引起在請求方102和認(rèn)證服務(wù)器106之間的EAP-TLV 請求響應(yīng)交換, 其中,EAP-TLV要求請求方提供所有會話密鑰,每 一個會話密鑰被都映射到具體應(yīng)用。應(yīng)當(dāng)使用"主會話密鑰"或者由請求 方102和認(rèn)證服務(wù)器106共同導(dǎo)出的加密材料來對每個密鑰進(jìn)行密鑰封裝
(keywrap)。注意,EAP-TLV是受EAP-FAST隧道(tunnel)保護(hù)的。 認(rèn)證服務(wù)器106隨后對EAP-TLV以及應(yīng)用和相應(yīng)會話密鑰進(jìn)行解密。對 于每一個應(yīng)用,認(rèn)證服務(wù)器106隨后應(yīng)當(dāng)使用其持有的關(guān)于該應(yīng)用的共享 秘密(secret)來對請求方的相應(yīng)會話密鑰進(jìn)行密鑰封裝,并分發(fā)該密鑰。 其應(yīng)當(dāng)對請求方已經(jīng)定義的并且認(rèn)證服務(wù)器106己經(jīng)驗(yàn)證為有權(quán)建立初始 會話的每一個應(yīng)用執(zhí)行上述操作。
對于由認(rèn)證服務(wù)器106來生成用于請求方102和認(rèn)證方104兩者的會 話密鑰的情況,隨后認(rèn)證服務(wù)器106和請求方102必須保持用于進(jìn)行認(rèn)證 的會話以進(jìn)一步向請求方102提供那些密鑰。認(rèn)證服務(wù)器106將使用其與 各個應(yīng)用共享的共享秘鑰來對所生成的與特定應(yīng)用和請求方相對應(yīng)的會話 密鑰進(jìn)行密鑰封裝,并將其分發(fā)給該應(yīng)用。類似地,其應(yīng)當(dāng)對會話密鑰和 應(yīng)用標(biāo)識符進(jìn)行密鑰封裝,并在其仍然保持的(為了認(rèn)證)與請求方的的 會話中分發(fā)這個信息。
對于后一種共同導(dǎo)出密鑰的情形,作為一個示例,當(dāng)通過生成加密材 料的諸如EAP-TLS、 PEAP和EAP-FAST之類的方法來使用EAP認(rèn)證時, 這個加密材料可以被用于生成用于各個會話的密文唯一密鑰 (cryptographically unique key)。在這些方法中,用于生成各個應(yīng)用的密 文唯一密鑰的主私有密鑰(master secret key)(根據(jù)RFC 3748)或者 EMSK (根據(jù)draft-ietf-eap-keying-01.txt)如下所示
-給定來自作為結(jié)果的成功的EAP方法的用于包括"主"或原始應(yīng)用 在內(nèi)的各個應(yīng)用的名為appl thru appn的主共享秘鑰(MSK),它們的會 話密鑰能夠按如下所示地生成
-應(yīng)用1 (下稱Appl)的會話密鑰=hmac-shal(msk,"唯一的 <這
里是唯一的應(yīng)用名稱〉會話密鑰的推導(dǎo)"i| Appl-身份II請求方-身份II <
鏈接串(concatenated string)的長度>)
-應(yīng)用n的會話密鑰=hmac-shal(msk,"唯一的<對應(yīng)用n命名〉會
話密鑰的推導(dǎo)"II Appl-身份II請求方-身份II <鏈接串的長度〉) -其中,H表示鏈接
-其中, <這里是唯一的應(yīng)用名稱>是該應(yīng)用的唯一標(biāo)志標(biāo)識符, 并且必須與其它應(yīng)用不相同
-其中, <鏈接串的長度〉是通過鏈接生成的串的總長度。 圖2是根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例的無線局域網(wǎng)200的框圖。如圖 所示,接入點(diǎn)202是請求方,而交換機(jī)端口 204是接入點(diǎn)202的認(rèn)證方。 交換機(jī)端口 204與接入點(diǎn)202進(jìn)行雙向通信。交換機(jī)端口 204將接入點(diǎn) 202耦合到主干網(wǎng)絡(luò)212。主干網(wǎng)絡(luò)212可以具有任意合適的有線網(wǎng)絡(luò)拓
撲、無線網(wǎng)絡(luò)拓?fù)浠蚱浣M合。
當(dāng)接入點(diǎn)202第一次期望連接到主干網(wǎng)絡(luò)212時,認(rèn)證服務(wù)器206通 過交換機(jī)端口 204來對其進(jìn)行認(rèn)證。在接入點(diǎn)202經(jīng)過認(rèn)證之前,交換機(jī) 端口 204在接入點(diǎn)202和認(rèn)證服務(wù)器206之間交換認(rèn)證消息,并阻止接入 點(diǎn)202與任何其它與主干網(wǎng)絡(luò)212相連接的設(shè)備進(jìn)行通信。
在成功對接入點(diǎn)202進(jìn)行認(rèn)證之后,認(rèn)證服務(wù)器206生成用于無線交 換機(jī)204和接入點(diǎn)202之間的通信的會話密鑰。在一個優(yōu)選實(shí)施例中,認(rèn) 證服務(wù)器206還生成用于接入點(diǎn)202和無線域服務(wù)器208之間的通信的會 話密鑰。
另外,根據(jù)本發(fā)明的一個方面,認(rèn)證服務(wù)器206對接入點(diǎn)202是否應(yīng) 當(dāng)針對耦合到網(wǎng)絡(luò)212的其它應(yīng)用(例如應(yīng)用212)被認(rèn)證進(jìn)行判斷,應(yīng) 用212由另外的認(rèn)證方210來認(rèn)證。
在操作過程中,"中心"或主認(rèn)證方(在這個示例中為認(rèn)證服務(wù)器 206)對其可能還需要為接入點(diǎn)202建立與哪個"應(yīng)用"的會話進(jìn)行判 斷。接入點(diǎn)202首先被認(rèn)證是否有權(quán)訪問WDS (無線域服務(wù)器,或控制 器)208。不過,接入點(diǎn)202也被認(rèn)證是否有權(quán)訪問與其相連接的交換機(jī) 端口 204以及其可能需要建立會話的其它服務(wù)器(例如,呼叫管理員或 DHCP服務(wù)器等)。
在一個優(yōu)選實(shí)施例中,認(rèn)證服務(wù)器206作出響應(yīng)以經(jīng)由例如IE來從接 入點(diǎn)202接收附加會話的列表。在另一個優(yōu)選實(shí)施例中,認(rèn)證服務(wù)器206 訪問數(shù)據(jù)庫以確定附加會話。
例如,當(dāng)認(rèn)證服務(wù)器206確定接入點(diǎn)202應(yīng)當(dāng)建立與附加認(rèn)證方210 的會話時,認(rèn)證服務(wù)器206生成接入點(diǎn)202和附加認(rèn)證方210之間的會話 的會話密鑰。優(yōu)選地,認(rèn)證服務(wù)器206在接入點(diǎn)202的認(rèn)證過程中確定接 入點(diǎn)202和附加認(rèn)證方210之間的會話。這將允許認(rèn)證服務(wù)器向接入點(diǎn) 202發(fā)送一個信息,該信息包括用于交換機(jī)端口 204的會話密鑰、用于無 線域服務(wù)器208的會話密鑰和用于附加認(rèn)證方210的會話密鑰。認(rèn)證服務(wù) 器206還向交換機(jī)端口 204、無線域服務(wù)器208和附加認(rèn)證方210發(fā)送用 于接入點(diǎn)202的會話密鑰。200680006411.5
說明書第9/18頁
附加認(rèn)證方210被利用邏輯來配置,所述邏輯做出響應(yīng)以從認(rèn)證服務(wù)
器206接收會話密鑰,從而與接入點(diǎn)202建立經(jīng)認(rèn)證的安全的會話。這使 得在接入點(diǎn)202上的另外的子系統(tǒng)可以立即開始使用經(jīng)認(rèn)證的安全會話來 工作,同時使得不必與附加認(rèn)證方210進(jìn)行完整的認(rèn)證交換。
雖然以上的示例示出了用于為一個接入點(diǎn)建立多個會話的過程,但是 本域技術(shù)人員能夠容易地想到相同的過程也適用于為利用網(wǎng)絡(luò)212的任意 設(shè)備建立多個會話。例如,與接入點(diǎn)202相關(guān)聯(lián)的客戶端(未示出)可以 使用該過程,其中,接入點(diǎn)202起到認(rèn)證方的作用。作為另一個示例,當(dāng) 對交換機(jī)端口 204或無線域服務(wù)器208進(jìn)行認(rèn)證時,可以使用所述過程。
本發(fā)明的一個方面在于其支持不相交認(rèn)證服務(wù)器群(disjoint authentication server farm)和不相交策略或授權(quán)服務(wù)器。本發(fā)明的一個方 面在于其支持這樣的一個系統(tǒng)在該系統(tǒng)中,不同的認(rèn)證方實(shí)際上由不相 交認(rèn)證服務(wù)器來支持,允許初始認(rèn)證服務(wù)器接收請求以起到代理的作用, 其中,不同的認(rèn)證服務(wù)器服務(wù)于該請求。本發(fā)明的一個方面在于其支持這
樣的一個系統(tǒng)在該系統(tǒng)中,認(rèn)證服務(wù)器實(shí)際上是服務(wù)器群,并且出于負(fù)載平衡的目的,經(jīng)聚合的請求可以被分發(fā)到各個不同的服務(wù)器。本發(fā)明的 一個方面支持這樣的一個系統(tǒng),在該系統(tǒng)中,認(rèn)證服務(wù)器從不同的認(rèn)證方 獲取來自其它(一個或多個)認(rèn)證服務(wù)器的具體策略信息。
例如,能夠從地址在170 West Tasman Drive, San Jose, CA 95134的思 科技術(shù)公司獲得的思科接入點(diǎn)(Cisco Access Point)包含多個子系統(tǒng),所 述子系統(tǒng)需要針對不同的認(rèn)證方進(jìn)行認(rèn)證。在很大的垂直環(huán)境中,大量的 接入點(diǎn)可能同時上線,這對AAA服務(wù)器基礎(chǔ)設(shè)施造成了巨大的負(fù)擔(dān)。
圖3是示例網(wǎng)絡(luò)300,其中認(rèn)證服務(wù)器306代理向附加認(rèn)證服務(wù)器 316、 326、 336發(fā)送認(rèn)證請求。請求方302通過向認(rèn)證方304發(fā)送請求來 啟動會話。請求方302與認(rèn)證方304進(jìn)行雙向通信。在一個優(yōu)選實(shí)施例 中,請求方302是希望經(jīng)由認(rèn)證方304來接入網(wǎng)絡(luò)306 (例如,分布網(wǎng) 絡(luò))的客戶端。認(rèn)證方304與認(rèn)證服務(wù)器306進(jìn)行雙向通信。在一個優(yōu)選 實(shí)施例中,認(rèn)證服務(wù)器306是AAA (認(rèn)證、授權(quán)和計費(fèi))服務(wù)器,例如 RADIUS (遠(yuǎn)程認(rèn)證撥入用戶服務(wù),RFC2865)服務(wù)器。
當(dāng)請求方302第一次連接網(wǎng)絡(luò)時,認(rèn)證方304具有僅允許認(rèn)證請求信 息在請求方302和認(rèn)證服務(wù)器306之間傳送的邏輯。這里所使用的"邏 輯"包括但不限于硬件、固件、軟件和/或各個的組合,以執(zhí)行一種或多種 功能或者一個或多個動作,和/或引起其它組件的功能或動作。例如,基于 期望的應(yīng)用或需要,邏輯可以包括軟件控制的微處理器,諸如專用集成電 路(ASIC)、可編程邏輯器件、包含指令的存儲設(shè)備等的分立邏輯,或者 用硬件來實(shí)現(xiàn)的組合邏輯。邏輯還可以完全體現(xiàn)為軟件。在請求方302經(jīng) 過認(rèn)證之前,與應(yīng)用1、 310,應(yīng)用2、 320,...應(yīng)用N、 330的會話被認(rèn) 證方304中的邏輯禁止。當(dāng)認(rèn)證服務(wù)器306對請求方302進(jìn)行認(rèn)證時,在 認(rèn)證服務(wù)器306中的邏輯向認(rèn)證方304和請求方302發(fā)送用于會話的加密 材料。
另外,或者與認(rèn)證過程一起或者作為單獨(dú)過程,在認(rèn)證服務(wù)器306中 的邏輯至少確定一個用于請求方302的其它會話,例如,應(yīng)用1、 310,應(yīng) 用2、 320,...應(yīng)用N, 330。在一個實(shí)施例中,在請求方302的邏輯向認(rèn) 證服務(wù)器306發(fā)送附加會話的列表,例如,作為消息的一部分的信息元素 (IE)來添加??商鎿Q地,認(rèn)證服務(wù)器306利用邏輯來從可以訪問認(rèn)證服 務(wù)器的數(shù)據(jù)庫取回該服務(wù)器的數(shù)據(jù)庫條目。數(shù)據(jù)庫優(yōu)選地位于認(rèn)證服務(wù)器 306中,但是也可以位于其它地方,只要該地方是認(rèn)證服務(wù)器306可訪問 的。
本發(fā)明提供了幾種根據(jù)一次認(rèn)證來生成多個會話的方法。本發(fā)明考慮 到了使請求方和網(wǎng)絡(luò)基礎(chǔ)設(shè)施兩者都了解所采用的方法和裝置。因此,請 求方向認(rèn)證方304或者認(rèn)證服務(wù)器306發(fā)送信號以指示其希望建立所述多 個會話??商鎿Q實(shí)施例是基于策略決定是由認(rèn)證方304還是認(rèn)證服務(wù)器 306來做出的。不過邏輯是相同的,S卩,例如在請求方為AP的情況下, AP必須通過向作為EAP方法自身的802.1XEAP認(rèn)證添加的元素將對此事 的認(rèn)可用信號迸行通知,或能夠隱式地理解為其所有的認(rèn)證都將產(chǎn)生多個 會話。認(rèn)證方304或認(rèn)證服務(wù)器306在AP開始多個會話的建立之前確認(rèn) 該AP有權(quán)建立所述多個會話。
當(dāng)認(rèn)證服務(wù)器306確定至少有一個用于請求方302的其它會話時,認(rèn)
證服務(wù)器306起到代理的作用,并為所述至少一個其它會話而啟動與認(rèn)證服務(wù)器的會話,所述認(rèn)證服務(wù)器例如是應(yīng)用1、 310的認(rèn)證服務(wù)器316,應(yīng) 用2、 320的認(rèn)證服務(wù)器326,...,和應(yīng)用N、 330的認(rèn)證服務(wù)器336。因 此,為了與應(yīng)用310、 320、 330中的一個或多個建立至少一個其他會話, 認(rèn)證服務(wù)器306與相應(yīng)的認(rèn)證服務(wù)器316、 326、 336進(jìn)行通信,而不是與 認(rèn)證方314、 324、 334進(jìn)行通信。會話是通過生成唯一的新的加密材料來建立的,所述新的加密材料被 傳送給各個會話。這可以利用幾種合適的技術(shù)中的任意一種來實(shí)現(xiàn)。例 如,認(rèn)證服務(wù)器306可以發(fā)布密鑰,并分別經(jīng)由它們的認(rèn)證服務(wù)器316、 326、 336來將它們分發(fā)給請求方302和應(yīng)用310、 320、 330。作為另一個 示例,密鑰可以由認(rèn)證服務(wù)器316、 326、 336為相應(yīng)的應(yīng)用310、 320、 330來導(dǎo)出,所述應(yīng)用隨后會把用于請求方的密鑰發(fā)給認(rèn)證服務(wù)器306, 而將用于應(yīng)用310、 320、 330的相應(yīng)密鑰分發(fā)給應(yīng)用310、 320、 330。以下是如何利用網(wǎng)絡(luò)300來支持巨大網(wǎng)絡(luò)的示例。在這個示例中,請 求方302是無線接入點(diǎn)(AP: access point),而認(rèn)證方304是無線交換 機(jī)。當(dāng)請求方(AP) 302上電時,其連接認(rèn)證方304以接入分布網(wǎng)絡(luò) 308。認(rèn)證方304將接入請求轉(zhuǎn)發(fā)到認(rèn)證服務(wù)器306。認(rèn)證服務(wù)器306對請 求方302進(jìn)行認(rèn)證(g卩,驗(yàn)證請求方是誰),并判斷請求方302是否有權(quán) 接入網(wǎng)絡(luò)308。另外,如果請求方(AP) 302需要訪問另外的應(yīng)用(例如,應(yīng)用 310、 320、 330),則由請求方(AP)向認(rèn)證服務(wù)器306發(fā)送應(yīng)用列表 (例如,經(jīng)由與該接入請求相耦合的IE),或者由認(rèn)證服務(wù)器306對請求 方302有權(quán)訪問哪些其他應(yīng)用進(jìn)行判斷。認(rèn)證服務(wù)器306隨后與和所述一 個或多個應(yīng)用相關(guān)聯(lián)的認(rèn)證服務(wù)器(例如,分別用于應(yīng)用310、 320、 330 的認(rèn)證服務(wù)器316、 326、 336)進(jìn)行通信。用于請求方302與應(yīng)用310、 320、 330中的一個或多個之間的會話的加密材料可以由認(rèn)證服務(wù)器306, 與應(yīng)用310、 320、 330相關(guān)聯(lián)的認(rèn)證服務(wù)器316、 326、 336來生成,或者 可以在認(rèn)證服務(wù)器306與和應(yīng)用310、 320、 330相關(guān)聯(lián)的各個認(rèn)證服務(wù)器 316、 326、 336之間共同來導(dǎo)出。圖4是采用認(rèn)證服務(wù)器的服務(wù)器群402的示例性網(wǎng)絡(luò)400。在這個示 例中,請求方302向認(rèn)證方304發(fā)送接入網(wǎng)絡(luò)的請求。認(rèn)證方304將該請 求轉(zhuǎn)發(fā)到服務(wù)器群402,其中認(rèn)證服務(wù)器306、 316、 326、 336中的一個對 所述請求進(jìn)行處理??蛇x地,服務(wù)器群402可以采用負(fù)載均衡器(load balancer) 404。負(fù)載均衡器404包括以下邏輯,所述邏輯用于確定認(rèn)證服 務(wù)器306、 316、 326、 336上的負(fù)載,并基于它們當(dāng)前的負(fù)載來將認(rèn)證請 求導(dǎo)向認(rèn)證服務(wù)器306、 316、 326、 336中的一個。在所述服務(wù)器群的示例中,認(rèn)證服務(wù)器306、 316、 326、 336中的任意 一個都可以起到用于認(rèn)證方304和/或用于應(yīng)用310、 320、 330的認(rèn)證服務(wù) 器的作用。此外,如果認(rèn)證服務(wù)器306、 316、 326、 336中的一個確定其 負(fù)載處于閾值水平(例如,在容量或容量的某個百分比處),則其可以將 來自請求方302的請求轉(zhuǎn)發(fā)到另一個認(rèn)證服務(wù)器306、 316、 326、 336。另 外,對請求方302的認(rèn)證請求進(jìn)行處理的認(rèn)證服務(wù)器306、 316、 326、 336 并不必須是與啟動和應(yīng)用310、 320、 330中的一個或多個的會話的服務(wù)器 相同的服務(wù)器。作為一個示例,如果請求方302試圖接入網(wǎng)絡(luò)400并要求訪問應(yīng)用N 330,則認(rèn)證方304將該請求傳送到服務(wù)器群402,在其中的認(rèn)證服務(wù)器 306、 316、 326、 336中的一個對來自請求方302的請求進(jìn)行處理。例如, 認(rèn)證服務(wù)器306能夠處理來自請求方302的請求。認(rèn)證服務(wù)器306能夠確 定請求方302必須與應(yīng)用310、 320、 330中的一個(在本示例中為應(yīng)用 330)建立會話。認(rèn)證服務(wù)器306可以通過檢查由請求方302發(fā)送的請求 (例如,可以附接一列表,例如使用TLV)或者通過使用其它手段(例 如,認(rèn)證服務(wù)器306可以訪問的數(shù)據(jù)庫)來進(jìn)行上述確定。認(rèn)證服務(wù)器 103可以啟動與請求方302和應(yīng)用330的會話,或者認(rèn)證服務(wù)器306可以 與認(rèn)證服務(wù)器306、 316、 326、 336中的一個進(jìn)行通信以啟動會話。 一旦 會話己經(jīng)被啟動,則密鑰就可以在請求方302和應(yīng)用330之間交換。如果 認(rèn)證服務(wù)器306啟動了所述會話,則其可以交換兩個密鑰。如果另一個認(rèn) 證服務(wù)器(例如,服務(wù)器316、 326、 336中的一個)啟動了所述會話,則 該服務(wù)器可以將一個密鑰傳送到應(yīng)用330,而將另一個密鑰傳送到認(rèn)證服
務(wù)器306,認(rèn)證服務(wù)器306將其轉(zhuǎn)發(fā)到請求方302。圖5是采用一個認(rèn)證服務(wù)器和多個授權(quán)(或策略)服務(wù)器516、 526、 536的示例性網(wǎng)絡(luò)500。在這個示例中,請求方302連接認(rèn)證方304以請求 接入網(wǎng)絡(luò)500。對請求方302進(jìn)行認(rèn)證的認(rèn)證方304通過認(rèn)證服務(wù)器306 來對請求方302進(jìn)行認(rèn)證。認(rèn)證服務(wù)器306隨后判斷是否為請求方302建 立附加會話,例如與應(yīng)用310、 320、 330中的一個或多個建立會話。但 是,在本示例中,認(rèn)證服務(wù)器306對請求方302進(jìn)行認(rèn)證,而授權(quán)(或策 略)服務(wù)器516、 526、 536分別被用于判斷請求方302是否有權(quán)訪問應(yīng)用 310、 320、 330。因此,當(dāng)認(rèn)證服務(wù)器306確定請求方302請求了與應(yīng)用310、 320、 330中的一個或多個的附加會話時,認(rèn)證服務(wù)器306經(jīng)由相應(yīng)的授權(quán)(或 策略)服務(wù)器516、 526、 536來判斷請求方302是否有權(quán)訪問應(yīng)用310、 320、 330。請求方302可以經(jīng)由TLV或附接到其請求接入網(wǎng)絡(luò)500的請求 上的列表來請求訪問應(yīng)用310、 320、 330??商鎿Q地,認(rèn)證服務(wù)器306可 以維護(hù)用于確定請求方302的附加會話的數(shù)據(jù)庫,或者具有對該數(shù)據(jù)庫的 訪問權(quán)。圖6是用于實(shí)現(xiàn)本發(fā)明的一個方面的計算機(jī)系統(tǒng)600的框圖。例如, 計算機(jī)系統(tǒng)600適合被圖1的請求方102,認(rèn)證方104,認(rèn)證服務(wù)器106, 應(yīng)用1、 108,應(yīng)用2、 110,...和應(yīng)用N、 112,以及圖2的接入點(diǎn)202, 交換機(jī)部分204,認(rèn)證服務(wù)器206,無線域服務(wù)器208和附加認(rèn)證方210 中的至少一個采用。例如,計算機(jī)系統(tǒng)600適合被圖3的請求方302,認(rèn) 證方304,認(rèn)證服務(wù)器306、 316、 326、 336,應(yīng)用1、 310,應(yīng)用2、 320,...,和應(yīng)用N、 330,以及圖4的負(fù)載均衡器402,禾Q/或圖5的授權(quán) 服務(wù)器516、 526、 536中的至少一個采用。計算機(jī)系統(tǒng)600包括總線602或用于傳送消息的其他通信機(jī)構(gòu),以及 與總線602相耦合的用于處理信息的處理器604。計算機(jī)系統(tǒng)600還包括 諸如隨機(jī)存取存儲器(RAM)或其他動態(tài)存儲設(shè)備之類的與總線602相耦 合的主存儲器606,用于存儲信息和將由處理器604來執(zhí)行的指令。主存 儲器606還可以被用于存儲在執(zhí)行將由處理器604處理的指令的過程中的 臨時變量或其它中間信息。計算機(jī)系統(tǒng)600還包括與總線602相耦合的只 讀存儲器(ROM) 608或其它靜態(tài)存儲設(shè)備,用于存儲處理器604的靜態(tài) 信息和指令。諸如磁盤或光盤之類的存儲設(shè)備610被提供并與總線602相 耦合,用于存儲信息和指令。本發(fā)明的一個方面涉及使用計算機(jī)系統(tǒng)600用于為單個客戶端建立多 個會話。根據(jù)本發(fā)明的一個實(shí)施例,由計算機(jī)系統(tǒng)600響應(yīng)于處理器604 執(zhí)行包含在主存儲器606中的一個或多個指令的一個或多個序列來提供單 個設(shè)備的多個會話的建立。那樣的指令可以被從諸如存儲設(shè)備610之類的 另一個計算機(jī)可讀介質(zhì)讀取到主存儲器606中。包含在主存儲器606中的 指令序列的運(yùn)行致使處理器604執(zhí)行這里所描述的處理步驟。在多處理配 置中的一個或多個處理器也可以被用于執(zhí)行包含在主存儲器606中的指令 序列。在可替換實(shí)施例中,硬連線(hard-wired)電路或ASIC可以被用于 替換軟件指令或者與軟件指令組合起來,以實(shí)施本發(fā)明。因此,本發(fā)明的 實(shí)施例并不限于硬件電路和軟件的任何具體組合。這里所使用的術(shù)語"計算機(jī)可讀介質(zhì)"指的是向處理器604提供指令 以用于執(zhí)行的任意介質(zhì)。這樣的介質(zhì)可以采用許多形式,包括但不限于非 易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)例如包括光盤或磁 盤,例如存儲設(shè)備610。易失性介質(zhì)包括動態(tài)存儲器,例如主存儲器 606。傳輸介質(zhì)包括同軸電纜、銅導(dǎo)線和光纖,包括組成總線602的布 線。傳輸介質(zhì)還可以采用聲波或光波的形式,例如在射頻(RF)和紅外線 (IR)數(shù)據(jù)通信過程中生成的那些。計算機(jī)可讀介質(zhì)的一般形式例如包括 軟盤(floppy disk)、軟磁盤(flexible disk)、硬盤、磁卡、紙帶、具有 孔的圖案的任何其它物理介質(zhì)、RAM 、 PROM 、 EPROM 、 FLASHPROM、任何其它存儲芯片或盒式磁帶(cartridge)、下文中將描 述的載波、或者計算機(jī)可讀的任何其它介質(zhì)。計算機(jī)系統(tǒng)600還包括與總線602相耦合的通信接口 618。通信接口 618提供對網(wǎng)絡(luò)鏈路620的雙向數(shù)據(jù)通信耦合,網(wǎng)絡(luò)鏈路620與本地網(wǎng)絡(luò) 622相連接。例如,通信接口 618可以是綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào) 制解調(diào)器,以提供與相應(yīng)類型電話線的數(shù)據(jù)通信連接。作為另一個示例,
通信接口 618可以是局域網(wǎng)(LAN)卡,以提供與可兼容LAN的數(shù)據(jù)通 信連接。也可以采用無線鏈路。在任意這樣的實(shí)施方式中,通信接口 618 發(fā)送并接收承載著表示各種類型信息的數(shù)字?jǐn)?shù)據(jù)流的電信號、電磁信號或 光信號。網(wǎng)絡(luò)鏈路620典型地通過一個或多個網(wǎng)絡(luò)來向其它數(shù)據(jù)設(shè)備提供數(shù)據(jù) 通信。例如,網(wǎng)絡(luò)鏈路620可以通過本地網(wǎng)絡(luò)622來提供與其它計算機(jī) (未示出)的連接??紤]到上述的結(jié)構(gòu)和功能特征,通過參考圖7-9將更好地理解根據(jù)本 發(fā)明不同方面的方法。雖然,出于簡化說明的目的,圖7-9的方法是按執(zhí) 行順序來示出和描述的,但是應(yīng)當(dāng)了解并理解,本發(fā)明并不受示出順序的 限制,因?yàn)楦鶕?jù)本發(fā)明的一些方面可以和其它方面按與這里所示出和描述 的不同的順序進(jìn)行和/或與所述其它方面同時進(jìn)行。此外,并不是示出的所 有特征都是實(shí)施根據(jù)本發(fā)明的一個方面的方法所需要的。本發(fā)明的實(shí)施例 是適于用硬件、軟件、或者其組合來實(shí)施所述方法的。圖7是根據(jù)本發(fā)明的一個方面對單個請求方的經(jīng)認(rèn)證的多個會話的建 立進(jìn)行優(yōu)化的方法700的框圖。在702,請求方被認(rèn)證服務(wù)器認(rèn)證。例 如,請求方啟動與認(rèn)證方的會話,該認(rèn)證方在請求方和認(rèn)證服務(wù)器之間傳 送消息,以允許請求方被認(rèn)證服務(wù)器認(rèn)證。在704,對是否存在用于請求方的附加會話進(jìn)行判斷。為了確定附加 會話,請求方可以向認(rèn)證服務(wù)器發(fā)送潛在附加會話的列表,或者認(rèn)證服務(wù) 器訪問包含用于所述請求方的會話信息的數(shù)據(jù)庫。在706,認(rèn)證服務(wù)器通過附加會話的認(rèn)證方來啟動請求方的所述附加 會話。所述的啟動包括以下步驟生成用于在請求方和附加會話之間的會 話的會話密鑰對,將所述會話密鑰對中的一個密鑰發(fā)送到請求方,而將另 一個發(fā)送到附加會話的認(rèn)證方。在從認(rèn)證服務(wù)器接收到密鑰之后,所述附 加會話的認(rèn)證方作出響應(yīng)以在沒有附加的認(rèn)證步驟的情況下建立與請求方 的經(jīng)認(rèn)證的安全的會話。在一個優(yōu)選實(shí)施例中,附加會話的認(rèn)證方已經(jīng)經(jīng)過認(rèn)證服務(wù)器的認(rèn) 證。否則,認(rèn)證服務(wù)器對附加會話的認(rèn)證方進(jìn)行認(rèn)證。
在一個優(yōu)選實(shí)施例中,請求方同時接收到用于其認(rèn)證方和用于附加會 話的認(rèn)證方的密鑰。這將請求方和認(rèn)證服務(wù)器之間的流量減到最小。圖8是是根據(jù)本發(fā)明的一個方面對單個設(shè)備的經(jīng)認(rèn)證的多個會話的建立進(jìn)行優(yōu)化的方法800的詳細(xì)框圖。方法800從802開始,在802,設(shè)備 開始登錄其認(rèn)證方。認(rèn)證方允許設(shè)備和認(rèn)證服務(wù)器之間的通信,但是在設(shè) 備經(jīng)過認(rèn)證之前禁止該設(shè)備的其它通信。如果在804判斷得出登錄不成功 (否),則處理返回到802。否則,如果在804登錄成功(是),則處理 繼續(xù)向前到806。在806,在設(shè)備和原始認(rèn)證方之間的會話被建立,并且用于設(shè)備和原 始認(rèn)證方之間的會話的會話密鑰被生成。在步驟808,會話密鑰被發(fā)送到 原始認(rèn)證方。在810,認(rèn)證服務(wù)器確定存在用于所述設(shè)備的另一個會話。用于判斷 是否存在用于所述設(shè)備的另一個會話的一種技術(shù)是由該設(shè)備向認(rèn)證服務(wù)器 發(fā)送附加會話或潛在附加會話的列表。用于判斷是否存在用于所述設(shè)備的 另一個會話的另一種技術(shù)是由認(rèn)證服務(wù)器來訪問數(shù)據(jù)庫或其它記錄存儲系 統(tǒng)。在一個實(shí)施例中,所述數(shù)據(jù)庫位于認(rèn)證服務(wù)器上,在另一個實(shí)施例 中,其位于網(wǎng)絡(luò)的其它地方。在812,用于另一個會話的會話密鑰被生成。在814,該用于另一個 會話的會話密鑰被發(fā)送到所述另一個會話的認(rèn)證方。根據(jù)本發(fā)明的一個方 面,用于另一個會話的認(rèn)證方響應(yīng)于會話密鑰的接收而建立與所述設(shè)備的 經(jīng)認(rèn)證的安全會話。這允許設(shè)備立即與另一個會話進(jìn)行通信,而無需任何 在設(shè)備和所述另一個會話的認(rèn)證方之間的另外的認(rèn)證。在用于另一個會話 的會話密鑰已經(jīng)被傳遞之后,設(shè)備使用其用于所述另一個會話的相應(yīng)會話 密鑰來與該另一個會話的認(rèn)證方進(jìn)行通信。為了增加安全性,另一個會話 的認(rèn)證方應(yīng)當(dāng)經(jīng)過認(rèn)證服務(wù)器的認(rèn)證。這使得認(rèn)證方可以確保從認(rèn)證服務(wù) 器接收到的密鑰是來自可信任的源的。優(yōu)選地,在設(shè)備登錄之前對另一個 會話的認(rèn)證方進(jìn)行認(rèn)證,以使得僅發(fā)生密鑰交換;否則,認(rèn)證服務(wù)器在發(fā) 送密鑰之前還將對另一個會話的認(rèn)證方進(jìn)行認(rèn)證。在816,與設(shè)備的原始認(rèn)證方的會話密鑰相對應(yīng)的會話密鑰以及與發(fā)
送到另一個會話的認(rèn)證方的會話密鑰相對應(yīng)的會話密鑰被發(fā)送到所述設(shè) 備。在一個優(yōu)選實(shí)施例中,所述密鑰被同時發(fā)送以減小設(shè)備和認(rèn)證服務(wù)器 之間的通信次數(shù)。但是,即使密鑰被分開發(fā)送,本發(fā)明仍然更優(yōu)于現(xiàn)有技 術(shù)系統(tǒng),原因在于設(shè)備并不必須執(zhí)行與另一個會話的認(rèn)證方的認(rèn)證,該認(rèn) 證將需要另一個會話的認(rèn)證方、認(rèn)證服務(wù)器和設(shè)備之間的額外通信。應(yīng)當(dāng)注意,步驟812-816是為各個會話來執(zhí)行的。對于多個會話,它們可以被同時執(zhí)行。圖9是用于涉及不相交認(rèn)證和/或授權(quán)服務(wù)器的多會話的建立的方法 900的框圖。在902,請求方被認(rèn)證。請求方是由從對請求方進(jìn)行認(rèn)證的 認(rèn)證方接收請求的認(rèn)證服務(wù)器來認(rèn)證的。在904,對請求方是否要求附加會話進(jìn)行判斷。存在幾種能夠用于做 出這種判斷的技術(shù)。例如,請求方可以請求,例如經(jīng)由附接到其請求接入 網(wǎng)絡(luò)的請求上的列表或者經(jīng)由IE,來啟動附加會話。作為另一個示例,網(wǎng) 絡(luò)基礎(chǔ)設(shè)施可以存儲用于請求方的應(yīng)用列表,例如,認(rèn)證服務(wù)器可訪問的 數(shù)據(jù)庫。在906,認(rèn)證服務(wù)器判斷其是否需要(或者應(yīng)當(dāng))與另一個服務(wù)器進(jìn) 行通信。例如,如果認(rèn)證服務(wù)器是服務(wù)器群的一部分,并且該認(rèn)證服務(wù)器 的負(fù)載達(dá)到了關(guān)鍵的負(fù)載點(diǎn),則在請求方和附加會話之間的認(rèn)證可以被卸 載,并由另一個認(rèn)證服務(wù)器來執(zhí)行??商鎿Q地,如果認(rèn)證服務(wù)器是服務(wù)器 群的一部分,并達(dá)到了關(guān)鍵負(fù)載點(diǎn),則在該服務(wù)器群中的另一個認(rèn)證服務(wù) 器可以執(zhí)行用于請求方和用于附加會話的認(rèn)證。在其它實(shí)施例中,用于附加會話的一個或多個應(yīng)用可以具有一個關(guān)聯(lián) 認(rèn)證服務(wù)器。遠(yuǎn)程應(yīng)用例如可能會具有其自身的認(rèn)證服務(wù)器。此外,在其它實(shí)施例中,用于附加會話的一個或多個應(yīng)用可以具有多 個關(guān)聯(lián)認(rèn)證或策略服務(wù)器。在這些實(shí)施例中,認(rèn)證服務(wù)器對請求方進(jìn)行驗(yàn) 證(認(rèn)證)。認(rèn)證服務(wù)器隨后通過所述認(rèn)證或策略服務(wù)器來驗(yàn)證請求方是 否有權(quán)訪問應(yīng)用。如果在906判斷得出對于附加會話至少需要一個其它服務(wù)器(是), 則在908,認(rèn)證服務(wù)器代理所述另一個服務(wù)器并為請求方與該另一個服務(wù)
器進(jìn)行通信。除了為了負(fù)載均衡而改變認(rèn)證服務(wù)器之外,與用于對請求方 進(jìn)行認(rèn)證和/或授權(quán)的其它服務(wù)器的通信也被在服務(wù)器之間交換。否則 (否),執(zhí)行910。在910,所述附加會話被啟動。這可能需要對請求方、請求方的認(rèn)證 方進(jìn)行認(rèn)證,或者對兩者都進(jìn)行認(rèn)證。如果附加會話需要密鑰,則它們隨后由合適的認(rèn)證和/或授權(quán)服務(wù)器來生成。在912,用于附加會話的密鑰被請求方的認(rèn)證服務(wù)器獲得。在914,密鑰被分發(fā)。如果附加會話涉及附加服務(wù)器或不相交服務(wù)器,則所述附加服務(wù)器或不相交服務(wù)器可以將密鑰分發(fā)給應(yīng)用和請求方的 認(rèn)證服務(wù)器。請求方的認(rèn)證服務(wù)器隨后會將附加應(yīng)用的會話密鑰轉(zhuǎn)發(fā)到請 求方。請求方的認(rèn)證服務(wù)器可以將附加應(yīng)用的密鑰與由請求方的認(rèn)證服務(wù) 器建立的會話密鑰一起轉(zhuǎn)發(fā)到請求方,或者分開來發(fā)送所述密鑰。以上所述包括本發(fā)明的示例性實(shí)施方式。為了描述本發(fā)明,當(dāng)然不可 能描述組件或方法的每一種可能組合,但是本域普通技術(shù)人員將意識到本 發(fā)明的其它組合和置換是可能的。因此,本發(fā)明意圖囊括在所附權(quán)利要求 的精神和范圍內(nèi)的所有那樣的變化、修改和改變,所附權(quán)利要求應(yīng)當(dāng)根據(jù) 它們公平、合法和公正地享有的寬度來解釋。
權(quán)利要求
1.一種對單個請求方的經(jīng)認(rèn)證的多個會話的建立進(jìn)行優(yōu)化的方法,其包括利用認(rèn)證服務(wù)器對所述請求方進(jìn)行認(rèn)證;確定用于所述請求方的至少一個其它會話;以及利用所述至少一個其它會話的認(rèn)證方來啟動用于所述請求方的所述至少一個其它會話。
2. 如權(quán)利要求1所述的方法,所述確定至少一個其它會話還包括從所 述請求方向所述認(rèn)證服務(wù)器發(fā)送所述至少一個其它會話的列表。
3. 如權(quán)利要求1所述的方法,其中,所述確定至少一個其它會話還包 括確定所述請求方是有權(quán)啟動所述至少一個其它會話的。
4. 如權(quán)利要求1所述的方法,所述確定至少一個其它會話還包括由所 述認(rèn)證服務(wù)器來從所述認(rèn)證服務(wù)器可訪問的數(shù)據(jù)庫取回用于所述請求方的 數(shù)據(jù)庫條目。
5. 如權(quán)利要求1所述的方法,所述啟動至少一個其它會話還包括 分發(fā)用于建立所述請求方和所述認(rèn)證方之間的會話的第一會話密鑰; 所述啟動用于所述請求方的至少一個其它會話還包括向所述至少一個其它會話的認(rèn)證方分發(fā)第二會話密鑰;以及 向所述請求方分發(fā)密鑰集合;其中,所述密鑰集合包括與所述第一會話密鑰相對應(yīng)的第一密鑰和與 所述第二會話密鑰相對應(yīng)的第二密鑰。
6. 如權(quán)利要求1所述的方法,其中,在所述請求方被認(rèn)證之前,利用 所述認(rèn)證服務(wù)器來對所述至少一個其它會話進(jìn)行認(rèn)證。
7. 如權(quán)利要求1所述的方法,其中,所述請求方是無線接入點(diǎn),所述 認(rèn)證方是將所述接入點(diǎn)耦合到主干網(wǎng)絡(luò)的交換機(jī)端口,所述主干網(wǎng)絡(luò)將所 述交換機(jī)端口耦合到所述認(rèn)證服務(wù)器。
8. 如權(quán)利要求7所述的方法,其中,所述至少一個其它會話中的一個 是通過用于所述接入點(diǎn)的無線域服務(wù)器來建立的。
9. 如權(quán)利要求8所述的方法,還包括由所述認(rèn)證服務(wù)器來向所述交換機(jī)端口分發(fā)第一會話密鑰,以建立所述接入點(diǎn)和所述交換機(jī)端口之間的會話;通過所述無線域服務(wù)器來啟動所述至少一個其它會話還包括由所述認(rèn) 證服務(wù)器向所述無線域服務(wù)器分發(fā)第二會話密鑰;以及由所述認(rèn)證服務(wù)器來向所述接入點(diǎn)分發(fā)密鑰集合;其中,所述密鑰集合包括與所述第一會話密鑰相對應(yīng)的第一密鑰和與 所述第二會話密鑰相對應(yīng)的第二密鑰。
10. —種系統(tǒng),其包括用于利用認(rèn)證服務(wù)器來對請求方進(jìn)行認(rèn)證的裝置; 用于確定所述請求方的至少一個其它會話的裝置;以及 用于通過所述認(rèn)證服務(wù)器利用所述至少一個其它會話的認(rèn)證方來啟動 所述請求方的至少 一個其它會話的裝置。
11. 如權(quán)利要求IO所述的系統(tǒng),所述用于確定至少一個其它會話的裝 置還包括用于從所述請求方向所述認(rèn)證服務(wù)器發(fā)送所述至少一個其它會話 的列表的裝置。
12. 如權(quán)利要求10所述的系統(tǒng),所述用于確定至少一個其它會話的裝 置還包括用于通過所述認(rèn)證服務(wù)器從所述認(rèn)證服務(wù)器可訪問的數(shù)據(jù)庫取回 用于所述請求方的數(shù)據(jù)庫條目的裝置。
13. 如權(quán)利要求IO所述的系統(tǒng),所述用于啟動至少一個其它會話的裝 置還包括用于向所述至少一個其它會話的認(rèn)證方分發(fā)用于所述至少一個其它會 話的第一密鑰的裝置;以及用于向所述請求方分發(fā)與用于所述至少一個其它會話的第一密鑰相對 應(yīng)的第二密鑰的裝置。
14. 如權(quán)利要求IO所述的系統(tǒng),所述用于啟動至少一個其它會話的裝 置還包括用于分發(fā)用于建立所述請求方和所述認(rèn)證方之間的會話的第一會話密 鑰的裝置; 所述用于啟動所述請求方的至少一個其它會話的裝置還包括用于向所 述至少一個其它會話的認(rèn)證方分發(fā)第二會話密鑰的裝置;以及用于向所述請求方分發(fā)密鑰集合的裝置;其中,所述密鑰集合包括與所述第一會話密鑰相對應(yīng)的第一密鑰和與 所述第二會話密鑰相對應(yīng)的第二密鑰。
15. 如權(quán)利要求IO所述的系統(tǒng),其中,所述請求方是無線接入點(diǎn),所 述認(rèn)證方是將所述接入點(diǎn)耦合到主干網(wǎng)絡(luò)的交換機(jī)端口 ,所述主干網(wǎng)絡(luò)將 所述交換機(jī)端口耦合到所述認(rèn)證服務(wù)器。
16. 如權(quán)利要求15所述的系統(tǒng),其中,所述至少一個其它會話中的一 個是利用所述接入點(diǎn)的無線域服務(wù)器來建立的。
17. 如權(quán)利要求16所述的系統(tǒng),還包括用于通過所述認(rèn)證服務(wù)器向所述交換機(jī)端口分發(fā)第一會話密鑰,以建立所述接入點(diǎn)和所述交換機(jī)端口之間的會話的裝置;所述用于利用所述無線域服務(wù)器來啟動所述至少一個其它會話的裝置 還包括用于通過所述認(rèn)證服務(wù)器來向所述無線域服務(wù)器分發(fā)第二會話密鑰 的裝置;以及用于通過所述認(rèn)證服務(wù)器來向所述接入點(diǎn)分發(fā)密鑰集合的裝置; 其中,所述密鑰集合包括與所述第一會話密鑰相對應(yīng)的第一密鑰和與 所述第二會話密鑰相對應(yīng)的第二密鑰。
18. —種指令的計算機(jī)可讀介質(zhì),其包括 用于從設(shè)備接收登錄請求的裝置;用于響應(yīng)于所述用于接收登錄請求的裝置來對所述設(shè)備進(jìn)行認(rèn)證的裝置;用于確定所述設(shè)備的至少一個其它會話的裝置; 用于生成用于所述至少一個其它會話的會話密鑰對的裝置; 用于向所述至少一個其它會話的認(rèn)證方分發(fā)所述會話密鑰對中的一個 密鑰的裝置;以及用于向所述設(shè)備發(fā)送所述會話密鑰對中的第二密鑰的裝置。
19. 如權(quán)利要求18所述的計算機(jī)可讀介質(zhì),還包括 用于生成用于建立所述設(shè)備和所述設(shè)備的認(rèn)證方之間的會話的第二會 話密鑰對的裝置;以及用于向所述設(shè)備的認(rèn)證方分發(fā)所述第二會話密鑰對中的第一密鑰的裝置;其中,所述用于向所述設(shè)備發(fā)送所述會話密鑰對中的一個密鑰的裝置 響應(yīng)于用于生成第二會話密鑰對的裝置而發(fā)送所述第二會話密鑰對的第二 密鑰,所述會話密鑰對的第二密鑰至少是用于所述至少一個其它會話的認(rèn) 證方的。
20. —種通過認(rèn)證服務(wù)器來建立多個會話的方法,其包括 從請求方的認(rèn)證方接收所述請求方的認(rèn)證請求; 確定所述請求方的至少一個其它會話;以及利用所述至少一個其它會話的認(rèn)證服務(wù)器來啟動所述請求方的至少一 個其它會話。
21. 如權(quán)利要求1所述的方法,其中,用于所述請求方的認(rèn)證請求包 括所述至少一個其它會話的列表。
22. 如權(quán)利要求1所述的方法,還包括確定所述請求方是有權(quán)進(jìn)行所 述至少一個其它會話的。
23. 如權(quán)利要求1所述的方法,所述確定至少一個其它會話還包括取 回用于所述請求方的數(shù)據(jù)庫條目,所述數(shù)據(jù)庫條目包括用于所述請求方的 至少一個其它會話的列表。
24. 如權(quán)利要求l所述的方法,所述啟動至少一個其它會話還包括 從所述服務(wù)器接收用于所述至少一個其它會話的加密數(shù)據(jù);以及 將所述加密數(shù)據(jù)轉(zhuǎn)發(fā)到所述請求方。
25. 如權(quán)利要求5所述的方法,所述將加密數(shù)據(jù)轉(zhuǎn)發(fā)到所述請求方還 包括將用于所述至少一個其它會話的加密數(shù)據(jù)與用于建立所述請求方和所 述請求方的認(rèn)證方之間的會話的加密數(shù)據(jù)一起轉(zhuǎn)發(fā)。
26. 如權(quán)利要求1所述的方法,其中,所述請求方是無線接入點(diǎn),而 所述請求方的認(rèn)證方是將所述接入點(diǎn)耦合到分布網(wǎng)絡(luò)的無線交換機(jī)。
27. 如權(quán)利要求1所述的方法,還包括將所述認(rèn)證請求轉(zhuǎn)發(fā)到另一個 認(rèn)證服務(wù)器。
28. 如權(quán)利要求1所述的方法,其中,用于所述至少一個其它會話的 服務(wù)器是由認(rèn)證服務(wù)器和授權(quán)服務(wù)器組成的群組中的一個。
29. —種認(rèn)證服務(wù)器,其包括所述認(rèn)證服務(wù)器被配置用于從請求方的認(rèn)證方接收所述請求方的認(rèn)證請求;以及所述認(rèn)證服務(wù)器被配置用于響應(yīng)于所述認(rèn)證請求以通過用于所述請求 方的至少一個其它會話的服務(wù)器來啟動所述請求方的至少一個其它會話。
30. 如權(quán)利要求IO所述的認(rèn)證服務(wù)器,其中,所述認(rèn)證服務(wù)器被配 置用于從所述認(rèn)證請求中獲取所述至少一個其它會話的列表。
31. 如權(quán)利要求IO所述的認(rèn)證服務(wù)器,還包括所述認(rèn)證服務(wù)器被配置用于確定所述請求方是有權(quán)進(jìn)行所述至少一個其它會話的。
32. 如權(quán)利要求12所述的認(rèn)證服務(wù)器,所述確定至少一個其它會話 還包括取回用于所述請求方的數(shù)據(jù)庫條目,所述數(shù)據(jù)庫條目包括用于所述 請求方的至少一個其它會話的列表。
33. 如權(quán)利要求12所述的認(rèn)證服務(wù)器,所述認(rèn)證服務(wù)器還被配置用 于通過訪問用于所述至少一個其它會話的授權(quán)服務(wù)器來驗(yàn)證所述請求方是 否有權(quán)進(jìn)行所述至少一個其它會話。
34. 如權(quán)利要求10所述的認(rèn)證服務(wù)器,還包括所述認(rèn)證服務(wù)器被 配置用于基于預(yù)定條件來將所述認(rèn)證請求轉(zhuǎn)發(fā)到另一個認(rèn)證服務(wù)器。
35. 如權(quán)利要求IO所述的認(rèn)證服務(wù)器,其中,用于所述至少一個其 它會話的服務(wù)器是由認(rèn)證服務(wù)器和授權(quán)服務(wù)器組成的群組中的一個。
36. —種認(rèn)證服務(wù)器,其包括用于從請求方的認(rèn)證方接收所述請求方的認(rèn)證請求的裝置; 用于確定所述請求方的至少一個其它會話的裝置;以及 用于利用所述請求方的至少一個其它會話的服務(wù)器來啟動所述請求方 的至少一個其它會話的裝置。
37. 如權(quán)利要求17所述的認(rèn)證服務(wù)器,還包括用于確定所述請求方 有權(quán)進(jìn)行所述至少一個其它會話的裝置。
38. 如權(quán)利要求17所述的認(rèn)證服務(wù)器,所述用于啟動至少一個其它 會話的裝置還包括用于從所述服務(wù)器接收用于所述至少一個其它會話的加密數(shù)據(jù)的裝 置;以及用于將所述加密數(shù)據(jù)轉(zhuǎn)發(fā)到所述請求方的裝置。
39. 如權(quán)利要求17所述的認(rèn)證服務(wù)器,其中,用于所述至少一個其 它會話的服務(wù)器是由認(rèn)證服務(wù)器和授權(quán)服務(wù)器組成的群組中的一個。
全文摘要
本發(fā)明提供了一種系統(tǒng)和方法,該系統(tǒng)和方法允許設(shè)備完成針對AAA服務(wù)器的一次完整的認(rèn)證序列,從而得到由客戶端的身份和AAA服務(wù)器的策略決定的不同的應(yīng)用或子系統(tǒng)所需要的數(shù)量的安全會話。當(dāng)對設(shè)備進(jìn)行認(rèn)證時,對是否存在用于該設(shè)備的其它會話進(jìn)行判斷。通過生成唯一的新的加密材料來建立其它會話,所述加密材料被傳送給各個會話。所述系統(tǒng)和方法還支持用于多會話的建立的不相交認(rèn)證服務(wù)器群和不相交策略或授權(quán)服務(wù)器。認(rèn)證服務(wù)器可以具有用于請求方的附加會話的認(rèn)證方的全局知識,并能夠按需來將認(rèn)證請求分發(fā)給不同的認(rèn)證服務(wù)器。
文檔編號H04L9/00GK101129014SQ200680006411
公開日2008年2月20日 申請日期2006年3月31日 優(yōu)先權(quán)日2005年4月4日
發(fā)明者南?!た窚囟魈? 杰里米·斯蒂格里茲, 馬克·克里斯徹爾 申請人:思科技術(shù)公司