專利名稱:聯(lián)合用戶生命周期管理的信任基礎(chǔ)結(jié)構(gòu)支持的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種改進(jìn)的數(shù)據(jù)處理系統(tǒng),具體地,涉及用于多計(jì)算機(jī)數(shù)據(jù)傳輸?shù)姆椒ê脱b置。更具體地,本發(fā)明涉及網(wǎng)絡(luò)化的計(jì)算機(jī)系統(tǒng)。
背景技術(shù):
企業(yè)一般都期望以用戶友好的方式向授權(quán)用戶提供在包括因特網(wǎng)的多種網(wǎng)絡(luò)的全面范圍內(nèi)對(duì)受保護(hù)資源的安全訪問(wèn)。盡管提供安全認(rèn)證機(jī)制減少了對(duì)受保護(hù)資源的未授權(quán)訪問(wèn)的風(fēng)險(xiǎn),但同樣的認(rèn)證機(jī)制可能會(huì)變成用戶與受保護(hù)資源交互的屏障。用戶一般都期望具有這樣的能力,即從與一個(gè)應(yīng)用的交互跳轉(zhuǎn)到與另一個(gè)應(yīng)用的交互、而無(wú)需考慮與保護(hù)支持這些應(yīng)用的每一特定系統(tǒng)的認(rèn)證屏障。
在用戶變得更成熟時(shí),他們期望計(jì)算機(jī)系統(tǒng)協(xié)調(diào)他們的行為,以便減少用戶的負(fù)擔(dān)。這些類型的期望也施加到認(rèn)證過(guò)程。用戶可能設(shè)想一旦他或她通過(guò)了某一計(jì)算機(jī)系統(tǒng)的認(rèn)證,該認(rèn)證應(yīng)該在該用戶的整個(gè)工作會(huì)話期間或至少是一段特定時(shí)期內(nèi)有效,而無(wú)需考慮對(duì)用戶幾乎不可見(jiàn)的各種計(jì)算機(jī)體系結(jié)構(gòu)邊界。企業(yè)一般都試圖在他們所部署的系統(tǒng)的操作特性中實(shí)現(xiàn)這些期望,不僅為了安撫用戶,而且為了增加用戶效率,而不管用戶效率是與雇員生產(chǎn)率相關(guān)還是與客戶滿意度相關(guān)。
更具體地,對(duì)于當(dāng)前其中許多應(yīng)用具有可通過(guò)普通瀏覽器訪問(wèn)的基于Web的用戶界面的計(jì)算環(huán)境,用戶期望對(duì)于從一個(gè)基于Web的應(yīng)用到另一個(gè)基于Web的應(yīng)用的轉(zhuǎn)移有更多的用戶友好性和較低或很少的屏障。本文中,用戶開(kāi)始期望具有這樣的能力,即從與一個(gè)因特網(wǎng)域上的應(yīng)用的交互跳轉(zhuǎn)到與另一域上的另一應(yīng)用的交互,而無(wú)需考慮保護(hù)每一特定域的認(rèn)證屏障。但是,即使許多系統(tǒng)通過(guò)方便使用的基于Web的接口提供了安全認(rèn)證,用戶可能仍然被迫對(duì)付阻礙了用戶跨越一組域的訪問(wèn)的多個(gè)認(rèn)證操作。在給定時(shí)間范圍內(nèi)使用戶經(jīng)歷多個(gè)認(rèn)證過(guò)程可能會(huì)顯著地影響用戶的效率。
例如,已有各種技術(shù)用于減輕用戶和計(jì)算機(jī)系統(tǒng)管理員的認(rèn)證負(fù)擔(dān)。這些技術(shù)通常被描述為“單次登錄”(SSO)過(guò)程,因?yàn)樗鼈兙哂泄餐哪康挠脩敉瓿傻卿洸僮?、即被認(rèn)證之后,該用戶隨后不需要執(zhí)行另一個(gè)認(rèn)證操作。因此,該目標(biāo)是用戶在特定用戶期間將僅需要完成一次認(rèn)證過(guò)程。
為了降低用戶管理成本,并提高企業(yè)之間的互操作性,創(chuàng)建了聯(lián)合計(jì)算空間。聯(lián)合是松散連接的企業(yè)聯(lián)盟,這些企業(yè)遵守互操作性的某些標(biāo)準(zhǔn);聯(lián)合在這些企業(yè)之間提供一種對(duì)于該聯(lián)合內(nèi)的用戶的某些計(jì)算操作的信任的機(jī)制。例如,某一聯(lián)合伙伴可擔(dān)當(dāng)用戶的主域或身份提供者。同一聯(lián)合內(nèi)的其他伙伴可依賴該用戶的身份提供者來(lái)主要管理該用戶的認(rèn)證證書(shū),例如接受由該用戶的身份提供者提供的單次登錄令牌。
在企業(yè)開(kāi)始去支持聯(lián)合業(yè)務(wù)交互時(shí),這些企業(yè)應(yīng)該提供反映兩個(gè)企業(yè)之間增加的協(xié)作的用戶體驗(yàn)。如上面指出的,用戶可能向擔(dān)當(dāng)身份提供者的一方進(jìn)行了認(rèn)證,然后單次登錄到擔(dān)當(dāng)服務(wù)提供者的聯(lián)合業(yè)務(wù)伙伴。與該單次登錄功能一起,也應(yīng)該支持其他的用戶生命周期功能,例如帳戶鏈接/解鏈及單次注銷,尤其是以一種使得該聯(lián)合用戶生命周期管理(FULM)功能不需要在任何一方的基礎(chǔ)結(jié)構(gòu)的改變的方式。
當(dāng)前的計(jì)算環(huán)境通過(guò)僅提供單次登錄功能或通過(guò)使用專有協(xié)議,已解決了聯(lián)合用戶生命周期管理功能問(wèn)題。但是,這些解決方案不會(huì)伸縮以允許“松散連接的”環(huán)境,在這樣的環(huán)境中,容易使新的伙伴上線或從該計(jì)算環(huán)境中移除舊的伙伴,而無(wú)需改變?nèi)魏我欢说沫h(huán)境。此外,這些先前的解決方案不允許單個(gè)實(shí)體承擔(dān)多個(gè)角色;例如,一企業(yè)應(yīng)該能夠?qū)τ谝粋€(gè)伙伴擔(dān)當(dāng)身份提供者,然后對(duì)于另一個(gè)伙伴擔(dān)當(dāng)服務(wù)提供者。這些現(xiàn)有技術(shù)的解決方案是顯式的伙伴到伙伴的解決方案,每一個(gè)解決方案是被單獨(dú)管理的;這種方法的可伸縮性是對(duì)廣泛采用的一個(gè)抑制因素。
因此,具有允許信任關(guān)系(以及此信任關(guān)系的管理)與提供聯(lián)合用戶生命周期管理功能解決方案所需的功能的分離的方法和系統(tǒng)將是有利的。
發(fā)明內(nèi)容
本發(fā)明提供了這樣一種方法和系統(tǒng),在該方法和系統(tǒng)中,不同企業(yè)的計(jì)算環(huán)境在一聯(lián)合計(jì)算環(huán)境內(nèi)相交互。可在聯(lián)合伙伴的計(jì)算環(huán)境處代表一不同聯(lián)合計(jì)算環(huán)境處的用戶啟動(dòng)聯(lián)合操作。接觸點(diǎn)服務(wù)依賴信任服務(wù)來(lái)對(duì)一計(jì)算環(huán)境與聯(lián)合伙伴的計(jì)算環(huán)境之間的信任關(guān)系進(jìn)行管理。信任服務(wù)使用密鑰管理服務(wù)、身份/屬性服務(wù)和安全令牌服務(wù)。聯(lián)合用戶生命周期管理服務(wù)實(shí)現(xiàn)聯(lián)合用戶生命周期功能,并與接觸點(diǎn)服務(wù)和信任服務(wù)進(jìn)行交互。密鑰管理服務(wù)管理用于保護(hù)與該域的通信的加密密鑰。身份/屬性服務(wù)管理包含在該域處所處理的安全令牌內(nèi)的身份和/或?qū)傩浴0踩钆品?wù)生成從該域發(fā)送的安全令牌或安全斷言,并對(duì)在該域處接收的安全令牌和安全斷言進(jìn)行驗(yàn)證。聯(lián)合用戶生命周期管理服務(wù)與信任服務(wù)接口,從而該信任服務(wù)從該聯(lián)合用戶生命周期管理服務(wù)中隱藏用于與密鑰管理服務(wù)接口的裝置、用于與身份/屬性服務(wù)接口的裝置、和用于與安全令牌服務(wù)接口的裝置的細(xì)節(jié)。
在所附權(quán)利要求中列出了相信是本發(fā)明特點(diǎn)的新穎性特征。參照下面結(jié)合附圖所作的詳細(xì)描述,將更好地理解本發(fā)明本身、進(jìn)一步的目的及其優(yōu)點(diǎn)。
圖1A示出每一個(gè)都可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的典型網(wǎng)絡(luò);圖1B示出可用于數(shù)據(jù)處理系統(tǒng)內(nèi)的典型計(jì)算機(jī)體系結(jié)構(gòu),其中本發(fā)明可實(shí)現(xiàn)于該數(shù)據(jù)處理系統(tǒng)中;圖1C示出說(shuō)明在客戶端試圖訪問(wèn)服務(wù)器處的受保護(hù)資源時(shí)可使用的典型認(rèn)證過(guò)程的數(shù)據(jù)流程圖;圖ID示出說(shuō)明本發(fā)明可實(shí)現(xiàn)于其中的典型的基于Web的環(huán)境的網(wǎng)絡(luò)圖;圖1E示出說(shuō)明可能需要來(lái)自用戶的多個(gè)認(rèn)證操作的典型在線事務(wù)的例子的方框圖;圖2A示出說(shuō)明關(guān)于用戶向第一聯(lián)合企業(yè)發(fā)起的事務(wù),而該企業(yè)作為響應(yīng)調(diào)用聯(lián)合環(huán)境內(nèi)的下游實(shí)體處的動(dòng)作的聯(lián)合環(huán)境的術(shù)語(yǔ)的方框圖;圖2B示出說(shuō)明給定域處的預(yù)先存在系統(tǒng)與根據(jù)本發(fā)明實(shí)施例的一些本發(fā)明聯(lián)合體系結(jié)構(gòu)組件的集成的方框圖;圖2C示出說(shuō)明根據(jù)本發(fā)明的實(shí)現(xiàn)的聯(lián)合體系結(jié)構(gòu)的方框圖;圖2D示出說(shuō)明根據(jù)本發(fā)明在使用信任代理(proxy)和信任中介(broker)的聯(lián)合域之間的一組示例性信任關(guān)系的方框圖;圖3A示出說(shuō)明用于在聯(lián)合環(huán)境中創(chuàng)建斷言的發(fā)布域處的一般過(guò)程的流程圖;圖3B示出說(shuō)明用于拆開(kāi)斷言的依賴域處的一般過(guò)程的流程圖;圖3C示出說(shuō)明用于響應(yīng)發(fā)布域處的用戶行為而從發(fā)布域向依賴域推斷言的特定過(guò)程的流程圖;圖3D示出說(shuō)明用于響應(yīng)發(fā)布域主動(dòng)攔截對(duì)依賴域的傳出請(qǐng)求而從發(fā)布域向依賴域推斷言的特定過(guò)程的流程圖;圖3E示出說(shuō)明拉模型的流程圖,該模型中依賴域在試圖滿足依賴域從請(qǐng)求用戶處接收的資源請(qǐng)求時(shí)向發(fā)布域請(qǐng)求用戶所需的任何斷言;圖4示出說(shuō)明支持聯(lián)合單次登錄操作的聯(lián)合環(huán)境的方框圖;圖5示出說(shuō)明在聯(lián)合域中用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的聯(lián)合用戶生命周期管理功能的一些組件的方框圖;圖6示出說(shuō)明用于使用根據(jù)本發(fā)明實(shí)施例的聯(lián)合用戶生命周期管理功能執(zhí)行單次登錄操作的過(guò)程的流程圖;圖7示出說(shuō)明將信任關(guān)系管理從聯(lián)合用戶生命周期管理分離的邏輯組件的組織的方框圖;
圖8A示出說(shuō)明聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖;圖8B示出說(shuō)明聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖,其說(shuō)明了本發(fā)明提供聯(lián)合功能和接觸點(diǎn)功能與信任關(guān)系管理功能的分離的方式;圖8C示出說(shuō)明聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖,其說(shuō)明了本發(fā)明提供聯(lián)合操作功能與接觸點(diǎn)功能的進(jìn)一步分離的方式;圖8D示出說(shuō)明聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖,其說(shuō)明了本發(fā)明提供將聯(lián)合操作功能進(jìn)一步分為聯(lián)合用戶生命周期管理功能和聯(lián)合關(guān)系管理功能的方式;圖9A-9B示出說(shuō)明聯(lián)合關(guān)系包括與聯(lián)合功能的選擇有關(guān)的信任關(guān)系的方式的維恩圖;圖10示出說(shuō)明由一對(duì)業(yè)務(wù)伙伴為了在聯(lián)合計(jì)算環(huán)境內(nèi)交互而執(zhí)行的一系列操作的數(shù)據(jù)流圖;圖11示出說(shuō)明業(yè)務(wù)伙伴之間為準(zhǔn)備建立聯(lián)合關(guān)系而建立信任關(guān)系的交互的方框圖;圖12示出說(shuō)明包括聯(lián)合功能的計(jì)算環(huán)境的配置的方框圖;圖13A示出說(shuō)明可由系統(tǒng)管理用戶用于在企業(yè)的計(jì)算環(huán)境內(nèi)建立聯(lián)合關(guān)系的聯(lián)合關(guān)系管理控制臺(tái)的方框圖;圖13B示出說(shuō)明由管理用戶用于在聯(lián)合伙伴之間建立聯(lián)合關(guān)系的聯(lián)合關(guān)系管理應(yīng)用內(nèi)的圖形用戶界面窗口的圖;圖13C-13D示出說(shuō)明由聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用為了在企業(yè)的計(jì)算環(huán)境內(nèi)建立聯(lián)合關(guān)系而獲得特定于伙伴的數(shù)據(jù)而啟動(dòng)的數(shù)據(jù)流的方框圖;圖14示出通過(guò)使用在將通過(guò)聯(lián)合關(guān)系進(jìn)行交互的聯(lián)合伙伴之間交換的導(dǎo)出/導(dǎo)入文件,以自動(dòng)方式建立聯(lián)合關(guān)系的過(guò)程的流程圖。
具體實(shí)施例方式
一般地,可能包含或涉及本發(fā)明的設(shè)備包括各種數(shù)據(jù)處理技術(shù)。因此,作為背景,在對(duì)本發(fā)明進(jìn)行更詳細(xì)地描述之前,描述分布式數(shù)據(jù)處理系統(tǒng)內(nèi)硬件和軟件組件的典型組織。
現(xiàn)在參照附圖,圖1A示出了每一個(gè)可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的典型網(wǎng)絡(luò)。分布式數(shù)據(jù)處理系統(tǒng)100包括網(wǎng)絡(luò)101,其是可用于在分布式數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備和計(jì)算機(jī)之間提供通信鏈路的媒介。網(wǎng)絡(luò)101可包括諸如有線或光纜的永久性連接、或通過(guò)電話或無(wú)線通信實(shí)現(xiàn)的臨時(shí)連接。在所示出的例子中,服務(wù)器102和服務(wù)器103隨同存儲(chǔ)單元104一起連接到網(wǎng)絡(luò)101。另外,客戶端105-107也連接到網(wǎng)絡(luò)101??蛻舳?05-107和服務(wù)器102-103可由諸如大型機(jī)、個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)等的各種計(jì)算設(shè)備代表。分布式數(shù)據(jù)處理系統(tǒng)100可包括其他未示出的服務(wù)器、客戶端、路由器、其他設(shè)備和對(duì)等體系結(jié)構(gòu)。
在所示出的例子中,分布式數(shù)據(jù)處理系統(tǒng)100可包括因特網(wǎng),其中網(wǎng)絡(luò)101代表使用各種協(xié)議彼此通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的世界范圍的集合,其中的各種協(xié)議例如有LDAP(輕量目錄訪問(wèn)協(xié)議)、TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)、HTTP(超文本傳輸協(xié)議)等。當(dāng)然,分布式數(shù)據(jù)處理系統(tǒng)100也可包括許多不同類型的網(wǎng)絡(luò),例如內(nèi)部網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。例如,服務(wù)器102直接支持客戶端109和網(wǎng)絡(luò)110,該網(wǎng)絡(luò)包含無(wú)線通信鏈路。網(wǎng)絡(luò)使能電話111通過(guò)無(wú)線鏈路112連接到網(wǎng)絡(luò)110,而PDA 113通過(guò)無(wú)線鏈路114連接到網(wǎng)絡(luò)110。電話111和PDA 113也能在它們自己之間使用諸如BluetoothTM無(wú)線技術(shù)的適當(dāng)技術(shù)通過(guò)無(wú)線鏈路115直接傳送數(shù)據(jù),以創(chuàng)建所謂的個(gè)人區(qū)域網(wǎng)或個(gè)人自組織(ad-hoc)網(wǎng)絡(luò)。以類似方式,PDA 113能通過(guò)無(wú)線通信鏈路116向PDA 107傳送數(shù)據(jù)。
本發(fā)明也可在實(shí)現(xiàn)于各種硬件平臺(tái)和軟件環(huán)境之上。圖1A旨在作為異構(gòu)計(jì)算環(huán)境的示例而并非作為本發(fā)明的體系結(jié)構(gòu)限制。
現(xiàn)在參照?qǐng)D1B,該圖示出了諸如圖1A中示出的本發(fā)明可實(shí)現(xiàn)于其中的數(shù)據(jù)處理系統(tǒng)的典型計(jì)算機(jī)體系結(jié)構(gòu)。數(shù)據(jù)處理系統(tǒng)120包含連接到內(nèi)部系統(tǒng)總線123的一個(gè)或多個(gè)中央處理單元(CPU)122,該總線將隨機(jī)存儲(chǔ)器(RAM)124、只讀存儲(chǔ)器126和輸入/輸出適配器128互連,輸入/輸出適配器128支持諸如打印機(jī)130、磁盤(pán)132、或諸如音頻輸出系統(tǒng)等其他未示出設(shè)備的各種I/O設(shè)備。系統(tǒng)總線123還連接提供對(duì)通信鏈路136的訪問(wèn)的通信適配器134。用戶接口適配器148連接諸如鍵盤(pán)140和鼠標(biāo)142或諸如觸摸屏、輸入筆、麥克風(fēng)等其他未示出設(shè)備的各種用戶設(shè)備。顯示適配器144將系統(tǒng)總線123連接到顯示設(shè)備146。
本領(lǐng)域的普通技術(shù)人員將理解,圖1B中的硬件可根據(jù)系統(tǒng)實(shí)現(xiàn)而改變。例如,系統(tǒng)可能具有諸如基于IntelPentium的處理器和數(shù)字信號(hào)處理器(DSP)的一個(gè)或多個(gè)處理器,及一種或多種類型的易失或非易失存儲(chǔ)器。其他外圍設(shè)備可用于附加于或代替圖1B中示出的硬件。所示出的例子并不意味著是對(duì)本發(fā)明的體系結(jié)構(gòu)限制。
除了能夠?qū)崿F(xiàn)于各種硬件平臺(tái)上之外,本發(fā)明也可實(shí)現(xiàn)于各種軟件環(huán)境中。典型的操作系統(tǒng)可用于控制每一數(shù)據(jù)處理系統(tǒng)內(nèi)的程序執(zhí)行。例如,一個(gè)設(shè)備可能運(yùn)行Unix操作系統(tǒng),而另一設(shè)備包含簡(jiǎn)單Java運(yùn)行時(shí)環(huán)境。典型的計(jì)算機(jī)平臺(tái)可能包括瀏覽器,其是眾所周知的用于訪問(wèn)各種格式的超文本文檔的軟件應(yīng)用,這些格式例如有圖形文件、字處理文件、可擴(kuò)展標(biāo)記語(yǔ)言(XML)、超文本標(biāo)記語(yǔ)言(HTML)、手持設(shè)備標(biāo)記語(yǔ)言(HDML)、無(wú)線標(biāo)記語(yǔ)言(WML)和各種其他格式及類型的文件。應(yīng)當(dāng)指出,圖1A中示出的分布式數(shù)據(jù)處理系統(tǒng)被設(shè)想為完全能夠支持各種對(duì)等子網(wǎng)和對(duì)等服務(wù)。
現(xiàn)在參照?qǐng)D1C,其數(shù)據(jù)流圖示出了可在客戶端試圖訪問(wèn)服務(wù)器處的受保護(hù)資源時(shí)使用的典型認(rèn)證過(guò)程。如圖所示,客戶端工作站150處的用戶通過(guò)執(zhí)行于該客戶端工作站上的用戶的Web瀏覽器尋求通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)對(duì)服務(wù)器151上的受保護(hù)資源的訪問(wèn)。受保護(hù)或受控的資源是對(duì)其的訪問(wèn)被控制或限制的資源(應(yīng)用、對(duì)象、文檔、頁(yè)、文件、可執(zhí)行代碼、或其他可計(jì)算資源、通信類型的資源等)。受保護(hù)資源由僅能被認(rèn)證的和/或授權(quán)的用戶訪問(wèn)的統(tǒng)一資源定位器(URL)、或更一般地由統(tǒng)一資源標(biāo)識(shí)符(URI)所標(biāo)識(shí)。該計(jì)算機(jī)網(wǎng)絡(luò)可以是如圖1A或圖1B中所示的因特網(wǎng)、內(nèi)部網(wǎng)或其他網(wǎng)絡(luò),而服務(wù)器可以是Web應(yīng)用服務(wù)器(WAS)、服務(wù)器應(yīng)用、小服務(wù)程序進(jìn)程等。
在用戶請(qǐng)求諸如域“ibm.com”內(nèi)的網(wǎng)頁(yè)的服務(wù)器端受保護(hù)資源時(shí)啟動(dòng)該過(guò)程(步驟152)。術(shù)語(yǔ)“服務(wù)器側(cè)”和“客戶端側(cè)”分別指網(wǎng)絡(luò)環(huán)境內(nèi)的服務(wù)器或客戶端處的動(dòng)作或?qū)嶓w。Web瀏覽器(或相關(guān)聯(lián)的應(yīng)用或小程序)產(chǎn)生發(fā)送到作為域“ibm.com”的宿主的Web服務(wù)器的HTTP請(qǐng)求消息(步驟153)。術(shù)語(yǔ)“請(qǐng)求”和“響應(yīng)”應(yīng)該被理解為包括適于在特定操作中涉及的信息(例如消息、通信協(xié)議信息、或其他相關(guān)信息)的傳輸?shù)臄?shù)據(jù)格式化。
該服務(wù)器確定它不具有對(duì)于該客戶端的活動(dòng)會(huì)話(步驟154),因此該服務(wù)器啟動(dòng)并完成服務(wù)器與客戶端之間的SSL(安全套接字層)會(huì)話的建立(步驟155),這需要客戶端與服務(wù)器之間的多次信息傳輸。在SSL會(huì)話建立之后,隨后的通信消息在該SSL會(huì)話之內(nèi)傳輸;由于SSL會(huì)話之內(nèi)的加密通信消息,任何秘密信息保持安全。
但是,服務(wù)器在允許用戶能夠訪問(wèn)受保護(hù)信息之前,需要確定該用戶的身份,因此,服務(wù)器通過(guò)向客戶端發(fā)送某一類型的認(rèn)證質(zhì)詢,要求該用戶執(zhí)行認(rèn)證過(guò)程(步驟156)。認(rèn)證質(zhì)詢可以是任何格式的,例如HTML表單。然后,用戶提供所請(qǐng)求或要求的信息(步驟157),例如用戶名或其他類型的用戶標(biāo)識(shí)符以及相關(guān)的口令或其他形式的秘密信息。
將認(rèn)證響應(yīng)信息發(fā)送給服務(wù)器(步驟158)。此時(shí),服務(wù)器例如通過(guò)檢索先前提交的注冊(cè)信息并將呈現(xiàn)的認(rèn)證信息與用戶的已存儲(chǔ)信息進(jìn)行匹配,對(duì)該用戶或客戶端進(jìn)行認(rèn)證(159)。假設(shè)該認(rèn)證成功,為經(jīng)認(rèn)證的用戶或客戶端建立活動(dòng)會(huì)話。服務(wù)器為該客戶端創(chuàng)建會(huì)話標(biāo)識(shí)符,且該標(biāo)識(shí)符將附隨到在該會(huì)話內(nèi)來(lái)自該客戶端的任何隨后的請(qǐng)求消息。
然后,服務(wù)器檢索最初請(qǐng)求的網(wǎng)頁(yè)并向客戶端發(fā)送HTTP響應(yīng)消息(步驟160),以此滿足用戶對(duì)于受保護(hù)資源的最初請(qǐng)求。此時(shí),用戶可通過(guò)點(diǎn)擊瀏覽器窗口內(nèi)的超文本鏈接請(qǐng)求“ibm.com”內(nèi)的另一頁(yè)(步驟161),且瀏覽器向服務(wù)器發(fā)送另一HTTP請(qǐng)求消息(步驟162)。此時(shí),由于用戶的會(huì)話標(biāo)識(shí)符在HTTP請(qǐng)求消息中返回給服務(wù)器,所以服務(wù)器識(shí)別出用戶具有活動(dòng)會(huì)話(步驟163),且該服務(wù)器在另一HTTP響應(yīng)消息中向客戶端發(fā)送回所請(qǐng)求的網(wǎng)頁(yè)(步驟164)。盡管圖1C示出了典型的現(xiàn)有技術(shù)過(guò)程,但應(yīng)當(dāng)指出,可示出其他可選會(huì)話狀態(tài)管理技術(shù),例如URL重寫(xiě)或使用cookie識(shí)別具有活動(dòng)會(huì)話的用戶,這可能包括使用用于提供認(rèn)證證明的相同cookie。
現(xiàn)在參照?qǐng)D1D,其網(wǎng)絡(luò)圖示出了本發(fā)明可在其中實(shí)現(xiàn)的典型的基于Web的環(huán)境。在該環(huán)境中,客戶端171處的瀏覽器170的用戶希望訪問(wèn)DNS域173中Web應(yīng)用服務(wù)器172上的、或DNS域175中Web應(yīng)用服務(wù)器174上的受保護(hù)資源。
以類似于圖1C中所示的方式,用戶可請(qǐng)求多個(gè)域中的一個(gè)處的受保護(hù)資源。與僅示出了特定域處的單個(gè)服務(wù)器的圖1C形成對(duì)比,圖1D中的每個(gè)域具有多個(gè)服務(wù)器。具體地,每個(gè)域可能具有相關(guān)的認(rèn)證服務(wù)器176和177。
在該例中,在客戶端171發(fā)出對(duì)域173處的受保護(hù)資源的請(qǐng)求后,Web應(yīng)用服務(wù)器172確定它不具有對(duì)于客戶端171的活動(dòng)會(huì)話,且它請(qǐng)求認(rèn)證服務(wù)器176執(zhí)行對(duì)客戶端171的適當(dāng)認(rèn)證操作。認(rèn)證服務(wù)器176將認(rèn)證操作的結(jié)果傳送給Web應(yīng)用服務(wù)器172。如果用戶(或代表該用戶的瀏覽器170或客戶端171)被成功認(rèn)證,則Web應(yīng)用服務(wù)器172建立對(duì)于客戶端171的會(huì)話,并返回所請(qǐng)求的受保護(hù)資源。典型地,一旦用戶被認(rèn)證服務(wù)器認(rèn)證,則cookie可被設(shè)置并存儲(chǔ)在瀏覽器中的cookie緩存中。圖1D僅是可在多個(gè)服務(wù)器之中共享域的處理資源特別是以便執(zhí)行認(rèn)證操作的一種方式的例子。
以類似方式,在客戶端171發(fā)出對(duì)域175處的受保護(hù)資源的請(qǐng)求后,認(rèn)證服務(wù)器177執(zhí)行對(duì)客戶端171的適當(dāng)認(rèn)證操作,此后Web應(yīng)用服務(wù)器174建立對(duì)于客戶端171的會(huì)話,并返回所請(qǐng)求的受保護(hù)資源。因此,圖1D示出客戶端171可具有不同域中的多個(gè)并發(fā)會(huì)話,然而需要完成多個(gè)認(rèn)證操作以建立這些并發(fā)會(huì)話。
現(xiàn)在參照?qǐng)D1E,其方框圖示出了可能需要來(lái)自用戶的多個(gè)認(rèn)證操作的典型在線事務(wù)的例子。再次參照?qǐng)D1C和圖1D,可能需要用戶在獲得對(duì)受控資源的訪問(wèn)之前完成認(rèn)證操作,如圖1C所示。盡管圖1C中未示出,可在服務(wù)器151上部署認(rèn)證管理器,以檢索并使用對(duì)用戶進(jìn)行認(rèn)證所需的用戶信息。如圖1D中所示,用戶可能具有不同域173和175中的多個(gè)并發(fā)會(huì)話,并且盡管它們未在圖1D中示出,但每個(gè)域可使用認(rèn)證管理器取代或附加于認(rèn)證服務(wù)器。以類似方式,圖1E也示出了一組域,它們中的每一個(gè)支持某種類型的認(rèn)證管理器。圖1E示出了用戶在訪問(wèn)需要用戶完成對(duì)每個(gè)域的認(rèn)證操作的多個(gè)域時(shí)可能經(jīng)歷的一些困難。
用戶190可能注冊(cè)于ISP域191,該ISP域可能支持為了完成對(duì)于域191的事務(wù)的目的而對(duì)用戶190進(jìn)行認(rèn)證的認(rèn)證管理器192。ISP域191可以是提供因特網(wǎng)連接服務(wù)、電子郵件服務(wù)和可能的其他電子商務(wù)服務(wù)的因特網(wǎng)服務(wù)提供者(ISP)?;蛘撸琁SP域191可以是用戶190經(jīng)常訪問(wèn)的因特網(wǎng)門(mén)戶。
類似地,域193、195和197代表典型的Web服務(wù)提供者。政府域193支持為完成各種與政府有關(guān)的事務(wù)而對(duì)用戶進(jìn)行認(rèn)證的認(rèn)證管理器194。銀行域195支持為完成與在線銀行的事務(wù)而對(duì)用戶進(jìn)行認(rèn)證的認(rèn)證管理器196。電子商務(wù)域197支持為完成在線購(gòu)買而對(duì)用戶進(jìn)行認(rèn)證的認(rèn)證管理器198。
如先前指出的,在用戶通過(guò)訪問(wèn)不同域的資源而試圖從因特網(wǎng)或萬(wàn)維網(wǎng)中的一個(gè)域轉(zhuǎn)移到另一個(gè)域時(shí),用戶可能遇到多個(gè)用戶認(rèn)證請(qǐng)求或要求,這能顯著減慢用戶在一組域上的進(jìn)度。使用圖1E作為示例性環(huán)境,用戶190可能參與與電子商務(wù)域197的復(fù)雜在線事務(wù),其中用戶試圖在該域中購(gòu)買這樣的在線服務(wù),該在線服務(wù)限于至少18歲且具有有效駕照、有效信用卡和美國(guó)銀行賬戶的用戶。該在線事務(wù)可能涉及域191、193、195和197。
通常,用戶可能不在參與典型在線事務(wù)的每個(gè)域內(nèi)維護(hù)身份和/或?qū)傩?。在該例中,用?90可能已向該用戶的ISP注冊(cè)了他或她的身份,但為完成該在線事務(wù),該用戶可能還需要向域193、195和197進(jìn)行認(rèn)證。如果每個(gè)域不維持該用戶的身份,則該用戶的在線事務(wù)可能失敗。即使該用戶能被每個(gè)域認(rèn)證,也不保證不同域能為了完成該用戶的事務(wù)而在它們之間傳送信息。對(duì)于圖1E中所示出的用戶190,不存在這樣的現(xiàn)有技術(shù)環(huán)境,其允許用戶190向例如ISP 191的第一Web站點(diǎn)進(jìn)行認(rèn)證,然后出于單次登錄目的將認(rèn)證令牌傳送給諸如域193、195和197的其他Web服務(wù)提供者。
以上給出了對(duì)一些當(dāng)前技術(shù)的簡(jiǎn)短描述,對(duì)余下的附圖的描述涉及本發(fā)明可操作于其中的聯(lián)合計(jì)算機(jī)環(huán)境。但是,在對(duì)本發(fā)明進(jìn)行更詳細(xì)的討論之前,介紹一些術(shù)語(yǔ)。
術(shù)語(yǔ)術(shù)語(yǔ)“實(shí)體”或“方”(party)一般性地指組織、個(gè)人或代表組織、個(gè)人或另一系統(tǒng)操作的系統(tǒng)。術(shù)語(yǔ)“域”暗示著網(wǎng)絡(luò)環(huán)境內(nèi)的其他特征,但術(shù)語(yǔ)“實(shí)體”、“方”和“域”可互換使用。例如,術(shù)語(yǔ)“域”也可指DNS(域名系統(tǒng))域,或更一般地,指包括對(duì)外部實(shí)體來(lái)說(shuō)表現(xiàn)為一邏輯單元的各種設(shè)備和應(yīng)用的數(shù)據(jù)處理系統(tǒng)。
術(shù)語(yǔ)“請(qǐng)求”和“響應(yīng)”應(yīng)當(dāng)理解為包括適合于在特定操作中涉及的信息的傳送的數(shù)據(jù)格式化,其中的信息例如有消息、通信協(xié)議信息或其他相關(guān)信息。受保護(hù)資源是對(duì)其的訪問(wèn)被控制或限制的資源(應(yīng)用、對(duì)象、文檔、頁(yè)、文件、可執(zhí)行代碼、或其他計(jì)算資源、通信類型的資源等)。
令牌提供成功操作的直接證據(jù),且其由執(zhí)行該操作的實(shí)體所產(chǎn)生,例如,在成功認(rèn)證操作之后生成的認(rèn)證令牌。Kerberos令牌是可用于本發(fā)明中的認(rèn)證令牌的一個(gè)例子。關(guān)于Kerberos的更多信息可在Kohl等人的“Kerberos網(wǎng)絡(luò)認(rèn)證服務(wù)(版本5)”(The Kerberos NetworkAuthentication Service(V5)),因特網(wǎng)工程任務(wù)組(IETF)征求意見(jiàn)稿(RFC)1510,09/1993中查找到。
斷言提供某一動(dòng)作的間接證據(jù)。斷言可提供身份、認(rèn)證、屬性、授權(quán)決定或其他信息和/或操作的間接證據(jù)。認(rèn)證斷言提供由并非認(rèn)證服務(wù)而是偵聽(tīng)該認(rèn)證服務(wù)的實(shí)體所作認(rèn)證的間接證據(jù)。
安全性斷言標(biāo)記語(yǔ)言(SAML)斷言是可用于本發(fā)明內(nèi)的可能斷言格式的例子。SAML已由結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織(OASIS)頒布,OASIS是非營(yíng)利的全球化社團(tuán)。在“OASIS安全性斷言標(biāo)記語(yǔ)言(SAML)的斷言和協(xié)議”(Assertions and Protocol for the OASIS Security AssertionMarkup Language(SAML)),委員會(huì)規(guī)范01,05/31/2002中對(duì)SAML描述如下安全性斷言標(biāo)記語(yǔ)言(SAML)是用于交換安全性信息的基于XML的框架。安全性信息以關(guān)于主體的斷言的形式表示,其中主體是在某安全域中具有身份的實(shí)體(人或計(jì)算機(jī))。主體的典型例子是人,其由他或她在特定因特網(wǎng)DNS域中的電子郵件地址來(lái)標(biāo)識(shí)。斷言能傳達(dá)關(guān)于由主體執(zhí)行的認(rèn)證行為、主體的屬性和關(guān)于主體是否被允許訪問(wèn)某資源的認(rèn)證決定的信息。斷言被表示為XML構(gòu)造且具有嵌套的結(jié)構(gòu),借此單個(gè)斷言可能包含關(guān)于認(rèn)證、授權(quán)和屬性的若干不同內(nèi)部聲明。注意,包含認(rèn)證聲明的斷言僅描述先前發(fā)生的認(rèn)證的行為。斷言由SAML管理機(jī)構(gòu)發(fā)布,SAML管理機(jī)構(gòu)即認(rèn)證管理機(jī)構(gòu)、屬性管理機(jī)構(gòu)和策略決定點(diǎn)。SAML定義了客戶端通過(guò)其可向SAML管理機(jī)構(gòu)請(qǐng)求斷言并從它們得到響應(yīng)的協(xié)議。由基于XML的請(qǐng)求和響應(yīng)消息格式組成的該協(xié)議可綁定到多種不同的基礎(chǔ)通信和傳輸協(xié)議;SAML目前定義了一個(gè)到HTTP之上的SOAP的綁定。SAML管理機(jī)構(gòu)在創(chuàng)建它們的響應(yīng)時(shí)可使用各種信息源,諸如外部策略存儲(chǔ)和作為輸入而在請(qǐng)求中接收的斷言。因此,盡管客戶端總是使用斷言,而SAML管理機(jī)構(gòu)既可以是斷言的生成者又可以是斷言的使用者。SAML規(guī)范規(guī)定斷言是提供由發(fā)布者作出的一個(gè)或多個(gè)聲明的信息包。SAML允許發(fā)布者作出三種不同的斷言聲明認(rèn)證,其中指定主體在特定時(shí)間通過(guò)特定手段被認(rèn)證;授權(quán),其中對(duì)允許指定主體訪問(wèn)指定資源的請(qǐng)求已被許可或拒絕;以及屬性,其中指定主體與所提供的屬性相關(guān)聯(lián)。如下面進(jìn)一步討論的,必要時(shí)可將各種斷言格式轉(zhuǎn)換為其他斷言格式。
認(rèn)證是對(duì)用戶所提供的或代表用戶提供的一組證書(shū)進(jìn)行驗(yàn)證的過(guò)程。通過(guò)驗(yàn)證用戶所知道的某事物、用戶所具有的某事物、或用戶所是的某事物,即關(guān)于用戶的某一物理特征來(lái)完成認(rèn)證。用戶所知道的某事物可包括共享的秘密,例如用戶的口令,或者通過(guò)驗(yàn)證僅為特定用戶所知的某事物,如用戶的加密密鑰。用戶所具有的某事物可包括智能卡或硬件令牌。關(guān)于用戶的某物理特征可包括生物測(cè)定輸入,如指紋或視網(wǎng)膜圖紋。
認(rèn)證證書(shū)是用于各種認(rèn)證協(xié)議的一組質(zhì)詢/響應(yīng)信息。例如,用戶名和口令組合是認(rèn)證證書(shū)最常見(jiàn)的形式。其他認(rèn)證證書(shū)的形式可包括各種形式的質(zhì)詢/響應(yīng)信息、公鑰基礎(chǔ)結(jié)構(gòu)(PKI)證書(shū)、智能卡、生物測(cè)定等等。認(rèn)證證書(shū)與認(rèn)證斷言的區(qū)別在于認(rèn)證證書(shū)由用戶呈現(xiàn),作為與認(rèn)證服務(wù)器或認(rèn)證服務(wù)的認(rèn)證協(xié)議序列的一部分,而認(rèn)證斷言是關(guān)于用戶認(rèn)證證書(shū)的成功呈現(xiàn)和驗(yàn)證的聲明,并隨后必要時(shí)在實(shí)體之間傳輸。
有區(qū)別的現(xiàn)有技術(shù)的單次登錄方案如上所述,現(xiàn)有技術(shù)的單次登錄方案限于同構(gòu)環(huán)境,在這種同構(gòu)環(huán)境中已經(jīng)有在參與的企業(yè)之間預(yù)先建立的業(yè)務(wù)協(xié)議。這些業(yè)務(wù)協(xié)議建立了企業(yè)之間的信任,并規(guī)定了企業(yè)之間的信息的安全傳輸。這些業(yè)務(wù)協(xié)議還包括對(duì)這樣一些規(guī)則所達(dá)成的技術(shù)協(xié)議,這些規(guī)則是關(guān)于怎樣將用戶身份從一家企業(yè)向另一家企業(yè)進(jìn)行轉(zhuǎn)換或映射,以及怎樣在參與的企業(yè)之間傳輸用于對(duì)用戶進(jìn)行擔(dān)保的信息。
換句話說(shuō),以前的單次登錄方案允許一家企業(yè)基于預(yù)先協(xié)商或預(yù)先設(shè)置的協(xié)議信任由另一家企業(yè)所生成的認(rèn)證斷言(連同該斷言中提供的用戶身份)。每家不同的企業(yè)了解怎樣創(chuàng)建和解釋這樣的認(rèn)證斷言,即可以被已與其交換過(guò)類似協(xié)議的企業(yè)(例如在電子商務(wù)市場(chǎng)里的企業(yè))所理解的認(rèn)證斷言。這些同構(gòu)環(huán)境是緊密結(jié)合的,因?yàn)榇嬖谄髽I(yè)知道的用來(lái)跨越這些系統(tǒng)映射用戶身份的一種確定性的關(guān)系。由于用于建立單次登錄環(huán)境的業(yè)務(wù)協(xié)議,使得這種緊密結(jié)合是可能的。
本發(fā)明的聯(lián)合模型在萬(wàn)維網(wǎng)的情境中,用戶開(kāi)始期望這樣的能力,即從與一個(gè)因特網(wǎng)域上的應(yīng)用的交互跳轉(zhuǎn)到與另一域上的另一應(yīng)用的交互,而極少關(guān)心每一特定域之間的信息屏障。用戶不希望有由于不得不為了單個(gè)事務(wù)而向多個(gè)域進(jìn)行認(rèn)證所引起的挫敗感。換句話說(shuō),用戶期望各組織可以互操作,但是用戶通常還希望各域尊重他們的隱私。另外,用戶可能更希望限制永久存儲(chǔ)隱私信息的域。這些用戶期望存在于一個(gè)快速發(fā)展的異構(gòu)環(huán)境中,在此環(huán)境中,許多企業(yè)和組織都在發(fā)布相競(jìng)爭(zhēng)的認(rèn)證技術(shù)。
與現(xiàn)有技術(shù)的系統(tǒng)相反,本發(fā)明提供一種聯(lián)合模型,該模型允許企業(yè)向用戶提供單次登錄體驗(yàn)。換句話說(shuō),本發(fā)明支持一種聯(lián)合的異構(gòu)環(huán)境。作為本發(fā)明的目的一個(gè)示例,再次參照?qǐng)D1E,用戶190能夠向域191進(jìn)行認(rèn)證,并隨后使域191向每個(gè)可能參與該事務(wù)的下游域提供適當(dāng)?shù)臄嘌浴_@些下游域需要能夠理解并信任認(rèn)證斷言和/或其他類型的斷言,即使域191與這些其他下游域之間并不存在預(yù)先建立的斷言格式。除了識(shí)別斷言之外,下游的域也需要能夠?qū)嘌詢?nèi)包含的身份轉(zhuǎn)換為在特定域內(nèi)代表用戶190的身份,即使不存在預(yù)先建立的身份映射關(guān)系??墒?,應(yīng)該指出,本發(fā)明可應(yīng)用于各種類型的域,而并不限于作為示例性域在圖1E中描述的ISP類型的域。
本發(fā)明涉及一種聯(lián)合環(huán)境。一般地,一個(gè)企業(yè)有自己的用戶注冊(cè)表并維護(hù)與自己的用戶組的關(guān)系。通常,每家企業(yè)都有自己的對(duì)用戶進(jìn)行認(rèn)證的手段。然而,本發(fā)明的聯(lián)合模式允許企業(yè)以一種集體的方式進(jìn)行合作,以便通過(guò)企業(yè)對(duì)企業(yè)聯(lián)合的參與,一家企業(yè)的用戶可以利用與一組企業(yè)的關(guān)系。用戶可被許可訪問(wèn)聯(lián)合企業(yè)中任何一個(gè)的資源,就好像他們與每家企業(yè)均有直接的關(guān)系。用戶不需要在每一個(gè)感興趣的企業(yè)處進(jìn)行注冊(cè),并且用戶也不需要經(jīng)常對(duì)他們自己進(jìn)行識(shí)別和認(rèn)證。因此,在這種聯(lián)合環(huán)境內(nèi),認(rèn)證模式允許在信息技術(shù)領(lǐng)域內(nèi)快速發(fā)展的異構(gòu)環(huán)境中實(shí)現(xiàn)單次登錄體驗(yàn)。
在本發(fā)明中,聯(lián)合是諸如企業(yè)、組織、機(jī)構(gòu)等的這樣一組不同的實(shí)體,這些實(shí)體相互合作以向用戶提供單次登錄的、便于使用的體驗(yàn)。在本發(fā)明中,聯(lián)合環(huán)境與典型的單次登錄環(huán)境的不同之處在于,兩家企業(yè)無(wú)需具有直接的、預(yù)先建立的定義了怎樣傳輸用戶信息以及傳輸什么樣的用戶信息的關(guān)系。在聯(lián)合環(huán)境內(nèi),各實(shí)體提供服務(wù),這些服務(wù)處理對(duì)用戶進(jìn)行的認(rèn)證、接受由其他實(shí)體呈現(xiàn)的認(rèn)證斷言(例如認(rèn)證令牌)、以及提供被擔(dān)保的用戶的身份向本地實(shí)體內(nèi)可以理解的身份的某種形式的轉(zhuǎn)換。
聯(lián)合減輕了服務(wù)提供者的管理負(fù)擔(dān)。服務(wù)提供者可以依靠它對(duì)于聯(lián)合總體的信任關(guān)系;服務(wù)提供者無(wú)需管理認(rèn)證信息,例如用戶口令信息,因?yàn)樗梢砸揽坑脩舻恼J(rèn)證主域/身份提供者所完成的認(rèn)證。
本發(fā)明還涉及聯(lián)合身份管理系統(tǒng),該系統(tǒng)建立了一個(gè)基礎(chǔ),在此基礎(chǔ)上,松散結(jié)合的認(rèn)證、用戶登記、用戶簡(jiǎn)檔管理和/或授權(quán)服務(wù)跨越安全域進(jìn)行合作。聯(lián)合身份管理允許在完全不同的安全域上存在的服務(wù)安全地進(jìn)行互操作和合作,即便在這些完全不同的域上在基礎(chǔ)安全機(jī)制和操作系統(tǒng)平臺(tái)方面存在差異。一旦用戶在聯(lián)合內(nèi)建立了他們的參與,單次登錄體驗(yàn)便建立起來(lái)。
主域或身份提供者對(duì)依賴域或服務(wù)提供者如下面更詳細(xì)地解釋的,本發(fā)明提供了重大的用戶利益。本發(fā)明允許用戶在第一個(gè)實(shí)體處進(jìn)行認(rèn)證,在下文中該實(shí)體也被稱為用戶的主域、用戶的認(rèn)證主域或用戶的身份提供者。該第一個(gè)實(shí)體可以擔(dān)當(dāng)發(fā)布方,其發(fā)布用于在第二個(gè)實(shí)體上使用的關(guān)于該用戶的認(rèn)證斷言,這第二個(gè)實(shí)體可被看作一般化服務(wù)提供者。接著,該用戶通過(guò)呈現(xiàn)第一個(gè)實(shí)體發(fā)布的認(rèn)證斷言,而無(wú)需在第二個(gè)實(shí)體即服務(wù)提供者處顯式地進(jìn)行再次認(rèn)證,就能夠訪問(wèn)第二個(gè)不同實(shí)體上的受保護(hù)資源,這里的第二個(gè)實(shí)體被稱為依賴方。從發(fā)布方傳遞給依賴方的信息采用斷言的形式,且該斷言可包含采取聲明形式的不同類型的信息。例如,一個(gè)斷言可能是關(guān)于被認(rèn)證的用戶身份的聲明,或者它可能是關(guān)于與特定用戶相關(guān)聯(lián)的用戶屬性信息的聲明。
現(xiàn)在參照?qǐng)D2A,此框圖示出了針對(duì)一個(gè)事務(wù)的聯(lián)合環(huán)境的術(shù)語(yǔ),該事務(wù)由用戶向第一家聯(lián)合企業(yè)發(fā)起,作為回應(yīng),該企業(yè)在聯(lián)合環(huán)境中的下游實(shí)體處調(diào)用動(dòng)作。圖2A表明,取決于聯(lián)合內(nèi)的實(shí)體的視角,用于一個(gè)給定的聯(lián)合操作的術(shù)語(yǔ)會(huì)有所不同。更具體地,圖2A示出本發(fā)明支持信任的傳遞性和認(rèn)證斷言過(guò)程的傳遞性;一個(gè)域可以根據(jù)其對(duì)由另一個(gè)域斷言的身份的信任發(fā)布斷言。用戶202通過(guò)對(duì)企業(yè)204中的受保護(hù)資源的請(qǐng)求來(lái)啟動(dòng)一個(gè)事務(wù)。如果用戶202已經(jīng)通過(guò)了企業(yè)204的認(rèn)證,或?qū)⒃谝粋€(gè)事務(wù)過(guò)程中由企業(yè)204最終認(rèn)證,則在這次聯(lián)合會(huì)話中,企業(yè)204就是用戶的主域即用戶的身份提供者。假設(shè)該事務(wù)要求由企業(yè)206進(jìn)行某種類型的操作,并且企業(yè)204將一斷言傳送給企業(yè)206,則企業(yè)204對(duì)于該特定操作是發(fā)布域,而企業(yè)206對(duì)于該操作是依賴域;換句話說(shuō),對(duì)于該當(dāng)前事務(wù)來(lái)說(shuō),企業(yè)206是服務(wù)提供者。假定該事務(wù)需要進(jìn)一步的操作,從而企業(yè)206向企業(yè)208傳送一個(gè)斷言,則企業(yè)206對(duì)于所請(qǐng)求的操作是發(fā)布域,而企業(yè)208對(duì)于該操作是依賴域;在這種情況下,企業(yè)208可被看作另一個(gè)下游服務(wù)提供者,盡管聯(lián)合事務(wù)通??擅枋鰹閮H涉及兩個(gè)域,即身份提供者和服務(wù)提供者。
在本發(fā)明的聯(lián)合環(huán)境中,用戶進(jìn)行認(rèn)證的域被稱為用戶的(認(rèn)證)主域或用戶的身份提供者。身份提供者維護(hù)認(rèn)證證書(shū),認(rèn)證證書(shū)可以由用戶的雇主、用戶的ISP、或某種其他商業(yè)實(shí)體物理地支持。盡管由于可能存在多個(gè)企業(yè)有能力生成并驗(yàn)證用戶的認(rèn)證證書(shū),而在一聯(lián)合環(huán)境中可能會(huì)存在多個(gè)企業(yè)皆可擔(dān)當(dāng)用戶的主域,但是聯(lián)合事務(wù)通??擅枋鰹閮H涉及單個(gè)身份提供者。
從認(rèn)證的視角看,認(rèn)證斷言的發(fā)布方通常是用戶的身份提供者即用戶的認(rèn)證主域。用戶的主域可能會(huì)、也可能不會(huì)為該用戶維護(hù)個(gè)人信息或簡(jiǎn)檔信息。于是,從涉及個(gè)人可識(shí)別的信息、個(gè)性化信息或其他用戶屬性的屬性視角看,屬性斷言的發(fā)布域可能是、也可能不是用戶的主域。為了避免任何混淆,可為屬性主域和認(rèn)證主域使用分別的術(shù)語(yǔ),但是,下文中的術(shù)語(yǔ)“主域”可以解釋為指認(rèn)證主域。
然而,在給定聯(lián)合會(huì)話的范圍內(nèi),通常有一個(gè)且僅有一個(gè)域擔(dān)當(dāng)用戶的身份提供者即用戶的主域。一旦用戶向該域進(jìn)行了認(rèn)證,在此會(huì)話持續(xù)期間,該聯(lián)合內(nèi)所有其他的域或企業(yè)都僅被視為服務(wù)提供者即依賴方。
已知本發(fā)明提供了一種聯(lián)合的基礎(chǔ)結(jié)構(gòu),該基礎(chǔ)結(jié)構(gòu)可被添加到現(xiàn)有系統(tǒng)中而同時(shí)最小化對(duì)現(xiàn)有的非聯(lián)合體系結(jié)構(gòu)的影響,則用戶的主域也可參與到聯(lián)合環(huán)境中的事實(shí)不必然改變?cè)谟脩舻闹饔蛏线M(jìn)行的認(rèn)證。換句話說(shuō),即使主域被集成到根據(jù)本發(fā)明實(shí)現(xiàn)的聯(lián)合環(huán)境中,當(dāng)用戶在用戶的主域執(zhí)行認(rèn)證操作時(shí),應(yīng)該具有相同的終端用戶體驗(yàn)。盡管如此,應(yīng)該指出,并非給定企業(yè)的所有用戶都必須要參與到聯(lián)合環(huán)境中。
此外,主域也可參與到聯(lián)合環(huán)境中的事實(shí)不必然改變用戶注冊(cè),例如用戶帳戶的建立。例如,用戶仍然可通過(guò)獨(dú)立于聯(lián)合環(huán)境的原有或現(xiàn)存注冊(cè)過(guò)程在某一域上建立帳戶。換句話說(shuō),在主域上的用戶帳戶的建立可能包括、也可能不包括建立在整個(gè)聯(lián)合中皆有效的(例如通過(guò)身份轉(zhuǎn)換信息)帳戶信息。但是,如果存在能夠?qū)τ脩暨M(jìn)行認(rèn)證的單個(gè)聯(lián)合域,即在聯(lián)合內(nèi)有且僅有一個(gè)域是用戶已向其注冊(cè)過(guò)的,則可期望這個(gè)域?qū)?dān)當(dāng)該用戶的主域或身份提供者,以便支持該用戶在聯(lián)合環(huán)境中的事務(wù)。
如果用戶在聯(lián)合環(huán)境內(nèi)有多個(gè)可能的主域,則用戶可通過(guò)不止一個(gè)進(jìn)入點(diǎn)進(jìn)入此聯(lián)合。換句話說(shuō),用戶可在多個(gè)能夠擔(dān)當(dāng)該用戶的身份提供者的域中擁有帳戶,并且這些域并不必需擁有關(guān)于其他域的信息和關(guān)于用戶在其他域上的身份的信息。
盡管用戶進(jìn)行認(rèn)證所在的域被稱為用戶的主域或用戶的身份提供者,發(fā)布域是一個(gè)發(fā)布為另一個(gè)域即依賴域所使用的斷言的聯(lián)合實(shí)體。發(fā)布域通常是但不必然是用戶的主域或用戶的身份提供者。因此,通常是這樣的情況,即如上所述,發(fā)布方已經(jīng)通過(guò)典型的認(rèn)證協(xié)議對(duì)用戶進(jìn)行了驗(yàn)證。然而,有可能該發(fā)布方之前曾擔(dān)當(dāng)過(guò)依賴方,并由此從不同的發(fā)布方接收過(guò)斷言。換句話說(shuō),由于用戶發(fā)起的事務(wù)可能級(jí)聯(lián)通過(guò)聯(lián)合環(huán)境內(nèi)一系列的企業(yè),接收方可能隨后在下游事務(wù)中擔(dān)當(dāng)發(fā)布方。一般地,具有代表用戶發(fā)布認(rèn)證斷言的能力的任何域均可擔(dān)當(dāng)發(fā)布域。
依賴域是接收來(lái)自發(fā)布方的斷言的域。依賴域能夠接受、信任和理解由第三方即發(fā)布域代表用戶所發(fā)布的斷言。使用適當(dāng)?shù)恼J(rèn)證管理機(jī)構(gòu)來(lái)解釋認(rèn)證斷言通常是依賴方的責(zé)任。此外,有可能依賴方能夠?qū)μ囟ㄓ脩暨M(jìn)行認(rèn)證,也就是說(shuō),擔(dān)當(dāng)用戶的主域或身份提供者,但是也有可能依賴方不能通過(guò)常規(guī)方法對(duì)特定用戶進(jìn)行認(rèn)證。因此,依賴方是這樣的域或企業(yè),該域或企業(yè)依賴于用戶呈現(xiàn)的認(rèn)證斷言,并向用戶提供單次登錄體驗(yàn),而不是提示用戶輸入用戶的認(rèn)證證書(shū)作為與該用戶的交互會(huì)話的一部分。
聯(lián)合體系結(jié)構(gòu)——用于原有系統(tǒng)的聯(lián)合前端現(xiàn)在參考圖2B,此框圖示出了在給定域內(nèi)預(yù)先存在的系統(tǒng)和與根據(jù)本發(fā)明實(shí)施例的本發(fā)明的一些聯(lián)合體系結(jié)構(gòu)組件的集成。聯(lián)合環(huán)境包括了為用戶提供多種服務(wù)的聯(lián)合實(shí)體。用戶212與客戶端設(shè)備214交互,客戶端設(shè)備214可支持瀏覽器應(yīng)用216和其他的各種客戶端應(yīng)用218。用戶212與客戶端設(shè)備214、瀏覽器216或任何其他擔(dān)當(dāng)用戶與其他設(shè)備和服務(wù)之間的接口的軟件是不同的。在某些情況下,以下描述會(huì)在客戶端應(yīng)用中顯式地執(zhí)行動(dòng)作的用戶和代表用戶執(zhí)行動(dòng)作的客戶端應(yīng)用之間作出區(qū)別。不過(guò)一般而言,請(qǐng)求者是可被假定為代表用戶執(zhí)行動(dòng)作的中介,諸如基于客戶端的應(yīng)用、瀏覽器、SOAP客戶端等等。
瀏覽器應(yīng)用216可以是包括存在于移動(dòng)設(shè)備中的典型的瀏覽器,該瀏覽器包含許多模塊,諸如HTTP通信組件220和標(biāo)記語(yǔ)言(ML)解釋器222。瀏覽器應(yīng)用216也可支持可能需要、也可能不需要虛擬機(jī)運(yùn)行時(shí)環(huán)境的插件,例如Web服務(wù)客戶端224,和/或可下載的小應(yīng)用程序。Web服務(wù)客戶端224可使用簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP),SOAP是一個(gè)輕量協(xié)議,用于定義分散的、分布式環(huán)境中結(jié)構(gòu)化和類型化信息的交換。SOAP是基于XML的協(xié)議,由三部分組成包封,它定義了一個(gè)框架,用于描述消息內(nèi)是什么內(nèi)容以及怎樣處理該消息;一組編碼規(guī)則,用于表達(dá)應(yīng)用定義的數(shù)據(jù)類型的實(shí)例;以及約定,用于表示遠(yuǎn)程過(guò)程調(diào)用和響應(yīng)。用戶212可使用瀏覽器應(yīng)用216訪問(wèn)基于Web的服務(wù),但用戶212也可通過(guò)客戶端設(shè)備214上的其他Web服務(wù)客戶端來(lái)訪問(wèn)Web服務(wù)。附圖中所示出的本發(fā)明的一些示例通過(guò)用戶的瀏覽器使用HTTP重定向,而在聯(lián)合環(huán)境中的實(shí)體之間交換信息。但是,應(yīng)該指出,本發(fā)明可在多種通信協(xié)議之上實(shí)施,而并非要限于基于HTTP的通信。例如,聯(lián)合環(huán)境中的實(shí)體在必要時(shí)可以直接通信;消息不需要通過(guò)用戶的瀏覽器進(jìn)行重定向。
本發(fā)明可以這樣一種方式來(lái)實(shí)施,該方式使聯(lián)合環(huán)境所需的組件可以與預(yù)先存在的系統(tǒng)集成在一起。圖2B示出了用于將這些組件實(shí)現(xiàn)為預(yù)先存在的系統(tǒng)的前端的一個(gè)實(shí)施例。一個(gè)聯(lián)合域中預(yù)先存在的組件可被認(rèn)為是原有應(yīng)用或后端處理組件230,它們以與圖2C中所示的類似方式包括認(rèn)證服務(wù)運(yùn)行時(shí)(ASR)服務(wù)器232。當(dāng)該域控制了對(duì)應(yīng)用服務(wù)器234的訪問(wèn)時(shí),ASR服務(wù)器232負(fù)責(zé)對(duì)用戶進(jìn)行認(rèn)證,這里的應(yīng)用服務(wù)器234可被認(rèn)為生成、檢索、或處理受保護(hù)資源235。該域可繼續(xù)使用原有用戶注冊(cè)應(yīng)用236來(lái)注冊(cè)用戶,以便訪問(wèn)應(yīng)用服務(wù)器234。對(duì)已注冊(cè)用戶進(jìn)行認(rèn)證所需的信息被存儲(chǔ)在原有用戶注冊(cè)表238中。
在加入到聯(lián)合環(huán)境之后,該域可以繼續(xù)進(jìn)行操作而無(wú)需聯(lián)合組件的干預(yù)。換句話說(shuō),可以對(duì)該域進(jìn)行配置,以便用戶可以繼續(xù)直接訪問(wèn)特定應(yīng)用服務(wù)器或其他受保護(hù)資源,而無(wú)需通過(guò)接觸點(diǎn)服務(wù)器或?qū)崿F(xiàn)該接觸點(diǎn)服務(wù)器功能的其他組件;以這種方式訪問(wèn)系統(tǒng)的用戶會(huì)經(jīng)歷典型的認(rèn)證流程和典型的訪問(wèn)。然而,當(dāng)如此進(jìn)行時(shí),直接訪問(wèn)原有系統(tǒng)的用戶將不能建立該域的接觸點(diǎn)服務(wù)器所知的聯(lián)合會(huì)話。
該域的原有功能可以通過(guò)使用聯(lián)合前端處理240集成到聯(lián)合環(huán)境中,該聯(lián)合前端處理240包括接觸點(diǎn)服務(wù)器242和信任代理服務(wù)器244(或更簡(jiǎn)單地,信任代理244或信任服務(wù)244),信任代理服務(wù)器244本身與安全令牌服務(wù)(STS)245以及聯(lián)合用戶生命周期管理服務(wù)器/服務(wù)246進(jìn)行交互,所有這些都在下文中參照?qǐng)D2C進(jìn)行了更詳細(xì)的描述。聯(lián)合配置應(yīng)用247允許管理用戶對(duì)聯(lián)合前端組件進(jìn)行配置,以允許它們通過(guò)聯(lián)合接口單元248與原有后端組件接口。
給定企業(yè)的原有或預(yù)先存在的認(rèn)證服務(wù)可使用各種公知的認(rèn)證方法或令牌,例如用戶名/口令或基于智能卡令牌的信息。但是,在本發(fā)明中,通過(guò)使用接觸點(diǎn)服務(wù)器,可以在聯(lián)合環(huán)境中使用原有認(rèn)證服務(wù)的功能。用戶可以繼續(xù)直接訪問(wèn)原有認(rèn)證服務(wù)器,而無(wú)需通過(guò)接觸點(diǎn)服務(wù)器,盡管以這種方式訪問(wèn)系統(tǒng)的用戶會(huì)經(jīng)歷典型的認(rèn)證流程和典型的訪問(wèn);直接訪問(wèn)原有認(rèn)證系統(tǒng)的用戶將無(wú)法根據(jù)本發(fā)明生成聯(lián)合認(rèn)證斷言以作為身份證明。聯(lián)合前端的職責(zé)之一是將接觸點(diǎn)服務(wù)器接收到的聯(lián)合認(rèn)證令牌轉(zhuǎn)換成為原有認(rèn)證服務(wù)所懂得的一種格式。因此,通過(guò)接觸點(diǎn)服務(wù)器訪問(wèn)聯(lián)合環(huán)境的用戶將無(wú)需向原有認(rèn)證服務(wù)的再次認(rèn)證。優(yōu)選地,將通過(guò)接觸點(diǎn)服務(wù)器和信任代理的組合向原有認(rèn)證服務(wù)認(rèn)證用戶,從而顯得好像用戶正在參加認(rèn)證對(duì)話。
聯(lián)合體系結(jié)構(gòu)——接觸點(diǎn)服務(wù)器、信任代理和信任中介現(xiàn)在參考圖2C,此框圖示出了根據(jù)本發(fā)明的實(shí)現(xiàn)的聯(lián)合體系結(jié)構(gòu)。聯(lián)合環(huán)境包括為用戶提供各種服務(wù)的聯(lián)合企業(yè)或類似實(shí)體。通過(guò)客戶端設(shè)備上的應(yīng)用,用戶可試圖訪問(wèn)各實(shí)體例如企業(yè)250處的資源。在每個(gè)聯(lián)合企業(yè)中的接觸點(diǎn)服務(wù)器例如企業(yè)250的接觸點(diǎn)(POC)服務(wù)器252是用戶進(jìn)入聯(lián)合環(huán)境的進(jìn)入點(diǎn)。由于接觸點(diǎn)服務(wù)器處理許多聯(lián)合需求,所以它最小化了對(duì)現(xiàn)有非聯(lián)合體系結(jié)構(gòu)例如原有系統(tǒng)中的現(xiàn)有組件的影響。接觸點(diǎn)服務(wù)器提供會(huì)話管理、協(xié)議轉(zhuǎn)換,并可能啟動(dòng)認(rèn)證和/或?qū)傩詳嘌赞D(zhuǎn)換。例如,接觸點(diǎn)服務(wù)器可以將HTTP或HTTPS消息轉(zhuǎn)換成SOAP,反之亦然。如在下文更詳細(xì)解釋的,接觸點(diǎn)服務(wù)器也可用于調(diào)用信任代理來(lái)轉(zhuǎn)換斷言,例如,從發(fā)布方接收的SAML令牌可以被轉(zhuǎn)換成接收方理解的Kerberos令牌。
信任代理(信任代理服務(wù)器或信任服務(wù)),例如在企業(yè)250處的信任代理(TP)254,建立并維護(hù)聯(lián)合內(nèi)的兩個(gè)實(shí)體之間的信任關(guān)系。信任代理通常具有這樣的能力,即處理從發(fā)布方使用的格式到接收方所理解的格式的認(rèn)證令牌格式轉(zhuǎn)換(通過(guò)安全令牌服務(wù),其在下文中被更詳細(xì)地描述)。
接觸點(diǎn)服務(wù)器和信任代理的共同使用最小化了實(shí)現(xiàn)聯(lián)合體系結(jié)構(gòu)對(duì)現(xiàn)有非聯(lián)合系統(tǒng)的影響。因此,本發(fā)明的聯(lián)合體系結(jié)構(gòu)需要為每個(gè)聯(lián)合實(shí)體實(shí)現(xiàn)至少一個(gè)接觸點(diǎn)服務(wù)器和至少一個(gè)信任代理,而不管該聯(lián)合實(shí)體是企業(yè)、域、還是其他邏輯或物理實(shí)體。不過(guò),本發(fā)明的聯(lián)合體系結(jié)構(gòu)不一定需要對(duì)現(xiàn)有的一組非聯(lián)合系統(tǒng)進(jìn)行改變。優(yōu)選地,對(duì)于給定的聯(lián)合實(shí)體僅存在單個(gè)信任代理,盡管基于可用性目的可以存在多個(gè)信任代理,或者,對(duì)于聯(lián)合實(shí)體內(nèi)的多種較小實(shí)體,例如企業(yè)內(nèi)部的單獨(dú)子公司來(lái)說(shuō),可以存在多個(gè)信任代理。可能的是,給定實(shí)體可以屬于不止一個(gè)聯(lián)合,但是這種情況不一定需要多個(gè)信任代理,因?yàn)閱蝹€(gè)信任代理能夠管理多個(gè)聯(lián)合內(nèi)的信任關(guān)系。
信任代理的職責(zé)之一可以是確定或負(fù)責(zé)確定另一個(gè)域和/或該域中的信任代理所需要的令牌類型。信任代理具有這樣的能力或責(zé)任,即處理從發(fā)布方使用的格式到接收方所理解的格式的認(rèn)證令牌格式轉(zhuǎn)換。信任代理254還可以負(fù)責(zé)對(duì)于企業(yè)250發(fā)生的任何用戶身份轉(zhuǎn)換或?qū)傩赞D(zhuǎn)換。此外,信任代理可支持化名的實(shí)現(xiàn),作為唯一標(biāo)識(shí)用戶的用戶身份的代表,而無(wú)需提供關(guān)于該用戶的實(shí)際身份的任何其他信息。此外,信任代理可發(fā)布供接觸點(diǎn)服務(wù)器使用的授權(quán)和/或會(huì)話證書(shū)。但是,如下所述,信任代理可調(diào)用信任中介以尋求協(xié)助??赡苄枰矸蒉D(zhuǎn)換,來(lái)將發(fā)布方已知的用戶身份和屬性映射成為對(duì)接收方有意義的用戶身份和屬性來(lái)說(shuō)。該轉(zhuǎn)換可被發(fā)布域的信任代理、接收域的信任代理或這兩者調(diào)用。
信任代理254可包括內(nèi)部化的組件(或與之進(jìn)行交互),該組件被顯示為安全令牌服務(wù)(STS)組件255,它將提供令牌轉(zhuǎn)換,并將調(diào)用認(rèn)證服務(wù)運(yùn)行時(shí)(ASR)256來(lái)驗(yàn)證和生成令牌。安全令牌服務(wù)提供了信任代理所需的令牌發(fā)布和驗(yàn)證服務(wù),其可包括身份轉(zhuǎn)換。因此,安全令牌服務(wù)包括到現(xiàn)有認(rèn)證服務(wù)運(yùn)行時(shí)的接口,或者它將認(rèn)證服務(wù)運(yùn)行時(shí)合并到該服務(wù)自身中。不是將安全令牌服務(wù)組件內(nèi)部化在信任代理中,而是也可將它實(shí)現(xiàn)為例如將由信任代理所調(diào)用的獨(dú)立組件,或者可將它例如作為應(yīng)用服務(wù)器的一部分內(nèi)部化在事務(wù)服務(wù)器中。
例如,STS組件可接收發(fā)布Kerberos令牌的請(qǐng)求。作為將為其創(chuàng)建令牌的用戶的認(rèn)證信息的一部分,該請(qǐng)求可包含含有用戶名和口令的二進(jìn)制令牌。STS組件將對(duì)比例如LDAP運(yùn)行時(shí)來(lái)驗(yàn)證該用戶名和口令(典型認(rèn)證),并將調(diào)用Kerberos KDC(密鑰分配中心)來(lái)為該用戶生成Kerberos票證(ticket)。此令牌被返回給信任代理,以在企業(yè)內(nèi)部使用;然而,這種使用可能包括將該令牌外部化,以便傳輸?shù)皆撀?lián)合內(nèi)的其他域。
以類似于關(guān)于圖1D所描述的方式,用戶可能期望訪問(wèn)聯(lián)合環(huán)境內(nèi)的多個(gè)企業(yè)例如企業(yè)250和企業(yè)260二者處的資源。以類似于上文中對(duì)于企業(yè)250所描述的方式,企業(yè)260包含接觸點(diǎn)服務(wù)器262、信任代理264、安全令牌服務(wù)265和認(rèn)證服務(wù)運(yùn)行時(shí)266。盡管用戶可以直接啟動(dòng)與每個(gè)企業(yè)的單獨(dú)事務(wù),但該用戶也可啟動(dòng)與企業(yè)250的、在該聯(lián)合環(huán)境中級(jí)聯(lián)進(jìn)行的事務(wù)。企業(yè)250可能需要與聯(lián)合環(huán)境內(nèi)的其他多家企業(yè)例如企業(yè)260合作,以完成特定事務(wù),即使當(dāng)用戶啟動(dòng)事務(wù)時(shí)可能還不知道這樣的必要性。企業(yè)260作為下游域參與其中,而且,如果必要的話,本發(fā)明允許企業(yè)250向企業(yè)260呈現(xiàn)聯(lián)合斷言以促進(jìn)該用戶的事務(wù)。
情況可能是,信任代理不知道怎樣解釋由相關(guān)接觸點(diǎn)服務(wù)器接收的認(rèn)證令牌,和/或怎樣轉(zhuǎn)換給定用戶身份和屬性。在這種情況下,該信任代理可選擇調(diào)用信任中介組件例如信任中介268的功能。信任中介維護(hù)與各個(gè)信任代理的關(guān)系,由此提供信任代理之間可傳遞的信任。使用信任中介允許聯(lián)合環(huán)境內(nèi)的每個(gè)實(shí)體例如企業(yè)250和260建立與信任中介的信任關(guān)系,而不是建立與聯(lián)合環(huán)境中的每個(gè)域的多個(gè)單獨(dú)信任關(guān)系。例如,當(dāng)企業(yè)260作為企業(yè)250的用戶所啟動(dòng)的事務(wù)的下游域參與時(shí),企業(yè)250處的信任代理254可以確信,企業(yè)260處的信任代理264通過(guò)在必要時(shí)調(diào)用信任中介268的協(xié)助可以理解來(lái)自信任代理254的斷言。盡管圖2C示出了具有單個(gè)信任中介的聯(lián)合環(huán)境,但是一個(gè)聯(lián)合環(huán)境可以具有多個(gè)信任中介。
應(yīng)該指出,盡管圖2C示出了作為不同實(shí)體的接觸點(diǎn)服務(wù)器252、信任代理254、安全令牌服務(wù)組件255和認(rèn)證服務(wù)運(yùn)行時(shí)256,但是這些組件未必實(shí)現(xiàn)于分離的設(shè)備上。例如,有可能將這些分離的組件的功能實(shí)現(xiàn)為單個(gè)物理設(shè)備上的應(yīng)用,或者可以將它們結(jié)合在單個(gè)應(yīng)用中。此外,圖2C示出了用于一家企業(yè)的單個(gè)接觸點(diǎn)服務(wù)器、單個(gè)信任代理和單個(gè)安全令牌服務(wù)器,但可選的配置可包括用于每家企業(yè)的多個(gè)接觸點(diǎn)服務(wù)器、多個(gè)信任代理和多個(gè)安全令牌服務(wù)器。接觸點(diǎn)服務(wù)器、信任代理、安全令牌服務(wù)以及其他聯(lián)合實(shí)體可以多種形式來(lái)實(shí)現(xiàn),這些形式例如有軟件應(yīng)用、對(duì)象、模塊、軟件庫(kù)等等。
信任代理/STS可能能夠接受并驗(yàn)證多種不同的認(rèn)證證書(shū),包括諸如用戶名和口令組合及Kerberos票證的傳統(tǒng)證書(shū),以及聯(lián)合認(rèn)證令牌格式,包括由第三方生成的認(rèn)證令牌。信任代理/STS可允許將認(rèn)證令牌作為在別處認(rèn)證的證明的接受。該認(rèn)證令牌由發(fā)布方生成,并用于指示用戶已經(jīng)向該發(fā)布方進(jìn)行了認(rèn)證。發(fā)布方生成認(rèn)證令牌,作為一種斷言用戶的已認(rèn)證身份的手段。信任代理/STS還能夠處理屬性令牌或用于保護(hù)通信會(huì)話或?qū)υ挼牧钆?,例如用于以類似于SSL會(huì)話標(biāo)識(shí)符的方式管理會(huì)話信息的那些令牌。
安全令牌服務(wù)按需要調(diào)用認(rèn)證服務(wù)運(yùn)行時(shí)。認(rèn)證服務(wù)運(yùn)行時(shí)支持能夠?qū)τ脩暨M(jìn)行認(rèn)證的認(rèn)證服務(wù)。認(rèn)證服務(wù)擔(dān)當(dāng)認(rèn)證管理機(jī)構(gòu),其通過(guò)認(rèn)證響應(yīng)提供成功或失敗的認(rèn)證嘗試的指示。信任代理/STS可以使認(rèn)證服務(wù)內(nèi)部化,例如其中存在不需要與現(xiàn)存的原有基礎(chǔ)結(jié)構(gòu)交互的Web服務(wù)的全新安裝的情況。否則,STS組件將調(diào)用外部認(rèn)證服務(wù)來(lái)驗(yàn)證認(rèn)證令牌。例如,STS組件可以“拆開(kāi)”含有用戶名/口令的二進(jìn)制令牌,并隨后使用LDAP服務(wù)訪問(wèn)用戶注冊(cè)表來(lái)驗(yàn)證所呈現(xiàn)的證書(shū)。
當(dāng)STS組件被諸如應(yīng)用服務(wù)器的其他組件所使用時(shí),STS組件可用于生成到原有認(rèn)證系統(tǒng)的單次登錄所需的令牌。因此,STS組件可用于令牌的轉(zhuǎn)換,該令牌的轉(zhuǎn)換可以是為了內(nèi)部目的,即在企業(yè)內(nèi)部,也可以是為了外部目的,即跨越聯(lián)合內(nèi)的各企業(yè)。作為內(nèi)部目的的一個(gè)示例,Web應(yīng)用服務(wù)器可以通過(guò)IBM CICS(客戶信息控制系統(tǒng))事務(wù)網(wǎng)關(guān)與主機(jī)接口;CICS是提供企業(yè)級(jí)別的用于使命關(guān)鍵性應(yīng)用的在線事務(wù)管理及連通性的一系列應(yīng)用服務(wù)器和連接器。Web應(yīng)用服務(wù)器可調(diào)用STS組件,以將Kerberos票證(如該Web應(yīng)用服務(wù)器內(nèi)部使用的)轉(zhuǎn)換為CICS事務(wù)網(wǎng)關(guān)所需的IBM RACF通行票證(passticket)。
可以使用上面介紹過(guò)的術(shù)語(yǔ)如“發(fā)布方”和“依賴方”或“身份提供者”和“服務(wù)提供者”來(lái)解釋圖2C中所示的實(shí)體。作為建立和維護(hù)信任關(guān)系的一部分,身份提供者的信任代理可以確定服務(wù)提供者的信任代理需要/接受什么令牌類型。這樣,當(dāng)從安全令牌服務(wù)調(diào)用令牌服務(wù)時(shí),信任代理使用這一信息。當(dāng)需要身份提供者的信任代理為服務(wù)提供者生成認(rèn)證斷言時(shí),該信任代理確定所需的令牌類型,并向安全令牌服務(wù)請(qǐng)求適當(dāng)?shù)牧钆啤?br>
當(dāng)服務(wù)提供者的信任代理從身份提供者接收到認(rèn)證斷言時(shí),該信任代理知道它所期望的斷言類型,以及對(duì)于在服務(wù)提供者內(nèi)部使用所需要的斷言類型。因此,服務(wù)提供者的信任代理請(qǐng)求安全令牌服務(wù)基于所接收到的認(rèn)證斷言中的令牌,生成所需的內(nèi)部使用的令牌。
信任代理和信任中介都具有將從身份提供者接收到的斷言轉(zhuǎn)換為服務(wù)提供者可以理解的格式的能力。信任中介具有這樣的能力,即為每個(gè)與之有直接信任關(guān)系的信任代理解釋斷言格式,從而允許該信任中介在身份提供者和服務(wù)提供者之間提供斷言轉(zhuǎn)換。任一方均可通過(guò)其本地信任代理請(qǐng)求這種轉(zhuǎn)換。因此,身份提供者的信任代理可以在斷言被發(fā)送到服務(wù)提供者之前請(qǐng)求對(duì)該斷言的轉(zhuǎn)換。同樣,服務(wù)提供者的信任代理可以請(qǐng)求對(duì)從身份提供者接收到的斷言的轉(zhuǎn)換。
斷言轉(zhuǎn)換包括用戶身份轉(zhuǎn)換、認(rèn)證斷言轉(zhuǎn)換、屬性斷言轉(zhuǎn)換、或其他形式的斷言轉(zhuǎn)換。重中以上觀點(diǎn),斷言轉(zhuǎn)換由聯(lián)合內(nèi)的信任組件即信任代理和信任中介來(lái)處理。信任代理可以在身份提供者或在服務(wù)提供者處本地執(zhí)行轉(zhuǎn)換,或者信任代理也可以調(diào)用來(lái)自信任中介的協(xié)助。
假定身份提供者和服務(wù)提供者已經(jīng)具有與信任中介的單獨(dú)信任關(guān)系,則如果需要,該信任中介能夠動(dòng)態(tài)創(chuàng)建、即中介安排發(fā)布方與依賴方之間新的信任關(guān)系。在信任中介提供了初始的信任關(guān)系中介安排操作之后,身份提供者和服務(wù)提供者就可以直接維護(hù)此關(guān)系,從而無(wú)需為未來(lái)的轉(zhuǎn)換需求調(diào)用該信任中介。應(yīng)該指出,認(rèn)證令牌的轉(zhuǎn)換可以發(fā)生在三個(gè)可能的地點(diǎn)身份提供者的信任代理、服務(wù)提供者的信任代理、及信任中介。優(yōu)選地,身份提供者的信任代理生成信任中介所理解的認(rèn)證斷言,以發(fā)送到服務(wù)提供者。然后,服務(wù)提供者請(qǐng)求將來(lái)自信任中介的該令牌轉(zhuǎn)換為可被服務(wù)提供者識(shí)別的格式。令牌轉(zhuǎn)換可以發(fā)生在認(rèn)證斷言的傳輸之前、傳輸之后,或在傳輸前與傳輸后都發(fā)生。
聯(lián)合體系結(jié)構(gòu)內(nèi)的信任關(guān)系在根據(jù)本發(fā)明實(shí)現(xiàn)的聯(lián)合環(huán)境內(nèi),存在兩種類型的“信任域”必須被管理企業(yè)信任域和聯(lián)合信任域。這兩種類型的信任域之間的不同部分地基于管理與信任域的信任關(guān)系的業(yè)務(wù)協(xié)議以及用于建立信任的技術(shù)。企業(yè)信任域包含由企業(yè)所管理的哪些組件;該信任域內(nèi)的所有組件互相信任。一般地,在企業(yè)內(nèi)建立信任不需要業(yè)務(wù)協(xié)議,因?yàn)樗渴鸬募夹g(shù)例如通過(guò)要求組件之間相互認(rèn)證的SSL會(huì)話或通過(guò)將各組件放置在單個(gè)、緊密受控的數(shù)據(jù)中心從而物理控制和鄰近性說(shuō)明了隱含的信任,而在企業(yè)內(nèi)創(chuàng)建了內(nèi)在的信任。參照?qǐng)D2B,原有應(yīng)用和后端處理系統(tǒng)可以代表企業(yè)信任域,其中各組件在安全內(nèi)部網(wǎng)上進(jìn)行通信。
聯(lián)合信任域是那些跨越企業(yè)邊界的域;從一個(gè)視角看,聯(lián)合信任域可表示不同企業(yè)信任域之間的信任關(guān)系。聯(lián)合信任域是通過(guò)跨越企業(yè)邊界的聯(lián)合伙伴之間的信任代理建立的。信任關(guān)系涉及某種引導(dǎo)過(guò)程,通過(guò)該引導(dǎo)過(guò)程在信任代理之間建立初始信任。該引導(dǎo)過(guò)程的一部分可包括共享密鑰和規(guī)則的建立,所述規(guī)則定義了期望的和/或允許的令牌類型以及標(biāo)識(shí)符轉(zhuǎn)換。一般地,該引導(dǎo)過(guò)程可在帶外(out-of-band)實(shí)現(xiàn),因?yàn)樵撘龑?dǎo)過(guò)程還可能包括業(yè)務(wù)協(xié)議的建立,這些業(yè)務(wù)協(xié)議管理企業(yè)對(duì)聯(lián)合的參與以及與這種參與相關(guān)的責(zé)任。
存在多種可能機(jī)制用于在聯(lián)合業(yè)務(wù)模型中建立信任。在一個(gè)聯(lián)合模型中,基于業(yè)務(wù)原因,需要聯(lián)合參與者之間的信任的一種基本概念,以便提供某一程度的對(duì)在參與者之間傳輸?shù)臄嘌?包括令牌和屬性信息)是有效的確信。如果信任關(guān)系不存在,那么服務(wù)提供者就不能依賴于從身份提供者接收的斷言;服務(wù)提供者無(wú)法使用這些斷言來(lái)確定怎樣解釋從身份提供者接收的任何信息。
例如,一家大公司可能希望與幾千名全球客戶鏈接,并且該公司可以使用現(xiàn)有技術(shù)解決方案。作為第一個(gè)例子,該公司可以要求全球客戶使用來(lái)自一家商業(yè)證書(shū)管理機(jī)構(gòu)的數(shù)字證書(shū)來(lái)建立相互的信任。該商業(yè)證書(shū)管理機(jī)構(gòu)使得該公司的服務(wù)器能夠信任位于每個(gè)全球客戶處的服務(wù)器。作為第二個(gè)例子,該公司可以使用Kerberos實(shí)現(xiàn)第三方信任;該公司及其全球客戶可以實(shí)現(xiàn)受信任的第三方Kerberos域服務(wù),該域服務(wù)實(shí)現(xiàn)基于共享秘密的信任。作為第三個(gè)例子,該公司可以利用其全球客戶的服務(wù)器所相互信任的專有安全消息令牌來(lái)建立專用方案。
如果該公司需要管理與少量全球客戶的信任關(guān)系,這些方案中的任何一種可能都是可接受的,但是如果存在成百上千的潛在聯(lián)合伙伴,則這可能會(huì)變得難于管理。例如,盡管該公司強(qiáng)制其較小型伙伴實(shí)現(xiàn)專用方案是可能的,但是該公司能夠?qū)ζ漭^大型伙伴強(qiáng)加許多要求卻是不太可能的。
就本發(fā)明而言,企業(yè)將使用通過(guò)信任代理及可能地信任中介建立和維護(hù)的信任關(guān)系。本發(fā)明的聯(lián)合體系結(jié)構(gòu)的優(yōu)勢(shì)在于,它不在企業(yè)及其潛在聯(lián)合伙伴的當(dāng)前基礎(chǔ)結(jié)構(gòu)之上和之外強(qiáng)加額外要求。
但是,本發(fā)明不會(huì)解除企業(yè)及其潛在聯(lián)合伙伴的初步工作,該初步工作是建立參與聯(lián)合所需的業(yè)務(wù)和責(zé)任協(xié)議所需的。此外,參與者不能忽視信任關(guān)系的技術(shù)引導(dǎo)。本發(fā)明允許這種引導(dǎo)是靈活性的,例如,第一個(gè)聯(lián)合伙伴可以某一信息發(fā)布Kerberos票證,而第二個(gè)聯(lián)合伙伴可以某一信息發(fā)布SAML認(rèn)證斷言。
在本發(fā)明中,信任關(guān)系由信任代理所管理,這些信任代理可包括根據(jù)兩個(gè)信任代理之間預(yù)先建立的關(guān)系對(duì)從身份提供者接收的令牌進(jìn)行驗(yàn)證和轉(zhuǎn)換的安全令牌服務(wù)(或可能與之進(jìn)行交互)。在一家聯(lián)合企業(yè)無(wú)法與另一家聯(lián)合企業(yè)建立信任關(guān)系(以及令牌轉(zhuǎn)換)的情況下,可調(diào)用信任中介;但是,該聯(lián)合企業(yè)將需要與信任中介建立關(guān)系。
現(xiàn)在參考圖2D,此框圖示出了根據(jù)本發(fā)明在使用信任代理和信任中介的各聯(lián)合域之間的一組示例性的信任關(guān)系。盡管圖2C介紹了信任中介,圖2D還說(shuō)明了在本發(fā)明的聯(lián)合體系結(jié)構(gòu)內(nèi)的可傳遞的信任關(guān)系的重要性。
聯(lián)合域271-273分別包括信任代理274-276。信任代理274與信任代理275具有直接的信任關(guān)系277。信任中介280與信任代理275具有直接的信任關(guān)系278,而信任中介280還與信任代理276具有直接的信任關(guān)系279?;谂c其他聯(lián)合伙伴的可傳遞的信任,信任中介280被用于代表聯(lián)合的參與者來(lái)建立信任關(guān)系。可傳遞信任的原理允許信任代理275和信任代理276通過(guò)信任中介280具有被中介安排的信任關(guān)系281。信任代理275和信任代理276都無(wú)需了解怎樣轉(zhuǎn)換或驗(yàn)證另一方的斷言;可以調(diào)用信任中介將斷言轉(zhuǎn)換為在另一信任代理上有效的、被信任的和可理解的斷言。
通過(guò)使用ebXML(使用XML的電子商務(wù))標(biāo)準(zhǔn),可以用XML來(lái)表示規(guī)定關(guān)于聯(lián)合企業(yè)之間的信任關(guān)系的契約義務(wù)和責(zé)任的業(yè)務(wù)協(xié)議。例如,可以用ebXML文檔表示直接的信任關(guān)系;共享直接信任關(guān)系的每個(gè)聯(lián)合域會(huì)有一份以ebXML文檔表示的合同的副本。聯(lián)合內(nèi)各實(shí)體的操作特征可以規(guī)定于ebXML編排(choreography)內(nèi)并發(fā)布在ebXML注冊(cè)表中;希望參與特定聯(lián)合例如以便操作信任代理或信任中介的任何企業(yè)均需要符合已發(fā)布的要求,這些要求是該特定聯(lián)合為該聯(lián)合內(nèi)所有的信任代理或信任中介規(guī)定的。安全令牌服務(wù)可以分析這些ebXML文檔,以獲得關(guān)于來(lái)自其他域的令牌將被轉(zhuǎn)換的方式的操作細(xì)節(jié)。不過(guò)應(yīng)該指出的是,對(duì)于實(shí)現(xiàn)聯(lián)合內(nèi)的信任關(guān)系的方式,本發(fā)明可以使用其他標(biāo)準(zhǔn)和機(jī)制來(lái)規(guī)定關(guān)于此方式的細(xì)節(jié)。
聯(lián)合體系結(jié)構(gòu)內(nèi)的斷言處理如上所述,聯(lián)合內(nèi)用戶的體驗(yàn)部分地由關(guān)于用戶或?yàn)榱擞脩舳豢缬騻鬏數(shù)臄嘌运鶝Q定。斷言提供關(guān)于用戶的認(rèn)證狀態(tài)的信息、屬性信息以及其他信息。使用認(rèn)證斷言可以消除用戶向其訪問(wèn)的每個(gè)站點(diǎn)處進(jìn)行重新認(rèn)證的需要。在聯(lián)合環(huán)境內(nèi)部存在兩種模型使依賴域從發(fā)布域得到斷言推模型和拉模型。在推模型中,用戶的斷言與用戶對(duì)依賴域的請(qǐng)求一同傳播。在拉模型中,在依賴域接收用戶的請(qǐng)求,而無(wú)某種所需的信息,且接著依賴域向發(fā)布域請(qǐng)求相關(guān)的或所需的斷言。
給定用于在聯(lián)合環(huán)境內(nèi)使用斷言的這些模型,現(xiàn)在對(duì)本發(fā)明的描述轉(zhuǎn)到一組圖,該組圖描述用于在本發(fā)明的聯(lián)合環(huán)境內(nèi)創(chuàng)建和使用斷言的一組過(guò)程。圖3A示出了在發(fā)布域或發(fā)布方處的一般化過(guò)程,此過(guò)程用于在聯(lián)合環(huán)境中創(chuàng)建斷言,而圖3B示出了在依賴域或依賴方處的一般化過(guò)程,此過(guò)程用于“拆開(kāi)”斷言,即,用于通過(guò)提取和分析斷言的信息將斷言縮減為其基本信息。圖3C和圖3D通過(guò)示出推模型的兩個(gè)變體而示出了圖3A中所示的一般化過(guò)程的更詳細(xì)處理,在該推模型中,在發(fā)布域中生成斷言,并接著與用戶的請(qǐng)求一起傳送到依賴域。圖3E示出了拉模型,在此模型中,當(dāng)依賴域試圖滿足由該依賴域從發(fā)出請(qǐng)求的用戶處接收到的資源請(qǐng)求時(shí),依賴域向發(fā)布域請(qǐng)求用戶的任何所需斷言。
現(xiàn)在參考圖3A,此流程圖示出了在發(fā)布域處的一般化過(guò)程,此過(guò)程用于在聯(lián)合環(huán)境中創(chuàng)建斷言。當(dāng)發(fā)布域的接觸點(diǎn)服務(wù)器為一個(gè)斷言而被觸發(fā)時(shí),此過(guò)程開(kāi)始(步驟302)。接觸點(diǎn)服務(wù)器可以接收來(lái)自依賴域的對(duì)于給定用戶的特定斷言的請(qǐng)求,或者它也可以攔截去往要求斷言的已知依賴域的傳出請(qǐng)求;這些情形分別參照?qǐng)D3C和圖3D進(jìn)行了如下更詳細(xì)的描述。響應(yīng)于為一個(gè)斷言而被觸發(fā),發(fā)布域的接觸點(diǎn)服務(wù)器向發(fā)布域的信任代理請(qǐng)求該斷言(步驟304),該信任代理生成該斷言(步驟306),并且添加信任信息,諸如斷言/令牌的密碼/簽名;如果需要,發(fā)布域的信任代理可請(qǐng)求信任中介的協(xié)助來(lái)生成所需的斷言。在生成斷言之后,發(fā)布域的信任代理接著將該斷言返回給發(fā)布域的接觸點(diǎn)服務(wù)器(步驟308),該接觸點(diǎn)服務(wù)器接著以適當(dāng)方式例如通過(guò)將該斷言插入到傳出的HTTP或SOAP消息中而將該斷言置入到傳出的數(shù)據(jù)流中(步驟310),從而完成該過(guò)程。
圖3A示出了用于在發(fā)布域處創(chuàng)建斷言的過(guò)程,該過(guò)程中無(wú)需使用“本地錢包”(local wallet)。但是,本發(fā)明允許包括本地錢包功能。一般地,本地錢包是客戶端側(cè)代碼,它可擔(dān)當(dāng)用于便利事務(wù)的用戶屬性信息或其他信息的安全數(shù)據(jù)存儲(chǔ);客戶端側(cè)代碼也可參與到斷言傳輸?shù)耐颇P秃?或拉模型中。當(dāng)本地錢包主動(dòng)參與到協(xié)議中時(shí),在生成斷言以及將斷言插入?yún)f(xié)議流的方面,本地錢包實(shí)現(xiàn)接觸點(diǎn)服務(wù)器功能的功能子集。使用本地錢包不允許本地錢包實(shí)現(xiàn)發(fā)生在接觸點(diǎn)服務(wù)器與信任代理之間的基于信任的交互。在需要附加的信任關(guān)系的情況下,必須調(diào)用接觸點(diǎn)服務(wù)器。
現(xiàn)在參照?qǐng)D3B,此流程圖示出了在依賴域處的用于拆開(kāi)斷言的一般化過(guò)程。當(dāng)依賴域的接觸點(diǎn)服務(wù)器接收到一個(gè)消息及其相關(guān)聯(lián)的斷言時(shí)(步驟322),該過(guò)程開(kāi)始,此后接觸點(diǎn)服務(wù)器提取該斷言并將該斷言轉(zhuǎn)發(fā)給依賴域的信任代理(步驟324)。依賴域的信任代理從該斷言中提取包括從發(fā)布域接收到的令牌的信息(步驟326);依賴域的信任代理將調(diào)用安全令牌服務(wù)來(lái)驗(yàn)證這個(gè)令牌,包括該令牌中的信息和諸如密碼及簽名的關(guān)于該令牌的信任信息,此后,如果合適,則為用戶返回本地有效令牌(步驟328)。
作為步驟326的一部分,信任代理將確定該斷言的來(lái)源,即發(fā)布方。如果信任代理能夠理解從該發(fā)布域接收的信任斷言,則信任代理將內(nèi)部執(zhí)行步驟328。如果信任代理不能理解/信任從該發(fā)布域接收的信任斷言,則信任代理可調(diào)用來(lái)自信任中介的協(xié)助。如果該斷言不能被驗(yàn)證,則將會(huì)生成適當(dāng)?shù)腻e(cuò)誤響應(yīng)。
假設(shè)該斷言被驗(yàn)證,則依賴域的信任代理為該用戶建立所需的本地信息(步驟330)。例如,本地信息可能包括后端原有應(yīng)用所需的認(rèn)證證書(shū)。依賴域的信任代理將所需的信息返回給依賴域的接觸點(diǎn)服務(wù)器(步驟332),該接觸點(diǎn)服務(wù)器為用戶建立本地會(huì)話。
在接觸點(diǎn)服務(wù)器為用戶建立會(huì)話之后,該用戶成為經(jīng)認(rèn)證的用戶。接觸點(diǎn)服務(wù)器可使用此會(huì)話信息來(lái)進(jìn)一步管理用戶與該域之間的任何事務(wù),直到注銷或超時(shí)事件出現(xiàn)為止。已知接觸點(diǎn)服務(wù)器擁有用戶的經(jīng)認(rèn)證身份,如果必要的話,接觸點(diǎn)服務(wù)器可根據(jù)此特定用戶的身份和與此特定用戶相關(guān)聯(lián)的任何授權(quán)策略,為這個(gè)請(qǐng)求獲得授權(quán)。然后,接觸點(diǎn)服務(wù)器將該用戶的請(qǐng)求以及任何相關(guān)信息轉(zhuǎn)發(fā)給所請(qǐng)求的后端應(yīng)用或服務(wù)(步驟334),從而完成該過(guò)程。
應(yīng)該指出,在接觸點(diǎn)服務(wù)器和信任代理之間傳輸?shù)臄?shù)據(jù)項(xiàng)以及這些數(shù)據(jù)項(xiàng)的格式可能不同。不是從消息中提取斷言并僅將該斷言轉(zhuǎn)發(fā)給信任代理,接觸點(diǎn)服務(wù)器可將整個(gè)消息轉(zhuǎn)發(fā)給信任代理。例如,信任代理處的處理可包括諸如對(duì)SOAP消息的簽名驗(yàn)證這樣的步驟,該步驟會(huì)需要整個(gè)SOAP包封。
現(xiàn)在參照?qǐng)D3C,此流程圖示出了一個(gè)特定的過(guò)程,此過(guò)程用于響應(yīng)發(fā)布域處的用戶動(dòng)作而從發(fā)布域向依賴域推斷言。當(dāng)用戶從發(fā)布域內(nèi)的網(wǎng)頁(yè)或類似資源上訪問(wèn)到依賴域的鏈接時(shí)(步驟342),該過(guò)程開(kāi)始,從而調(diào)用某種形式的CGI(通用網(wǎng)關(guān)接口)型處理來(lái)建立特定的斷言。發(fā)布域識(shí)別依賴域?qū)嘌缘男枰哪芰σ馕吨c其上實(shí)現(xiàn)了本發(fā)明的聯(lián)合基礎(chǔ)結(jié)構(gòu)的現(xiàn)存原有系統(tǒng)的緊密結(jié)合。這還意味著發(fā)布方與依賴方之間的緊密連接,以至于發(fā)布方不需要調(diào)用信任代理來(lái)建立所需的斷言;在某些類型的已經(jīng)很好地建立了信任關(guān)系的聯(lián)合實(shí)體之間,這種緊密的連接可能是適合的。
調(diào)用發(fā)布域處的后端處理以建立所需的斷言(步驟344),這可包括調(diào)用本地信任代理處的功能。然后,建立對(duì)依賴域的用戶請(qǐng)求,包括所需的斷言(步驟346),并且發(fā)布域?qū)⒃摂嘌砸约坝脩粽?qǐng)求傳輸給依賴域(步驟348),從而完成該過(guò)程。當(dāng)依賴域接收到該請(qǐng)求及其相關(guān)聯(lián)的斷言時(shí),依賴域會(huì)接著以圖3B所示的方式對(duì)斷言進(jìn)行驗(yàn)證。
現(xiàn)在參照?qǐng)D3D,此流程圖示出了一個(gè)特定的過(guò)程,此過(guò)程用于響應(yīng)發(fā)布域主動(dòng)攔截去往依賴域的傳出請(qǐng)求,而從發(fā)布域向依賴域推斷言。當(dāng)用戶請(qǐng)求依賴域上的受保護(hù)資源時(shí)(步驟352),該過(guò)程開(kāi)始。接觸點(diǎn)服務(wù)器例如通過(guò)過(guò)濾傳出的消息中的預(yù)定的統(tǒng)一資源標(biāo)識(shí)符(URI)、某些類型的消息、某些類型的消息內(nèi)容,或通過(guò)某種其他方式攔截傳出的請(qǐng)求(步驟354)。然后,發(fā)布域的接觸點(diǎn)服務(wù)器請(qǐng)求從發(fā)布域的信任代理生成適當(dāng)?shù)臄嘌?356),如果必要的話,該信任代理利用信任中介的協(xié)助生成該斷言(步驟358)。發(fā)布域接著將用戶的請(qǐng)求和生成的斷言一起傳輸?shù)揭蕾嚪?步驟360),從而完成該過(guò)程。當(dāng)依賴域接收到該請(qǐng)求及其相關(guān)聯(lián)的斷言時(shí),該依賴域會(huì)以圖3B中所示的方式驗(yàn)證該斷言。
現(xiàn)在參照?qǐng)D3E,此流程圖示出了拉模型,在此模型中,當(dāng)依賴域試圖滿足從發(fā)出請(qǐng)求的用戶處收到的資源請(qǐng)求時(shí),該依賴域從發(fā)布域?yàn)橛脩粽?qǐng)求任何所需的斷言。當(dāng)依賴域接收到用戶對(duì)于受保護(hù)資源的請(qǐng)求時(shí)(步驟372),該過(guò)程開(kāi)始。與圖3C或圖3D中所示的示例相反,圖3E中所示的例子描述了在不存在關(guān)于用戶的任何所需斷言的情況下與依賴域接收的用戶請(qǐng)求相關(guān)的處理。在這種情況下,發(fā)布域不具有攔截或以其他方式處理用戶的請(qǐng)求以便將所需的斷言插入到該用戶請(qǐng)求中的能力。例如,用戶可能已經(jīng)以這樣的方式輸入了統(tǒng)一資源定位器(URL)或使用書(shū)簽化(bookmarked)的對(duì)資源的引用,以至于傳出的請(qǐng)求未被發(fā)布域的接觸點(diǎn)服務(wù)器所攔截。因此,依賴域向發(fā)布域請(qǐng)求斷言。
然后,依賴域確定用戶的主域(步驟374),即相關(guān)的發(fā)布域。在基于HTTP的實(shí)現(xiàn)中,用戶可能已經(jīng)預(yù)先建立了與依賴域的關(guān)系,這導(dǎo)致了依賴域在用戶的客戶端設(shè)備上設(shè)置永久的cookie。該永久的cookie會(huì)包含用戶的主域或身份提供者即相關(guān)發(fā)布域的身份。在其中用戶以某種方式操作Web服務(wù)客戶端的基于SOAP的實(shí)現(xiàn)中,依賴域處的Web服務(wù)會(huì)通過(guò)WSDL(Web服務(wù)描述語(yǔ)言)公告服務(wù)需求,包括令牌需求。然后,這會(huì)需要用戶的Web服務(wù)客戶端/SOAP實(shí)現(xiàn)來(lái)提供所需的令牌類型。如果該需求未被滿足,則從技術(shù)上講Web服務(wù)會(huì)返回一個(gè)錯(cuò)誤。在一些情況下,它會(huì)返回一錯(cuò)誤代碼,該錯(cuò)誤代碼會(huì)允許向用戶的Web服務(wù)客戶端提示輸入認(rèn)證信息,以便該請(qǐng)求可以適當(dāng)?shù)牧钆票恢貜?fù)。
依賴域的接觸點(diǎn)服務(wù)器向依賴域的信任代理發(fā)起斷言請(qǐng)求(步驟376),依賴域的信任代理為用戶向發(fā)布域的信任代理請(qǐng)求斷言(步驟378)。如果該實(shí)施例使用基于HTTP的通信,則依賴域的信任代理對(duì)發(fā)布域的信任代理的斷言請(qǐng)求可被依賴域的接觸點(diǎn)服務(wù)器所傳輸,通過(guò)用戶的瀏覽器應(yīng)用重定向到發(fā)布域的接觸點(diǎn)服務(wù)器,發(fā)布域的接觸點(diǎn)服務(wù)器將該斷言請(qǐng)求轉(zhuǎn)發(fā)給發(fā)布域的信任代理。
如果該實(shí)施例使用基于SOAP的實(shí)現(xiàn),那么依賴方可向用戶的Web服務(wù)客戶端返回錯(cuò)誤代碼。此錯(cuò)誤代碼允許Web服務(wù)客戶端向用戶提示輸入認(rèn)證信息。然后,Web服務(wù)客戶端會(huì)生成所請(qǐng)求的令牌。如果依賴域的信任代理已被公告于UDDI(統(tǒng)一描述、發(fā)現(xiàn)與集成)注冊(cè)表中,則用戶的Web服務(wù)客戶端可直接調(diào)用信任代理,從而允許用戶的Web服務(wù)客戶端找到信任代理。一般地,該情形只對(duì)內(nèi)部用戶有效,其中信任代理被公告在企業(yè)內(nèi)部的專用UDDI中,因?yàn)樾湃未聿惶赡鼙还嬗谝蛱鼐W(wǎng)上的公開(kāi)UDDI中或可普遍地從聯(lián)合外部訪問(wèn)到。
發(fā)布域的信任代理生成所請(qǐng)求的斷言(步驟380),并然后將其以這樣的一種方式返回(步驟382),該種方式反映了接收斷言請(qǐng)求時(shí)所采用的方式。在依賴域的信任代理接收到所請(qǐng)求的斷言之后(步驟384),依賴域的信任代理從斷言中提取信息(步驟386)并嘗試解釋和/或驗(yàn)證該斷言(步驟388);如果必要的話,信任代理會(huì)調(diào)用信任中介的協(xié)助來(lái)轉(zhuǎn)換該斷言。如果該斷言無(wú)法被驗(yàn)證,則會(huì)生成適當(dāng)?shù)腻e(cuò)誤響應(yīng)。假設(shè)該斷言被驗(yàn)證,則依賴域的信任代理以適當(dāng)?shù)母袷浇⒈镜匦畔?,該種格式是為后端服務(wù)的使用所需要的,該后端服務(wù)將試圖滿足用戶對(duì)受保護(hù)資源的請(qǐng)求(步驟390)。例如,本地信息可包括后端原有應(yīng)用所需的認(rèn)證證書(shū)。依賴域的信任代理將所需信息返回給依賴域的接觸點(diǎn)服務(wù)器(步驟392),接著該接觸點(diǎn)服務(wù)器為用戶建立本地會(huì)話并將用戶的請(qǐng)求和任何相關(guān)信息轉(zhuǎn)發(fā)給所請(qǐng)求的后端應(yīng)用或服務(wù)(步驟394),從而完成該過(guò)程。
聯(lián)合體系結(jié)構(gòu)內(nèi)的單次登錄圖2A-2D的描述集中于根據(jù)本發(fā)明的聯(lián)合數(shù)據(jù)處理環(huán)境內(nèi)實(shí)體的操作特征,而圖3A-3E的描述集中于在那些實(shí)體之間發(fā)生的一些處理。與這些描述相反,參照?qǐng)D4來(lái)了解集中于為用戶完成事務(wù)并同時(shí)為用戶提供單次登錄體驗(yàn)的目標(biāo)的對(duì)本發(fā)明的描述。
換句話說(shuō),下文的描述討論了上文已經(jīng)討論過(guò)的實(shí)體和過(guò)程,但以下的描述更多的集中于相對(duì)于用戶在用戶會(huì)話中可以具有單次登錄體驗(yàn)的方式方面的、本發(fā)明的概觀。一次會(huì)話可以被定義為從(并包括)初始的用戶認(rèn)證即登錄開(kāi)始到注銷的一系列事務(wù)。在一次會(huì)話中,用戶的動(dòng)作將部分地由對(duì)于此次會(huì)話授予給該用戶的特權(quán)所管理。在一聯(lián)合內(nèi),用戶期望具有單次登錄體驗(yàn),其中用戶完成單次認(rèn)證操作,并且該認(rèn)證操作在會(huì)話的持續(xù)階段足夠了,而不管在該會(huì)話中所訪問(wèn)的聯(lián)合伙伴。
在用戶會(huì)話期間,用戶可能訪問(wèn)許多的聯(lián)合域以使用那些域所提供的Web服務(wù)。各域可使用標(biāo)準(zhǔn)規(guī)范例如UDDI和WSDL來(lái)公布它們所提供的服務(wù)的描述,UDDI和WSDL二者都使用XML作為共同的數(shù)據(jù)格式。用戶通過(guò)也遵循這些標(biāo)準(zhǔn)規(guī)范的應(yīng)用來(lái)發(fā)現(xiàn)可用的服務(wù)及服務(wù)提供者。SOAP提供了用于傳送以XML表示的請(qǐng)求和響應(yīng)的范式(paradigm)。聯(lián)合環(huán)境內(nèi)的實(shí)體可以除使用其他標(biāo)準(zhǔn)之外使用這些標(biāo)準(zhǔn)。
為了便利于單次登錄體驗(yàn),支持聯(lián)合環(huán)境的Web服務(wù)也將支持使用由第三方生成的認(rèn)證斷言或安全令牌來(lái)提供用戶的認(rèn)證的證明。這種斷言將包含用戶向發(fā)布方進(jìn)行的成功認(rèn)證的某種證據(jù),以及該用戶的標(biāo)識(shí)符。因此,用戶可以向一個(gè)聯(lián)合伙伴呈現(xiàn)傳統(tǒng)的認(rèn)證證書(shū),如用戶名及口令,并隨后向不同的聯(lián)合伙伴提供由認(rèn)證/發(fā)布方所生成的SAML認(rèn)證斷言。
Web服務(wù)環(huán)境中的認(rèn)證是檢驗(yàn)Web服務(wù)請(qǐng)求所聲稱的身份,以便于企業(yè)可以將訪問(wèn)限制到被授權(quán)的客戶端的一種行為。請(qǐng)求或調(diào)用Web服務(wù)的用戶幾乎總是被認(rèn)證,因此在本發(fā)明的聯(lián)合環(huán)境內(nèi)進(jìn)行認(rèn)證的需求與當(dāng)前的Web服務(wù)對(duì)用戶認(rèn)證的需求并無(wú)任何差別。聯(lián)合環(huán)境也允許Web服務(wù)或其他應(yīng)用請(qǐng)求Web服務(wù),并且這些Web服務(wù)也會(huì)被認(rèn)證。
未參與到聯(lián)合會(huì)話中的用戶的認(rèn)證不受本發(fā)明的聯(lián)合體系結(jié)構(gòu)的影響。例如,現(xiàn)有用戶通過(guò)HTTP/S上的基于表單的認(rèn)證機(jī)制進(jìn)行認(rèn)證,以訪問(wèn)特定域上的非聯(lián)合資源,則該用戶不會(huì)被在該域上引入對(duì)聯(lián)合環(huán)境的支持所影響。認(rèn)證部分地由接觸點(diǎn)服務(wù)器處理,接觸點(diǎn)服務(wù)器轉(zhuǎn)而可調(diào)用單獨(dú)的信任代理組件。接觸點(diǎn)服務(wù)器的使用最大程度地降低了對(duì)現(xiàn)有域的基礎(chǔ)結(jié)構(gòu)的影響。例如,接觸點(diǎn)服務(wù)器可被配置為使所有的非聯(lián)合請(qǐng)求通過(guò),以由域上的后端或原有應(yīng)用和系統(tǒng)所處理。
接觸點(diǎn)服務(wù)器可以選擇調(diào)用基于HTTP的認(rèn)證方法,如基本認(rèn)證、基于表單的認(rèn)證、或某種其他認(rèn)證方法。接觸點(diǎn)服務(wù)器通過(guò)識(shí)別由用戶呈現(xiàn)的作為認(rèn)證證明的斷言例如SAML認(rèn)證斷言也支持聯(lián)合信任域,其中該斷言跨越了企業(yè)信任域。接觸點(diǎn)服務(wù)器可調(diào)用信任代理,信任代理可轉(zhuǎn)而調(diào)用它的安全令牌服務(wù)來(lái)驗(yàn)證認(rèn)證證書(shū)/安全令牌。
Web服務(wù)或其他應(yīng)用的認(rèn)證包含了與用戶的認(rèn)證相同的過(guò)程。來(lái)自Web服務(wù)的請(qǐng)求攜帶了包含認(rèn)證斷言的安全令牌,并且該安全令牌會(huì)以與用戶呈現(xiàn)的令牌相同的方式被信任代理/安全令牌服務(wù)驗(yàn)證。來(lái)自Web服務(wù)的請(qǐng)求應(yīng)一直攜帶著這個(gè)令牌,因?yàn)閃eb服務(wù)會(huì)發(fā)現(xiàn)在UDDI中公告的所請(qǐng)求的服務(wù)需要什么樣的認(rèn)證斷言/安全令牌。
現(xiàn)在參照?qǐng)D4,此框圖示出了一個(gè)聯(lián)合環(huán)境,該環(huán)境支持聯(lián)合的單次登錄操作。通過(guò)客戶端設(shè)備和適當(dāng)?shù)目蛻舳藨?yīng)用例如瀏覽器,用戶400期望訪問(wèn)由企業(yè)/域410提供的Web服務(wù),該企業(yè)/域410支持在該聯(lián)合環(huán)境內(nèi)擔(dān)當(dāng)聯(lián)合域的數(shù)據(jù)處理系統(tǒng)。域410支持接觸點(diǎn)服務(wù)器412和信任代理414;類似地,域420支持接觸點(diǎn)服務(wù)器422和信任代理424,而域430支持接觸點(diǎn)服務(wù)器432和信任代理434。如上所述,各信任代理依靠信任中介450來(lái)提供協(xié)助。其他的域和信任代理也可參與到該聯(lián)合環(huán)境中。圖4描述了域410和域420之間的聯(lián)合單次登錄操作;類似的操作也可以發(fā)生在域410和域430之間。
用戶完成了對(duì)于域410的認(rèn)證操作;該認(rèn)證操作由接觸點(diǎn)服務(wù)器412所處理。當(dāng)用戶例如為了訪問(wèn)控制的目的或?yàn)榱藗€(gè)性化的目的而請(qǐng)求訪問(wèn)某一需要經(jīng)認(rèn)證的身份的資源時(shí),該認(rèn)證操作被觸發(fā)。接觸點(diǎn)服務(wù)器412可以調(diào)用原有認(rèn)證服務(wù),或者它也可以調(diào)用信任代理414來(lái)驗(yàn)證用戶所呈現(xiàn)的認(rèn)證證書(shū)。域410在用戶的聯(lián)合會(huì)話期間成為用戶的身份提供者或主域。
在之后的某一時(shí)間點(diǎn),用戶在聯(lián)合伙伴例如也支持聯(lián)合域的企業(yè)420處啟動(dòng)一事務(wù),從而觸發(fā)聯(lián)合單次登錄操作。例如,用戶可在域420上啟動(dòng)一新的事務(wù),或者用戶最初的事務(wù)會(huì)級(jí)聯(lián)為其他域上的一個(gè)或多個(gè)附加事務(wù)。作為另一示例,用戶可通過(guò)接觸點(diǎn)服務(wù)器412,例如通過(guò)選擇域410中寄放的網(wǎng)頁(yè)上的特殊鏈接,或者通過(guò)請(qǐng)求在域410中寄放的、但顯示域420中寄放的資源的門(mén)戶頁(yè),而調(diào)用對(duì)域420中的資源的聯(lián)合單次登錄操作。接觸點(diǎn)服務(wù)器412向信任代理414發(fā)送請(qǐng)求,以為用戶生成聯(lián)合單次登錄令牌,該令牌被格式化以被域420所理解或信任。信任代理414將此令牌返回給接觸點(diǎn)服務(wù)器412,接觸點(diǎn)服務(wù)器412再將此令牌發(fā)送給域內(nèi)的接觸點(diǎn)服務(wù)器422。域410擔(dān)當(dāng)對(duì)于域420上的用戶的發(fā)布方,而域420擔(dān)當(dāng)依賴方。用戶的令牌會(huì)與用戶的請(qǐng)求一起傳輸?shù)接?20;該令牌可以通過(guò)用戶的瀏覽器使用HTTP重定向來(lái)發(fā)送,或者可以通過(guò)代表在信任代理414提供的令牌中標(biāo)識(shí)的用戶,直接(通過(guò)HTTP或通過(guò)HTTP上的SOAP)調(diào)用對(duì)接觸點(diǎn)服務(wù)器422的請(qǐng)求來(lái)發(fā)送。
接觸點(diǎn)服務(wù)器422接收請(qǐng)求以及聯(lián)合單次登錄令牌,并且調(diào)用信任代理424。信任代理424接收該聯(lián)合單次登錄令牌,驗(yàn)證該令牌,并且假定該令牌是有效的和被信任的話則為用戶生成本地有效的令牌。信任代理424將本地有效的令牌返回給接觸點(diǎn)服務(wù)器422,接觸點(diǎn)服務(wù)器422在域420內(nèi)為用戶建立會(huì)話。如果必要,接觸點(diǎn)服務(wù)器422可以在另一個(gè)聯(lián)合伙伴處發(fā)起聯(lián)合單次登錄。
域420上的令牌驗(yàn)證由信任代理424處理,也許還有來(lái)自安全令牌服務(wù)的協(xié)助。取決于域410呈現(xiàn)的令牌類型,安全令牌服務(wù)可能需要訪問(wèn)域420上的用戶注冊(cè)表。例如,域420可能提供一包含用戶名和口令的二進(jìn)制安全令牌,該用戶名和口令將會(huì)對(duì)照域420上的用戶注冊(cè)表進(jìn)行驗(yàn)證。因此,在該例中,企業(yè)簡(jiǎn)單地驗(yàn)證來(lái)自聯(lián)合伙伴的安全令牌。域410和域420之間的信任關(guān)系確保了域420能夠理解并信任由域410代表用戶呈現(xiàn)的安全令牌。
聯(lián)合單次登錄不僅需要驗(yàn)證代表用戶呈現(xiàn)給依賴域的安全令牌,還需要根據(jù)安全令牌所包含的信息確定在依賴域上本地有效的用戶標(biāo)識(shí)符。直接信任關(guān)系和為建立這種關(guān)系所需的業(yè)務(wù)協(xié)議的一個(gè)結(jié)果是,至少一方,或者發(fā)布域、或者依賴域、或者這兩者,會(huì)了解怎樣將發(fā)布域提供的信息轉(zhuǎn)換成為依賴域上有效的標(biāo)識(shí)符。在以上簡(jiǎn)短的示例中,假設(shè)發(fā)布域即域410能夠向依賴域即域420提供在域420中有效的用戶標(biāo)識(shí)符。在此情形中,依賴域無(wú)需調(diào)用任何身份映射功能。域420上的信任代理424會(huì)為用戶生成可以為該用戶“擔(dān)?!钡陌踩钆啤K邮艿牧钆祁愋?、令牌上所需的簽名和其他要求都作為聯(lián)合業(yè)務(wù)協(xié)議的一部分而預(yù)先建立。管理標(biāo)識(shí)符轉(zhuǎn)換的規(guī)則和算法也作為聯(lián)合的業(yè)務(wù)協(xié)議的一部分而預(yù)先建立。在兩個(gè)參與者之間存在直接信任關(guān)系的情況下,標(biāo)識(shí)符轉(zhuǎn)換算法會(huì)為該雙方建立,而不與聯(lián)合內(nèi)的其他任何方相關(guān)。
然而,并不通常都是這種情況,即發(fā)布域?qū)⒘私庠鯓訉⒂脩魪挠?10的本地標(biāo)識(shí)符映射為域420的本地標(biāo)識(shí)符。在一些情況下,可能是依賴域了解怎樣進(jìn)行映射,而在其他情況下,雙方都不了解怎樣進(jìn)行這種轉(zhuǎn)換,在這種情況下,就可能需要調(diào)用第三方信任中介。換句話說(shuō),在存在中介安排的信任關(guān)系的情況下,發(fā)布域和依賴域不具有彼此之間直接的信任關(guān)系。然而,它們具有與信任中介例如信任中介450的直接信任關(guān)系。標(biāo)識(shí)符映射規(guī)則和算法將作為這種關(guān)系的一部分而已被建立,并且信任中介將使用該信息來(lái)協(xié)助中介安排的信任關(guān)系所需的標(biāo)識(shí)符轉(zhuǎn)換。
域420在接觸點(diǎn)服務(wù)器422上接收由域410發(fā)布的令牌,接觸點(diǎn)服務(wù)器422調(diào)用信任代理424來(lái)驗(yàn)證該令牌并執(zhí)行身份映射。在此情況下,由于信任代理424無(wú)法將用戶從域410的本地標(biāo)識(shí)符映射到域420的本地標(biāo)識(shí)符,信任代理424調(diào)用信任中介450來(lái)驗(yàn)證該令牌并執(zhí)行身份映射。在獲得用戶的本地標(biāo)識(shí)符之后,信任代理424(或許通過(guò)它的安全令牌服務(wù))可生成域420上的后端應(yīng)用所需的任何本地令牌,例如,可能需要Kerberos令牌來(lái)便利從接觸點(diǎn)服務(wù)器到應(yīng)用服務(wù)器的單次登錄。在獲得本地有效的令牌后,如果需要,接觸點(diǎn)服務(wù)器能夠?yàn)橛脩艚⒈镜貢?huì)話。接觸點(diǎn)服務(wù)器也將處理用戶請(qǐng)求的粗粒度授權(quán),并將已授權(quán)的請(qǐng)求轉(zhuǎn)發(fā)給域420內(nèi)適當(dāng)?shù)膽?yīng)用服務(wù)器。
當(dāng)用戶注銷或退出時(shí),用戶會(huì)話即終止。當(dāng)用戶注銷了與其主域的會(huì)話時(shí),則主域會(huì)通知所有的依賴域,即它曾經(jīng)向其發(fā)布安全令牌的域,并在這些域上調(diào)用用戶注銷操作。如果這些依賴域中的任何一個(gè)域轉(zhuǎn)而曾為同一用戶擔(dān)當(dāng)過(guò)主域,那么它們也會(huì)以級(jí)聯(lián)的方式向所有它們的依賴域通知該用戶的注銷請(qǐng)求。每個(gè)域的信任代理會(huì)負(fù)責(zé)將用戶的注銷請(qǐng)求通知所有的依賴域,并且作為此過(guò)程的一部分,信任代理會(huì)調(diào)用信任中介。
聯(lián)合用戶生命周期管理上面圖2A-4的描述的一部分解釋了可用于聯(lián)合環(huán)境中的組件的組織,而其他部分解釋了用于支持聯(lián)合環(huán)境之中的單次登錄操作的過(guò)程。聯(lián)合環(huán)境內(nèi)的服務(wù)提供者或依賴域不必須管理用戶的認(rèn)證證書(shū),并且那些依賴域可以利用用戶的身份提供者或主域提供的單個(gè)單次登錄令牌。可是,上面圖2A-4的描述未解釋在聯(lián)合伙伴的聯(lián)合域處以有利方式實(shí)現(xiàn)聯(lián)合用戶生命周期管理的明確過(guò)程。
聯(lián)合用戶生命周期管理功能/服務(wù)包括用于支持或管理關(guān)于給定用戶在多個(gè)聯(lián)合域處的特定用戶帳戶或用戶簡(jiǎn)檔的聯(lián)合操作功能;在某些情況下,這些功能或操作限于該用戶的給定聯(lián)合會(huì)話。換句話說(shuō),聯(lián)合用戶生命周期管理功能指可能僅在聯(lián)合計(jì)算環(huán)境內(nèi)的單個(gè)用戶會(huì)話的生命周期期間允許跨越多個(gè)聯(lián)合伙伴的聯(lián)合操作的管理的功能。
每一個(gè)聯(lián)合域可能管理相對(duì)于每一個(gè)相應(yīng)聯(lián)合域處的功能的用戶帳戶、用戶簡(jiǎn)檔或用戶會(huì)話。例如,特定聯(lián)合域可能不管理該特定聯(lián)合域內(nèi)的本地用戶帳戶或用戶簡(jiǎn)檔,但該聯(lián)合域可能在成功完成在該聯(lián)合域上的單次登錄操作之后,管理用于一聯(lián)合事務(wù)的本地用戶會(huì)話。作為由該特定聯(lián)合域所支持的聯(lián)合用戶生命周期管理功能的一部分,該聯(lián)合域能參與單次注銷操作,該操作允許該聯(lián)合域在該聯(lián)合事務(wù)完成之后終止本地用戶會(huì)話,從而提高安全性并提升資源的有效性使用。
在聯(lián)合用戶生命周期管理功能的使用的另一個(gè)例子中,用戶可進(jìn)行需要多個(gè)聯(lián)合域的參與的在線事務(wù)。一聯(lián)合域可能本地管理該用戶簡(jiǎn)檔,以便在該用戶的涉及該聯(lián)合域的聯(lián)合會(huì)話的每一個(gè)期間,相對(duì)于該聯(lián)合域定制該用戶的體驗(yàn)。作為由該特定聯(lián)合域支持的聯(lián)合用戶生命周期管理功能的一部分,在一給定聯(lián)合事務(wù)期間,可以無(wú)縫方式將該聯(lián)合域的本地用戶簡(jiǎn)檔中的信息與參與該給定聯(lián)合事務(wù)的其他聯(lián)合域處的其他簡(jiǎn)檔中的信息一起使用。例如,可以某種類型的合并操作組合該用戶的多個(gè)本地用戶簡(jiǎn)檔中的信息,以便將該用戶的信息例如在網(wǎng)頁(yè)內(nèi)以這樣的方式可視地呈現(xiàn)給該用戶,該方式使得該用戶不會(huì)知曉該用戶的信息的不同來(lái)源或源。
聯(lián)合用戶生命周期管理功能還可包括用于帳戶鏈接/解鏈的功能。用戶具有跨聯(lián)合伙伴的通用唯一用戶標(biāo)識(shí)符,其使能了作為滿足一個(gè)聯(lián)合伙伴的請(qǐng)求的一部分的單次登錄以及對(duì)關(guān)于用戶的屬性的檢索(如果必要的話)。此外,該聯(lián)合伙伴可通過(guò)使用該通用唯一用戶標(biāo)識(shí)符以匿名方式指向該用戶而向身份提供者請(qǐng)求附加的屬性。
在以上指出可使用聯(lián)合用戶生命周期管理功能實(shí)現(xiàn)的操作的一些不同示例之后,其余的附圖在以下示出本發(fā)明以有利方式提供和支持聯(lián)合用戶生命周期管理功能的方式。
現(xiàn)在參照?qǐng)D5,其示出了用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的聯(lián)合用戶生命周期管理功能的聯(lián)合域中的某些組件的方框圖。圖5示出了諸如由圖2C中所示的企業(yè)250操作的聯(lián)合域的單個(gè)聯(lián)合域處的組件。圖5中的某些組件類似或等同于上面已參照其他附圖例如圖2B討論過(guò)的組件接觸點(diǎn)服務(wù)器/服務(wù)502相當(dāng)于接觸點(diǎn)服務(wù)器242;應(yīng)用服務(wù)器504即資源控制服務(wù)相當(dāng)于應(yīng)用服務(wù)器234;受保護(hù)或受控資源506相當(dāng)于受保護(hù)資源235;以及聯(lián)合用戶生命周期管理(FULM)應(yīng)用508相當(dāng)于聯(lián)合用戶生命周期管理服務(wù)器246。雖然在圖2B中未示出防火墻,但在圖5中示出了防火墻。防火墻510和防火墻512創(chuàng)建外部DMZ(電不設(shè)防區(qū)域),其保護(hù)企業(yè)的計(jì)算環(huán)境不受該企業(yè)的域的外部例如通過(guò)因特網(wǎng)的計(jì)算威脅。
圖5與圖2B中所示的不同視角不是不相容的或目的相背的。與在圖5中示出的例子形成對(duì)比,圖2B未示出防火墻,而接觸點(diǎn)服務(wù)器242存在于聯(lián)合前端240內(nèi);此外,聯(lián)合用戶生命周期管理服務(wù)器246包含在聯(lián)合前端240內(nèi)。在圖5中,接觸點(diǎn)服務(wù)器502被示為存在于防火墻510和512之間的DMZ內(nèi),這些防火墻形成該企業(yè)域的電子或物理前端;此外,聯(lián)合用戶生命周期管理應(yīng)用/服務(wù)508電子地存在于防火墻512之后??赏ㄟ^(guò)將圖2B中的聯(lián)合前端240和后端230視為各組件的邏輯組織,而將圖5中的DMZ和其他組件視為形成物理或電子前端以及物理或電子后端(其每一個(gè)都可能包含聯(lián)合組件),來(lái)調(diào)和這些不同的視角。
重復(fù)一下接觸點(diǎn)實(shí)體/服務(wù)的職責(zé),接觸點(diǎn)實(shí)體至少對(duì)于用戶與聯(lián)合企業(yè)環(huán)境中的聯(lián)合功能的交互,提供會(huì)話管理;企業(yè)的計(jì)算環(huán)境的原有后端內(nèi)的應(yīng)用也可能實(shí)現(xiàn)其自身的會(huì)話管理功能。假定企業(yè)實(shí)現(xiàn)對(duì)于聯(lián)合計(jì)算環(huán)境的策略功能,則接觸點(diǎn)實(shí)體可擔(dān)當(dāng)對(duì)于某些其他聯(lián)合伙伴的策略決定點(diǎn)的策略實(shí)施點(diǎn)。此外,假定給定了聯(lián)合功能的實(shí)現(xiàn)這是可允許的,則在未使用單次登錄操作的那些情形中,接觸點(diǎn)實(shí)體負(fù)責(zé)啟動(dòng)針對(duì)用戶的直接認(rèn)證操作。這樣,接觸點(diǎn)實(shí)體可以多種形式來(lái)實(shí)現(xiàn),例如作為反向代理服務(wù)器,作為Web服務(wù)器插件,或以某種其他方式。接觸點(diǎn)功能還可以實(shí)現(xiàn)在應(yīng)用服務(wù)器本身之內(nèi),在這種情況下,聯(lián)合用戶生命周期管理服務(wù)可位于DMZ內(nèi)。
再次參照?qǐng)D5,更重要的是,聯(lián)合用戶生命周期管理應(yīng)用508還包括對(duì)與聯(lián)合用戶生命周期管理插件514的接口、交互或以其他方式的互操作的支持,插件514在圖2B中未示出。在本發(fā)明中,聯(lián)合協(xié)議運(yùn)行時(shí)插件提供用于各種類型的獨(dú)立公布或開(kāi)發(fā)的聯(lián)合用戶生命周期管理標(biāo)準(zhǔn)或概要的功能,這些標(biāo)準(zhǔn)或概要例如有WS聯(lián)合被動(dòng)客戶端;自由聯(lián)盟ID-FF單次登錄(B/A、B/P和LECP);注冊(cè)名標(biāo)識(shí)符;聯(lián)合終止通知;以及單次注銷。
在本發(fā)明的示例性實(shí)施例中,可在不同的URI處訪問(wèn)不同組的聯(lián)合協(xié)議。該方法允許聯(lián)合用戶生命周期管理應(yīng)用在單個(gè)應(yīng)用內(nèi)同時(shí)支持聯(lián)合用戶生命周期管理的多個(gè)標(biāo)準(zhǔn)或規(guī)范,例如,WS聯(lián)合Web服務(wù)規(guī)范對(duì)自由聯(lián)盟的規(guī)范,從而最小化為支持不同的聯(lián)合協(xié)議而對(duì)整個(gè)環(huán)境造成的配置影響。
更具體地,接觸點(diǎn)服務(wù)器通過(guò)在適當(dāng)時(shí)將用戶請(qǐng)求重定向和/或轉(zhuǎn)發(fā)到聯(lián)合用戶生命周期管理應(yīng)用,而調(diào)用適當(dāng)?shù)穆?lián)合用戶生命周期管理功能。再次參照?qǐng)D5,接觸點(diǎn)服務(wù)器502接收用戶請(qǐng)求520,然后,對(duì)該請(qǐng)求進(jìn)行分析以確定已接收的請(qǐng)求的類型,請(qǐng)求的類型可能由已接收的請(qǐng)求消息的類型所指示,或如上面指出的,通過(guò)確定該請(qǐng)求消息內(nèi)的目的地URI來(lái)確定請(qǐng)求的類型。在對(duì)受保護(hù)資源的請(qǐng)求522繼續(xù)被轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器504時(shí),對(duì)于聯(lián)合用戶生命周期管理功能的請(qǐng)求524,例如調(diào)用單次注銷操作的請(qǐng)求,被轉(zhuǎn)發(fā)到聯(lián)合用戶生命周期管理應(yīng)用508,其在需要時(shí)調(diào)用適當(dāng)?shù)穆?lián)合用戶生命周期管理插件以滿足所接收的請(qǐng)求。當(dāng)定義了新的聯(lián)合協(xié)議或新的聯(lián)合功能時(shí),或當(dāng)以某種方式修改或改進(jìn)了已有的聯(lián)合功能時(shí),可僅通過(guò)插入新的支持模塊來(lái)添加支持,或可通過(guò)修改先前安裝的插件來(lái)改進(jìn)支持。
圖5中的聯(lián)合用戶生命周期管理應(yīng)用的示例性實(shí)現(xiàn)說(shuō)明了聯(lián)合用戶生命周期管理應(yīng)用能夠支持多個(gè)同時(shí)的聯(lián)合用戶生命周期管理功能,同時(shí)提供可插性特征,從而允許在需要時(shí)將新的功能以插件的形式添加到聯(lián)合用戶生命周期管理應(yīng)用中,而無(wú)需對(duì)現(xiàn)有基礎(chǔ)結(jié)構(gòu)作出任何改變。例如,假定本發(fā)明使用基于JavaTM的聯(lián)合用戶生命周期管理應(yīng)用來(lái)實(shí)現(xiàn),則可通過(guò)將新開(kāi)發(fā)的JavaTM類配置到聯(lián)合用戶生命周期管理應(yīng)用的JavaTMCLASSPATH來(lái)添加對(duì)新的聯(lián)合協(xié)議例如新公布的單次登錄協(xié)議的支持,其中這些新類支持該新標(biāo)準(zhǔn)以及本發(fā)明的協(xié)議接口。
本發(fā)明利用可將聯(lián)合用戶生命周期管理解決方案集成到其中的現(xiàn)有環(huán)境。可容易地將聯(lián)合用戶生命周期管理應(yīng)用修改為支持新協(xié)議/標(biāo)準(zhǔn),因?yàn)檫@些新協(xié)議/標(biāo)準(zhǔn)改進(jìn)具有對(duì)于整個(gè)基礎(chǔ)結(jié)構(gòu)的最小程度的改變。為支持新的聯(lián)合用戶生命周期管理功能可能需要的任何改變幾乎全部位于聯(lián)合用戶生命周期管理應(yīng)用之內(nèi),這將需要對(duì)聯(lián)合用戶生命周期管理應(yīng)用進(jìn)行配置以理解所添加的功能。
為了允許整個(gè)基礎(chǔ)結(jié)構(gòu)能夠調(diào)用新的聯(lián)合用戶生命周期管理功能,而同時(shí)繼續(xù)支持現(xiàn)有的聯(lián)合用戶生命周期管理功能,可能在其他聯(lián)合組件例如在接觸點(diǎn)服務(wù)器中有最小程度的配置改變。但是,聯(lián)合用戶生命周期管理應(yīng)用功能上獨(dú)立于聯(lián)合組件的其他部分,因?yàn)槁?lián)合用戶生命周期管理應(yīng)用可能僅需要與聯(lián)合環(huán)境的其他聯(lián)合組件的最少交互。例如,在一示例性實(shí)施例中,如果聯(lián)合用戶生命周期管理信息,例如根據(jù)自由聯(lián)盟概要的名稱標(biāo)識(shí)符值,要存儲(chǔ)于與對(duì)于外部實(shí)體不透明或不可訪問(wèn)的專用、內(nèi)部聯(lián)合用戶生命周期管理數(shù)據(jù)存儲(chǔ)形成對(duì)比的、可外部訪問(wèn)的聯(lián)合用戶生命周期管理數(shù)據(jù)存儲(chǔ)中,則聯(lián)合用戶生命周期管理功能可能與基于企業(yè)的數(shù)據(jù)存儲(chǔ)例如LDAP數(shù)據(jù)存儲(chǔ)集成在一起。
因此,在根據(jù)本發(fā)明實(shí)現(xiàn)時(shí),現(xiàn)有環(huán)境需要最小程度的修改,以支持聯(lián)合用戶生命周期管理功能。此外,對(duì)于聯(lián)合用戶生命周期管理功能的改變,包括新功能的添加,對(duì)于現(xiàn)有聯(lián)合環(huán)境具有最小程度的影響。因此,當(dāng)公布新的單次登錄標(biāo)準(zhǔn)時(shí),可容易地添加對(duì)該標(biāo)準(zhǔn)的支持。
傳統(tǒng)的用戶認(rèn)證僅包括企業(yè)的計(jì)算環(huán)境與終端用戶之間的交互;企業(yè)選擇實(shí)現(xiàn)該認(rèn)證互換的方式是企業(yè)的選擇,其對(duì)于任何其他企業(yè)沒(méi)有影響。但是,當(dāng)需要支持聯(lián)合或跨域的單次登錄功能時(shí),企業(yè)伙伴相互交互就成為一項(xiàng)需要。這一需要不能使用專有協(xié)議可伸縮地滿足。盡管將對(duì)于基于標(biāo)準(zhǔn)的聯(lián)合協(xié)議的支持直接添加到接觸點(diǎn)實(shí)體中看起來(lái)象是一個(gè)強(qiáng)健的解決方案,但是必須對(duì)作為已經(jīng)存在于企業(yè)的計(jì)算環(huán)境中的現(xiàn)有組件的接觸點(diǎn)實(shí)體進(jìn)行修改;而且,每次這些公共聯(lián)合協(xié)議中的某一個(gè)改變時(shí),都必須對(duì)其進(jìn)行修改。
本發(fā)明通過(guò)將這一功能移到接觸點(diǎn)實(shí)體之外而提供了更加模塊化的方案。但是,接觸點(diǎn)實(shí)體還必須處理對(duì)于這些公共協(xié)議的頻繁改變,而允許該功能成為可插入功能使得更容易維護(hù)對(duì)于這些協(xié)議的遷移或更新。
對(duì)于聯(lián)合用戶生命周期管理的功能支持現(xiàn)有技術(shù)的基于標(biāo)準(zhǔn)的單次登錄解決方案,例如WS聯(lián)合規(guī)范或自由聯(lián)盟ID-FF概要,在某種程度上提供了用于聯(lián)合用戶生命周期管理的模型。這些規(guī)范是公開(kāi)可獲的,且其可由獨(dú)立銷售商和企業(yè)實(shí)現(xiàn)。但是,這些現(xiàn)有技術(shù)規(guī)范未解決應(yīng)怎樣修改現(xiàn)有環(huán)境以便包括在該規(guī)范內(nèi)定義的功能的方式;在這些現(xiàn)有技術(shù)規(guī)范中存在著這樣的暗示,即為了引入指定功能將需要的對(duì)于現(xiàn)有計(jì)算環(huán)境的基礎(chǔ)結(jié)構(gòu)的修改可能會(huì)阻止這些規(guī)范的采用。例如,所有現(xiàn)有技術(shù)的專用單次登錄解決方案都以這種方式操作。
相反,本發(fā)明的目的在于提供用于引入實(shí)現(xiàn)聯(lián)合規(guī)范的功能從而僅需要對(duì)于現(xiàn)有計(jì)算環(huán)境的最小程度的修改的方法和系統(tǒng),如上面所討論的那樣。該目的還可適用于用于支持聯(lián)合用戶生命周期管理的功能的引入。鑒于圖2B和圖5示出了可用于實(shí)現(xiàn)本發(fā)明關(guān)于聯(lián)合用戶生命周期管理功能的實(shí)施例的組件的邏輯組織的例子,圖6示出了用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的聯(lián)合用戶生命周期管理功能的過(guò)程。
更重要的是,圖6示出了允許以獨(dú)立于接觸點(diǎn)功能在聯(lián)合域中實(shí)現(xiàn)的方式的方式實(shí)現(xiàn)聯(lián)合用戶生命周期管理功能的過(guò)程。接觸點(diǎn)功能實(shí)體對(duì)應(yīng)于能夠?yàn)橛脩?客戶端執(zhí)行會(huì)話管理的實(shí)體。會(huì)話管理包括根據(jù)某種形式的信息,無(wú)論是以前成功的直接認(rèn)證操作,當(dāng)前成功的直接認(rèn)證操作,和/或成功的單次登錄操作,來(lái)創(chuàng)建會(huì)話;會(huì)話管理還包括對(duì)于會(huì)話的其他操作,這可包括可選的授權(quán)決定,且還可包括會(huì)話終止,例如會(huì)話期滿、刪除、不活動(dòng)超時(shí)等。接觸點(diǎn)服務(wù)器可繼續(xù)提供對(duì)于認(rèn)證操作的支持,其中它可處理與用戶的直接質(zhì)詢/響應(yīng)交互。接觸點(diǎn)實(shí)體還可擔(dān)當(dāng)策略實(shí)施點(diǎn),從而實(shí)現(xiàn)作為會(huì)話管理的一部分的授權(quán)服務(wù)。
聯(lián)合用戶生命周期管理功能提供單次登錄服務(wù)(以及其他聯(lián)合操作),因?yàn)檫@些操作涉及與諸如身份提供者的第三方而不僅是與用戶的交互;聯(lián)合用戶生命周期管理功能依賴于用于會(huì)話管理服務(wù)的接觸點(diǎn)功能。聯(lián)合用戶生命周期管理功能需要或依賴于由某其他組件提供的信任服務(wù),如下面更詳細(xì)解釋的那樣;可以使得信任服務(wù)邏輯上分離的方式來(lái)實(shí)現(xiàn)信任服務(wù),這種方式包括與聯(lián)合用戶生命周期管理組件共同存在的分布式組件或邏輯上分離的組件,或者可選地,可將信任服務(wù)與聯(lián)合用戶生命周期管理一起作為諸如EAR文件的單個(gè)應(yīng)用的一部分來(lái)實(shí)現(xiàn)。
盡管前面對(duì)于附圖的討論描述了在聯(lián)合域內(nèi)支持的專用接觸點(diǎn)服務(wù)器,但針對(duì)圖6描述的過(guò)程不需要專用的接觸點(diǎn)服務(wù)器。在圖6中示出的本發(fā)明實(shí)施例中,可使用提供接觸點(diǎn)功能的任何應(yīng)用或其他實(shí)體來(lái)實(shí)現(xiàn)接觸點(diǎn)功能;接觸點(diǎn)應(yīng)用可以是反向代理服務(wù)器、Web服務(wù)器、Web服務(wù)器插件、小服務(wù)程序過(guò)濾器、或某種其他類型的服務(wù)器或應(yīng)用。為了區(qū)別以下相對(duì)于用于實(shí)現(xiàn)隨后的實(shí)施例的示例性過(guò)程而描述的接觸點(diǎn)功能與以上描述的接觸點(diǎn)服務(wù)器,將以下的接觸點(diǎn)功能稱作接觸點(diǎn)實(shí)體或接觸點(diǎn)服務(wù)。
還應(yīng)該指出,雖然圖6示出了在聯(lián)合計(jì)算環(huán)境內(nèi)的單次登錄操作,但可根據(jù)本發(fā)明的不同實(shí)施例,實(shí)現(xiàn)用于其他類型的聯(lián)合操作例如單次注銷操作的類似過(guò)程。
現(xiàn)在參照?qǐng)D6,其示出了用于使用根據(jù)本發(fā)明實(shí)施例的聯(lián)合用戶生命周期管理功能執(zhí)行單次登錄操作的過(guò)程的數(shù)據(jù)流圖。圖6示出了支持根據(jù)本發(fā)明的聯(lián)合功能的身份提供者和服務(wù)提供者之間的、特別是相對(duì)于本發(fā)明所提供的聯(lián)合用戶生命周期管理功能的數(shù)據(jù)流和交互的偽UML圖。一般地,圖6中示出的過(guò)程開(kāi)始于身份提供者的接觸點(diǎn)實(shí)體接收到對(duì)于在服務(wù)提供者的聯(lián)合計(jì)算環(huán)境內(nèi)被支持的受保護(hù)資源的請(qǐng)求。不去調(diào)用其自身的認(rèn)證方法,服務(wù)提供者處的接觸點(diǎn)實(shí)體重定向該請(qǐng)求、轉(zhuǎn)發(fā)該請(qǐng)求、或以其他方式調(diào)用功能,以將該初始請(qǐng)求發(fā)送到在身份提供者的聯(lián)合計(jì)算機(jī)環(huán)境內(nèi)被支持的聯(lián)合用戶生命周期管理應(yīng)用。如下面更詳細(xì)解釋的那樣,該聯(lián)合用戶生命周期管理應(yīng)用能夠確定用于對(duì)用戶進(jìn)行認(rèn)證的適當(dāng)方式以及用于將接觸點(diǎn)實(shí)體所要求的信息返回給接觸點(diǎn)實(shí)體的方式,以在服務(wù)提供者處啟動(dòng)用于該用戶的會(huì)話,并處理該服務(wù)提供者處的該用戶的事務(wù)的其余部分,就好像該用戶已完成了向該服務(wù)提供者的直接認(rèn)證操作那樣。
圖6中的過(guò)程開(kāi)始于服務(wù)提供者處的接觸點(diǎn)實(shí)體接收到來(lái)自未認(rèn)證用戶的對(duì)于受控資源的原始請(qǐng)求(步驟602);該原始請(qǐng)求可以被視為啟動(dòng)了用于該用戶的事務(wù),雖然所接收的請(qǐng)求可能僅是支持一更復(fù)雜事務(wù)的許多下游事務(wù)中的一個(gè)。在一個(gè)實(shí)施例中,服務(wù)提供者可通過(guò)檢測(cè)該請(qǐng)求來(lái)自于服務(wù)提供者對(duì)于其沒(méi)有正在進(jìn)行的會(huì)話記錄的終端用戶或終端應(yīng)用,而確定原始請(qǐng)求來(lái)自于未認(rèn)證用戶。
然后,接觸點(diǎn)實(shí)體生成一請(qǐng)求,其重定向、轉(zhuǎn)發(fā)、或以其他方式調(diào)用功能,以將該原始請(qǐng)求發(fā)送給服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用(步驟604);接觸點(diǎn)實(shí)體可使用任何允許該聯(lián)合用戶生命周期管理功能構(gòu)建必須發(fā)送給身份提供者的響應(yīng)消息的手段來(lái)調(diào)用聯(lián)合用戶生命周期管理功能;換句話說(shuō),接觸點(diǎn)實(shí)體不必需包括對(duì)這些復(fù)雜的單次登錄消息進(jìn)行服務(wù)/響應(yīng)的功能。在圖6中示出的例子中,隨后將該原始請(qǐng)求通過(guò)發(fā)起請(qǐng)求的應(yīng)用,例如由終端用戶操作的瀏覽器應(yīng)用,重定向(步驟606)到服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用。
在接收到該請(qǐng)求之后,服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用接著通過(guò)與該終端用戶應(yīng)用進(jìn)行通信而確定該用戶的適當(dāng)身份提供者(步驟608)。該步驟是可選的;假定該身份提供者是在特定聯(lián)合計(jì)算環(huán)境內(nèi)的服務(wù)提供者的聯(lián)合伙伴,則該服務(wù)提供者可能已經(jīng)配置有身份提供者處的接觸點(diǎn)實(shí)體的位置信息或接觸信息,例如URL;或者,服務(wù)提供者可在確定了要用于該終端用戶的事務(wù)的特定身份提供者的身份之后,執(zhí)行查詢操作,以獲得身份提供者處的接觸點(diǎn)實(shí)體的位置或接觸信息。在某些情況下,服務(wù)提供者可能知曉要使用的身份提供者的身份,因?yàn)樵摲?wù)提供者僅知曉一個(gè)身份提供者,因此,不涉及選擇。在其他的情況下,服務(wù)提供者可能根據(jù)某些持久的、用戶側(cè)維護(hù)的信息,例如持久的HTTP cookie,而知曉身份提供者的身份。在另一些情況下,服務(wù)提供者可能需要在步驟608與用戶進(jìn)行交互,以使該用戶向服務(wù)提供者提供關(guān)于用戶對(duì)于當(dāng)前聯(lián)合事務(wù)所期望使用的身份提供者的身份的信息。一旦服務(wù)提供者具有了身份提供者的身份,則服務(wù)提供者可獲得來(lái)自適當(dāng)數(shù)據(jù)存儲(chǔ)的、該身份提供者的單次登錄功能(或根據(jù)當(dāng)前正在完成的聯(lián)合操作或事務(wù)的類型,獲得其他聯(lián)合功能)的適當(dāng)URI。本發(fā)明還與執(zhí)行步驟608的另一種方式相容;自由聯(lián)盟規(guī)范描述了其中用戶實(shí)際上將一重定向發(fā)送到可從其獲得來(lái)自cookie的信息的某其他站點(diǎn)的交互(由于對(duì)于DNS cookie的操作的限制,而以這種方式執(zhí)行),然后,該信息被返回給聯(lián)合用戶生命周期管理功能,而無(wú)需直接的用戶交互,例如,用戶無(wú)需在HTML表單內(nèi)提供信息。
然后,服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用生成并發(fā)送對(duì)于身份提供者處的聯(lián)合用戶生命周期管理功能或操作的請(qǐng)求(步驟610),例如,對(duì)于獲得用于成功完成單次登錄操作的任何適當(dāng)信息的請(qǐng)求。該請(qǐng)求中可以嵌入或隨附指示身份提供者可以信任來(lái)自該服務(wù)提供者的通信的安全令牌;優(yōu)選地,服務(wù)提供者和身份提供者之間的信任由在該請(qǐng)求消息上的簽名和密碼來(lái)提供,且安全令牌可以由隨附于該請(qǐng)求的數(shù)字證書(shū)所代表。對(duì)于聯(lián)合用戶生命周期管理操作的請(qǐng)求可以隨附有關(guān)于來(lái)自終端用戶應(yīng)用的原始請(qǐng)求的信息,因?yàn)槁?lián)合用戶生命周期管理操作可以各種方式來(lái)執(zhí)行,這些方式依賴于終端用戶對(duì)于服務(wù)提供者所作出的請(qǐng)求的類型。
接收對(duì)于聯(lián)合用戶生命周期管理功能或操作的請(qǐng)求,并使用先前確定的用于身份提供者處的接觸點(diǎn)實(shí)體的接觸信息,通過(guò)終端用戶應(yīng)用將該請(qǐng)求重定向到身份提供者處的接觸點(diǎn)實(shí)體(步驟612)。本發(fā)明與實(shí)現(xiàn)步驟612的各種方式都是相容的;例如,自由聯(lián)盟規(guī)范允許特定于設(shè)備的重定向類型,且本發(fā)明內(nèi)的聯(lián)合用戶生命周期管理功能可使用基于移動(dòng)設(shè)備或是因特網(wǎng)的HTTP POST消息,在響應(yīng)于具有狀態(tài)值“302”的HTTP響應(yīng)的HTTP重定向與響應(yīng)于具有狀態(tài)值“200”(OK)的HTTP響應(yīng)的HTTP重定向之間交換。
在身份提供者處的接觸點(diǎn)實(shí)體接收到對(duì)于聯(lián)合用戶生命周期管理功能或操作的請(qǐng)求之后,身份提供者處的接觸點(diǎn)實(shí)體可對(duì)于終端用戶或終端用戶的應(yīng)用執(zhí)行可選的認(rèn)證操作(步驟614)。如果身份提供者不具有用于該用戶的有效會(huì)話,則認(rèn)證操作總是需要的;沒(méi)有它,身份提供者無(wú)法為了單次登錄的目的確定該用戶是誰(shuí)。即使存在用于該用戶的有效會(huì)話,為了確保該用戶仍然是活動(dòng)的或?yàn)榱四軌蜃C明證書(shū)的更高級(jí)別,認(rèn)證可能也是需要的。應(yīng)該指出,服務(wù)提供者可指定身份提供者不應(yīng)該執(zhí)行新的認(rèn)證操作,從而如果不存在用于該用戶的有效會(huì)話,則單次登錄操作肯定失敗。認(rèn)證操作的類型可以變化,從而其可以自動(dòng)執(zhí)行或可能需要來(lái)自用戶、生物測(cè)定或其他類型的認(rèn)證設(shè)備、或來(lái)自某種其他信息源的輸入。例如,如果需要新的認(rèn)證操作,例如以維護(hù)確保終端用戶是如在原始請(qǐng)求內(nèi)所標(biāo)識(shí)的對(duì)于受控資源的授權(quán)請(qǐng)求者的更高級(jí)別的安全性,則可能需要認(rèn)證操作。在不同的情況下,可能需要認(rèn)征操作,但身份提供者處的接觸點(diǎn)實(shí)體可能能夠訪問(wèn)指示身份提供者已經(jīng)具有用于該終端用戶的有效會(huì)話的信息,從而排除了完成在步驟614的隨后認(rèn)證操作的需要。
然后,身份提供者處的接觸點(diǎn)實(shí)體將接收到的對(duì)于聯(lián)合用戶生命周期管理功能或操作的請(qǐng)求發(fā)送給身份提供者處的聯(lián)合用戶生命周期管理應(yīng)用(步驟616),該請(qǐng)求是由服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用所請(qǐng)求的。在對(duì)該請(qǐng)求進(jìn)行分析之后,身份提供者處的聯(lián)合用戶生命周期管理應(yīng)用構(gòu)建(步驟618)響應(yīng),其包含或隨附有由服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用所尋找的特定于終端用戶的信息。例如,身份提供者可支持這樣的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)包含未存儲(chǔ)在聯(lián)合計(jì)算環(huán)境內(nèi)的其他位置的關(guān)于終端用戶的機(jī)密身份信息或其他屬性信息。如上面指出的,接收到的對(duì)于聯(lián)合用戶生命周期管理操作的請(qǐng)求可能隨附有關(guān)于來(lái)自終端用戶應(yīng)用的原始請(qǐng)求的信息,因?yàn)樵撀?lián)合用戶生命周期管理操作可能以多種依賴于終端用戶應(yīng)用所作出的對(duì)于服務(wù)提供者的請(qǐng)求類型的方式來(lái)執(zhí)行。同樣,可以某種方式根據(jù)原始標(biāo)識(shí)的受控資源,定制來(lái)自于身份提供者處的聯(lián)合用戶生命周期管理應(yīng)用的響應(yīng)。
然后,身份提供者處的聯(lián)合用戶生命周期管理應(yīng)用例如使用HTTPPOST/重定向消息,將該響應(yīng)發(fā)送給終端用戶應(yīng)用(步驟620),然后,該終端用戶應(yīng)用將該消息重定向到服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用(步驟622)。應(yīng)該指出,身份提供者可能僅返回指向服務(wù)提供者所期望的信息的指針或類似類型的間接引用數(shù)據(jù)項(xiàng);在此情況下,服務(wù)提供者必須使用接收到的指針(也稱作工件(artifact))來(lái)檢索信息,例如通過(guò)執(zhí)行對(duì)于身份提供者的后門(mén)(back-channel)請(qǐng)求,來(lái)檢索要由服務(wù)提供者使用的特定用戶信息。
假定接收到的消息不包含錯(cuò)誤代碼或以其他方式指示身份提供者處的聯(lián)合用戶生命周期管理應(yīng)用不能成功完成所請(qǐng)求的聯(lián)合用戶生命周期管理功能或操作,則服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用從接收到的響應(yīng)中提取其所需的信息,并構(gòu)建對(duì)于服務(wù)提供者處的接觸點(diǎn)實(shí)體的響應(yīng)(步驟624)。然后,服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用以某種方式將所生成的響應(yīng)發(fā)送/返回給服務(wù)提供者處的接觸點(diǎn)實(shí)體(步驟626)。
聯(lián)合用戶生命周期管理應(yīng)用可以實(shí)現(xiàn)為安裝在域內(nèi)的防火墻后面的JavaTM應(yīng)用,例如,EAR文件。返回給接觸點(diǎn)實(shí)體的響應(yīng)的特征是可以作為聯(lián)合用戶生命周期管理應(yīng)用的安裝和配置的一部分進(jìn)行配置的;因此,聯(lián)合用戶生命周期管理應(yīng)用不依賴于接觸點(diǎn)實(shí)體的形式。換句話說(shuō),聯(lián)合用戶生命周期管理應(yīng)用不依賴于接觸點(diǎn)實(shí)體的其他性質(zhì),而只依賴于其標(biāo)識(shí)或位置信息,即事務(wù)控制被返回給它的方式,以及在將事務(wù)控制返回給它時(shí)其所需的信息的內(nèi)容。該方法通過(guò)允許將任何聯(lián)合用戶生命周期管理功能例如單次登錄操作、單次注銷操作、帳戶鏈接、帳戶解鏈等從接觸點(diǎn)實(shí)體所提供的會(huì)話管理功能解除連接,而最小化對(duì)于聯(lián)合伙伴的計(jì)算環(huán)境的現(xiàn)有基礎(chǔ)結(jié)構(gòu)的影響。
假定服務(wù)提供者處的接觸點(diǎn)實(shí)體從服務(wù)提供者處的聯(lián)合用戶生命周期管理應(yīng)用接收到成功響應(yīng),則服務(wù)提供者處的接觸點(diǎn)實(shí)體繼續(xù)處理來(lái)自終端用戶應(yīng)用的原始請(qǐng)求(步驟628),在此例中,該處理包括構(gòu)建用戶會(huì)話、執(zhí)行可選訪問(wèn)或認(rèn)證控制操作,然后將訪問(wèn)受控資源的請(qǐng)求發(fā)送或轉(zhuǎn)發(fā)給管理或以其他方式提供對(duì)受控資源的訪問(wèn)的后端應(yīng)用服務(wù)器(步驟630),從而結(jié)束該過(guò)程。
作為圖6中示出的例子的概要,在服務(wù)提供者的接觸點(diǎn)實(shí)體接收到原始請(qǐng)求時(shí),終端用戶還未向服務(wù)提供者進(jìn)行認(rèn)證。不是在服務(wù)提供者的控制下直接執(zhí)行認(rèn)證操作,而是服務(wù)提供者委托身份提供者來(lái)完成聯(lián)合單次登錄操作。服務(wù)提供者處的接觸點(diǎn)實(shí)體等待聯(lián)合單次登錄操作已通過(guò)作為聯(lián)合計(jì)算環(huán)境內(nèi)的伙伴的服務(wù)提供者處和身份提供者處的聯(lián)合用戶生命周期管理應(yīng)用成功完成的指示/消息。在服務(wù)提供者處的接觸點(diǎn)實(shí)體接收到聯(lián)合單次登錄操作已成功完成的指示/消息之后,進(jìn)一步對(duì)原始請(qǐng)求進(jìn)行處理。
本發(fā)明利用聯(lián)合用戶生命周期管理解決方案要結(jié)合到其中的現(xiàn)有環(huán)境。對(duì)于聯(lián)合用戶生命周期管理應(yīng)用的支持可以基于現(xiàn)有環(huán)境實(shí)現(xiàn)為J2EE/C#應(yīng)用。響應(yīng)于來(lái)自終端用戶的請(qǐng)求,接觸點(diǎn)實(shí)體調(diào)用聯(lián)合用戶生命周期管理應(yīng)用。該請(qǐng)求可以是簡(jiǎn)單到未認(rèn)證用戶對(duì)于受保護(hù)資源的請(qǐng)求,或者可以是對(duì)于聯(lián)合用戶生命周期管理功能的顯式請(qǐng)求,如上面對(duì)于圖5所討論的那樣。聯(lián)合用戶生命周期管理應(yīng)用是獨(dú)立的,因?yàn)樗鼈儾恍枰c計(jì)算環(huán)境的其他部分的任何交互;一旦所需的協(xié)議成功完成,則控制便被返回給最初接收到用戶的請(qǐng)求的接觸點(diǎn)實(shí)體。因此,現(xiàn)有環(huán)境需要最小程度的修改,來(lái)支持該聯(lián)合用戶生命周期管理功能。例如,如果要調(diào)用的聯(lián)合用戶生命周期管理功能是單次登錄請(qǐng)求,則這可以是響應(yīng)于未認(rèn)證用戶對(duì)于受保護(hù)資源的請(qǐng)求,其中,調(diào)用聯(lián)合用戶生命周期管理單次登錄功能而不是正常的認(rèn)證過(guò)程。對(duì)于本發(fā)明,這需要一簡(jiǎn)單配置改變以允許用戶被重定向到聯(lián)合用戶生命周期管理應(yīng)用而不是原有登錄過(guò)程。
對(duì)于聯(lián)合用戶生命周期管理的信任基礎(chǔ)結(jié)構(gòu)支持如以上指出的,用于提供聯(lián)合用戶生命周期管理功能的現(xiàn)有技術(shù)解決方案未伸縮以允許松散連接的環(huán)境,在這樣的環(huán)境中,容易使新的伙伴上線或從該計(jì)算環(huán)境中移除舊的伙伴,而無(wú)需改變?nèi)魏我粋?cè)的環(huán)境。由聯(lián)合用戶生命周期管理解決方案所實(shí)現(xiàn)的松散連接的特性涉及聯(lián)合伙伴之間的對(duì)應(yīng)性以及終端用戶訪問(wèn)那些伙伴環(huán)境的計(jì)算環(huán)境中的受控資源的能力。這種松散連接的特性一般不適用于聯(lián)合伙伴或方之間的信任關(guān)系。因此,存在著折衷;通過(guò)維護(hù)聯(lián)合伙伴或企業(yè)之間相對(duì)于它們的信任關(guān)系的緊密連接特性,實(shí)現(xiàn)松散連接的特性。這些緊密連接的信任關(guān)系定義了對(duì)于聯(lián)合環(huán)境內(nèi)的終端用戶可用的功能,且還定義了用于信任和保護(hù)這種聯(lián)合環(huán)境內(nèi)的通信的計(jì)算機(jī)制。
本發(fā)明認(rèn)識(shí)到,兩個(gè)伙伴/方之間的信任關(guān)系的緊密連接特性可由涉及信任或涉及安全的信息所表示。更具體地,本發(fā)明實(shí)現(xiàn)包括用于管理定義信任關(guān)系的加密密鑰、安全令牌和身份轉(zhuǎn)換的功能的信任服務(wù)。
應(yīng)該指出,在本發(fā)明所使用的種類的加密信任與具有SSL證書(shū)的傳輸層的信任之間存在區(qū)別;當(dāng)在協(xié)議/應(yīng)用層運(yùn)行信任時(shí),需要將在證書(shū)中所聲稱的身份附加地“綁定”到達(dá)成業(yè)務(wù)/法律協(xié)議所使用的身份。這樣,僅利用現(xiàn)有SSL/傳輸層信任關(guān)系是不足夠的,因?yàn)樗鼈儾痪哂袑?duì)于這種類型的功能所需的充分的附加綁定。
基于以下原因,已選擇密鑰、令牌、和身份轉(zhuǎn)換的組合來(lái)表示信任關(guān)系。在給定信任關(guān)系中,使用一組加密密鑰來(lái)簽署和加密伙伴之間的消息。要用于伙伴之間的事務(wù)中的密鑰的知識(shí)通常在任何事務(wù)之前建立,從而允許一個(gè)伙伴簽署/加密消息,而另一個(gè)伙伴驗(yàn)證/解密這些消息。此外,可被簽署/加密的消息的一個(gè)元素是用于斷言終端用戶的身份或角色的安全令牌。這種安全令牌的結(jié)構(gòu)也在伙伴之間的任何事務(wù)之前建立,從而保證雙方都理解該安全令牌的內(nèi)容;這種保證可以是調(diào)用能夠擔(dān)當(dāng)這些伙伴之間的媒介的第三方信任中介的協(xié)助的結(jié)果。此外,在安全令牌之內(nèi)是所聲明的身份、一組職責(zé)、和/或一組屬性,它們可從由身份提供者斷言的數(shù)據(jù)格式轉(zhuǎn)換為服務(wù)提供者所使用的數(shù)據(jù)格式;這種轉(zhuǎn)換是在先前又已根據(jù)在該安全令牌內(nèi)所聲明的達(dá)成一致的屬性而定義的身份轉(zhuǎn)換的基礎(chǔ)上完成的。
這樣,本發(fā)明提供了支持,來(lái)將兩個(gè)伙伴之間的信任關(guān)系的緊密連接的屬性表示為涉及安全性的信息的元組,具體為一組包括{加密密鑰,安全令牌,及身份轉(zhuǎn)換}的信息項(xiàng);換句話說(shuō),在本發(fā)明中,這種元組表示信任關(guān)系。本發(fā)明涉及允許信任關(guān)系(以及信任關(guān)系的管理)與提供聯(lián)合用戶生命周期管理功能解決方案所需的功能的分離的方法和系統(tǒng)。更具體地,將信任關(guān)系定義為包括加密密鑰、安全令牌、和身份轉(zhuǎn)換的元組,然后以獨(dú)立于可用于聯(lián)合伙伴的功能的定義的方式將給定元組綁定到至少兩個(gè)聯(lián)合伙伴的一組,這對(duì)聯(lián)合管理提供了可伸縮的方法,如下面更詳細(xì)解釋的那樣。
現(xiàn)在參照?qǐng)D7,其示出了將信任關(guān)系管理與聯(lián)合用戶生命周期管理分離的邏輯組件的組織的方框圖。聯(lián)合用戶生命周期管理應(yīng)用702類似于圖5中示出的聯(lián)合用戶生命周期管理應(yīng)用508。聯(lián)合用戶生命周期管理應(yīng)用702包括對(duì)于單次登錄、單次注銷、帳戶鏈接/解鏈和/或任何其他可實(shí)現(xiàn)的附加的聯(lián)合功能例如身份提供者確定的支持。所有這種功能以某種形式利用伙伴之間的信任關(guān)系。當(dāng)聯(lián)合用戶生命周期管理應(yīng)用702需要例如安全令牌來(lái)引用一聯(lián)合環(huán)境內(nèi)的終端用戶/應(yīng)用的時(shí),該信息從信任服務(wù)704通過(guò)信任服務(wù)調(diào)用/消息706被請(qǐng)求;可以在聯(lián)合用戶生命周期管理應(yīng)用和信任服務(wù)之間實(shí)現(xiàn)多種類型的接口。此外,信任服務(wù)可與聯(lián)合域內(nèi)的其他組件包括接觸點(diǎn)服務(wù)器接口。信任關(guān)系管理功能708僅是劃分參與對(duì)于給定聯(lián)合伙伴的信任關(guān)系管理的支持的功能模塊的邏輯邊界。
信任服務(wù)704是信任代理/服務(wù)的示例性實(shí)施例,其類似于上面討論過(guò)的信任代理服務(wù),例如圖2B中示出的信任代理/服務(wù)244或圖2C中示出的信任代理/服務(wù)254。但是,信任服務(wù)704表示本發(fā)明的這樣一個(gè)實(shí)施例,其中信任代理/服務(wù)已被擴(kuò)展到包括用于以特定方式管理信任關(guān)系的功能。本發(fā)明的信任關(guān)系管理包括用于加密密鑰管理、安全令牌管理和身份轉(zhuǎn)換管理的功能。這樣,信任服務(wù)704負(fù)責(zé)產(chǎn)生適當(dāng)?shù)陌踩钆?,包括?duì)于這些令牌所需的簽署/加密,并負(fù)責(zé)對(duì)正在代表其作出聯(lián)合請(qǐng)求的終端用戶/應(yīng)用的適當(dāng)標(biāo)識(shí)。
信任服務(wù)704可被視為對(duì)各種獨(dú)立的、涉及安全或涉及信任的服務(wù)的訪問(wèn)進(jìn)行中介。包括信任服務(wù)的這些獨(dú)立服務(wù)可實(shí)現(xiàn)于公用設(shè)備或服務(wù)器之上或?qū)崿F(xiàn)于公用應(yīng)用內(nèi);或者,將每一個(gè)服務(wù)實(shí)現(xiàn)為獨(dú)立的服務(wù)器應(yīng)用。密鑰管理服務(wù)710管理為在信任關(guān)系的情境內(nèi)進(jìn)行信息通信所需的加密密鑰和/或數(shù)字證書(shū)。安全令牌服務(wù)712負(fù)責(zé)管理用于伙伴之間的安全通信或在涉及安全性的通信內(nèi)的獨(dú)立的令牌實(shí)例;安全令牌插件714提供用于各種類型的獨(dú)立公布或開(kāi)發(fā)的安全令牌標(biāo)準(zhǔn)或規(guī)范的功能。身份服務(wù)716(或身份/屬性服務(wù)716)負(fù)責(zé)管理包含在安全令牌內(nèi)的身份和/或?qū)傩?,包括找到必須添加到令牌中的屬性、和根?jù)從身份提供者接收的令牌找到必須添加到對(duì)服務(wù)提供者處的接觸點(diǎn)服務(wù)器的本地響應(yīng)中的屬性。
將聯(lián)合用戶生命周期管理功能與信任關(guān)系管理功能分開(kāi)意味著對(duì)這兩個(gè)不同類型的功能的管理也可以分開(kāi)。這意味著如果關(guān)于信任關(guān)系的信息應(yīng)當(dāng)改變,例如為了安全目的替換加密密鑰,則所需的修改將不會(huì)影響聯(lián)合用戶生命周期管理功能。此外,可將相同的功能提供給不同伙伴,因?yàn)檫@些伙伴的信任關(guān)系管理未綁定到聯(lián)合用戶生命周期管理功能。而且,信任關(guān)系管理的分開(kāi)意味著在新功能被添加到現(xiàn)有信任關(guān)系中時(shí),例如,如果對(duì)于單次注銷操作的支持被添加到先前僅支持單次登錄操作的給定關(guān)系中,可以維持信任關(guān)系。最后,信任管理的分開(kāi)意味著信任關(guān)系及其管理可以在其他情境例如Web服務(wù)安全管理或面向Web服務(wù)的體系結(jié)構(gòu)內(nèi)重用;因此,本發(fā)明并不限于基于瀏覽器的被動(dòng)客戶端體系結(jié)構(gòu)。
通過(guò)導(dǎo)入的配置文件建立聯(lián)合關(guān)系下面圖8A-8D的描述用于總結(jié)本發(fā)明的一些概念,以便提供用于解釋聯(lián)合關(guān)系的概念和隨后解釋本發(fā)明實(shí)施例的背景,在所述本發(fā)明實(shí)施例中本發(fā)明的先前描述的特征有助于使用電子通信的業(yè)務(wù)伙伴之間的聯(lián)合關(guān)系的建立。圖8A-8D是強(qiáng)調(diào)本發(fā)明所提供的功能的分區(qū)的框圖。更具體地,圖8A-8D示出了本發(fā)明的實(shí)施例,其中將不同的功能組分區(qū),以在實(shí)現(xiàn)能夠同時(shí)處理多個(gè)聯(lián)合規(guī)范的聯(lián)合計(jì)算環(huán)境時(shí)產(chǎn)生效率,同時(shí)對(duì)于已有計(jì)算環(huán)境進(jìn)行最小程度的修改以與聯(lián)合功能接口。圖8A-8D的描述以共同的參考標(biāo)號(hào)引用相似的組件。
現(xiàn)在參照?qǐng)D8A,其示出了聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖。如上面簡(jiǎn)要指出的,企業(yè)和其潛在聯(lián)合伙伴必須在參與到聯(lián)合計(jì)算環(huán)境之前完成一定量的準(zhǔn)備工作。本發(fā)明的聯(lián)合體系結(jié)構(gòu)的一個(gè)優(yōu)點(diǎn)在于,對(duì)于給定企業(yè)域800,本發(fā)明需要對(duì)于企業(yè)及其聯(lián)合伙伴的已有計(jì)算環(huán)境功能804的最小程度的基礎(chǔ)結(jié)構(gòu)功能修改802,以便與聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806交互。上面針對(duì)圖2B更詳細(xì)地描述了這些特征。
現(xiàn)在參照?qǐng)D8B,其示出了聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖,其說(shuō)明了本發(fā)明提供聯(lián)合功能和接觸點(diǎn)功能同信任關(guān)系管理功分開(kāi)的方式。如上面所解釋的,在本發(fā)明的聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806內(nèi),接觸點(diǎn)功能與聯(lián)合操作功能的組合808同信任關(guān)系管理功能810分開(kāi),從而允許聯(lián)合內(nèi)的用戶通過(guò)已有應(yīng)用服務(wù)器814借助于根據(jù)本發(fā)明的各實(shí)施例的聯(lián)合功能訪問(wèn)受保護(hù)資源812。上面針對(duì)圖2C和圖4中示出的聯(lián)合基礎(chǔ)結(jié)構(gòu)組件和針對(duì)圖3A-3E中示出的功能過(guò)程更詳細(xì)地描述了這種接觸點(diǎn)功能與信任關(guān)系管理功能的分開(kāi)及其優(yōu)點(diǎn)。
可是,應(yīng)該指出,對(duì)預(yù)備附圖即直到圖4的附圖中聯(lián)合功能的解釋將接觸點(diǎn)服務(wù)器描述為執(zhí)行接觸點(diǎn)操作以及聯(lián)合功能和操作,例如在信任代理/服務(wù)的幫助下操縱對(duì)安全斷言和安全令牌的處理,特別是對(duì)于單次登錄操作,即聯(lián)合認(rèn)證操作,而未進(jìn)一步區(qū)分在聯(lián)合伙伴之間可能實(shí)現(xiàn)的許多類型的聯(lián)合功能和操作。換句話說(shuō),對(duì)預(yù)備附圖中聯(lián)合功能的解釋未在接觸點(diǎn)功能和聯(lián)合操作功能之間進(jìn)行區(qū)分;接觸點(diǎn)服務(wù)器被描述為執(zhí)行功能的組合,其中接觸點(diǎn)服務(wù)器的責(zé)任的一部分是擔(dān)當(dāng)聯(lián)合企業(yè)域的接觸點(diǎn)實(shí)體,而接觸點(diǎn)服務(wù)器的責(zé)任的其余部分是執(zhí)行任何聯(lián)合操作和功能,同時(shí)依賴于信任代理/服務(wù)來(lái)處理信任/安全操作。但是,圖4之后的對(duì)本發(fā)明的描述提供了本發(fā)明實(shí)施例可實(shí)現(xiàn)接觸點(diǎn)功能和其他聯(lián)合操作功能之間的區(qū)別的方式的進(jìn)一步細(xì)節(jié),如針對(duì)圖8C所指出的那樣。
現(xiàn)在參照?qǐng)D8C,其示出了聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖,其說(shuō)明了本發(fā)明提供聯(lián)合操作功能與接觸點(diǎn)功能的進(jìn)一步分開(kāi)的方式。如上面所解釋的,在本發(fā)明的聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806內(nèi),信任關(guān)系管理功能810與在本發(fā)明的聯(lián)合基礎(chǔ)結(jié)構(gòu)內(nèi)提供的其他功能分開(kāi);此外,在這些其他功能之間可進(jìn)行進(jìn)一步區(qū)分,以便接觸點(diǎn)功能816可被示為與聯(lián)合操作功能818分開(kāi)。上面針對(duì)圖5中示出的聯(lián)合基礎(chǔ)結(jié)構(gòu)組件和針對(duì)圖6中示出的功能過(guò)程更詳細(xì)地描述了這種接觸點(diǎn)功能與聯(lián)合操作功能的分開(kāi)及其優(yōu)點(diǎn),其中圖5中的聯(lián)合用戶生命周期管理應(yīng)用508(類似地,圖6中的FULM應(yīng)用)代表聯(lián)合操作功能的一個(gè)方面。
這樣,本發(fā)明有助于不同功能的分區(qū)或模塊化。在本發(fā)明的一個(gè)實(shí)施例中,接觸點(diǎn)功能與聯(lián)合操作功能的組合同信任關(guān)系管理功能分開(kāi)。在本發(fā)明的另一個(gè)實(shí)施例中,除了繼續(xù)信任關(guān)系管理功能的分區(qū)之外,還將接觸點(diǎn)功能同聯(lián)合操作功能分開(kāi),聯(lián)合操作功能的一個(gè)方面是聯(lián)合用戶生命周期管理功能。在上面針對(duì)圖7描述了涉及信任關(guān)系管理功能和聯(lián)合用戶生命周期管理功能的分開(kāi)的進(jìn)一步區(qū)別。已知這些分區(qū),圖8D示出了本發(fā)明的再另一實(shí)施例,其中示出了進(jìn)一步的區(qū)別。
現(xiàn)在參照?qǐng)D8D,其示出了聯(lián)合計(jì)算環(huán)境的邏輯功能的高級(jí)抽象的方框圖,其說(shuō)明了本發(fā)明提供將聯(lián)合操作功能進(jìn)一步分為聯(lián)合用戶生命周期管理功能和聯(lián)合關(guān)系管理功能的方式。如上面針對(duì)圖8C所指出的,接觸點(diǎn)功能816可被示為與聯(lián)合操作功能818分開(kāi)。此外,如針對(duì)圖5和圖6所解釋的,接觸點(diǎn)實(shí)體可獨(dú)立于域內(nèi)的聯(lián)合操作功能進(jìn)行操作,而僅有最小程度的配置改變以識(shí)別與訪問(wèn)受保護(hù)資源的請(qǐng)求相對(duì)比的對(duì)于聯(lián)合操作的傳入請(qǐng)求。因此,通過(guò)在圖8D中示出接觸點(diǎn)功能820與聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806分離,而在該圖中反映出該能力。
如上面針對(duì)圖8B所指出的,在本發(fā)明實(shí)施例中,接觸點(diǎn)功能與聯(lián)合操作功能的組合808可與聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806內(nèi)的信任關(guān)系管理功能810分離。在上面針對(duì)圖5和圖6描述了聯(lián)合用戶生命周期管理功能之后,圖7的描述解釋了可繼續(xù)與聯(lián)合用戶生命周期管理功能分離地實(shí)現(xiàn)信任關(guān)系管理功能的方式。此外,圖7的描述指出,可以模塊的方式將相同的功能提供給不同的聯(lián)合伙伴。
換句話說(shuō),可以這樣的方式來(lái)實(shí)現(xiàn)信任關(guān)系管理功能,即其與聯(lián)合基礎(chǔ)結(jié)構(gòu)功能接口,但卻獨(dú)立于這樣的功能。因此,在圖8D中通過(guò)示出信任關(guān)系管理功能822與聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806分離而在該圖中反映出這種能力。該區(qū)別的重要性在下面更詳細(xì)地說(shuō)明。
圖8D還示出了本發(fā)明的聯(lián)合操作功能中進(jìn)一步的區(qū)別。聯(lián)合操作功能,例如聯(lián)合操作功能818,包括實(shí)現(xiàn)聯(lián)合計(jì)算環(huán)境中的聯(lián)合伙伴之間的事務(wù)或交互的那些操作或功能。聯(lián)合操作功能可與例如聯(lián)合基礎(chǔ)結(jié)構(gòu)功能806的聯(lián)合基礎(chǔ)結(jié)構(gòu)功能形成對(duì)比,聯(lián)合基礎(chǔ)結(jié)構(gòu)功能包括使得聯(lián)合伙伴能夠?qū)崿F(xiàn)與已有企業(yè)功能協(xié)作的聯(lián)合操作功能的那些操作或功能。
上面指出了聯(lián)合用戶生命周期管理功能,例如由圖5中的聯(lián)合用戶生命周期管理應(yīng)用508和圖6中的FULM應(yīng)用所表示的功能,僅是聯(lián)合操作功能的一個(gè)方面。如上面所定義的,聯(lián)合用戶生命周期管理功能包括用于支持或管理相對(duì)于給定用戶在多個(gè)聯(lián)合域處的特定用戶帳戶或用戶簡(jiǎn)檔的聯(lián)合操作的功能;在某些情況下,這些功能或操作限于用戶的給定聯(lián)合會(huì)話。換句話說(shuō),聯(lián)合用戶生命周期管理功能指允許管理可能僅在聯(lián)合計(jì)算環(huán)境內(nèi)的單個(gè)用戶會(huì)話的生命周期期間的跨多個(gè)聯(lián)合伙伴的聯(lián)合操作的功能。
圖8D反映了本發(fā)明中的聯(lián)合操作功能可包括多個(gè)方面。隨同聯(lián)合用戶生命周期管理824作為聯(lián)合操作功能的一個(gè)方面,本發(fā)明的一個(gè)實(shí)施例還可以實(shí)現(xiàn)聯(lián)合關(guān)系管理功能826,如下面更詳細(xì)地說(shuō)明的那樣;下面還更詳細(xì)地解釋了聯(lián)合伙伴之間的信任關(guān)系和聯(lián)合伙伴之間的聯(lián)合關(guān)系之間的不同。
現(xiàn)在參照?qǐng)D9A-9B,其示出了聯(lián)合關(guān)系包括與聯(lián)合功能的選擇相關(guān)的信任關(guān)系的方式的維恩圖。聯(lián)合的核心目的是在業(yè)務(wù)伙伴之間曝露業(yè)務(wù)過(guò)程。可是,企業(yè)的業(yè)務(wù)過(guò)程的曝露不是在未考慮多種因素的情況下進(jìn)行的;例如,企業(yè)會(huì)僅考慮將業(yè)務(wù)過(guò)程曝露給受信任的伙伴的。因此,特別是考慮到不同的業(yè)務(wù)伙伴可能在他們之間具有不同級(jí)別的信任,本發(fā)明認(rèn)識(shí)到這樣的需要,即允許企業(yè)將其業(yè)務(wù)過(guò)程的曝露限制到僅僅受信任的聯(lián)合伙伴。
但是,甚至是在相同的聯(lián)合計(jì)算環(huán)境內(nèi),不同組的聯(lián)合伙伴也會(huì)具有對(duì)于相互交互的不同需求。因此,本發(fā)明認(rèn)識(shí)到這樣的需要,即允許企業(yè)將其業(yè)務(wù)過(guò)程的曝露以不同方式限制到不同聯(lián)合伙伴。
這樣,在本發(fā)明中,聯(lián)合功能包括支持受信任的聯(lián)合伙伴之間的電子事務(wù)的電子操作或功能。由于在業(yè)務(wù)過(guò)程的曝露之前在聯(lián)合伙伴之間必須存在某種級(jí)別的信任,所以在聯(lián)合關(guān)系關(guān)聯(lián)之前聯(lián)合伙伴之間應(yīng)該存在信任關(guān)系。換句話說(shuō),聯(lián)合功能包括選擇隨后與一信任關(guān)系相關(guān)聯(lián)的電子事務(wù)。圖9A-9B的維恩圖中反映出了這種邏輯。
現(xiàn)在參照?qǐng)D9A,其維恩圖示出了兩個(gè)聯(lián)合伙伴之間的聯(lián)合關(guān)系902包括這兩個(gè)聯(lián)合伙伴的信任關(guān)系904與要由這兩個(gè)聯(lián)合伙伴實(shí)現(xiàn)的一組聯(lián)合操作/功能906的選擇之間的關(guān)聯(lián)。當(dāng)將圖9A的圖與本發(fā)明實(shí)施例可對(duì)企業(yè)的計(jì)算環(huán)境內(nèi)的信任關(guān)系管理功能和聯(lián)合基礎(chǔ)結(jié)構(gòu)功能進(jìn)行組織的方式進(jìn)行比較時(shí),實(shí)現(xiàn)聯(lián)合計(jì)算環(huán)境的優(yōu)點(diǎn)變得顯而易見(jiàn),如下面更詳細(xì)說(shuō)明的那樣。
現(xiàn)在參照?qǐng)D9B,其示出了兩個(gè)聯(lián)合伙伴可在他們之間具有多種聯(lián)合關(guān)系的圖。兩個(gè)聯(lián)合伙伴之間的第一種聯(lián)合關(guān)系912包括這兩個(gè)聯(lián)合伙伴之間的第一種信任關(guān)系914與要由這兩個(gè)聯(lián)合伙伴實(shí)現(xiàn)的一組聯(lián)合操作/功能的第一種選擇916間的關(guān)聯(lián)。此外,兩個(gè)聯(lián)合伙伴之間的第二種聯(lián)合關(guān)系922包括這兩個(gè)聯(lián)合伙伴的第二種信任關(guān)系924與要由這兩個(gè)聯(lián)合伙伴實(shí)現(xiàn)的一組聯(lián)合操作/功能的第二種選擇926間的關(guān)聯(lián)。在該實(shí)施例中,這兩個(gè)聯(lián)合伙伴之間的多種信任關(guān)系用于他們的多種聯(lián)合關(guān)系之內(nèi)。該多種信任關(guān)系可具有相同的特征,但不同的實(shí)現(xiàn)數(shù)據(jù),例如,相同大小的不同加密密鑰或僅僅不同的數(shù)字證書(shū),從而允許例如要利用不同的數(shù)字證書(shū)執(zhí)行的不同聯(lián)合操作。
但是,這兩種不同的功能選擇916和926可利用具有不同特征的信任關(guān)系,從而暗示可以對(duì)于具有不同強(qiáng)度的信任關(guān)系執(zhí)行不同的聯(lián)合操作。不同強(qiáng)度的信任關(guān)系可基于各種標(biāo)準(zhǔn)之上,例如不同的加密算法或不同的加密密鑰大小。例如,可以使用較弱的信任關(guān)系執(zhí)行單次登錄操作,而使用較強(qiáng)的信任關(guān)系執(zhí)行諸如用戶的提供的其他聯(lián)合操作。
例如,一對(duì)聯(lián)合伙伴可進(jìn)行交互并可能與很多其他聯(lián)合伙伴一起以支持第一個(gè)商業(yè)項(xiàng)目,而該商業(yè)項(xiàng)目可能通過(guò)各種協(xié)商的業(yè)務(wù)協(xié)議要求使用具有特定特征的第一種信任關(guān)系。同時(shí),這些聯(lián)合伙伴可交互并可能與不同組的聯(lián)合伙伴一起以支持第二個(gè)商業(yè)項(xiàng)目,而該商業(yè)項(xiàng)目可能需要使用第二種信任關(guān)系,該第二種信任關(guān)系具有不同于第一種信任關(guān)系的特征,所有這些都由不同組的業(yè)務(wù)協(xié)議所支配。因此,在此情況下,不同的商業(yè)項(xiàng)目會(huì)需要包括不同信任關(guān)系的不同聯(lián)合關(guān)系。
現(xiàn)在參照?qǐng)D10,其示出了由一對(duì)業(yè)務(wù)伙伴執(zhí)行以便在根據(jù)本發(fā)明的聯(lián)合計(jì)算環(huán)境內(nèi)進(jìn)行交互的一系列操作的數(shù)據(jù)流圖。一個(gè)企業(yè),例如伙伴1002,及其潛在聯(lián)合伙伴,例如伙伴1004,必須在試圖在聯(lián)合計(jì)算環(huán)境內(nèi)進(jìn)行交互之前建立聯(lián)合關(guān)系。可是,如上面指出的,聯(lián)合關(guān)系是基于信任關(guān)系的;這種信任關(guān)系代表聯(lián)合伙伴對(duì)他們的業(yè)務(wù)和法律協(xié)議的信任,從而允許各伙伴確定他們交互的各方面,例如確定什么種類的責(zé)任與指定動(dòng)作相關(guān),如果該動(dòng)作是在特定信任關(guān)系的支持下執(zhí)行的話,而該特定信任關(guān)系又允許這些伙伴將管理可允許的動(dòng)作的策略應(yīng)用于在其中請(qǐng)求這些動(dòng)作的信任關(guān)系類型。因此,企業(yè)及其潛在聯(lián)合伙伴必須在試圖在聯(lián)合內(nèi)進(jìn)行交互之前建立信任關(guān)系,如交互數(shù)據(jù)流1006所示出的那樣。已知一聯(lián)合關(guān)系將聯(lián)合功能的選擇與信任關(guān)系的相關(guān)聯(lián),聯(lián)合功能必須在每一個(gè)伙伴處進(jìn)行配置,這示出為配置操作1008和1010,此后,可建立聯(lián)合關(guān)系,如交互數(shù)據(jù)流1012所示出的那樣。在聯(lián)合關(guān)系建立之后,業(yè)務(wù)伙伴可通過(guò)參與聯(lián)合事務(wù)以聯(lián)合的方式進(jìn)行交互,如交互數(shù)據(jù)流1014所示出的那樣。
可是,假定一個(gè)企業(yè)希望具有對(duì)于成功完成聯(lián)合事務(wù)的正確支持,應(yīng)該指出,聯(lián)合功能的配置僅需要在聯(lián)合事務(wù)的啟動(dòng)之前在任何時(shí)間執(zhí)行。例如,可在建立信任關(guān)系之前對(duì)聯(lián)合功能進(jìn)行配置。盡管在對(duì)聯(lián)合關(guān)系進(jìn)行配置時(shí)其可能有助于聯(lián)合功能的選擇,聯(lián)合功能的配置還可能在聯(lián)合關(guān)系建立之后執(zhí)行。此外,對(duì)于本發(fā)明,在聯(lián)合關(guān)系建立之后,可修改聯(lián)合功能,尤其是關(guān)于提高聯(lián)合功能,而無(wú)需要求對(duì)先前建立的聯(lián)合關(guān)系的修改。
現(xiàn)在參照?qǐng)D11,其示出了業(yè)務(wù)伙伴之間的交互以為準(zhǔn)備建立根據(jù)本發(fā)明實(shí)施例的聯(lián)合關(guān)系而建立信任關(guān)系的方框圖。如上面指出的,信任關(guān)系涉及在業(yè)務(wù)伙伴之間建立初始信任的某種引導(dǎo)過(guò)程。這種引導(dǎo)過(guò)程的一部分可包括建立共享密鑰和定義所期望的和/或允許的令牌類型和身份轉(zhuǎn)換的規(guī)則。這種引導(dǎo)過(guò)程可帶外實(shí)現(xiàn),因?yàn)檫@種過(guò)程還可包括建立管理企業(yè)參與聯(lián)合和與這種參與相關(guān)聯(lián)的法律責(zé)任的業(yè)務(wù)協(xié)議。
這種引導(dǎo)過(guò)程的目的在于提供業(yè)務(wù)伙伴即企業(yè)到該業(yè)務(wù)伙伴的信任信息的綁定;這是在作為業(yè)務(wù)伙伴的數(shù)字證書(shū)的創(chuàng)建的一部分的身份到加密密鑰的綁定之上的;證書(shū)創(chuàng)建由單純斷言業(yè)務(wù)伙伴的身份的證書(shū)管理機(jī)構(gòu)來(lái)處理。這種聯(lián)合信任引導(dǎo)斷言該伙伴的身份例如在數(shù)字證書(shū)中所聲明的身份被綁定到先前協(xié)商的業(yè)務(wù)協(xié)議、法律協(xié)議或類似類型的聯(lián)系。
本發(fā)明允許信任關(guān)系的形式是靈活的;例如,聯(lián)合伙伴可使用不同類型的安全令牌進(jìn)行交互。如上面針對(duì)圖7所描述的,本發(fā)明的一個(gè)實(shí)施例可引入信任服務(wù),其管理給定企業(yè)及其業(yè)務(wù)伙伴之間的信任關(guān)系,同時(shí)將管理信任關(guān)系的功能與用于聯(lián)合用戶生命周期管理的功能分離。但是,圖7的描述未提供建立信任關(guān)系的方式的進(jìn)一步描述。
圖11示出了諸如圖7中示出的信任服務(wù)704在聯(lián)合伙伴1102的計(jì)算環(huán)境中提供功能支持,以便與聯(lián)合伙伴1104建立信任關(guān)系的方式。計(jì)算環(huán)境1102內(nèi)的信任關(guān)系管理控制臺(tái)應(yīng)用1106依賴于信任服務(wù)704來(lái)實(shí)現(xiàn)與聯(lián)合伙伴1104處的實(shí)體例如在聯(lián)合伙伴1104的計(jì)算環(huán)境內(nèi)的相類配置應(yīng)用的信息交換。如上面所指出的,在本發(fā)明內(nèi),兩個(gè)伙伴之間的信任關(guān)系被表示為涉及安全的信息的元組,具體為一組包括{加密密鑰,安全令牌,和身份轉(zhuǎn)換}的信息項(xiàng)。這樣,信任服務(wù)704實(shí)現(xiàn)關(guān)于所期望的令牌格式1108、加密密鑰1110、以及身份轉(zhuǎn)換1112的信息的交換,然后,這些信息由信任關(guān)系管理控制臺(tái)應(yīng)用1106或信任服務(wù)704存儲(chǔ)在信任關(guān)系數(shù)據(jù)庫(kù)中1114中。應(yīng)該指出,在信任關(guān)系數(shù)據(jù)庫(kù)1114內(nèi)表示的每一個(gè)信任關(guān)系可具有附加信息,用于描述或?qū)崿F(xiàn)該信任關(guān)系。
現(xiàn)在參照?qǐng)D12,其示出了使計(jì)算環(huán)境包括聯(lián)合功能的配置的方框圖。如上面對(duì)于圖10指出的,聯(lián)合功能的配置需要在啟動(dòng)聯(lián)合事務(wù)之前的某一時(shí)刻執(zhí)行。如上面對(duì)于圖5所描述的,聯(lián)合用戶生命周期管理應(yīng)用508包括支持與還在圖12中示出的聯(lián)合用戶生命周期管理插件514的接口、交互、或以其他方式的互操作。
在本發(fā)明的一個(gè)實(shí)施例中,聯(lián)合協(xié)議運(yùn)行時(shí)插件提供了用于各種類型的獨(dú)立公布或開(kāi)發(fā)的聯(lián)合用戶生命周期管理標(biāo)準(zhǔn)或概要的功能。參照?qǐng)D12,企業(yè)的計(jì)算環(huán)境內(nèi)的系統(tǒng)管理用戶使用運(yùn)行時(shí)環(huán)境管理控制臺(tái)應(yīng)用1202來(lái)管理FULM應(yīng)用508和聯(lián)合用戶生命周期管理插件514。例如,管理員可使用由運(yùn)行時(shí)環(huán)境管理控制臺(tái)應(yīng)用1202提供的圖形用戶界面來(lái)配置特定服務(wù)器上的特定目錄內(nèi)的插件514。當(dāng)要支持新的聯(lián)合操作時(shí),管理員可通過(guò)將新的插件存儲(chǔ)在適當(dāng)目錄下來(lái)部署該新插件;管理應(yīng)用可從第三方銷售商、集中聯(lián)合數(shù)據(jù)庫(kù)、或某一其他位置處檢索新插件的更新版本。配置文件和/或?qū)傩晕募糜诓寮?14的運(yùn)行時(shí)參數(shù),例如要在聯(lián)合事務(wù)期間使用的URI;這些可由管理員通過(guò)運(yùn)行時(shí)環(huán)境管理控制臺(tái)應(yīng)用1202來(lái)創(chuàng)建、修改和刪除。
現(xiàn)在參照?qǐng)D13A,該方框圖示出了根據(jù)本發(fā)明實(shí)施例可由系統(tǒng)管理用戶用于在企業(yè)的計(jì)算環(huán)境內(nèi)建立聯(lián)合關(guān)系的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用。如上面指出的,聯(lián)合關(guān)系包括聯(lián)合功能的選擇,其必須在伙伴之間達(dá)成一致意見(jiàn);例如,雙方可達(dá)成一致同意利用單次登錄功能。但是,為了實(shí)現(xiàn)這種功能,雙方還需要明了用于所選擇功能的特定于伙伴的信息,例如向其發(fā)送單次登錄請(qǐng)求/響應(yīng)消息的URI。需要由一個(gè)聯(lián)合伙伴從另一個(gè)聯(lián)合伙伴收集的特定于伙伴的信息依賴于為聯(lián)合伙伴之間的特定聯(lián)合關(guān)系所定義或選擇的聯(lián)合功能。這種特定于伙伴的信息需要在伙伴之間進(jìn)行交換。
這樣,不能由第一個(gè)聯(lián)合伙伴將單個(gè)配置表單文件或模板文件分發(fā)給所有聯(lián)合伙伴,因?yàn)閺拿恳粋€(gè)聯(lián)合伙伴所需要的信息可能是不同的;為執(zhí)行根據(jù)已定義的聯(lián)合關(guān)系的聯(lián)合事務(wù)在運(yùn)行時(shí)需要的信息是特定于伙伴的。如果在第一個(gè)伙伴處的管理員未根據(jù)聯(lián)合伙伴的特定聯(lián)合關(guān)系的已配置功能而為每個(gè)聯(lián)合伙伴定制這種配置表單或模板,則其他伙伴需要提供配置表單或模板內(nèi)可能被請(qǐng)求的所有信息,而不管它對(duì)于他們的特定聯(lián)合關(guān)系是否是需要的。
本發(fā)明采取這樣一種方法,即在建立聯(lián)合關(guān)系時(shí),動(dòng)態(tài)生成特定于聯(lián)合關(guān)系的XML配置文件,并將其導(dǎo)出給聯(lián)合伙伴,該聯(lián)合伙伴提供所請(qǐng)求的特定于伙伴的配置信息,并將其返回給該請(qǐng)求者。在從一個(gè)伙伴接收到所完成的文件之后,請(qǐng)求伙伴可導(dǎo)入特定于伙伴的配置信息并將其與適當(dāng)聯(lián)合關(guān)系相關(guān)聯(lián),如下面更詳細(xì)解釋的那樣。
參照?qǐng)D13A,管理用戶使用聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300來(lái)建立聯(lián)合關(guān)系。由于每一個(gè)聯(lián)合關(guān)系包括一信任關(guān)系,所以聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300從信任關(guān)系數(shù)據(jù)庫(kù)1302檢索關(guān)于先前建立的信任關(guān)系的信息。信任關(guān)系數(shù)據(jù)庫(kù)1302包含用于企業(yè)和其被信任的業(yè)務(wù)伙伴之間已經(jīng)建立的每一個(gè)信任關(guān)系的條目,例如上面針對(duì)圖11所討論的那樣;圖13A中的信任關(guān)系數(shù)據(jù)庫(kù)1302類似于圖11中的信任關(guān)系數(shù)據(jù)庫(kù)1114;應(yīng)該指出,這里所描述的數(shù)據(jù)庫(kù)、配置文件、數(shù)據(jù)結(jié)構(gòu)等可以實(shí)現(xiàn)為通用數(shù)據(jù)存儲(chǔ)或多個(gè)不同類型的數(shù)據(jù)存儲(chǔ),以便任何數(shù)據(jù)存儲(chǔ)可以實(shí)現(xiàn)為數(shù)據(jù)庫(kù)、文件、數(shù)據(jù)結(jié)構(gòu)等。在圖13A中示出的例子中,信任關(guān)系數(shù)據(jù)庫(kù)1302包含稱作“TRUST-XY”的信任關(guān)系,其由信任關(guān)系數(shù)據(jù)庫(kù)條目1304表示。如上面描述的,每一個(gè)信任關(guān)系包括信息的元組;信任關(guān)系數(shù)據(jù)庫(kù)條目1304包含元組1306,其包括加密密鑰信息1308、令牌格式信息1310、以及身份轉(zhuǎn)換信息1312。每一種信任關(guān)系還包括任何附加的特定于伙伴的信息,用于實(shí)現(xiàn)所表示的信任關(guān)系,例如參與信任關(guān)系的伙伴的身份、關(guān)于可以接觸以執(zhí)行相關(guān)于信任關(guān)系的操作的信任服務(wù)的身份或位置的信息、或其他類似類型的信息。
由于聯(lián)合關(guān)系還包括關(guān)于要在聯(lián)合關(guān)系內(nèi)被支持的聯(lián)合功能的特定于伙伴的信息,所以聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300還檢索關(guān)于這樣的聯(lián)合功能的特定于聯(lián)合功能的信息,該聯(lián)合功能可能已被配置在企業(yè)的計(jì)算環(huán)境內(nèi)或?qū)⒈慌渲迷谄髽I(yè)的域或計(jì)算環(huán)境內(nèi)。例如,假定已根據(jù)類似于上面針對(duì)圖5所描述的本發(fā)明的實(shí)施例實(shí)現(xiàn)了企業(yè)的計(jì)算環(huán)境,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300可從各種信息源檢索關(guān)于FULM應(yīng)用和/或其相關(guān)插件的信息,這種檢索例如通過(guò)掃描包含這些文件的目錄、通過(guò)讀取與該FULM應(yīng)用和/或其相關(guān)插件相關(guān)的配置和/或?qū)傩晕募?314、或以某種其他方式來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)施例中,在收集這種信息之后,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300可建立注冊(cè)表1316,其是關(guān)于在企業(yè)的域或計(jì)算環(huán)境內(nèi)被支持的、或可用于該企業(yè)的域或計(jì)算環(huán)境的聯(lián)合功能的信息的匯編。在圖13A中示出的例子中,注冊(cè)表1316包含用于可用的聯(lián)合功能的類型的條目1318;注冊(cè)表?xiàng)l目1318還與多個(gè)字段1320相關(guān),這些字段表示給定聯(lián)合功能所需的多個(gè)元數(shù)據(jù)參數(shù);元數(shù)據(jù)指示特定于伙伴的配置數(shù)據(jù),此數(shù)據(jù)是聯(lián)合伙伴在使用該給定聯(lián)合功能的聯(lián)合事務(wù)的實(shí)例期間調(diào)用或執(zhí)行該聯(lián)合功能所需的。在一個(gè)實(shí)施例中,注冊(cè)表1316是在每一次聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300由管理用戶所使用時(shí)動(dòng)態(tài)生成的臨時(shí)數(shù)據(jù)存儲(chǔ)或數(shù)據(jù)結(jié)構(gòu);在另一個(gè)可選實(shí)施例中,注冊(cè)表1316由該企業(yè)的域或計(jì)算環(huán)境內(nèi)的某種其他配置工具維護(hù),這些工具例如有圖12中示出的運(yùn)行時(shí)環(huán)境管理控制臺(tái)應(yīng)用1202。
在某些情況下,在實(shí)現(xiàn)聯(lián)合功能的軟件模塊被建立時(shí),會(huì)確定關(guān)于與聯(lián)合功能相關(guān)的元數(shù)據(jù)參數(shù)的信息;換句話說(shuō),這些元數(shù)據(jù)參數(shù)是特定于聯(lián)合功能的,且這些元數(shù)據(jù)參數(shù)以某種方式與實(shí)現(xiàn)這些聯(lián)合功能的軟件模塊相關(guān)聯(lián)。因此,與聯(lián)合功能相關(guān)的元數(shù)據(jù)參數(shù)1320的身份應(yīng)伴隨著實(shí)現(xiàn)該聯(lián)合功能的軟件模塊,并優(yōu)選地作為配置和/或?qū)傩晕募?314內(nèi)的特定于功能的元數(shù)據(jù)參數(shù);在這些軟件模塊被部署時(shí),例如在FULM應(yīng)用和/或其插件被部署時(shí),這些配置和/或?qū)傩晕募?314被部署或配置在企業(yè)的計(jì)算環(huán)境內(nèi)?;蛘撸蓮哪撤N其他數(shù)據(jù)源例如一公用、集中、聯(lián)合數(shù)據(jù)庫(kù)中檢索出元數(shù)據(jù)參數(shù)1320的數(shù)量和生質(zhì)。在又一種可選方式中,可從描述聯(lián)合協(xié)議的規(guī)范的電子文件中得出元數(shù)據(jù)參數(shù)1320的數(shù)量和性質(zhì);這些規(guī)范文件可描述元數(shù)據(jù)參數(shù)的標(biāo)準(zhǔn)集合,以便用于遵循特定聯(lián)合協(xié)議的聯(lián)合功能的聯(lián)合功能的任何實(shí)現(xiàn)需要某些元數(shù)據(jù)參數(shù),從而規(guī)定了可期望由用于該聯(lián)合協(xié)議的任何軟件模塊所實(shí)現(xiàn)的接口或數(shù)據(jù)交換。在任何情況下,元數(shù)據(jù)參數(shù)1320的數(shù)量和性質(zhì)可用于聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300的檢索。
聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300檢索關(guān)于信任關(guān)系和聯(lián)合功能的信息,同時(shí)支持管理用戶建立聯(lián)合關(guān)系。這些聯(lián)合關(guān)系由聯(lián)合關(guān)系數(shù)據(jù)庫(kù)1322內(nèi)的各條目所表示。在圖13A所示出的例子中,聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324表示稱作“FED-XY-PROJECTX”的聯(lián)合關(guān)系;在該例中,聯(lián)合關(guān)系的標(biāo)識(shí)符提供了在該聯(lián)合關(guān)系中協(xié)作的聯(lián)合伙伴的標(biāo)識(shí),例如伙伴“X”和伙伴“Y”,以及聯(lián)合關(guān)系的目的的標(biāo)識(shí)。如果聯(lián)合伙伴可為多種不同目的進(jìn)行交互,且如果每一個(gè)目的可能具有其自身的要求,則可能的是,一對(duì)聯(lián)合伙伴可具有多個(gè)聯(lián)合關(guān)系,如上面針對(duì)圖9A-9B所描述的那樣。
在圖13A所示出的例子中,信任關(guān)系數(shù)據(jù)庫(kù)條目1304已被復(fù)制到聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324中,作為信任關(guān)系數(shù)據(jù)1326,其包括加密密鑰1330、令牌格式信息1332、以及身份/屬性轉(zhuǎn)換信息1334?;蛘?,聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324可僅存儲(chǔ)對(duì)于信任關(guān)系數(shù)據(jù)庫(kù)1302內(nèi)的信任關(guān)系數(shù)據(jù)庫(kù)條目1304的引用或指針,以便可修改信任關(guān)系數(shù)據(jù)庫(kù)條目1304,而無(wú)需更新聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324;也可僅通過(guò)引用而包括含有信任關(guān)系的元素例如加密密鑰和證書(shū)的個(gè)別數(shù)據(jù)條目,以提高管理這些數(shù)據(jù)條目的效率。聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324還包含關(guān)于要由該聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324所表示的聯(lián)合關(guān)系所支持的聯(lián)合操作/功能,例如功能1336和1338,以及分別關(guān)于它們的實(shí)現(xiàn)要求的相關(guān)元數(shù)據(jù)信息1340和1342;或者,聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324可僅存儲(chǔ)對(duì)適當(dāng)位置例如配置和/或?qū)傩晕募?314的引用或指針,從其可以檢索關(guān)于所支持的聯(lián)合功能/操作的信息。
在以后的某個(gè)時(shí)間點(diǎn),將使用聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324來(lái)啟動(dòng)聯(lián)合事務(wù),該事務(wù)將使用在聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324內(nèi)指示的聯(lián)合功能,即功能1336和1338。但是,為了啟動(dòng)或完成該聯(lián)合事務(wù),在其中聯(lián)合功能通過(guò)其元數(shù)據(jù)信息,即根據(jù)與功能1336和1338相關(guān)的信息1340,指示其需要特定于伙伴的信息的那些實(shí)例中,必須使用特定于伙伴的信息。例如,該特定于伙伴的信息可以包括一個(gè)或多個(gè)URI,其指示要發(fā)送到聯(lián)合伙伴以請(qǐng)求與該特定聯(lián)合伙伴的聯(lián)合事務(wù)的請(qǐng)求消息的目的地。
在本發(fā)明的一個(gè)實(shí)施例中,在管理用戶使用聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300或類似管理軟件工具構(gòu)建或建立聯(lián)合關(guān)系時(shí),聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300試圖獲得特定于伙伴的信息,且然后將其存儲(chǔ)在聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324內(nèi),作為特定于伙伴的數(shù)據(jù)條目,例如數(shù)據(jù)條目1344和1346。為了這樣做,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300動(dòng)態(tài)地生成聯(lián)合關(guān)系建立模板文件1348;這可以是XML格式的文件或某種其他類型的文件。模板1348由發(fā)起伙伴例如伙伴“X”導(dǎo)出到管理用戶整試圖與其建立聯(lián)合關(guān)系的被信任的伙伴,例如信任關(guān)系數(shù)據(jù)1326內(nèi)所標(biāo)識(shí)的伙伴“Y”。在被信任的伙伴已通過(guò)修改模板文件1348以包括所需的特定于伙伴信息而提供了該信息時(shí),請(qǐng)求伙伴處的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300導(dǎo)入所修改的模板文件1348,提取所提供的信息,并將其存儲(chǔ)在聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324內(nèi),如下面更詳細(xì)地解釋的那樣。
應(yīng)該指出,特定于伙伴配置信息可能也需要從上述的管理用戶即發(fā)起/源伙伴或伙伴“X”的計(jì)算環(huán)境傳送給合作/目標(biāo)聯(lián)合伙伴即伙伴“Y”。目標(biāo)聯(lián)合伙伴可能需要關(guān)于發(fā)起伙伴的某種特定于伙伴的信息,用于從合作/目標(biāo)聯(lián)合伙伴的視角對(duì)聯(lián)合關(guān)系進(jìn)行配置;例如,聯(lián)合伙伴可能需要類似的元數(shù)據(jù)信息,例如接觸點(diǎn)服務(wù)器的URI,以便該合作/目標(biāo)聯(lián)合伙伴可使用聯(lián)合功能、并結(jié)合特定于伙伴的配置數(shù)據(jù)在朝向管理用戶的域的反方向上啟動(dòng)聯(lián)合事務(wù),該管理用戶例如伙伴“X”,在本例中,其是先前發(fā)起或啟動(dòng)了這兩個(gè)伙伴之間的聯(lián)合關(guān)系的構(gòu)建的聯(lián)合伙伴。因此,模板文件1348還可包含用于管理用戶即伙伴“X”的域的特定于伙伴的信息。或者,用于發(fā)起伙伴即伙伴“X”的特定于伙伴的信息可在一所附文件中或在隨后傳送的文件中傳送,從而使用兩個(gè)文件來(lái)在這些伙伴之間傳輸特定于伙伴的信息。管理用戶可在建立聯(lián)合關(guān)系時(shí),通過(guò)聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300來(lái)輸入從發(fā)起/源伙伴傳送到合作/目標(biāo)伙伴的特定于伙伴的信息,或者可從也由聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300管理的配置數(shù)據(jù)庫(kù)中獲得這些數(shù)據(jù)中的某些或全部。
可是,應(yīng)該指出,在聯(lián)合伙伴之間以上述方式交換的特定于伙伴的信息可以不是對(duì)稱的。換句話說(shuō),聯(lián)合伙伴可通過(guò)承擔(dān)相當(dāng)不同的角色來(lái)參與聯(lián)合事務(wù),這些不同角色可能要求應(yīng)該向他們相應(yīng)的聯(lián)合伙伴提供不同類型的信息。例如,管理用戶可能操作擔(dān)當(dāng)身份提供者的企業(yè)。聯(lián)合關(guān)系可支持由自由聯(lián)盟的自由ID-EF規(guī)范指定的功能的子集。在此情形下,聯(lián)合功能可包括瀏覽器/工件單次登錄、身份提供者啟動(dòng)的基于HTTP重定向的注冊(cè)名標(biāo)識(shí)符、以及服務(wù)提供者啟動(dòng)的SOAP/HTTP聯(lián)合終止通知。對(duì)于該特定聯(lián)合功能,由身份提供者向服務(wù)提供者提供的特定于伙伴的信息的類型可不同于由服務(wù)提供者向身份提供者提供的特定于伙伴的信息的類型。如果特定于伙伴的信息根據(jù)聯(lián)合伙伴相對(duì)于聯(lián)合關(guān)系所承擔(dān)的角色而不同,則管理用戶會(huì)向聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300通知要由該管理用戶的企業(yè)所執(zhí)行的角色,假定所述角色先前未在配置文件內(nèi)或聯(lián)合關(guān)系管理數(shù)據(jù)庫(kù)內(nèi)配置或存儲(chǔ)的話;管理用戶可通過(guò)在例如圖13B內(nèi)示出的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用所提供的GUI內(nèi)選擇或輸入適當(dāng)數(shù)據(jù)選項(xiàng),來(lái)通知聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用。
現(xiàn)在參照?qǐng)D13B,該圖示出了根據(jù)本發(fā)明實(shí)施例由管理用戶用于建立聯(lián)合伙伴之間的聯(lián)合關(guān)系的、聯(lián)合關(guān)系管理應(yīng)用內(nèi)的圖形用戶界面。對(duì)話窗口1350包含下拉菜單1352,用于允許用戶選擇正由聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用例如圖13A中示出的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300創(chuàng)建的聯(lián)合關(guān)系所基于的信任關(guān)系?;蛘撸脩艨赏ㄟ^(guò)選擇菜單項(xiàng)或按下對(duì)話按鈕,而能夠調(diào)用聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用或某其他應(yīng)用例如圖11中示出的信任關(guān)系管理控制臺(tái)應(yīng)用1106內(nèi)的功能,以便在需要時(shí)為該特定聯(lián)合關(guān)系動(dòng)態(tài)地建立新的信任關(guān)系。信任關(guān)系的建立可涉及使用管理用戶的企業(yè)的現(xiàn)有信息,例如現(xiàn)有私鑰、數(shù)字證書(shū)、令牌、身份映射信息等;然后,管理用戶可使用被信任伙伴的可用的已知信息配置信任關(guān)系的其余部分,這些已知信息例如有公鑰、數(shù)字證書(shū)、身份映射信息等,可是令牌信息不會(huì)被配置,因?yàn)檫@是由每位伙伴配置的、不能改變的。
下拉菜單1354允許用戶選擇要在正創(chuàng)建的聯(lián)合關(guān)系內(nèi)支持的聯(lián)合功能。文本輸入字段1356可用于輸入正創(chuàng)建的聯(lián)合關(guān)系的名稱。按鈕1358關(guān)閉對(duì)話窗口,并通過(guò)例如以類似于圖13A中示出的方式在適當(dāng)數(shù)據(jù)存儲(chǔ)中生成一條目來(lái)繼續(xù)聯(lián)合關(guān)系的建立;按鈕1360關(guān)閉對(duì)話窗口,并取消聯(lián)合關(guān)系的創(chuàng)建。例如,當(dāng)管理用戶選擇按鈕1358時(shí),控制臺(tái)應(yīng)用例如通過(guò)導(dǎo)出并導(dǎo)入上述且下面更詳細(xì)描述的特定于伙伴的聯(lián)合關(guān)系建立模板文件,來(lái)啟動(dòng)在將參與聯(lián)合關(guān)系的兩個(gè)伙伴之間的特定于伙伴的配置信息的傳輸。
現(xiàn)在參照?qǐng)D13C-13D,該方框圖示出了根據(jù)本發(fā)明實(shí)施例由聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用啟動(dòng)的數(shù)據(jù)流,用于獲得特定于伙伴的數(shù)據(jù),以便在企業(yè)的計(jì)算環(huán)境內(nèi)建立聯(lián)合關(guān)系。如上面針對(duì)圖13A指出的,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300動(dòng)態(tài)生成聯(lián)合關(guān)系建立模板文件1348。例如,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300可在用戶已通過(guò)圖13B中示出的對(duì)話窗口1350指示該應(yīng)用創(chuàng)建模板1348之后,創(chuàng)建該模板。模板1348的內(nèi)容是根據(jù)聯(lián)合關(guān)系動(dòng)態(tài)確定的,其中聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300正試圖為該聯(lián)合關(guān)系獲得特定于伙伴的數(shù)據(jù)。參照?qǐng)D13C,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300根據(jù)由聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324所表示的聯(lián)合關(guān)系創(chuàng)建模板1348。以類似于圖13A的方式,聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324包含關(guān)于要由聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324所表示的聯(lián)合關(guān)系所支持的聯(lián)合操作/功能的信息,例如功能1336和關(guān)于實(shí)現(xiàn)相關(guān)功能所需的參數(shù)的相關(guān)元數(shù)據(jù)信息1340。當(dāng)聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300生成模板1348時(shí),該應(yīng)用提取元數(shù)據(jù)信息1340,并根據(jù)聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324,在模板1348內(nèi)為需要的所指示的元數(shù)據(jù)參數(shù)項(xiàng)創(chuàng)建字段或元素1354,將其可能地作為名稱—值對(duì);如果模板1348是基于XML的文件,則可將名稱-值對(duì)作為有標(biāo)簽的元素包括在該文件內(nèi)。此時(shí),模板1348還未包含任何特定于伙伴的數(shù)據(jù);在隨后的某一時(shí)間點(diǎn),將模板1348發(fā)送給合作/目標(biāo)聯(lián)合伙伴,以獲得在未來(lái)的某一時(shí)間點(diǎn)執(zhí)行與合作/目標(biāo)聯(lián)合伙伴的聯(lián)合事務(wù)所需的特定于伙伴的數(shù)據(jù)。
參照?qǐng)D13D,在合作/目標(biāo)聯(lián)合伙伴返回了模板1348之后,模板1348包含修改的名稱—值對(duì)1356;合作/目標(biāo)聯(lián)合伙伴可能以自動(dòng)處理方式但可能通過(guò)籍由合作/目標(biāo)聯(lián)合伙伴處的圖形用戶界面應(yīng)用與管理用戶的交互,已對(duì)模板1348進(jìn)行了分析,提取出對(duì)名稱-值對(duì)的請(qǐng)求,且然后獲得所需的值。隨后,在發(fā)起/源聯(lián)合伙伴處,聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用1300提取所返回的名稱—值對(duì)1356,并將由合作/目標(biāo)聯(lián)合伙伴所提供的特定于伙伴的信息作為數(shù)據(jù)項(xiàng)1358-1362存儲(chǔ)在聯(lián)合關(guān)系數(shù)據(jù)庫(kù)條目1324內(nèi)。在未來(lái)的某一時(shí)間點(diǎn),數(shù)據(jù)項(xiàng)1358-1362隨后用于完成與聯(lián)合伙伴的聯(lián)合事務(wù)。再次地,將關(guān)于發(fā)起/源聯(lián)合伙伴的特定于伙伴的配置信息在模板1348中發(fā)送給聯(lián)合伙伴,以便聯(lián)合伙伴具有相同或相應(yīng)的信息,用于隨后在反方向上啟動(dòng)類似聯(lián)合事務(wù)或僅用于參與聯(lián)合事務(wù);以此方式,單個(gè)文件來(lái)回傳送,盡管在其返回之前進(jìn)行了修改。
或者,可在第二個(gè)消息或文件中,或在發(fā)送第一個(gè)文件的同時(shí),或在其他某一時(shí)間點(diǎn),發(fā)送關(guān)于發(fā)起/源聯(lián)合伙伴,即發(fā)起這兩個(gè)伙伴之間的聯(lián)合關(guān)系的建立的聯(lián)合伙伴的特定于伙伴的配置信息;該第二個(gè)文件將關(guān)于發(fā)起/源聯(lián)合伙伴的特定于伙伴的信息提供給合作/目標(biāo)聯(lián)合伙伴,且不被返回。例如,第一個(gè)文件作為“空”文件被發(fā)送給聯(lián)合伙伴,該文件內(nèi)在地向合作/目標(biāo)聯(lián)合伙伴請(qǐng)求包括特定于伙伴的信息,然后,帶有修改的該文件被返回,以便第一個(gè)文件包含該聯(lián)合伙伴的特定于伙伴的信息。相反,第二個(gè)文件作為“滿”文件被發(fā)送給聯(lián)合伙伴,其從發(fā)起/源聯(lián)合伙伴向合作/目標(biāo)聯(lián)合伙伴提供特定于伙伴的信息。
參照?qǐng)D14,該流程圖示出了根據(jù)本發(fā)明實(shí)施例的以自動(dòng)方式建立聯(lián)合關(guān)系的過(guò)程,其中該建立過(guò)程是通過(guò)使用在將通過(guò)該聯(lián)合關(guān)系進(jìn)行交互的聯(lián)合伙伴之間交換的導(dǎo)出/導(dǎo)入的文件進(jìn)行的。該過(guò)程開(kāi)始于例如標(biāo)識(shí)為伙伴“X”的給定企業(yè)的計(jì)算環(huán)境的管理用戶接收到與例如標(biāo)識(shí)為“Y”的受信任的業(yè)務(wù)伙伴建立聯(lián)合關(guān)系的通知(步驟1402)。盡管該通知可能以某種帶外方式被接收,但優(yōu)選地,通過(guò)電子郵件或在諸如圖13A中示出的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用的管理控制臺(tái)應(yīng)用內(nèi)以某種方式電子地接收該通知,盡管這可能以某種人工方式,例如通過(guò)郵件或電話而發(fā)生。一般地,聯(lián)合通常具有高級(jí)發(fā)起人的概念,這種高級(jí)發(fā)起人是將擔(dān)當(dāng)發(fā)起/源伙伴來(lái)為聯(lián)合關(guān)系配置信息的聯(lián)合伙伴。
如果管理用戶還未這樣做,則管理用戶調(diào)用聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用(步驟1404)。或者,該功能可通過(guò)某種工作流類型的動(dòng)作來(lái)啟動(dòng)和/或執(zhí)行,其中該工作流類型的動(dòng)作由發(fā)起/源聯(lián)合伙伴的計(jì)算環(huán)境內(nèi)的應(yīng)用啟動(dòng)。因此,圖14中示出的過(guò)程可以是完全自動(dòng)的,并優(yōu)選地根據(jù)引入到計(jì)算環(huán)境的基礎(chǔ)結(jié)構(gòu)中的策略判定,例如可能地使用被配置為實(shí)現(xiàn)WS-策略規(guī)范的功能。
應(yīng)該指出,圖14內(nèi)示出的過(guò)程是從發(fā)起/源聯(lián)合伙伴即聯(lián)合伙伴“X”的視角示出的,且針對(duì)圖14描述的過(guò)程步驟發(fā)生在合作/目標(biāo)聯(lián)合伙伴即聯(lián)合伙伴“X”的計(jì)算環(huán)境內(nèi);響應(yīng)于從聯(lián)合伙伴“X”接收到信息,在聯(lián)合伙伴“Y”處可發(fā)生類似的動(dòng)作,如以下更詳細(xì)描述的那樣。
管理用戶在聯(lián)合伙伴“X”的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用內(nèi)啟動(dòng)新聯(lián)合關(guān)系的配置或構(gòu)建(步驟1406);用戶為新聯(lián)合關(guān)系輸入名稱或標(biāo)識(shí)符(步驟1408),例如“FED-XY-PROJECTX”,或其根據(jù)某一組信息例如正創(chuàng)建聯(lián)合關(guān)系的伙伴等自動(dòng)創(chuàng)建。
如果配置/構(gòu)建聯(lián)合關(guān)系的操作是通過(guò)工作流過(guò)程自動(dòng)啟動(dòng)的,則接收到的請(qǐng)求消息或類似的啟動(dòng)事件可包含在所請(qǐng)求的聯(lián)合關(guān)系內(nèi)要支持的聯(lián)合功能的指示;替代地,或附加地,用戶可在聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用內(nèi)選擇適當(dāng)?shù)穆?lián)合功能(步驟1410),例如圖13B中所示出的,或者可對(duì)所接收的請(qǐng)求消息自動(dòng)進(jìn)行處理,以確定所請(qǐng)求的聯(lián)合功能。
然后,用戶選擇、配置、或構(gòu)建該聯(lián)合關(guān)系要基于的信任關(guān)系(步驟1412),例如,如圖13B中所示的那樣。如果在伙伴之間僅存在單個(gè)信任關(guān)系,則該信任關(guān)系可被自動(dòng)選擇;如果已有信任關(guān)系中無(wú)適合于所選擇的聯(lián)合功能的信任關(guān)系,則聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用可提示用戶配置或構(gòu)建新的信任關(guān)系。
如下面更詳細(xì)解釋的,在兩個(gè)業(yè)務(wù)伙伴之間配置或構(gòu)建聯(lián)合伙伴關(guān)系的同時(shí),可在這兩個(gè)業(yè)務(wù)伙伴之間配置或構(gòu)建信任關(guān)系。因此,在傳輸用于配置聯(lián)合關(guān)系的信息的同一時(shí)間段期間,可在業(yè)務(wù)伙伴之間傳輸用于配置信任關(guān)系的信息。
可是,相反,配置聯(lián)合關(guān)系的聯(lián)合伙伴可能已經(jīng)具有了信任關(guān)系。這種信任關(guān)系可能是為了在聯(lián)合內(nèi)合作之外的某種其他目的而配置的。這種信任關(guān)系可能是通過(guò)簡(jiǎn)單的信息交換而配置的;或者,這種信任關(guān)系可能是使用他們各自的計(jì)算環(huán)境內(nèi)但在聯(lián)合的考慮之外的其他軟件應(yīng)用配置的。例如,聯(lián)合伙伴可能已經(jīng)交換了他們希望為他們自身之間的任何事務(wù)所使用的公鑰/數(shù)字證書(shū)及其他涉及信任的信息;這種信息可能是通過(guò)電子信息的簡(jiǎn)單傳輸、通過(guò)某種其他類型的軟件應(yīng)用、或以某種其他方式交換的。
此外,已有信任關(guān)系可能是為了在聯(lián)合內(nèi)進(jìn)行交互的目的而已經(jīng)構(gòu)建的。換句話說(shuō),假定一對(duì)業(yè)務(wù)伙伴可能通過(guò)多個(gè)同時(shí)存在的聯(lián)合關(guān)系合作,則一信任關(guān)系可能是為先前建立的聯(lián)合關(guān)系而已經(jīng)構(gòu)建的。
在任何情況下,在希望構(gòu)建或配置新的聯(lián)合關(guān)系的兩個(gè)業(yè)務(wù)伙伴之間可能存在一種或多種已有信任關(guān)系,而不管在這兩個(gè)伙伴之間是否存在已有聯(lián)合關(guān)系。如果存在至少一種已有信任關(guān)系,則一種信任關(guān)系中的涉及信任的信息可被邏輯打包為可呈現(xiàn)在聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用內(nèi)的唯一的、命名的信任關(guān)系;如果是這樣,則管理用戶可能夠在圖形用戶界面內(nèi)簡(jiǎn)單地選擇這種已有、正式定義的信任關(guān)系。
或者可選地,可將一種或多種已有信任關(guān)系的涉及信任的信息作為圖形用戶界面內(nèi)的涉及信任的信息的單獨(dú)數(shù)據(jù)項(xiàng)呈現(xiàn)給管理用戶。在這種情形下,該用戶可通過(guò)選擇要在新的信任關(guān)系內(nèi)使用的數(shù)據(jù)項(xiàng),而構(gòu)造或構(gòu)建新的信任關(guān)系;例如,可在多種信任關(guān)系內(nèi)使用單個(gè)數(shù)字證書(shū),因?yàn)閷?duì)于多種信任關(guān)系,其他涉及信任的信息可能不同,從而使得在多種信任關(guān)系中的每一個(gè)內(nèi)使用相同的數(shù)字證書(shū)時(shí),這些多種信任關(guān)系是唯一的。
在又一個(gè)可選方案中,各伙伴可能不具有已有信任關(guān)系。在這種情況下,管理用戶輸入或選擇該伙伴的“自身”信息,即關(guān)于發(fā)起/源伙伴的信任信息;這可能是特定于伙伴的信息,例如數(shù)字證書(shū),但它也可能包括信任關(guān)系的優(yōu)選特征,這種優(yōu)選特征可由可在各種涉及信任的協(xié)議規(guī)范內(nèi)規(guī)定的簡(jiǎn)單的、非特定于伙伴的值所表示。例如,管理用戶可在聯(lián)合關(guān)系建立控制臺(tái)應(yīng)用已從該伙伴的計(jì)算環(huán)境內(nèi)的密鑰存儲(chǔ)中檢索到的多個(gè)非對(duì)稱加密密鑰對(duì)中進(jìn)行選擇;此外,用戶可通過(guò)圖形用戶界面內(nèi)的復(fù)選框、單選按鈕、菜單等選擇各種信任關(guān)系特征參數(shù),其中這些信任關(guān)系特征參數(shù)指示關(guān)于涉及信任的信息的不同處理選項(xiàng)。
如果信任關(guān)系需要伙伴之間的交互,則特定于伙伴的、涉及信任的信息的選擇以及各種涉及信任的特征的選擇會(huì)指定發(fā)起/源伙伴向合作/目標(biāo)伙伴要求的特定于伙伴的涉及信任的信息。換句話說(shuō),在伙伴之間交換的信息必須以某種方式對(duì)應(yīng)。這樣,管理用戶的選擇隨后導(dǎo)致發(fā)起/源伙伴的特定于伙伴的涉及信任的信息被包括在被導(dǎo)出到合作/目標(biāo)伙伴處的模板/配置文件中;此外,管理用戶的選擇還隨后導(dǎo)致請(qǐng)求信息的元素被包括在由發(fā)起/源伙伴導(dǎo)出到合作/目標(biāo)伙伴處的模板/配置文件內(nèi)。在一些實(shí)例中,聯(lián)合功能可能不需要任何信任支持,因此無(wú)需選擇信任關(guān)系;由于在此情形中聯(lián)合關(guān)系被定義為包括信任關(guān)系,所以可將聯(lián)合關(guān)系描述為包括空信任關(guān)系。
優(yōu)選地,在聯(lián)合功能被選擇之后,選擇或輸入信任關(guān)系和/或信任關(guān)系信息,因?yàn)槟撤N功能可能更適合于與某種信任關(guān)系即關(guān)于涉及信任的處理的某些選項(xiàng)的選擇相關(guān)聯(lián)。例如,特定令牌類型可能具有關(guān)于應(yīng)當(dāng)對(duì)該令牌類型的實(shí)例執(zhí)行的加密或簽名的要求。
在聯(lián)合關(guān)系的創(chuàng)建已在聯(lián)合伙伴“X”處啟動(dòng)之后,動(dòng)態(tài)生成聯(lián)合關(guān)系建立模板文件(步驟1414);根據(jù)需要從聯(lián)合伙伴收集的數(shù)據(jù)構(gòu)造模板文件,如上面針對(duì)圖13C所討論的那樣。然后,該模板文件被傳送給聯(lián)合伙伴“Y”(步驟1416),其修改所接收到的模板文件以包括所需的特定于伙伴的信息,然后將修改后的模板文件返回給聯(lián)合伙伴“X”。在接收到修改后的模板文件(步驟1418)后,所請(qǐng)求的特定于伙伴的信息被提取出(步驟1420),并存儲(chǔ)在聯(lián)合伙伴“X”處,供在隨后的聯(lián)合事務(wù)期間使用(步驟1422),從而完成該過(guò)程。
應(yīng)該指出,該模板文件(或在第二文件內(nèi))可包含被發(fā)送到伙伴“Y”的關(guān)于伙伴“X”的特定于伙伴的信息;當(dāng)具有關(guān)于聯(lián)合伙伴“X”的信息的模板文件被發(fā)送到聯(lián)合伙伴“Y”時(shí),此信息被導(dǎo)入到聯(lián)合伙伴“Y”的計(jì)算環(huán)境中,以配置聯(lián)合伙伴“Y”處的聯(lián)合關(guān)系;在聯(lián)合伙伴“Y”的計(jì)算環(huán)境處的關(guān)于聯(lián)合伙伴“X”的信息的導(dǎo)入可自動(dòng)執(zhí)行,從而伙伴“Y”處的管理用戶不必人工配置用于該聯(lián)合關(guān)系的信息。
在又一個(gè)可選實(shí)施例中,不是選擇先前創(chuàng)建的信任關(guān)系,還可在正構(gòu)建聯(lián)合關(guān)系時(shí),并可能地使用圖11中示出的信任關(guān)系管理控制臺(tái)應(yīng)用以及圖13A中示出的聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用內(nèi)的功能來(lái)構(gòu)建信任關(guān)系?;蛘撸?lián)合關(guān)系管理控制臺(tái)應(yīng)用還可包含用于輸入來(lái)自管理用戶的信任信息或用于從適當(dāng)?shù)臄?shù)據(jù)存儲(chǔ)例如密鑰存儲(chǔ)中獲得信任信息的功能。在這種情況下,管理用戶還例如通過(guò)從多個(gè)私鑰或多個(gè)證書(shū)中選擇或?qū)⑵漭斎雭?lái)輸入信息或選擇信息,以構(gòu)建聯(lián)合關(guān)系所基于的信任關(guān)系。管理用戶的企業(yè),例如伙伴“X”,可將這種信任信息例如公鑰證書(shū)添加到被傳送給聯(lián)合伙伴的模板文件或附隨文件中。同樣,從聯(lián)合伙伴接收的修改后的模板文件除了具有用于構(gòu)建聯(lián)合關(guān)系的特定于伙伴的信息之外可能還具有用于構(gòu)建信任關(guān)系的特定于伙伴的信息。信任關(guān)系信息還會(huì)從所接收的文件中隨同聯(lián)合關(guān)系信息一起提取出來(lái),且所提取出的信任關(guān)系信息將以某種方式與該聯(lián)合關(guān)系的配置信息相關(guān)聯(lián)。還應(yīng)該指出,管理用戶可從一個(gè)或多個(gè)其他源獲得所有或其余部分的信任關(guān)系信息和/或聯(lián)合關(guān)系信息,然后通過(guò)聯(lián)合關(guān)系管理控制臺(tái)應(yīng)用輸入這種信息,以配置所希望的信任關(guān)系或所希望的聯(lián)合關(guān)系。
因此,應(yīng)該指出,信任關(guān)系是分兩個(gè)階段構(gòu)建的。在第一個(gè)階段,管理用戶收集聯(lián)合伙伴“X”的將用于例如通過(guò)加密和/數(shù)字簽名保護(hù)將被發(fā)送給聯(lián)合伙伴“Y”和/或其他聯(lián)合伙伴的信息的所有信任信息,例如,其私鑰。如果聯(lián)合伙伴“X”僅具有一組加密密鑰,則對(duì)于聯(lián)合伙伴“X”處的管理用戶可能沒(méi)有信任關(guān)系的選擇,但該管理用戶將具有在配置該聯(lián)合關(guān)系時(shí)添加新的密鑰的選項(xiàng),以便管理用戶還配置新的信任關(guān)系。
在第二個(gè)階段,為聯(lián)合伙伴“Y”收集所有將用于驗(yàn)證或確認(rèn)從聯(lián)合伙伴“Y”接收的信息的信任信息,例如公鑰和/或數(shù)字證書(shū)。如果聯(lián)合伙伴“X”已存儲(chǔ)了關(guān)于聯(lián)合伙伴“Y”的這樣的信息,則管理用戶可使用此信息;在管理用戶通過(guò)管理控制臺(tái)應(yīng)用配置信任關(guān)系時(shí),可向管理用戶呈現(xiàn)加密密鑰的列表等。如果聯(lián)合伙伴“X”沒(méi)有已存儲(chǔ)關(guān)于聯(lián)合伙伴“Y”的這種信息,則伙伴“X”處的管理用戶可使用管理控制臺(tái)應(yīng)用選擇在運(yùn)行時(shí)添加這種信任信息,例如新密鑰?;蛘撸缟纤?,聯(lián)合伙伴“X”處的管理用戶可選擇通過(guò)特定于伙伴的配置文件導(dǎo)入用于聯(lián)合伙伴“Y”的信任信息,此后,聯(lián)合伙伴“X”處的適當(dāng)應(yīng)用將自動(dòng)更新聯(lián)合伙伴“X”處的數(shù)據(jù)存儲(chǔ)中關(guān)于聯(lián)合伙伴“Y”的信任信息,從而在這兩個(gè)聯(lián)合伙伴之間建立信任關(guān)系。
結(jié)論考慮到以上提供的本發(fā)明的詳細(xì)描述,本發(fā)明的優(yōu)勢(shì)非常明顯。將聯(lián)合用戶生命周期管理功能與信任關(guān)系管理功能分開(kāi)意味著對(duì)這兩種不同類型的功能的管理也可分開(kāi)。此外,可使得相同的功能可用于不同的伙伴,因?yàn)檫@些伙伴的信任關(guān)系管理未綁定到聯(lián)合用戶生命周期管理功能。此外,信任關(guān)系管理的分開(kāi)意味著在向現(xiàn)有信任關(guān)系中添加新功能時(shí),例如,如果向先前僅支持單次登錄操作的給定關(guān)系添加對(duì)于單次注銷操作的支持時(shí),可維持信任關(guān)系。
需要非常注意的是,盡管本發(fā)明是在全功能的數(shù)據(jù)處理系統(tǒng)的情境下被描述的,本領(lǐng)域的普通技術(shù)人員會(huì)理解本發(fā)明的過(guò)程能夠以計(jì)算機(jī)可讀介質(zhì)中的指令的方式以及其他多種方式來(lái)分發(fā),而不用關(guān)心實(shí)際用來(lái)實(shí)現(xiàn)分發(fā)的信號(hào)承載介質(zhì)的特定類型。計(jì)算機(jī)可讀介質(zhì)的例子包括諸如EPROM、ROM、磁帶、紙、軟盤(pán)、硬盤(pán)驅(qū)動(dòng)器、RAM、CD-ROM等介質(zhì),以及諸如數(shù)字和模擬通信鏈路的傳輸型介質(zhì)。
方法通常被認(rèn)為是達(dá)到期望結(jié)果的各步驟的前后一致的序列。這些步驟需要對(duì)物理量的物理操縱。通常,盡管不是必須的,這些物理量采用電信號(hào)或磁信號(hào)的形式,這些信號(hào)能夠被存儲(chǔ)、傳輸、組合、比較、以及以其他方式被操縱。主要基于普遍用法的原因,稱這些信號(hào)為位、值、參數(shù)、項(xiàng)目、元素、對(duì)象、符號(hào)、字符、項(xiàng)、數(shù)字等等,時(shí)常是便利的。但是,應(yīng)該指出,所有這些術(shù)語(yǔ)和類似術(shù)語(yǔ)將與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),并僅僅是應(yīng)用于這些物理量的方便的標(biāo)記。
出于說(shuō)明的目的,提供了對(duì)本發(fā)明的描述,但這并不意味著該描述是窮盡性的或僅限于所公開(kāi)的實(shí)施例。對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),許多修改和變化是顯而易見(jiàn)的。這些實(shí)施例只是選取出來(lái)用于解釋本發(fā)明的原理及其實(shí)際應(yīng)用,并使本領(lǐng)域的其他普通技術(shù)人員能夠理解本發(fā)明,以便實(shí)施帶有適應(yīng)于其他預(yù)期的使用的各種修改的各種實(shí)施例。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),包括用于在計(jì)算環(huán)境內(nèi)實(shí)現(xiàn)聯(lián)合用戶生命周期管理服務(wù)的裝置,其中該計(jì)算環(huán)境與多個(gè)計(jì)算環(huán)境相關(guān)聯(lián)而作為聯(lián)合計(jì)算環(huán)境;以及用于在該計(jì)算環(huán)境內(nèi)實(shí)現(xiàn)為聯(lián)合用戶生命周期管理服務(wù)提供信任功能的信任服務(wù)的裝置。
2.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中上述信任服務(wù)進(jìn)一步包括用于與密鑰管理服務(wù)接口的裝置,其中該密鑰管理服務(wù)包括用于管理用于保護(hù)與該計(jì)算環(huán)境的通信的加密密鑰的裝置;用于與身份/屬性服務(wù)接口的裝置,其中該身份/屬性服務(wù)包括用于管理包含在由該信任服務(wù)所處理的安全令牌內(nèi)的身份和/或?qū)傩匝b置;以及用于與安全令牌服務(wù)接口的裝置,其中該安全令牌服務(wù)包括用于生成從該計(jì)算環(huán)境發(fā)送的安全令牌或安全斷言的裝置;以及用于對(duì)在該計(jì)算環(huán)境處接收的安全令牌或安全斷言進(jìn)行驗(yàn)證的裝置。
3.權(quán)利要求2的數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括用于使上述聯(lián)合用戶生命周期管理服務(wù)與上述信任服務(wù)接口,以便該信任服務(wù)從該聯(lián)合用戶生命周期管理服務(wù)中隱藏上述用于與密鑰管理服務(wù)接口的裝置、上述用于與身份/屬性服務(wù)接口的裝置、和上述用于與安全令牌服務(wù)接口的裝置的細(xì)節(jié)的裝置。
4.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)于同一服務(wù)器上。
5.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)在同一應(yīng)用內(nèi)。
6.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)在同一域內(nèi)。
7.一種用于在數(shù)據(jù)處理系統(tǒng)內(nèi)提供聯(lián)合功能的方法,該方法包括在計(jì)算環(huán)境內(nèi)實(shí)現(xiàn)聯(lián)合用戶生命周期管理服務(wù),其中該計(jì)算環(huán)境與多個(gè)計(jì)算環(huán)境相關(guān)聯(lián)而作為聯(lián)合計(jì)算環(huán)境;以及在該計(jì)算環(huán)境內(nèi)實(shí)現(xiàn)為用于響應(yīng)訪問(wèn)聯(lián)合用戶生命周期管理功能的請(qǐng)求的裝置提供信任功能的信任服務(wù)。
8.權(quán)利要求7的方法,進(jìn)一步包括上述信任服務(wù)調(diào)用密鑰管理服務(wù),其中該密鑰管理服務(wù)管理用于保護(hù)與該計(jì)算環(huán)境的通信的加密密鑰;上述信任服務(wù)調(diào)用身份/屬性服務(wù),其中該身份/屬性服務(wù)管理包含在由該信任服務(wù)所處理的安全令牌內(nèi)的身份和/或?qū)傩裕灰约吧鲜鲂湃畏?wù)調(diào)用安全令牌服務(wù),其中該安全令牌服務(wù)生成從該計(jì)算環(huán)境發(fā)送的安全令牌或安全斷言并對(duì)在該計(jì)算環(huán)境處接收的安全令牌或安全斷言進(jìn)行驗(yàn)證。
9.權(quán)利要求8的方法,進(jìn)一步包括使上述聯(lián)合用戶生命周期管理服務(wù)與上述信任服務(wù)接口,以便該信任服務(wù)從該聯(lián)合用戶生命周期管理服務(wù)中隱藏用于與密鑰管理服務(wù)接口的裝置、用于與身份/屬性服務(wù)接口的裝置、和用于與安全令牌服務(wù)接口的裝置的細(xì)節(jié)。
10.權(quán)利要求7的方法,其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)于同一服務(wù)器上。
11.權(quán)利要求7的方法,其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)在同一應(yīng)用內(nèi)。
12.權(quán)利要求7的方法,其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)在同一域內(nèi)。
13.一種計(jì)算可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,用于在數(shù)據(jù)處理系統(tǒng)中提供聯(lián)合功能,該計(jì)算機(jī)程序產(chǎn)品包括用于在計(jì)算環(huán)境內(nèi)實(shí)現(xiàn)聯(lián)合用戶生命周期管理服務(wù)的手段,其中該計(jì)算環(huán)境與多個(gè)計(jì)算環(huán)境相關(guān)聯(lián)而作為聯(lián)合計(jì)算環(huán)境;以及用于在該計(jì)算環(huán)境內(nèi)實(shí)現(xiàn)為用于響應(yīng)訪問(wèn)聯(lián)合用戶生命周期管理功能的請(qǐng)求的裝置提供信任功能的信任服務(wù)的手段。
14.權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于由上述信任服務(wù)調(diào)用密鑰管理服務(wù)的手段,其中該密鑰管理服務(wù)管理用于保護(hù)與該計(jì)算環(huán)境的通信的加密密鑰;用于由上述信任服務(wù)調(diào)用身份/屬性服務(wù)的手段,其中該身份/屬性服務(wù)管理包含在由該信任服務(wù)所處理的安全令牌內(nèi)的身份和/或?qū)傩?;以及用于由上述信任服?wù)調(diào)用安全令牌服務(wù)的手段,其中該安全令牌服務(wù)生成從該計(jì)算環(huán)境發(fā)送的安全令牌或安全斷言并對(duì)在該計(jì)算環(huán)境處接收的安全令牌或安全斷言進(jìn)行驗(yàn)證。
15.權(quán)利要求14的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括使上述聯(lián)合用戶生命周期管理服務(wù)與上述信任服務(wù)接口,以便該信任服務(wù)從該聯(lián)合用戶生命周期管理服務(wù)中隱藏用于與密鑰管理服務(wù)接口的手段、用于與身份/屬性服務(wù)接口的手段、和用于與安全令牌服務(wù)接口的手段的細(xì)節(jié)。
16.權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)于同一服務(wù)器上。
17.權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)在同一應(yīng)用內(nèi)。
18.權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,其中上述聯(lián)合用戶生命周期管理服務(wù)和上述信任服務(wù)實(shí)現(xiàn)在同一域內(nèi)。
全文摘要
本發(fā)明提供了一種方法和系統(tǒng),其中,不同企業(yè)的計(jì)算環(huán)境在聯(lián)合計(jì)算環(huán)境內(nèi)相交互??稍诼?lián)合伙伴的計(jì)算環(huán)境處代表不同聯(lián)合計(jì)算環(huán)境處的用戶啟動(dòng)聯(lián)合操作。接觸點(diǎn)服務(wù)依賴于信任服務(wù)管理一個(gè)計(jì)算環(huán)境與聯(lián)合伙伴的計(jì)算環(huán)境之間的信任關(guān)系。信任服務(wù)使用密鑰管理服務(wù)、身份/屬性服務(wù)和安全令牌服務(wù)。聯(lián)合用戶生命周期管理服務(wù)實(shí)現(xiàn)聯(lián)合用戶生命周期功能,并與接觸點(diǎn)服務(wù)和信任服務(wù)進(jìn)行交互。
文檔編號(hào)H04L9/10GK1725680SQ200510085119
公開(kāi)日2006年1月25日 申請(qǐng)日期2005年7月20日 優(yōu)先權(quán)日2004年7月21日
發(fā)明者H·M·欣頓, D·M·法羅拉, A·S·莫蘭, P·R·瓦爾多普 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司