欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

由身份提供商對聯(lián)盟內(nèi)的客戶進(jìn)行定制認(rèn)證的方法、裝置和程序產(chǎn)品的制作方法

文檔序號:7641463閱讀:189來源:國知局
專利名稱:由身份提供商對聯(lián)盟內(nèi)的客戶進(jìn)行定制認(rèn)證的方法、裝置和程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域
本發(fā)明的領(lǐng)域涉及數(shù)據(jù)處理,或者更具體地說,涉及對聯(lián)盟(federation)中的客戶(principal)進(jìn)行認(rèn)證的方法、系統(tǒng)和產(chǎn)品。
技術(shù)背景聯(lián)盟是被管理的安全空間的集合。聯(lián)盟可以執(zhí)行單次登入 (sign-on)功能,其中在一個聯(lián)盟安全空間內(nèi)的訪問管理器依賴另一 個安全空間內(nèi)的訪問管理器執(zhí)行認(rèn)證服務(wù)。目前聯(lián)盟訪問管理器的認(rèn) 證過程限制在特定的訪問管理器所知的或安裝在其上的非定制認(rèn)證方法和定制認(rèn)證方法。在單次登入會話期間,對于客戶的認(rèn)證需求的 變化,例如逐步提高的需求,通??梢杂梅嵌ㄖ频恼J(rèn)證方法來完成, 因為訪問管理器一般了解如何利用非定制認(rèn)證方法。但是,在聯(lián)盟環(huán) 境內(nèi)的其他安全域內(nèi)支持多個定制方法不是#>容易完成的,因為現(xiàn)有 技術(shù)中訪問管理器沒有設(shè)置成根據(jù)另一個安全空間或域內(nèi)的實體的 定制需求來執(zhí)行認(rèn)證。當(dāng)前訪問管理器的方法不足以靈活地執(zhí)行認(rèn)證 過程中涉及的其他實體的定制認(rèn)證方法。發(fā)明內(nèi)容本發(fā)明公開了方法、系統(tǒng)和計算機(jī)程序產(chǎn)品,通過由身份提供商 根據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶,并把滿足服務(wù)提供商的認(rèn)證 策略的認(rèn)證證書記錄在身份提供商的會話數(shù)據(jù)內(nèi),為聯(lián)盟內(nèi)的客戶認(rèn) 證提供了額外的靈活性。對聯(lián)盟中的客戶進(jìn)行認(rèn)證還可以通過由身份 提供商根據(jù)身份提供商的認(rèn)證策略認(rèn)證客戶來實現(xiàn)。對聯(lián)盟中的客戶 進(jìn)行認(rèn)證還可以通過在身份提供商內(nèi)從服務(wù)提供商接收一個認(rèn)證請求來實現(xiàn),該認(rèn)證請求規(guī)定了服務(wù)提供商的認(rèn)證策略。對聯(lián)盟中的客戶進(jìn)行認(rèn)證還可以通過如下方式實現(xiàn)在服務(wù)提供 商內(nèi)接收客戶要求訪問服務(wù)提供商的資源的請求,由服務(wù)提供商確定 該請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證策略,以及由服務(wù)提供商 向身份提供商發(fā)送一個規(guī)定了服務(wù)提供商的認(rèn)證策略的認(rèn)證請求。對 聯(lián)盟中的客戶進(jìn)行認(rèn)證還可以通過如下方式實現(xiàn)由服務(wù)提供商從身 份提供商接收一個認(rèn)證響應(yīng),該認(rèn)證響應(yīng)包括滿足服務(wù)提供商的認(rèn)證 策略的認(rèn)證證書,并將該認(rèn)證證書記錄在服務(wù)提供商的會話數(shù)據(jù)中。對聯(lián)盟中的客戶進(jìn)行認(rèn)證包括由身份提供商的訪問管理器來認(rèn) 證客戶。對聯(lián)盟中的客戶進(jìn)行認(rèn)證還包括由身份提供商的認(rèn)證代理來 認(rèn)證客戶。本發(fā)明的上述和其他目標(biāo)、特征以及優(yōu)點通過附圖所示的示例性 實施例的更具體的描述將更加明顯,其中相同的附圖標(biāo)記通常表示本 發(fā)明的示例性實施例中相同的部分。


現(xiàn)在參考附圖通過實例來具體描述本發(fā)明,其中圖l示出了一個網(wǎng)絡(luò)圖,其闡釋了根據(jù)本發(fā)明的實施例的對聯(lián)盟 中的客戶進(jìn)行認(rèn)證的示例性系統(tǒng);圖2示出了 一個模塊圖,其闡釋了根據(jù)本發(fā)明的實施例的對聯(lián)盟 中的客戶進(jìn)行認(rèn)證的示例性系統(tǒng);圖3示出了自動計算機(jī)器的模塊圖,其包括根據(jù)本發(fā)明的實施例 的用于對聯(lián)盟中的客戶進(jìn)行認(rèn)證的示例性計算機(jī);圖4示出了一個流程圖,其闡釋了根據(jù)本發(fā)明的實施例的用于對 聯(lián)盟中的客戶進(jìn)行認(rèn)證的示例性方法;圖5示出了一個流程圖,其闡釋了根據(jù)本發(fā)明的實施例的用于對 聯(lián)盟中的客戶進(jìn)行認(rèn)證的另 一個示例性方法;圖6示出了 一個流程圖,其闡釋了根據(jù)本發(fā)明的實施例的用于對 聯(lián)盟中的客戶進(jìn)行認(rèn)證的又一個示例性方法;以及圖7A和7B示出了一個調(diào)用序列框圖,其闡釋了根據(jù)本發(fā)明的 實施例的用于對聯(lián)盟中的客戶進(jìn)行認(rèn)證的示例性方法。
具體實施方式
下面參考附圖來描述的根據(jù)本發(fā)明的實施例對聯(lián)盟中的客戶進(jìn) 行認(rèn)證的示例性方法、系統(tǒng)和產(chǎn)品,首先從圖l開始。圖l示出了一 個網(wǎng)絡(luò)圖,其闡釋了根據(jù)本發(fā)明的實施例的對聯(lián)盟中的客戶進(jìn)行認(rèn)證 的示例性系統(tǒng)。圖1的系統(tǒng)通常操作以根據(jù)本發(fā)明的實施例對聯(lián)盟中 的客戶進(jìn)行認(rèn)證,通過以下方式實現(xiàn)由身份提供商根據(jù)服務(wù)提供商 的認(rèn)證策略來認(rèn)證客戶,并將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書 記錄在身份提供商的會話數(shù)據(jù)中。聯(lián)盟是被管理的安全空間的集合,其中資源請求的源和目標(biāo)能夠 確定來自源的特定安全信息組是否滿足目標(biāo)的相關(guān)安全策略。在圖1 的實例中,聯(lián)盟100的被管理安全空間被邏輯邊界130劃分成客戶 132、身份提供商126、以及服務(wù)提供商128,其中每個都可以是請求 的源和目標(biāo)。源的安全信息是否滿足目標(biāo)的安全策略可以由除了資源 請求的源和目標(biāo)之外的實體來確定。例如根據(jù)圖1,資源請求的源可 以是客戶132,請求目標(biāo)可以是服務(wù)提供商128,而且身份提供商126 可以確定客戶的安全信息是否滿足服務(wù)提供商的安全策略??蛻羰潜皇谟璋踩珯?quán)限或者發(fā)出有關(guān)安全性或身份的聲明的任 何實體??蛻衾缈梢允峭ㄟ^網(wǎng)絡(luò)瀏覽器提供用戶名和密碼來訪問網(wǎng) 絡(luò)服務(wù)器上的銀行服務(wù)的個人。能夠作為客戶的實體并不限于人。能 夠作為客戶的實體還可以是其他實體,例如提供X.509證書來訪問資 源或另一網(wǎng)絡(luò)服務(wù)的網(wǎng)絡(luò)服務(wù)客戶。在圖l的實例中,客戶132發(fā)出 有關(guān)安全性或身份的聲明以供身份提供商126認(rèn)證。認(rèn)證是證實請求訪問受保護(hù)的資源的實體所聲稱的身份的過程。 通過驗證由該實體提供的安全信息來證實實體的身份。安全信息是實 體所提供的信息,該信息將提供安全信息的實體的身份與其他實體的 身份區(qū)分開。安全信息可包括例如姓名、社會保險號、用戶名和密碼、Kerberos票證、x.509證書等等。在圖l的實例中,當(dāng)試圖訪問服務(wù) 提供商128或身份提供商126上的資源時,身份提供商126通過驗證 客戶132所提供的安全信息來證實客戶132的身份。
實體的安全信息可被用于創(chuàng)建針對實體的認(rèn)證證書。認(rèn)證證書表 示實體在聯(lián)盟的安全空間內(nèi)的安全特權(quán)。認(rèn)證證書描述了針對特定會
話的實體,并在該會話的存續(xù)期內(nèi)有效。認(rèn)證證書可包括例如實體名、 任何組成員、用于認(rèn)證客戶的安全信息的類型、以及任何其他安全屬 性。
服務(wù)提供商是為客戶提供資源訪問的實體。圖1的服務(wù)提供商 128能夠接收客戶要求訪問服務(wù)提供商的資源的請求,確定該請求的 認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證策略,將規(guī)定了服務(wù)提供商的認(rèn)證 策略的認(rèn)證請求發(fā)送給身份提供商,從身份提供商接收包括了滿足服 務(wù)提供商的認(rèn)證策略的認(rèn)證證書的認(rèn)證響應(yīng),并把認(rèn)證證書記錄在服 務(wù)提供商的會話數(shù)據(jù)內(nèi)。服務(wù)提供商例如可以是提供訪問退休帳戶信 息的投資公司、提供飛行和機(jī)票數(shù)據(jù)的航空公司、提供課程信息的大 學(xué)、或者對于本領(lǐng)域技術(shù)人員已知的任何其他服務(wù)提供商。
身份提供商是保有客戶的身份信息的一個實體,并在單次登入環(huán) 境下驗證由客戶向服務(wù)提供商提供的安全信息。圖1的身份提供商126 能夠根據(jù)身份提供商的認(rèn)證策略來認(rèn)證客戶,從服務(wù)提供商128接收 一個規(guī)定了單次登入環(huán)境內(nèi)的服務(wù)提供商的認(rèn)證策略的認(rèn)證請求,根 據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶,以及將滿足服務(wù)提供商的認(rèn)證 策略的認(rèn)證證書記錄在身份提供商的會話數(shù)據(jù)內(nèi)。身份提供商126可 以是例如雇主、大學(xué)、商業(yè)實體、或者政府機(jī)構(gòu),或者是本領(lǐng)域技術(shù) 人員已知的其他任何身份提供商。
單次登入是一個認(rèn)證序列,其消除了發(fā)生在客戶上的重復(fù)行為的 負(fù)擔(dān)。單次登入允許已基于安全信息來認(rèn)證客戶的身份提供商向服務(wù) 提供商提供客戶的認(rèn)證證書作為認(rèn)證憑證。服務(wù)提供商使用由身份提 供商提供的認(rèn)證證書來認(rèn)證客戶,為客戶建立一個本地有效的會話, 不需要提示客戶提供先前所提供的安全信息。考慮到例如雇員作為客戶,雇主作為身份提供商以及投資公司作為服務(wù)提供商,當(dāng)雇員試圖
通過雇主的網(wǎng)站訪問投資公司上的401k,并且雇主網(wǎng)站通過用戶名和 密碼認(rèn)證了雇員。在非單次登入環(huán)境下,雇員必須認(rèn)證兩次。在訪問 雇主的網(wǎng)站時,雇員首先通過提供用戶名和密碼進(jìn)行認(rèn)證。在投資公 司授權(quán)雇員訪問雇員的401k之前,投資公司要求雇員再次輸入用戶 名和密碼,由此產(chǎn)生第二次認(rèn)證。但是在單次登入環(huán)境時,雇員僅通 過向雇主提供用戶名和密碼而認(rèn)證一次,因為投資公司可根據(jù)雇員與 雇主的初始認(rèn)證來授權(quán)雇員訪問401k。如果投資公司要求與提供用戶 名和密碼不同的認(rèn)證方法,雇員被要求提供額外的安全信息,例如 kerberos票證或x.509證書。但是在單次登入環(huán)境下,雇員不會被要 求再次提供該雇員的用戶名和密碼。
圖1的系統(tǒng)包括通過網(wǎng)絡(luò)連接119, 121和123互聯(lián)的廣域網(wǎng) "WAN,,lOl、 WAN103以及WAN105。圖1的網(wǎng)絡(luò)連接結(jié)構(gòu)僅僅是示 意性的,不起到限制作用。實際上,用于認(rèn)證聯(lián)盟中的客戶的系統(tǒng)可 以連接為LAN、 WAN、內(nèi)部網(wǎng)、互聯(lián)網(wǎng)、網(wǎng)絡(luò)(webs)、萬維網(wǎng)本 身、或者本領(lǐng)域技術(shù)人員已知的其他連接。這些網(wǎng)絡(luò)是用于在整體數(shù) 據(jù)處理系統(tǒng)內(nèi)連接在一起的各種設(shè)備和計算機(jī)之間提供數(shù)據(jù)通信連 麗^!^
圖1所示實例中,服務(wù)器106, 107,109, 111和135實現(xiàn)WAN101 , 103和105之間的網(wǎng)關(guān)、路由器或網(wǎng)橋。圖l所示實例中,包括服務(wù) 器106和服務(wù)器107的多個示例性設(shè)備連接到WANIOI。服務(wù)器106 通過有線連接113連接到網(wǎng)絡(luò)101,而服務(wù)器107通過有線連接115 連接到網(wǎng)絡(luò)IOI。
圖1所示實例中,包括服務(wù)器109和服務(wù)器111的多個示例性設(shè) 備連接到WAN103。服務(wù)器109通過有線連接117連接到網(wǎng)絡(luò)103, 而服務(wù)器111通過有線連接125連接到網(wǎng)絡(luò)103。
圖1所示實例中,多個示例性設(shè)備連接到WAN105,所述設(shè)備 包括服務(wù)器135、計算機(jī)工作站104、 PDA112、便攜式電腦126、能 夠連接到網(wǎng)絡(luò)的移動電話110以及個人計算機(jī)102。服務(wù)器135通過有線連接127連接到網(wǎng)絡(luò)105,計算機(jī)工作站104通過有線連接122 連接到網(wǎng)絡(luò)105, PDA112通過無線鏈接114連接到網(wǎng)絡(luò)105,能夠連 接到網(wǎng)絡(luò)的移動電話110通過無線鏈接116連接到網(wǎng)絡(luò)105,便攜式 電腦126通過無線鏈接118連接到網(wǎng)絡(luò)105,并且個人計算機(jī)102通 過有線連接124連接到網(wǎng)絡(luò)105。
在圖l的系統(tǒng)中,每個示例性設(shè)備106, 107, 112, 104, 109, 111, 110, 126, 102, 135包括一個計算機(jī)處理器和耦合到處理器用 于數(shù)據(jù)傳輸?shù)挠嬎銠C(jī)存儲器。圖1的身份提供商126的每個計算機(jī)106 和107的計算機(jī)存儲器和圖1的服務(wù)提供商128的每個計算機(jī)109和 111的計算機(jī)存儲器具有駐留在其中的包括認(rèn)證代理的計算機(jī)程序指
來認(rèn)證客戶,并將滿足服務(wù)提供商的i^證策略的認(rèn)證^書記錄在身份 提供商的會話數(shù)據(jù)中,從而對聯(lián)盟中的客戶進(jìn)行認(rèn)證。
認(rèn)證代理通常還能夠通過由身份提供商根據(jù)身份提供商的認(rèn)證 策略認(rèn)證客戶來實現(xiàn)對聯(lián)盟中的客戶進(jìn)行認(rèn)證。認(rèn)證代理通常還能夠 在身份提供商內(nèi)從服務(wù)提供商接收認(rèn)證請求,該認(rèn)證請求規(guī)定了服務(wù) 提供商的認(rèn)證策略。認(rèn)證代理通常還能夠在服務(wù)提供商內(nèi)接收客戶要 求訪問服務(wù)提供商的資源的請求,由服務(wù)提供商確定該請求的認(rèn)證證 書不滿足服務(wù)提供商的認(rèn)證策略,以及由服務(wù)提供商向身份提供商發(fā) 送一個規(guī)定了服務(wù)提供商的認(rèn)證策略的認(rèn)證請求。認(rèn)證代理通常還能 夠由服務(wù)提供商接收來自身份提供商的認(rèn)證響應(yīng),該認(rèn)證響應(yīng)包括滿 足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書,并且把認(rèn)證證書記錄在服務(wù)提 供商的會話數(shù)據(jù)內(nèi)。
構(gòu)成圖1所示示例性系統(tǒng)的服務(wù)器和其他設(shè)備的設(shè)置是示意性 的,不起到限制作用。根據(jù)本發(fā)明的各個實施例,有用的數(shù)據(jù)處理系 統(tǒng)可包括額外的服務(wù)器、路由器、其他設(shè)備、以及本領(lǐng)域技術(shù)人員已 知的圖l未示出的對等結(jié)構(gòu)。該數(shù)據(jù)處理系統(tǒng)內(nèi)的網(wǎng)絡(luò)可支持很多數(shù) 據(jù)通信協(xié)議,例如包括TCP傳輸控制協(xié)議、IP因特網(wǎng)協(xié)議、HTTP 超文本傳輸協(xié)議、WAP無線訪問協(xié)議、HDTP手持設(shè)備傳輸協(xié)議、以及其他本領(lǐng)域技術(shù)人員已知的協(xié)議。本發(fā)明的各個實施例可以在圖 1所示之外的許多硬件平臺上實現(xiàn)。
為了進(jìn)一步闡釋,圖2示出了一個模塊圖,其闡釋了本發(fā)明的實 施例的對聯(lián)盟中的客戶進(jìn)行認(rèn)證的示例性系統(tǒng)。圖2的聯(lián)盟100包括 客戶132、身份提供商126、以及服務(wù)提供商128。圖2的聯(lián)盟100執(zhí) 行單次登入環(huán)境。
在圖2所示實例中,客戶132用操作網(wǎng)絡(luò)瀏覽器200的人201 來表示。網(wǎng)絡(luò)瀏覽器是顯示網(wǎng)絡(luò)服務(wù)器保存的或者保持在文件系統(tǒng)內(nèi) 并格式化為例如超文本標(biāo)記語言"HTML"或手持設(shè)備標(biāo)記語言
"HDML"的文檔的軟件應(yīng)用程序。圖2的網(wǎng)絡(luò)瀏覽器200能夠支持 請求的重定向和自動轉(zhuǎn)發(fā),使用通信協(xié)議,例如超文本傳輸協(xié)議
"HTTP"或無線應(yīng)用協(xié)議"WAP"與身份提供商126或服務(wù)提供商 128進(jìn)行通信。根據(jù)本發(fā)明的實施例,用于認(rèn)證聯(lián)盟內(nèi)客戶的網(wǎng)絡(luò)瀏 覽器包括例如微軟因特網(wǎng)瀏覽器、Mozilla Firefox、 Opera、 Netscape Navigator、 Safari以及其他任何本領(lǐng)域技術(shù)人員已知的網(wǎng)絡(luò)瀏覽器。 圖2的客戶132還可以用網(wǎng)絡(luò)設(shè)備202表示。網(wǎng)絡(luò)設(shè)備是支持在 網(wǎng)絡(luò)上共用的機(jī)器-機(jī)器交互的軟件應(yīng)用程序。網(wǎng)絡(luò)服務(wù)202有一個 描述為機(jī)器可處理格式、例如網(wǎng)絡(luò)服務(wù)描述語言"WSDL"的公共接 口。網(wǎng)絡(luò)服務(wù)的WSDL描述規(guī)定了與網(wǎng)絡(luò)設(shè)備交互的消息格式以及 通信方法。與網(wǎng)絡(luò)服務(wù)交互的最常用的消息格式是SOAP,其基于可 擴(kuò)展標(biāo)記語言"XML",而HTTP是最常用的通信方法。與網(wǎng)絡(luò)設(shè) 備交互的其他消息格式包括用于基于XML的遠(yuǎn)程過程調(diào)用的Java 應(yīng)用編程接口 JAX-RPC",遠(yuǎn)程XML過程調(diào)用"XML-RPC",或 任何其他本領(lǐng)域技術(shù)人員已知的消息格式。與網(wǎng)絡(luò)服務(wù)交互的其他通 信方法包括文件傳輸協(xié)議"FTP",簡單郵件傳輸協(xié)議"SMTP", 可擴(kuò)展消息和表示協(xié)議"XMPP",以及任何其他本領(lǐng)域技術(shù)人員已 知的通信方法。
網(wǎng)絡(luò)服務(wù)通過使用網(wǎng)絡(luò)服務(wù)消息和其他網(wǎng)絡(luò)服務(wù)通信。網(wǎng)絡(luò)服務(wù) 消息是網(wǎng)絡(luò)服務(wù)之間交換的自洽數(shù)據(jù)單元,其符合WSDL描述所規(guī)定的消息格式。網(wǎng)絡(luò)服務(wù)消息一般包括XML和其他網(wǎng)絡(luò)相關(guān)內(nèi)容, 例如SOAP包中所包含的多用途因特網(wǎng)郵件擴(kuò)展"MIME"部分。
在圖2所示實例中,身份提供商126包括計算機(jī)資源220,而服 務(wù)提供商128包括計算機(jī)資源240。計算機(jī)資源220和240是任何信 息集群,訪問這類信息集群的任何計算機(jī)系統(tǒng),或者在該系統(tǒng)上提供 數(shù)據(jù)處理服務(wù)或計算的任何程序、進(jìn)程或執(zhí)行線程。最常見的計算機(jī) 資源類型是文件,但這類資源還可包括動態(tài)創(chuàng)建的查詢結(jié)果,例如 CGI "通用網(wǎng)關(guān)接口,,腳本的輸出,Javaservlet,動態(tài)服務(wù)器頁面, 活動服務(wù)器頁面,Java服務(wù)器頁面,幾種語言可用的文檔等等。實際 上,這類資源有些類似于文件,但更通常的說是性質(zhì)上相似。用文件 表示的計算機(jī)資源220和240包括靜態(tài)網(wǎng)絡(luò)頁面、圖形文件、視頻剪 輯文件、音頻剪輯文件等等。計算機(jī)系統(tǒng)表示的計算機(jī)資源220和240 包括計算機(jī)或網(wǎng)絡(luò)的任何組件,例如硬盤驅(qū)動器、打印機(jī)、顯示器、 存儲器、計算機(jī)處理器、或者本領(lǐng)域技術(shù)人員已知的任何其他器件。 程序、進(jìn)程、或者執(zhí)行線程表示的計算機(jī)資源220和240包括網(wǎng)絡(luò)服 務(wù)。
圖2所示實例中身份提供商126包括訪問管理器210。訪問管理 器210是一種網(wǎng)絡(luò)服務(wù),其通過向請求訪問身份提供商126的資源220 或單次登入服務(wù)的客戶132提供認(rèn)證服務(wù)、會話管理服務(wù)、以及授權(quán) 服務(wù)來控制對身份管理器218的計算機(jī)資源220和單次登入服務(wù)的訪 問。訪問管理器210基于客戶提供的安全信息來認(rèn)證客戶,并為該客 戶與訪問管理器210的會話創(chuàng)建認(rèn)證證書。訪問管理器210授權(quán)客戶 基于客戶會話的認(rèn)證證書來訪問身份提供商126的資源220或參與到 與身份管理器218的單次登入中。根據(jù)本發(fā)明的實施例,可改進(jìn)對聯(lián) 盟內(nèi)的客戶的認(rèn)證的訪問管理器的一個實例是IBM Tivoli⑧訪問管 理器。本領(lǐng)域技術(shù)人員已知的其他訪問管理器210也可以用于改進(jìn)根 據(jù)本發(fā)明的對聯(lián)盟內(nèi)的客戶的認(rèn)證。
在圖2所示實例中,訪問管理器210包括會話管理器212。會話 管理器212可以用通過執(zhí)行任務(wù)例如會話創(chuàng)建、會話銷毀、活動超時、更新會話數(shù)據(jù)等等管理會話數(shù)據(jù)的網(wǎng)絡(luò)服務(wù)來表示。會話是在連接的
程序之間的持續(xù)連接。會話可包括描述該會話的連接信息,例如會話 識別符、會話參與者、會話密鑰、認(rèn)證證書、授權(quán)特權(quán)等等。會話可
使用在被交換的數(shù)據(jù)內(nèi)規(guī)定的結(jié)構(gòu)來維護(hù)。例如,網(wǎng)絡(luò)瀏覽器200和 訪問管理器210之間的HTTP交換包括一個HTTP cookie,其存儲了 例如識別會話數(shù)據(jù)的唯一會話識別符,例如客戶的喜好或?qū)τ谠L問管 理器210的認(rèn)證證書。在圖2的實例中,會話用所創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)來 表示,在其持續(xù)期間存儲在身份提供商126內(nèi)。在圖2的實例中,會 話管理器212管理客戶132和身份提供商126之間會話的會話數(shù)據(jù)。
圖2的訪問管理器210還包括認(rèn)證管理器214。當(dāng)客戶132訪問 身份提供商126的資源220或者當(dāng)客戶132參與身份管理器218的單 次登入服務(wù)時,認(rèn)證管理器214可以用根據(jù)身份提供商的認(rèn)證策略來 認(rèn)證客戶132的網(wǎng)絡(luò)服務(wù)表示。認(rèn)證管理器214將客戶提供的安全信 息與存儲在用戶注冊表222內(nèi)的身份相關(guān)信息進(jìn)行比較,通過會話管 理器212將認(rèn)證證書記錄在客戶的會話數(shù)據(jù)內(nèi)。圖2的認(rèn)證管理器210 可能需要不同類型的認(rèn)證類型,這取決于哪個客戶請求資源、所請求 的資源220類型、或者參與單次登入的服務(wù)提供商的認(rèn)證策略。例如, 當(dāng)客戶132訪問諸如電子郵件的資源時,認(rèn)證管理器214要求認(rèn)證所 需的用戶名和密碼,或者當(dāng)客戶132在單次登入環(huán)境內(nèi)訪問提供投資 銀行服務(wù)的服務(wù)提供商時,可能要求x.509證書。
圖2的身份提供商126包括用戶注冊表222。用戶注冊表222是 存儲了客戶132的身份相關(guān)信息的數(shù)據(jù)庫,所述信息可包括例如客戶 識別符、客戶名稱、電子郵件地址、物理郵寄地址、辦公室位置、系 統(tǒng)喜好、客戶所屬的安全組、安全特權(quán)、客戶的非對稱加密公鑰、客 戶的對稱加密密鑰、其他身份相關(guān)的信息等等。在圖2的實例中,身 份提供商126的用戶注冊表222可由認(rèn)證管理器214、認(rèn)證代理216、 以及身份管理器218訪問。在圖2的實例中,認(rèn)證管理器、認(rèn)證代理 或者身份管理器使用直接訪問協(xié)議,例如輕便目錄訪問協(xié)議"LDAP"來訪問用戶注冊表222。圖2的身份提供商126還包括身份管理器218。身份管理器218 可以用針對由訪問管理器210或認(rèn)證代理216授權(quán)參與單次登入的客 戶執(zhí)行單次登入服務(wù)的網(wǎng)絡(luò)服務(wù)來表示。通過在服務(wù)提供商128和客 戶132之間交換網(wǎng)絡(luò)服務(wù)消息,身份管理器218可執(zhí)行身份提供商126 內(nèi)的單次登入服務(wù)。在圖2的實例中,身份管理器218從請求客戶132 的單次登入認(rèn)證的服務(wù)提供商128接收一個認(rèn)證請求,該請求規(guī)定了 服務(wù)提供商的認(rèn)證策略。對于請求客戶132的單次登入認(rèn)證的服務(wù)提 供商128,圖2的身份管理器218創(chuàng)建一個認(rèn)證響應(yīng),其包括客戶與 身份提供商126的會話的認(rèn)證證書。通過和訪問管理器210交換網(wǎng)絡(luò) 服務(wù)消息,身份管理器218可訪問客戶與身份提供商的當(dāng)前會話的認(rèn) 證證書。另外,身份管理器218從用戶注冊表222獲取客戶的其他身 份相關(guān)信息。本發(fā)明的實施例中,用于改進(jìn)對聯(lián)盟內(nèi)的客戶的認(rèn)證的 身份管理器的一個實例是IBM Tivoli⑧身份管理器。本領(lǐng)域技術(shù)人 員已知的其他身份管理器218也可用于根據(jù)本發(fā)明的改進(jìn)對聯(lián)盟內(nèi)的 客戶的i人證。在圖2的實例中,身份提供商126包括認(rèn)證代理216。認(rèn)證代理 216可由根據(jù)服務(wù)提供商的認(rèn)證策略對于身份管理器218認(rèn)證客戶 132的身份,并將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書記錄在身份 提供商126的會話數(shù)據(jù)內(nèi)的網(wǎng)絡(luò)服務(wù)來表示。通過借助訪問管理器210 訪問客戶的會話數(shù)據(jù),認(rèn)證代理216確定客戶與身份提供商126的當(dāng) 前會話的認(rèn)證證書是否滿足服務(wù)提供商的認(rèn)證策略。如果滿足了服務(wù) 提供商的認(rèn)證策略,認(rèn)證代理通過一個網(wǎng)絡(luò)服務(wù)消息通知身份管理器 218。如果客戶與身份提供商126的當(dāng)前會話的認(rèn)證證書不滿足服務(wù) 提供商的認(rèn)證策略,認(rèn)證代理216提示客戶為該會話提供附加的安全 信息,使用存儲在用戶注冊表222中的客戶身份相關(guān)信息來驗證所述 附加的安全信息,通過訪問管理器210將滿足服務(wù)提供商的認(rèn)證策略 的附加認(rèn)證證書記錄在該客戶的會話數(shù)據(jù)中,并通過一個網(wǎng)絡(luò)服務(wù)消 息通知身份管理器218服務(wù)提供商的認(rèn)證策略已經(jīng)被滿足。圖2的認(rèn)證代理216與圖2的實例中的訪問管理器210分開實現(xiàn)。該實例中以 獨立的模塊實現(xiàn)認(rèn)證代理216是示意性的,并不限制本發(fā)明。圖2的 認(rèn)證代理216例如作為訪問管理器210內(nèi)、認(rèn)證管理器214內(nèi)、或者 本領(lǐng)域技術(shù)人員已知的身份提供商126的任何其他模塊內(nèi)的模塊來實 現(xiàn)。在圖2的實例中,服務(wù)提供商128包括訪問管理器230和用戶注 冊表242。圖2的訪問管理器230包括會話管理器232和認(rèn)證管理器 234。在圖2的實例中,服務(wù)提供商128的訪問管理器230、服務(wù)提供 商128的會話管理器232、服務(wù)提供商128的認(rèn)證管理器234、以及 服務(wù)提供商128的用戶注冊表242都具有與身份提供商126的訪問管 理器210、身份提供商126的會話管理器212、身份提供商126的認(rèn) 證管理器214以及身份提供商126的用戶注冊表242相似的結(jié)構(gòu)和操 作方式。圖2的服務(wù)提供商128還包括一個身份管理器238。身份管理器 238用對由訪問管理器230授權(quán)參與單次登入的客戶132執(zhí)行單次登 入服務(wù)的網(wǎng)絡(luò)服務(wù)來表示。通過與身份提供商126和客戶132交換安 全消息,身份管理器238執(zhí)行身份提供商126內(nèi)的單次登入服務(wù)。在 圖2的實例中,身份管理器238接收客戶132訪問服務(wù)提供商128的 資源240的請求,通過訪問從用戶注冊表242得到的客戶身份相關(guān)信 息,確定該請求的認(rèn)證證書是否滿足服務(wù)提供商的認(rèn)證策略。如果客 戶的請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證策略,圖2的身份管理 器238向身份提供商126發(fā)送一個認(rèn)證請求,該請求規(guī)定了服務(wù)提供 商的認(rèn)證策略。身份管理器238還從身份管理器238接收一個認(rèn)證響 應(yīng),該響應(yīng)包括滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書,并把該認(rèn)證 證書記錄在服務(wù)提供商與該客戶的會話數(shù)據(jù)內(nèi)??捎糜诒景l(fā)明的實施 例的改進(jìn)認(rèn)證聯(lián)盟內(nèi)客戶的身份管理器的實例是IBM Tivoli⑧身份 管理器。本領(lǐng)域技術(shù)人員已知的其他身份管理器218也可以用于改進(jìn) 本發(fā)明中對聯(lián)盟中的客戶進(jìn)行認(rèn)證。根據(jù)本發(fā)明的實施例,對聯(lián)盟中的客戶進(jìn)行認(rèn)證通常用計算機(jī)實現(xiàn),即用自動計算機(jī)器來實現(xiàn)。在圖l的系統(tǒng)中,例如所有節(jié)點、服 務(wù)器和通信設(shè)備至少在某種程度上用計算機(jī)來實現(xiàn)。因此,為了進(jìn)一步闡釋,圖3示出了自動計算機(jī)器的模塊圖,其包括了根據(jù)本發(fā)明的 實施例的用于對聯(lián)盟中的客戶進(jìn)行認(rèn)證的示例性計算機(jī)152。圖3的 計算機(jī)152包括至少一個計算機(jī)處理器156或"CPU"以及隨機(jī)訪問 存儲器168 "RAM",后者通過系統(tǒng)總線160連接到處理器156以及 計算機(jī)的其他器件。認(rèn)證代理216存儲在RAM168內(nèi),它是用于由身份提供商根據(jù) 服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶,并將滿足服務(wù)提供商的認(rèn)證策略 的認(rèn)證證書記錄在身份提供商的會話數(shù)據(jù)內(nèi)的計算機(jī)程序指令。存儲 在RAM168內(nèi)的還有訪問管理器210,它是用于由身份提供商根據(jù)服 務(wù)提供商的認(rèn)證策略來認(rèn)證客戶的計算機(jī)程序指令。存儲在RAM168 中的還有身份提供商的身份管理器218,它是用于在身份提供商中接算機(jī)程序指令。、存儲在RAM168中"還有服務(wù)^提供商的身份管理器 238,它是用于把客戶訪問服務(wù)提供商的資源的請求接收到服務(wù)提供 商中,由服務(wù)提供商確定該請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證 策略,由服務(wù)提供商向身份提供商發(fā)送一個規(guī)定了服務(wù)提供商的認(rèn)證 策略的認(rèn)證請求,由服務(wù)提供商從身份提供商接收一個認(rèn)證響應(yīng),該 認(rèn)證響應(yīng)包括滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書,將該認(rèn)證證書 記錄在服務(wù)提供商的會話數(shù)據(jù)中的計算機(jī)程序指令。存儲在RAM168中的還有一個操作系統(tǒng)154。根據(jù)本發(fā)明的實施 例,用于計算機(jī)中的操作系統(tǒng)包括UNIX , Linux , Microsoft XPTM, AIXtm, IBM的i5/OSTM,以及本領(lǐng)域技術(shù)人員已知的其他操 作系統(tǒng)。圖3的實例所示的操作系統(tǒng)154、認(rèn)證代理216、訪問管理 器210、身份提供商的身份管理器218、以及服務(wù)提供商的身份管理 器238在RAM168中示出,但該類軟件的許多組件一般也被存儲在非 易失性存儲器166中。圖3的計算機(jī)152包括非易失性計算機(jī)存儲器166,其通過系統(tǒng)總線160耦合到處理器156和計算機(jī)152的其他組件。非易失性存儲 器166可實現(xiàn)為硬盤驅(qū)動器170、光盤驅(qū)動器172、可電擦除可編程 只讀存儲器(稱為"EEPROM"或"閃存")存儲器174、 RAM驅(qū) 動器未示出、或者本領(lǐng)域技術(shù)人員已知的任何其他類型的計算機(jī)存儲 器。圖3的計算機(jī)實例包括一個或多個輸入/輸出接口適配器178。計 算機(jī)內(nèi)的輸入/輸出接口適配器執(zhí)行面向用戶的輸入/輸出,例如通過 軟件驅(qū)動器和計算機(jī)硬件來控制向顯示設(shè)備180、例如計算機(jī)顯示屏 幕的輸出,以及控制從用戶輸入設(shè)備181、例如鍵盤和鼠標(biāo)的用戶輸 入。圖3的示例性計算機(jī)152包括一個通信適配器167,用來執(zhí)行與 其他計算機(jī)182的數(shù)據(jù)通信184。這類數(shù)據(jù)通信可以通過RS-232連接、 通過外部總線例如USB、通過數(shù)據(jù)通信網(wǎng)絡(luò)例如IP網(wǎng)絡(luò)、以及本領(lǐng) 域技術(shù)人員已知的其他方式串行執(zhí)行。通信適配器實現(xiàn)硬件級的數(shù)據(jù) 通信,計算機(jī)通過其直接或借助網(wǎng)絡(luò)向另一個計算機(jī)發(fā)送通信數(shù)據(jù)。 根據(jù)本發(fā)明的實施例,用于確定目標(biāo)可用性的通信適配器的實例包括 用于有線撥號通信的調(diào)制解調(diào)器、用于有線網(wǎng)絡(luò)通信的以太網(wǎng) IEEE802.3適配器、以及用于無線網(wǎng)絡(luò)通信的802.11b適配器。為了進(jìn)一步闡釋,圖4示出了一個流程圖,其闡釋了本發(fā)明的實 施例中用于認(rèn)證聯(lián)盟內(nèi)的客戶的示例性方法。圖4的方法執(zhí)行基于推 入?yún)f(xié)議的單次登入認(rèn)證序列?;谕迫氲膯未蔚侨胧菍崿F(xiàn)單次登入認(rèn) 證,當(dāng)客戶通過身份提供商的域訪問服務(wù)提供商的資源時,例如通過 身份提供商的門戶頁面,其將被身份提供商認(rèn)證后的客戶重新指向到 服務(wù)提供商。當(dāng)客戶是網(wǎng)絡(luò)服務(wù)客戶時,通過使用HTTP 302重定向 的客戶向服務(wù)提供商發(fā)送一個網(wǎng)絡(luò)服務(wù)消息,身份提供商可向服務(wù)提 供商提供客戶的認(rèn)證證書。當(dāng)客戶是使用網(wǎng)絡(luò)瀏覽器的個人時,通過 使用HTTP 302重新指向到服務(wù)提供商的客戶在安全聯(lián)盟標(biāo)記語言 "SAML"斷言中包括一個指針,身份提供商可向服務(wù)提供商提供客 戶的認(rèn)證證書。SAML是Oasis標(biāo)準(zhǔn)組織的一個標(biāo)準(zhǔn)。SAML由兩種不同的功能組成, 一個斷言和一個協(xié)議。SAML斷言用于傳輸與客戶 相關(guān)的信息,而SAML協(xié)議是交換SAML斷言的手段。圖4的方法包括由身份提供商根據(jù)身份提供商的認(rèn)證策略來認(rèn) 證402客戶,在身份提供商內(nèi)從服務(wù)提供商接收420規(guī)定了服務(wù)提供 商的認(rèn)證策略的認(rèn)證請求。圖4的實例中,身份提供商的認(rèn)證策略是 身份提供商對請求訪問資源或者參與身份提供商的單次登入的客戶 進(jìn)行認(rèn)證所需的 一組要求以及相關(guān)的安全信息。身份提供商的認(rèn)證策 略可以要求一個客戶提供安全信息,例如用戶名和密碼、對稱加密密 鑰、x.509證書、Kerberos票證、或者本領(lǐng)域技術(shù)人員已知的任何其 他安全相關(guān)的信息。身份提供商使用客戶提供的安全信息來創(chuàng)建滿足 身份提供商的認(rèn)證策略的認(rèn)證證書。在圖4的方法中,由身份提供商根據(jù)身份提供商的認(rèn)證策略400 來認(rèn)證402客戶包括根據(jù)身份提供商的認(rèn)證策略400從客戶接收安全 信息401。當(dāng)客戶用個人或者代表個人的線程或進(jìn)程來表示時,根據(jù) 圖4的方法,從客戶接收403滿足身份提供商的認(rèn)證策略400的安全 信息401包括訪問管理器通過諸如計算機(jī)屏幕或語言合成器的用戶接 口提示客戶發(fā)送安全信息401。當(dāng)客戶由網(wǎng)絡(luò)服務(wù)客戶表示時,根據(jù) 圖4的方法,接收403安全信息401還可包括訪問管理器在網(wǎng)絡(luò)服務(wù) 消息內(nèi)規(guī)定身份提供商的認(rèn)證策略,例如在SOAP包中包含的身份提 供商的認(rèn)證策略的XML表示,并且由訪問管理器使用諸如HTTP的 網(wǎng)絡(luò)協(xié)議向客戶傳輸網(wǎng)絡(luò)服務(wù)消息。在圖4的方法中,由身份提供商根據(jù)身份提供商的認(rèn)證策略400 來認(rèn)證402客戶還包括使用存儲在用戶注冊表222中的身份相關(guān)信息 來驗證404客戶的安全信息401。用戶注冊表222是存儲客戶的身份 相關(guān)信息的數(shù)據(jù)庫,該信息可包括例如客戶識別符、客戶名稱、電子 郵件地址、物理郵件地址、辦公室位置、系統(tǒng)喜好、客戶所屬的安全 組、安全特權(quán)、客戶的非對稱加密公鑰、客戶的對稱加密密鑰、其他 身份相關(guān)信息等等。驗證404安全信息401可包括例如在認(rèn)證序列中 將客戶提供的密碼散列化,并將散列后的密碼與之前存儲在用戶注冊表222中的客戶的密碼的散列值進(jìn)行比較。驗證安全信息401還可包 括例如使用存儲在用戶注冊表222中的客戶的非對稱加密公鑰來對消 息進(jìn)行解密,其中該消息使用客戶的非對稱加密私鑰來數(shù)字化簽名。 如果客戶的安全信息401沒有被驗證,身份提供商的訪問管理器可以 返回一個HTTP 401響應(yīng),表示基于客戶的安全信息已經(jīng)拒絕了對身 份提供商的訪問。圖4的方法還包括如果客戶的安全信息被驗證,將滿足身份提供 商的認(rèn)證策略400的認(rèn)證證書414記錄406在身份提供商的會話數(shù)據(jù) 410內(nèi)。將認(rèn)證證書414記錄406在身份提供商的會話數(shù)椐410內(nèi)可 以通過以下手段執(zhí)行根據(jù)用戶注冊表222內(nèi)的身份相關(guān)數(shù)據(jù)創(chuàng)建認(rèn) 證證書414,所述身份相關(guān)數(shù)據(jù)例如是客戶識別符、客戶所屬的安全 組、安全屬性等等。因為圖4的方法執(zhí)行客戶和身份提供商的初始認(rèn) 證序列,不存在該客戶與身份提供商的先前的會話。因此根據(jù)圖4的 方法,將認(rèn)證證書414記錄406在身份提供商的會話數(shù)據(jù)410內(nèi)可包 括創(chuàng)建客戶與身份提供商的會話。在圖4的方法中,將認(rèn)證證書414 記錄406在身份提供商的會話數(shù)據(jù)410內(nèi)還可包括將認(rèn)證證書401存 儲在客戶與身份提供商的會話數(shù)據(jù)410中??蛻襞c身份提供商的會話 數(shù)據(jù)在該實例中被表示成一個數(shù)據(jù)結(jié)構(gòu)410,該數(shù)據(jù)結(jié)構(gòu)將該會話的 會話識別符412與客戶識別符413和認(rèn)證證書414聯(lián)系起來。認(rèn)證證 書414表示在會話持續(xù)時間中客戶的安全特權(quán)。根據(jù)圖4的方法,在基于推入的單次登入環(huán)境下,當(dāng)根據(jù)服務(wù)提 供商的認(rèn)證策略來執(zhí)行認(rèn)證時,除了身份提供商提供的認(rèn)證證書處, 服務(wù)提供商可能需要不同的認(rèn)證證書來認(rèn)證客戶。除了直接提示客戶 需要額外的安全信息處,服務(wù)提供商從身份提供商請求滿足服務(wù)提供 商的認(rèn)證策略的認(rèn)證證書。圖4的方法還可包括身份提供商從服務(wù)提供商接收420—個認(rèn)證 請求422,該請求規(guī)定了服務(wù)提供商的認(rèn)證策略424。在身份提供商 內(nèi)從服務(wù)提供商接收420 —個認(rèn)證請求422可以通過以下手段執(zhí)行 在身份管理器的WSDL描述中所述的網(wǎng)絡(luò)服務(wù)端點處把認(rèn)證請求422接收到身份提供商的身份管理器中。從服務(wù)提供商接收的規(guī)定了服務(wù)提供商的認(rèn)證策略424的認(rèn)證請求422可以是一個網(wǎng)絡(luò)服務(wù)消息,該 消息包括位于SOAP包內(nèi)的服務(wù)提供商的認(rèn)證策略的XML表示。為了進(jìn)一步闡釋,圖5示出了一個流程圖,其闡釋了本發(fā)明的實 施例中用于對聯(lián)盟中的客戶進(jìn)行認(rèn)證的另 一個示例性方法,該方法包證策略的認(rèn)證請求,身份提供商根據(jù)服、務(wù)提供商的認(rèn)證策^來認(rèn)證 430客戶,并將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書記錄450在身 份提供商的會話數(shù)據(jù)內(nèi),圖4的方法包括在身份提供商中接收420來自服務(wù)提供商的規(guī)定 了服務(wù)提供商的認(rèn)證策略424的認(rèn)證請求422。身份提供商從服務(wù)提 供商接收420認(rèn)證請求422可以通過以下手段來執(zhí)行在身份管理器 的WSDL描述中所述的網(wǎng)絡(luò)服務(wù)端點處把認(rèn)證請求422接收到身份 提供商的身份管理器中。來自服務(wù)提供商的規(guī)定了服務(wù)提供商的認(rèn)證 策略424的認(rèn)證請求422可以是一個網(wǎng)絡(luò)服務(wù)消息,該消息包括位于 SOAP包內(nèi)的服務(wù)提供商的認(rèn)證策略的XML表示。當(dāng)如上述參照圖4所述,客戶參與到基于推入的單次登入時,根 據(jù)圖5的方法,身份提供商從服務(wù)提供商接收420規(guī)定了服務(wù)提供商 的認(rèn)證策略424的認(rèn)證請求422。根據(jù)圖5的方法,身份提供商從服 務(wù)提供商接收420規(guī)定了服務(wù)提供商的認(rèn)證策略424的認(rèn)證請求422 還可發(fā)生在客戶參與基于推入的單次登入時?;谕迫氲膯未蔚侨胧?單次登入認(rèn)證的實現(xiàn)方式,當(dāng)客戶試圖直接訪問服務(wù)提供商上的資源 時,例如通過在網(wǎng)絡(luò)瀏覽器內(nèi)輸入服務(wù)提供商的URL或者使用書簽 時,其把客戶重新指向到用于單次登入的身份提供商。即,客戶不通 過身份提供商、例如通過身份提供商的網(wǎng)絡(luò)服務(wù)器上的門戶網(wǎng)頁訪問 服務(wù)提供商的資源。在基于推入的單次登入環(huán)境下,當(dāng)客戶請求訪問 服務(wù)提供商的資源時,服務(wù)提供商將向身份提供商請求認(rèn)證證書。圖 5的請求422規(guī)定了服務(wù)提供商的認(rèn)證策略424。在圖5的方法中,身份提供商根據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證430客戶可以通過以下手段來執(zhí)行確定432服務(wù)提供商的認(rèn)證策略 是否被客戶與身份提供商的會話數(shù)據(jù)410內(nèi)的當(dāng)前認(rèn)證證書414所滿 足。在該實例中,客戶與身份提供商的會話數(shù)據(jù)用將該會話的會話識 別符412與客戶識別符413和認(rèn)證證書412聯(lián)系起來的數(shù)據(jù)結(jié)構(gòu)410 表示。認(rèn)證證書414表示在會話持續(xù)時間內(nèi)的客戶的安全特權(quán)。服務(wù)認(rèn)證證書414所滿足可以由身份提供商的身份管理器確定。會話數(shù)據(jù) 410可以由身份提供商的身份管理器從身份提供商的訪問管理器獲 得。如果服務(wù)提供商的認(rèn)證策略被客戶與身份提供商的會話數(shù)據(jù) 410內(nèi)的當(dāng)前認(rèn)證證書414所滿足,在圖5的實例中,身份提供商根商發(fā)送438 —個認(rèn)證響應(yīng)460,該響應(yīng)包括滿足服務(wù)提供商的認(rèn)證策 略的認(rèn)證證書440。在圖5的實例中,由身份提供商向服務(wù)提供商發(fā) 送438 —個認(rèn)證響應(yīng)460包括從客戶與身份提供商的會話數(shù)據(jù)410讀 取認(rèn)證證書414。在圖5的實例中,由身份提供商向服務(wù)提供商發(fā)送 438 —個認(rèn)證響應(yīng)460可包括從身份提供商的身份管理器通過使用 HTTP302重定向的客戶向服務(wù)提供商傳輸一個網(wǎng)絡(luò)服務(wù)消息。在圖5的實例中,認(rèn)證響應(yīng)460包括滿足服務(wù)提供商的認(rèn)證策略 的i人證證書440。認(rèn)證響應(yīng)460可以由SOAP包內(nèi)所包含的基于XML 的網(wǎng)絡(luò)服務(wù)消息來表示。在圖5的實例中,認(rèn)證證書440表示成與身 份提供商的單次登入會話期間客戶的安全特權(quán)。認(rèn)證證書440將客戶 識別符442與會話識別符443、用戶組識別符444和認(rèn)證屬性識別符 446聯(lián)系起來。圖5的認(rèn)證證書440可以由安全令牌,例如IBM、微 軟和Verisign所開發(fā)的標(biāo)題為"網(wǎng)絡(luò)服務(wù)安全性"(WS-Security)" 的網(wǎng)絡(luò)服務(wù)規(guī)范中描述的安全令牌,或者由IBM、微軟、Verisign、 OpenNetwork、 Layer7、 Computer Associate 、 BEA、 Oblix、 Reactivity 、 RSA Security、 Ping Identity、以及Actional所開發(fā)的標(biāo)題為"網(wǎng)絡(luò) 服務(wù)信任語言"("WS-trust,,)的網(wǎng)絡(luò)服務(wù)規(guī)范中描述的安全令牌。如果客戶與身份提供商的會話數(shù)據(jù)410內(nèi)的當(dāng)前認(rèn)證證書414 不滿足服務(wù)提供商的認(rèn)證策略,在圖5的實例中,身份提供商根據(jù)服 務(wù)提供商的認(rèn)證策略來認(rèn)證430客戶包括由身份提供商的訪問管理器 認(rèn)證434客戶或者由身份提供商的認(rèn)證代理認(rèn)證436客戶。在圖5的 方法中,身份提供商的認(rèn)證代理認(rèn)證436客戶可以通過接收滿足服務(wù) 提供商的認(rèn)證策略的安全信息來執(zhí)行。如果客戶是個人或者是代表個 人的線程或進(jìn)程。根據(jù)圖4的方法,從客戶接收403滿足身份提供商 的認(rèn)證策略400的安全信息401可包括訪問管理器通過諸如計算機(jī)屏 幕或語言合成器的用戶接口提示客戶發(fā)送安全信息401。如果客戶是 網(wǎng)絡(luò)服務(wù)客戶,根據(jù)圖4的方法,接收403安全信息401還可包括訪 問管理器在網(wǎng)絡(luò)服務(wù)消息內(nèi)規(guī)定身份提供商的認(rèn)證策略,所述網(wǎng)絡(luò)服 務(wù)消息例如是SOAP包內(nèi)所包含的身份提供商的認(rèn)證策略的XML表 示,并由訪問管理器使用諸如HTTP的網(wǎng)絡(luò)協(xié)議向客戶傳輸網(wǎng)絡(luò)服務(wù) 消息。根據(jù)圖5的方法,由身份提供商的認(rèn)證代理認(rèn)證436客戶還可以 通過使用存儲在用戶注冊表內(nèi)的身份相關(guān)信息來驗證客戶的安全信 息而執(zhí)行。驗證安全信息可包括例如在認(rèn)證序列中將客戶提供的密碼 散列化,并將散列后的密碼與之前存儲在用戶注冊表中的客戶的密碼 的散列值進(jìn)行比較。驗證安全信息還可包括例如使用存儲在用戶注冊 表中的客戶的非對稱加密公鑰對消息進(jìn)行解密,其中該消息使用客戶 的非對稱加密私鑰進(jìn)行數(shù)字化簽名。根據(jù)圖5的方法,由身份提供商的訪問管理器認(rèn)證434客戶的操 作方式類似于通過身份提供商的認(rèn)證代理來認(rèn)證436客戶的操作方 式。在圖5的方法中,由身份提供商的訪問管理器認(rèn)證434客戶還可 以通過以下手段來執(zhí)行接收滿足服務(wù)提供商的認(rèn)證策略的安全信 息,并使用存儲在用戶注冊表中的身份相關(guān)信息驗證客戶的安全信 息。如果客戶與身份提供商的會話數(shù)據(jù)410中的當(dāng)前認(rèn)證證書414 不滿足服務(wù)提供商的認(rèn)證策略,繼續(xù)執(zhí)行圖5的方法,將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書440記錄450在身份提供商的會話數(shù)據(jù) 440中。因為不存在客戶和身份提供商的先前的會話,圖5的方法可 能發(fā)生在客戶和身份提供商的最初認(rèn)證序列中。因此,根據(jù)圖5的方 法,將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書440記錄450在身份提 供商的會話數(shù)據(jù)440中包括創(chuàng)建客戶與身份提供商的會話。在圖5的 方法中,將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書440記錄450在身410內(nèi)的認(rèn)證證書440作為當(dāng)前認(rèn)證證書414存儲。客戶與身份提供 商的會話數(shù)據(jù)在該實例中表示為一種數(shù)據(jù)結(jié)構(gòu)410,該數(shù)據(jù)結(jié)構(gòu)將該 會話的會話識別符412與客戶識別符413和認(rèn)證證書414聯(lián)系起來。 認(rèn)證證書414表示在會話的持續(xù)時間中的客戶的安全特權(quán)。圖5的方法繼續(xù)執(zhí)行,由身份提供商根據(jù)服務(wù)提供商的認(rèn)證策略 來認(rèn)證430客戶,這是通過由身份提供商向服務(wù)提供商發(fā)送438 —個 包括滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書440的認(rèn)證響應(yīng)460來實 現(xiàn)的。由身份提供商向服務(wù)提供商發(fā)送438 —個認(rèn)證響應(yīng)460的操作 方式類似于參照圖5所述的。為了進(jìn)一步闡釋,圖6示出了一個流程圖,其闡釋了根據(jù)本發(fā)明 的實施例用于對聯(lián)盟中的客戶進(jìn)行認(rèn)證的又一個示例性方法,該方法服務(wù)提供商確定504該請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證策 略,服務(wù)提供商向身份提供商發(fā)送一個規(guī)定了服務(wù)提供商的認(rèn)證策略 的認(rèn)證請求,服務(wù)提供商從身份提供商接收520認(rèn)證響應(yīng),該認(rèn)證響 應(yīng)包括滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書,并把該認(rèn)證證書記錄 530記錄在服務(wù)提供商的會話數(shù)據(jù)內(nèi)。圖6的方法包括在服務(wù)提供商內(nèi)接收502客戶訪問服務(wù)提供商的 資源的請求500。如果客戶由網(wǎng)絡(luò)服務(wù)客戶來表示,根據(jù)圖6的方法, 在服務(wù)提供商內(nèi)接收502客戶訪問服務(wù)提供商的資源的請求500可以 通過以下手段來執(zhí)行在訪問管理器的WSDL描述中所述的網(wǎng)絡(luò)服 務(wù)端點處將安全信息接收到發(fā)送給服務(wù)提供商的訪問管理器的網(wǎng)絡(luò)戶由操作網(wǎng)絡(luò)瀏覽器的人來表示,根據(jù)圖6的方 法,在服務(wù)提供商內(nèi)接收502客戶訪問服務(wù)提供商的資源的請求500, 可利用通過諸如計算機(jī)屏幕或語言合成器的用戶接口提示客戶發(fā)送 安全信息來執(zhí)行。當(dāng)從網(wǎng)絡(luò)服務(wù)客戶或操作網(wǎng)絡(luò)瀏覽器的人接收安全信息之后,根 據(jù)圖6的方法,在服務(wù)提供商內(nèi)接收502客戶訪問服務(wù)提供商的資源 的請求500還可以通過根據(jù)用戶注冊表內(nèi)的身份相關(guān)數(shù)據(jù)來創(chuàng)建一個 認(rèn)證證書503來實現(xiàn)。這類身份相關(guān)數(shù)據(jù)可包括例如客戶識別符、該 客戶所屬的安全組、安全屬性、以及類似數(shù)據(jù)。根據(jù)圖6的方法,在過訪問管理器向服務(wù)提供商的身份管理器傳輸客戶的資源請求500來 實現(xiàn),該請求500包括客戶的認(rèn)證證書503。在圖6的實例中,客戶訪問服務(wù)提供商的資源的請求500包括客 戶的認(rèn)證證書503。資源請求500可以由SOAP包內(nèi)所包含的基于 XML的網(wǎng)絡(luò)服務(wù)消息來表示。認(rèn)證證書503表示在客戶與身份提供 商的會話持續(xù)時間中的客戶的安全特權(quán)。圖6的認(rèn)證證書503可以用 安全令牌表示,如標(biāo)題為"WS-安全"和"WS-信任"的網(wǎng)絡(luò)服務(wù)描 述中所述的安全令牌。圖6的方法包括由服務(wù)提供商確定504請求500的認(rèn)證證書503 不滿足服務(wù)提供商的認(rèn)證策略506。根據(jù)圖6的方法,服務(wù)提供商確 定504請求500的認(rèn)證證書503不滿足服務(wù)提供商的認(rèn)證策略506可 以以下手段來實現(xiàn)將用于認(rèn)證客戶的安全信息類型作為請求500的 指定的認(rèn)證證書503與服務(wù)提供商的認(rèn)證策略506所要求的安全信息 類型進(jìn)行比較,如在網(wǎng)絡(luò)服務(wù)的WSDL描迷中所規(guī)定的。在圖6的 方法中,請求500的認(rèn)證證書503是否滿足服務(wù)提供商的認(rèn)證策略506 可以由服務(wù)提供商內(nèi)的身份管理器來確定。在圖6的實例中,服務(wù)提供商的認(rèn)證策略506是服務(wù)提供商驗證 客戶請求訪問資源或參與身份提供商的單次登入所需的 一組要求以 及相關(guān)的安全信息。服務(wù)提供商的認(rèn)證策略可能需要客戶提供安全信2息,例如用戶名和密碼、對稱加密密鑰、x.509證書、Kerberos票證、 或者本領(lǐng)域技術(shù)人員已知的任何其他相關(guān)安全信息。服務(wù)提供商使用 客戶提供的安全信息來創(chuàng)建滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書。圖6的方法包括如果請求500的認(rèn)證證書503不滿足服務(wù)提供 商的認(rèn)證策略506,則服務(wù)提供商向身份提供商發(fā)送510 —個規(guī)定了 服務(wù)提供商的認(rèn)證策略424的認(rèn)證請求422。根據(jù)圖6的方法,服務(wù)證請求422可以通過以下方式實現(xiàn)在服務(wù)提供商的身份管理器內(nèi)創(chuàng) 建網(wǎng)絡(luò)服務(wù)消息。根據(jù)圖6的方法,服務(wù)提供商向身份提供商發(fā)送510實現(xiàn)從身份"供商的身份管理器通過使用^HTTP;02重定向的客^ 向服務(wù)提供商傳輸一個網(wǎng)絡(luò)服務(wù)消息。圖6的實例中,認(rèn)證請求422規(guī)定了服務(wù)提供商的認(rèn)證策略424。 認(rèn)證響應(yīng)460可以表示為SOAP包內(nèi)所包含的基于XML的網(wǎng)絡(luò)服務(wù) 消息。圖6的實例中規(guī)定的服務(wù)提供商的認(rèn)證策略424是服務(wù)提供商 驗證客戶請求訪問資源或參與身份提供商的單次登入所需的 一組要 求以及相關(guān)的安全信息。服務(wù)提供商的認(rèn)證策略可能要求客戶提供安 全信息,例如用戶名和密碼、對稱加密密鑰、x.509證書、Kerberos 票證、或者本領(lǐng)域技術(shù)人員已知的任何其他相關(guān)安全信息。服務(wù)提供 商使用客戶提供的安全信息來創(chuàng)建滿足服務(wù)提供商的認(rèn)證策略的認(rèn) 證證書。圖6的方法包括如果請求500的認(rèn)證證書503不滿足服務(wù)提供商 的認(rèn)證策略506,服務(wù)提供商從身份提供商接收520 —個認(rèn)證響應(yīng) 460,該認(rèn)證響應(yīng)包括滿足服務(wù)提供商的認(rèn)證策略506的認(rèn)證證書440。 服務(wù)提供商從身份提供商接收520認(rèn)證響應(yīng)460可以通過以下方式實 現(xiàn)在身份管理器的WSDL描述中所述的網(wǎng)絡(luò)服務(wù)端點處接收把一 個網(wǎng)絡(luò)服務(wù)消息接收到服務(wù)提供商的身份管理器。圖6的實例中,認(rèn)證響應(yīng)460包括滿足服務(wù)提供商的認(rèn)證策略的 認(rèn)證證書440。認(rèn)證響應(yīng)460可以表示為SOAP包內(nèi)所包含的基于XML網(wǎng)絡(luò)的服務(wù)消息。圖6的實例中,認(rèn)證證書440表示與身份提 供商的單次登入會話持續(xù)時間內(nèi)的客戶的安全特權(quán)。圖6的認(rèn)證證書 440可以表示為安全令牌,例如網(wǎng)絡(luò)服務(wù)規(guī)范中所述的標(biāo)題為"WS-安全"或"WS-信任,,的安全令牌。圖6的方法包括在服務(wù)提供商的會話數(shù)據(jù)540中記錄530認(rèn)證證 書544。因為客戶與身份提供商可能不存在先前的會話,圖6的方法 可發(fā)生在客戶與服務(wù)提供商的初始認(rèn)證序列期間。因此,在服務(wù)提供 商的會話數(shù)據(jù)540內(nèi)記錄530認(rèn)證證書544可包括創(chuàng)建客戶與服務(wù)提 供商的會話。在圖6的方法中,在服務(wù)提供商的會話數(shù)據(jù)540內(nèi)記錄 530認(rèn)證證書544還可包括在客戶與身份提供商的會話數(shù)據(jù)540中存 儲認(rèn)證證書544。該實例中,客戶與身份提供商的會話數(shù)據(jù)540被表 示為一個數(shù)據(jù)結(jié)構(gòu)540,該數(shù)據(jù)結(jié)構(gòu)將該會話的會話識別符542與客 戶識別符543和認(rèn)證證書544聯(lián)系起來。認(rèn)證證書544表示在會話持 續(xù)時間內(nèi)的客戶的安全特權(quán)。為了進(jìn)一步闡釋,圖7A和7B示出了一個調(diào)用序列框圖,其闡方法。圖7B是圖7A中開始的調(diào)用序列框圖的繼續(xù)。在圖7A的實例 中,根據(jù)本發(fā)明的實施例,對聯(lián)盟中的客戶進(jìn)行認(rèn)證包括客戶132、 身份提供商126、以及服務(wù)提供商128。圖7A的實例中的客戶132被 表示成基于推入的單次登入環(huán)境下操作網(wǎng)絡(luò)瀏覽器的人。圖7A的實 例中的身份提供商126包括訪問管理器210、身份管理器218以及認(rèn) 證代理216。圖7A的實例中的服務(wù)提供商128包括訪問管理器230、 身份管理器238和計算機(jī)資源240。訪問管理器230為資源240提供 授權(quán)服務(wù).在圖7A的實例中,客戶132向服務(wù)提供商128的訪問管理器230 發(fā)送資源請求600。資源請求600是訪問資源240的請求。根據(jù)圖7A 的實例,資源請求600可以用對特定的統(tǒng)一資源定位符"URL"的 HTTP請求來表示。URL是資源、例如文件或圖象的標(biāo)準(zhǔn)地址名稱。 根據(jù)本發(fā)明的實施例的HTTP 請求包括例如"http:〃www.serviceprovider.com/resource"。在圖7A的實例中,訪問管理器230授權(quán)602客戶參與單次登入。 不是所有的客戶都可被授權(quán)參與單次登入服務(wù)提供商128。因此根據(jù) 圖7A的實施例,訪問管理器230根據(jù)客戶提供的或者從用戶注冊表 訪問的身份相關(guān)信息確定是否授權(quán)602客戶參與單次登入。例如考慮 到當(dāng)雇主作為身份提供商時,雇員訪問投資公司網(wǎng)站的401k。投資公 司可以向雇員的雇主發(fā)布用于雇主的雇員們單次登入的唯一網(wǎng)站。訪入的雇員。在圖7A的方法中,訪問管理器210向客戶132發(fā)送單次登入請 求604。單次登入請求604是訪問管理器230向身份管理器238發(fā)送 的為客戶132提供單次登入服務(wù)的一個請求。單次登入請求604可以 表示成基于XML的網(wǎng)絡(luò)服務(wù)消息,該消息包括客戶132的身份相關(guān) 信息。在圖7A的實例中,客戶132向身份管理器238發(fā)送單次登入請 求606。單次登入請求606是單次登入請求604的HTTP 302重定向。 HTTP 302重定向是具有狀態(tài)代碼302的HTTP響應(yīng),其導(dǎo)致網(wǎng)絡(luò)瀏 覽器暫時去向另一個位置以獲得網(wǎng)絡(luò)資源。在圖7A的實例中,接收單次登入請求606之后,身份管理器238 定位610身份提供商126為客戶132提供單次登入。身份管理器238 可以首先通過提示客戶132從列表中選擇一個身份提供商126來定位 610客戶的身份提供商。隨后服務(wù)提供商128可以存儲與客戶132的 一個cookie,便于身份提供商126的自動選擇。身份管理器238還可 通過在一個數(shù)據(jù)庫內(nèi)查詢身份提供商來定位610客戶的身份提供商, 該數(shù)據(jù)庫包括已經(jīng)和服務(wù)提供商128建立關(guān)系的身份提供商。在圖7A的實例中,身份管理器238還選擇612服務(wù)提供商的認(rèn) 證策略。選擇612服務(wù)提供商的認(rèn)證策略可以通過基于為客戶提供認(rèn) 證證書的身份提供商126選擇一個認(rèn)證策略來實現(xiàn)。服務(wù)提供商的身 份管理器可能對于不同的身份提供商需要不同的認(rèn)證策略,因為服務(wù)提供商比起一些身份提供商可能更信任另外一些身份提供商。身份提供商238可以從一個數(shù)據(jù)庫獲得特定服務(wù)提供商所需的認(rèn)證策略,該 數(shù)據(jù)庫包括已經(jīng)和服務(wù)提供商128建立關(guān)系的身份提供商。服務(wù)提供單次登入的客戶進(jìn)行認(rèn)證所需的 一組要求和相關(guān)的安全信息。服務(wù)提 供商的認(rèn)證策略可能要求客戶提供安全信息,例如用戶名和密碼、對 稱加密密鑰、x.509證書、Keberos票證、或者本領(lǐng)域技術(shù)人員已知的 任何其他安全相關(guān)信息。服務(wù)提供商使用客戶提供的安全信息來創(chuàng)建 滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書。在圖7A的方法中,身份管理器238創(chuàng)建614規(guī)定了服務(wù)提供商 的認(rèn)證策略的認(rèn)證請求。根據(jù)圖7A的實例,創(chuàng)建614規(guī)定了服務(wù)提 供商的認(rèn)證策略的認(rèn)證請求可包括對網(wǎng)絡(luò)服務(wù)消息內(nèi)的服務(wù)提供商 的認(rèn)證策略的XML表示進(jìn)行編碼,該消息根據(jù)由Versign、Microsoft、 Sonic Software、 IBM和SAP共同開發(fā)的標(biāo)題為"網(wǎng)絡(luò)服務(wù)策略框架" ("WS-策略")的網(wǎng)絡(luò)服務(wù)規(guī)范或者由Microsoft、 Versign、 IBM 和RSA安全聯(lián)盟開發(fā)的標(biāo)題為"網(wǎng)絡(luò)服務(wù)安全策略語言,,("WS-安全 策略")的網(wǎng)絡(luò)服務(wù)規(guī)范來規(guī)定。圖7A的實例中,身份管理器238向客戶132發(fā)送認(rèn)證請求615。 認(rèn)證請求615規(guī)定了服務(wù)提供商的認(rèn)證策略??蛻?32向身份管理器 218發(fā)送認(rèn)證請求617。圖7A的實例中,認(rèn)證請求617是認(rèn)證請求 615的HTTP 302重定向。每個認(rèn)證請求617用SOAP包中所包含的 基于XML的網(wǎng)絡(luò)服務(wù)消息表示。在閨7A的方法中,在接收認(rèn)證請求617之后,身份管理器218 證實616認(rèn)證請求,并提取618服務(wù)提供商的認(rèn)證策略。證實616認(rèn) 證請求可以通過驗證該認(rèn)證請求的數(shù)字簽名是服務(wù)提供商128的身份 管理器238的數(shù)字簽名來執(zhí)行。身份管理器218可通過使用身份管理 器238的非對稱加密公鑰解密該簽名來驗證認(rèn)證請求的數(shù)字簽名。根 據(jù)圖7A的實例,可以通過從網(wǎng)絡(luò)服務(wù)消息讀取認(rèn)證策略的XML表 示來提取服務(wù)提供商的認(rèn)證策略。在圖7A的實例中,身份管理器218向客戶132傳輸服務(wù)提供商 的認(rèn)證策略620。客戶132向認(rèn)證代理216發(fā)送服務(wù)提供商的認(rèn)證策 略622。服務(wù)提供商的認(rèn)證策略622是服務(wù)提供商的認(rèn)證策略620的 HTTP 302重定向。服務(wù)提供商的認(rèn)證策略620和622可以用SOAP 包內(nèi)所包含的認(rèn)證策略的XML表示的網(wǎng)絡(luò)服務(wù)消息來表示。在圖7A的方法中,認(rèn)證代理216向客戶132發(fā)送對安全信息的 請求624。對安全信息的請求624可以通過提示操作網(wǎng)絡(luò)瀏覽器的個 人提供在單次登入環(huán)境下先前沒有提供的附加安全信息來實現(xiàn)。所請 求的安全信息包括例如用戶名、密碼、社會保險號、Kerberos票證、 x.509證書等等?,F(xiàn)在參照圖7B:客戶132向認(rèn)證代理216發(fā)送安全信息響應(yīng)626。 安全信息響應(yīng)626可以使用客戶132和認(rèn)證代理216之間的安全連接 來發(fā)送,例如安全套接字層"SSL"協(xié)議或傳輸層安全"TLS"協(xié)議。在圖7B的實例中,i人證代理216證實628安全信息響應(yīng)626。 證實628可以通過將客戶132提供的安全信息與存儲在用戶注冊表內(nèi) 的身份相關(guān)數(shù)據(jù)進(jìn)行比較來實現(xiàn)。例如,如果提供給認(rèn)證代理的密碼 的散列形式與先前存儲在用戶注冊表中的客戶密碼的散列形式相匹 配,則可以證實該客戶。在圖7B的方法中,認(rèn)證代理216向客戶132發(fā)送一個認(rèn)證成功 響應(yīng)630。認(rèn)證成功響應(yīng)630表示認(rèn)證代理216證實了客戶132所提 供的安全信息??蛻?32向身份管理器218發(fā)送認(rèn)證成功響應(yīng)630。 認(rèn)證成功響應(yīng)632是認(rèn)證成功響應(yīng)630的一個HTTP 302重定向。圖 7B的例子中的認(rèn)證成功響應(yīng)630和632可以用包含客戶的身份和安 全相關(guān)信息的網(wǎng)絡(luò)服務(wù)消息來表示。在圖7B的方法中,身份管理器218創(chuàng)建634包括了認(rèn)證證書的 認(rèn)證響應(yīng)638。創(chuàng)建634認(rèn)證響應(yīng)638可以通過在網(wǎng)絡(luò)服務(wù)消息內(nèi)嵌 入認(rèn)證證書來實現(xiàn)??梢曰诖鎯υ谟脩糇员韮?nèi)的客戶提供的安全 信息和身份相關(guān)信息,例如客戶識別符、客戶的授權(quán)屬性、客戶所屬 的組、用于認(rèn)證用戶的安全信息類型等等來創(chuàng)建認(rèn)證證書。在圖7B的實例中,身份管理器218向訪問管理器210傳輸認(rèn)證 響應(yīng)638。認(rèn)證響應(yīng)638可以用基于XML的網(wǎng)絡(luò)服務(wù)消息來表示。 認(rèn)證證書可以在認(rèn)證響應(yīng)638內(nèi)作為安全令牌來實現(xiàn),例如標(biāo)題為 "WS-安全"和"WS-信任"的網(wǎng)絡(luò)服務(wù)規(guī)范中所述的以及包含在 SOAP包內(nèi)的這些安全令牌。在圖7B的實例中,身份管理器218向 身份提供商126的訪問管理器210發(fā)送認(rèn)證響應(yīng)638。在圖7B的方法中,訪問管理器210創(chuàng)建客戶132與身份提供商 126的本地會話,并將認(rèn)證響應(yīng)638的認(rèn)證證書記錄642在客戶132 和身份提供商126的會話數(shù)據(jù)內(nèi)。在圖7B的實例中,訪問管理器210向客戶132發(fā)送認(rèn)證響應(yīng)644。 認(rèn)證響應(yīng)644是從身份管理器218轉(zhuǎn)發(fā)給訪問管理器210的認(rèn)證響應(yīng) 638。在圖7B的實例中,客戶132向身份管理器238發(fā)送認(rèn)證響應(yīng)646。 圖7B的認(rèn)證響應(yīng)646是i人證響應(yīng)644的HTTP 302重定向。在圖7B的實例中,身份管理器238證實648認(rèn)證響應(yīng)646。證 實648認(rèn)證響應(yīng)可以通過由認(rèn)證響應(yīng)的發(fā)起者驗證認(rèn)證請求的數(shù)字簽 名是身份管理器218的數(shù)字簽名來實現(xiàn)的。身份管理器238可以通過 使用身份管理器218的非對稱加密公鑰解密簽名來證實認(rèn)證請求的數(shù) 字簽名。在圖7B的方法中,身份管理器238在客戶與服務(wù)提供商128的 會話期間,創(chuàng)建650規(guī)定了客戶的特權(quán)的本地認(rèn)證證書。身份管理器 238基于包含在認(rèn)證響應(yīng)646內(nèi)的認(rèn)證證書來創(chuàng)建650本地認(rèn)證證書。 身份管理器238通過讀取包含在SOAP包內(nèi)的認(rèn)證證書的XML表示 來提取該響應(yīng)646的i人證證書。在圖7B的實例中,身份管理器238響應(yīng)圖7A的單次登入請求 606,向訪問管理器230發(fā)送單次登入響應(yīng)652。單次登入響應(yīng)652可 以用基于XML的網(wǎng)絡(luò)服務(wù)消息來表示。在圖7B的實例中,單次登 入響應(yīng)652包括本地認(rèn)證證書652,例如客戶名稱、安全屬性、用于 認(rèn)證客戶的安全信息的類型等等。在圖7B的實例中,訪問管理器230創(chuàng)建654客戶132與服務(wù)提供商126的會話。客戶132與服務(wù)提供商128的會話用服務(wù)提供商128 內(nèi)的數(shù)據(jù)結(jié)構(gòu)來表示。訪問管理器230把本地認(rèn)證證書存儲在客戶132 與服務(wù)提供商128的會話數(shù)據(jù)內(nèi)。訪問管理器230授權(quán)客戶132基于 存儲在會話數(shù)據(jù)內(nèi)的本地認(rèn)證證書來訪問資源240。在圖7B的方法中,訪問管理器230向客戶132發(fā)送資源請求656。 資源請求656是由圖7A中的訪問管理器230為單次登入處理所截取 的資源請求600的拷貝。客戶132向資源240發(fā)送資源請求658。資 源請求658是從客戶132到資源240的資源請求656的HTTP 302重 定向。在圖7B的實例中,資源240通過向客戶132發(fā)送資源請求660 來響應(yīng)資源請求658。資源響應(yīng)660是與圖7A的客戶的資源請求600 配對的響應(yīng)。在圖7A和7B的調(diào)用序列中,客戶由操作網(wǎng)絡(luò)瀏覽器的 個人來表示。因此資源響應(yīng)660可以通過4吏用HTML、 JSP、 CGI腳 本等等的靜態(tài)或動態(tài)網(wǎng)絡(luò)內(nèi)容來表示。在圖7A和7B的調(diào)用序列中實 施客戶是示意性的,而不是限制性的。根據(jù)圖7A和7B的調(diào)用序列, 客戶132可以用網(wǎng)絡(luò)服務(wù)來表示。在該情況下,資源響應(yīng)660可以用 程序、進(jìn)程或執(zhí)行線程所提供的數(shù)據(jù)處理結(jié)果來表示。本發(fā)明的示例性實施例主要在用于對聯(lián)盟中的客戶進(jìn)行認(rèn)證的 完全功能性計算機(jī)系統(tǒng)的環(huán)境下描述。但是本領(lǐng)域技術(shù)人員能夠了 解,本發(fā)明還可以嵌入到位于信號承載介質(zhì)上的計算機(jī)程序產(chǎn)品中以 用于任何適當(dāng)?shù)臄?shù)據(jù)處理系統(tǒng)。這類信號承載介質(zhì)是機(jī)器可讀信息的 傳輸介質(zhì)或可記錄介質(zhì),包括磁介質(zhì)、光介質(zhì)或其他適當(dāng)?shù)慕橘|(zhì)???記錄介質(zhì)的實例包括硬盤驅(qū)動器或盤盒中的磁盤、用于光驅(qū)的光盤、 磁帶、以及本領(lǐng)域技術(shù)人員已知的其他介質(zhì)。傳輸媒介的實例包括用 于語音通信的電話網(wǎng)絡(luò)和數(shù)字?jǐn)?shù)據(jù)通信網(wǎng)絡(luò),例如以太網(wǎng)、以及使用 因特網(wǎng)協(xié)議的網(wǎng)絡(luò)、以及萬維網(wǎng)。本領(lǐng)域技術(shù)人員很容易意識到具有 適當(dāng)編程方法的任何計算機(jī)系統(tǒng)都能夠執(zhí)行嵌入程序產(chǎn)品的本發(fā)明 的方法的步驟。本領(lǐng)域技術(shù)人員很容易意識到盡管說明書中描述的一 些示例性實施例面向在計算機(jī)硬件上安裝和執(zhí)行的軟件,但作為固件或硬件描述的替代實施例也在本發(fā)明的范圍內(nèi)。根據(jù)上述描述,應(yīng)該理解可以在本發(fā)明的不同實施例中加以修正 和改變,而沒有偏離其實質(zhì)。本說明書的說明僅是示意性的,不應(yīng)理 解為限制性的。本發(fā)明的范圍僅由下述權(quán)利要求書所限定。
權(quán)利要求
1、一種對聯(lián)盟內(nèi)的客戶進(jìn)行認(rèn)證的方法,該方法包括由身份提供商根據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶;以及將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書記錄在身份提供商的會話數(shù)據(jù)中。
2、 如權(quán)利要求l的方法,還包括由身份提供商根據(jù)身份提供商 的認(rèn)證策略來認(rèn)證客戶。
3、 如權(quán)利要求l的方法,還包括在身份提供商內(nèi)接收來自服務(wù) 提供商的認(rèn)證請求,該認(rèn)證請求規(guī)定了服務(wù)提供商的認(rèn)證策略。
4、 如權(quán)利要求l的方法,其中認(rèn)證客戶還包括由身份提供商的 訪問管理器來認(rèn)證客戶。
5、 如權(quán)利要求l的方法,其中認(rèn)證客戶還包括由身份提供商的 認(rèn)證代理來認(rèn)證客戶。
6、 如權(quán)利要求l的方法,還包括在服務(wù)提供商內(nèi)接收客戶要訪問服務(wù)提供商的資源的請求; 由服務(wù)提供商確定該請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證 策略;以及由服務(wù)提供商向身份提供商發(fā)送一個規(guī)定了服務(wù)提供商的認(rèn)證 策略的認(rèn)證請求。
7、 如權(quán)利要求l的方法,還包括由服務(wù)提供商從身份提供商接收認(rèn)證響應(yīng),該認(rèn)證響應(yīng)包括滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書;以及將認(rèn)證證書記錄在服務(wù)提供商的會話數(shù)據(jù)中。
8、 一種用于對聯(lián)盟內(nèi)的客戶進(jìn)行認(rèn)證的系統(tǒng),該系統(tǒng)包括計算 機(jī)處理器和可操作耦合到該計算機(jī)處理器的計算機(jī)存儲器,該計算機(jī) 存儲器具有置于其中的計算機(jī)程序指令,所述計算機(jī)程序指令能夠由身份提供商根據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶;以及 將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書記錄在身份提供商的會話數(shù)據(jù)中。
9、 如權(quán)利要求8的系統(tǒng),還包括能夠在身份提供商內(nèi)接收來自 服務(wù)提供商規(guī)定了服務(wù)提供商的認(rèn)證策略的認(rèn)證請求的計算機(jī)程序 指令。
10、 如權(quán)利要求8的系統(tǒng),還包括能夠執(zhí)行以下操作的計算機(jī) 程序指令在服務(wù)提供商內(nèi)接收客戶要訪問服務(wù)提供商的資源的請求; 由服務(wù)提供商確定該請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證 策略;以及服務(wù)提供商向身份提供商發(fā)送一個規(guī)定了服務(wù)提供商的認(rèn)證策 略的認(rèn)證請求。
11 、 如權(quán)利要求8的系統(tǒng),還包括能夠執(zhí)行以下操作的計算機(jī) 程序指令由服務(wù)提供商從身份提供商接收一個認(rèn)證響應(yīng),該認(rèn)證響應(yīng)包括 滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書;以及 將認(rèn)證證書記錄在服務(wù)提供商的會話數(shù)據(jù)中。
12 、 一種用于對聯(lián)盟內(nèi)的客戶進(jìn)行認(rèn)證的計算機(jī)程序產(chǎn)品,該 計算機(jī)程序產(chǎn)品位于信號承栽介質(zhì)上,該計算機(jī)程序產(chǎn)品包括能夠執(zhí) 行以下操作的計算機(jī)程序指令由身份提供商根據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶;以及 將滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書記錄在身份提供商的 會話數(shù)據(jù)中。
13、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,其中所述信號承載介 質(zhì)包括可記錄介質(zhì)。
14、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,其中所述信號承栽介 質(zhì)包括傳輸介質(zhì)。
15、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,其還包括能夠由身份 提供商根據(jù)身份提供商的認(rèn)證策略來認(rèn)證客戶的計算機(jī)程序指令。
16、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,還包括能夠在身份提請求的計算機(jī)程序指令。
17、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,其中認(rèn)證客戶還包括由身份提供商的訪問管理器來認(rèn)證客戶。
18、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,其中認(rèn)證客戶還包括 由身份提供商的認(rèn)證代理來認(rèn)證客戶。
19、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,還包括能夠執(zhí)行以下 操作的計算機(jī)程序指令在服務(wù)提供商內(nèi)接收客戶要訪問服務(wù)提供商的資源的請求; 由服務(wù)提供商確定該請求的認(rèn)證證書不滿足服務(wù)提供商的認(rèn)證 策略;以及由服務(wù)提供商向身份提供商發(fā)送一個規(guī)定了服務(wù)提供商的認(rèn)證 策略的認(rèn)證請求。
20、 如權(quán)利要求12的計算機(jī)程序產(chǎn)品,還包括能夠執(zhí)行以下操作的計算機(jī)程序指令服務(wù)提供商從身份提供商接收一個認(rèn)證響應(yīng),該認(rèn)證響應(yīng)包括滿 足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書;以及將認(rèn)證證書記錄在服務(wù)提供商的會話數(shù)據(jù)中。
21、 一種計算機(jī)程序,其包括當(dāng)所述程序在計算機(jī)上運行時適 用于執(zhí)行權(quán)利要求1 - 7的所有步驟的程序代碼裝置。
全文摘要
本發(fā)明公開了方法、系統(tǒng)和計算機(jī)程序產(chǎn)品,其通過由身份提供商根據(jù)服務(wù)提供商的認(rèn)證策略來認(rèn)證客戶,并把滿足服務(wù)提供商的認(rèn)證策略的認(rèn)證證書記錄在身份提供商的會話數(shù)據(jù)內(nèi),從而為認(rèn)證聯(lián)盟內(nèi)的客戶的其他實體的定制認(rèn)證方法的實現(xiàn)提供了額外的靈活性。對聯(lián)盟中的客戶進(jìn)行認(rèn)證還可以通過由身份提供商根據(jù)身份提供商的認(rèn)證策略認(rèn)證客戶來實現(xiàn)。對聯(lián)盟中的客戶進(jìn)行認(rèn)證還可以通過在身份提供商內(nèi)接收來自服務(wù)提供商的規(guī)定了服務(wù)提供商的認(rèn)證策略的認(rèn)證請求來實現(xiàn)。
文檔編號H04L29/08GK101331731SQ200680046924
公開日2008年12月24日 申請日期2006年12月13日 優(yōu)先權(quán)日2005年12月15日
發(fā)明者A·S·莫蘭, H·M·辛頓 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
洱源县| 社会| 西宁市| 永胜县| 高陵县| 凯里市| 义乌市| 柳州市| 金昌市| 定日县| 荔波县| 内乡县| 平阳县| 文化| 米泉市| 昭觉县| 丽水市| 招远市| 无棣县| 尼木县| 丽水市| 南城县| 陆良县| 阳曲县| 石狮市| 南雄市| 莆田市| 大化| 惠水县| 苏尼特右旗| 枣阳市| 赤壁市| 白山市| 武功县| 蓬溪县| 仁布县| 抚远县| 武乡县| 巴塘县| 库尔勒市| 达日县|