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