身份管理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及一種身份管理系統(tǒng)。具體來說,本發(fā)明涉及可在分布式系統(tǒng)中使用的可縮放身份管理系統(tǒng)。
【背景技術(shù)】
[0002]身份和訪問管理(IDM)是基于計算的系統(tǒng)和網(wǎng)絡(luò)的重要組件。IDM的目的是允許合法用戶訪問資源。IDM系統(tǒng)已經(jīng)在這些年中演進,從集中式到分布式訪問控制、從多個登錄到單個注冊機制、從后端聯(lián)合到前端聯(lián)合等。IDM適當?shù)男再|(zhì)取決于整個系統(tǒng)的性質(zhì)。
[0003]分布式系統(tǒng)(比如云)的引入帶來IDM系統(tǒng)的新的特征和挑戰(zhàn)。云提供無限資源的提取給消費者。使用稱為多租賃的概念,云的資源在消費者(租戶)之間共享。這允許多個租戶以按使用支付為基礎(chǔ)來共享(使用)相同的物理資源。云系統(tǒng)的主要特性之一是可縮放性和彈性??煽s放性確保云提取的資源基于系統(tǒng)的負載增加或降低(橫向縮放)它們的容量。為了確保此,基于云的服務(wù)以模塊型式來設(shè)計,使得每個服務(wù)能夠通過增加或者刪除那個服務(wù)的實例來被縮放。這也應(yīng)用至身份和訪問管理系統(tǒng)。
[0004]在云中,云服務(wù)提供者(CSP)將要求容易的方式來控制對系統(tǒng)中資源的訪問。致力于這個要求的一個方式是通過集中式IDM解決方案。集中式訪問控制的一個可能的方法在圖1中示出,圖1是包括客戶101、身份服務(wù)器102和兩個服務(wù)提供者103、104的網(wǎng)絡(luò)100的元件的示意圖。如果客戶101希望訪問由服務(wù)提供者中的一個103提供的服務(wù),它通過身份服務(wù)器102驗證自身。作為驗證過程的結(jié)果,斷言令牌被返回至客戶101。這個令牌隨后由客戶101使用以提供身份(和/或使用請求的服務(wù)的授權(quán))的證明給服務(wù)提供者103,其能夠被認為作身份消費者??梢允强蛻裟軌蛟L問不同的服務(wù),例如從另一個服務(wù)提供者104,而不首先必須獲得特定的斷g令牌。
[0005]這個方法由許多計算機系統(tǒng)廣泛使用。典型的網(wǎng)絡(luò)驗證協(xié)議在用戶-服務(wù)器型式中提供相互驗證(即,用戶和服務(wù)器彼此驗證)。一個可能的方法涉及通過驗證服務(wù)器的用戶驗證,從而接收對于具體服務(wù)的“票”。所述“票”被進一步用于訪問所期望的服務(wù)。這個方法的缺點是集中式的驗證服務(wù)器,其表現(xiàn)單點故障。
[0006]相比之下,分布式驗證機制通常允許用戶以及依賴于身份的證明的當事者(身份消費者)來從身份提供者的集合挑選用于驗證的身份提供者。這消除對具有用于用戶驗證的單個身份提供者的需要。關(guān)于這個方法的問題是信任錨的建立一一即,由身份消費者建立身份提供者的信任。
[0007]集中式身份系統(tǒng)提供對于系統(tǒng)的容易的維護和控制。但是,歸因于單點故障的問題,集中化對于云和分布式系統(tǒng)不是好的選擇。在云準備系統(tǒng)(應(yīng)用)中,所有組件應(yīng)該是彈性的和橫向可縮放的。當前可用的集中式身份管理系統(tǒng)沒有實現(xiàn)這個性質(zhì)。實現(xiàn)集中式身份系統(tǒng)的控制靈活性和分布式系統(tǒng)的可縮放性兩者因此將是所期望的。
【發(fā)明內(nèi)容】
[0008]依照本發(fā)明的一個方面,提供了一種具有多個IDM組件的網(wǎng)絡(luò)中的客戶裝置。所述客戶裝置包括處理器和存儲器。所述存儲器包括由所述處理器可執(zhí)行的指令以便促使所述處理器生成對于驗證的請求以及經(jīng)由可操作地連接至所述處理器的輸入/輸出單元來公布所述驗證請求至所述網(wǎng)絡(luò)。所述驗證請求使用公布-預(yù)訂消息模式公布。所述指令進一步促使所述處理器從所述網(wǎng)絡(luò)中的IDM組件中的一個接收驗證啟動消息,以及協(xié)商來自所述IDM組件的驗證信息的接收。每個IDM組件可以具有關(guān)于所述驗證過程的它自己的性能的集合。
[0009]所述指令可以被配置成促使所述處理器請求來自所述網(wǎng)絡(luò)中服務(wù)提供者的服務(wù)以及發(fā)送所述驗證信息至所述服務(wù)提供者。所述驗證信息可以包括斷言令牌,其是可選地服務(wù)特定的。
[0010]來自所述IDM組件的驗證啟動消息可以包括所述IDM組件的證書,以及所述指令可以被配置成促使所述處理器檢驗所述證書。所述協(xié)商可以包括與所述IDM組件的安全會話的建立。
[0011]驗證請求可以包括所述客戶裝置的操作參數(shù)。這可以包括所述客戶裝置的性能(例如,所述客戶裝置是移動的或者支持具體的驗證協(xié)議)或者偏好(例如,IDM組件應(yīng)該位于具體的區(qū)域中,IDM組件應(yīng)該支持兩個因子驗證機制)。
[0012]依照本發(fā)明的另一個方面,提供了一種具有多個IDM組件的網(wǎng)絡(luò)中的IDM組件。所述IDM組件包括處理器和存儲器。所述存儲器包括由所述處理器可執(zhí)行的指令以便促使所述處理器經(jīng)由輸入/輸出單元預(yù)訂在所述網(wǎng)絡(luò)中公布的驗證請求。所述指令進一步促使所述處理器接收由客戶裝置公布的驗證請求,啟動與所述客戶裝置的協(xié)商,以及驗證所述客戶裝置或者所述客戶裝置的用戶。
[0013]客戶裝置的驗證可以包括發(fā)送斷言令牌至所述客戶裝置。
[0014]指令可以被配置成促使所述處理器從所述網(wǎng)絡(luò)中的服務(wù)提供者接收檢驗請求,所述檢驗請求包括所述客戶裝置或者用戶的標識符或者所述斷言令牌,以及檢驗至所述服務(wù)提供者的所述客戶裝置或者用戶的驗證或者所述斷言令牌。所述IDM組件通過預(yù)訂所述網(wǎng)絡(luò)中公布的檢驗請求可以得到所述檢驗請求,如此從所述服務(wù)提供者接收的檢驗請求是使用公布-預(yù)訂消息模式的由所述服務(wù)提供者公布的檢驗請求。
[0015]對所述驗證請求(和/或檢驗請求)的預(yù)訂可以是在所述網(wǎng)絡(luò)中的代理者。所公布的驗證請求和/或檢驗請求可以從所述代理者被接收。所述預(yù)訂可以包括所述IDM組件的性能的細節(jié),比如所述IDM組件的區(qū)域、對所述IDM組件可用的驗證協(xié)議、IDM組件的可用性、當前正由IDM組件處理的驗證的數(shù)量。
[0016]所述驗證協(xié)商可以包括發(fā)送證書至所述客戶裝置。所述證書可以從信任的域中的認證管理機構(gòu)得到。所述指令可以被配置成促使所述處理器與所述網(wǎng)絡(luò)中的其它IDM組件共享驗證狀態(tài)。換言之,每個IDM組件能夠獨立地工作,需要與其它此類IDM組件僅共享所述驗證狀態(tài)。
[0017]因此,認證管理機構(gòu)能夠有效地“委派”驗證至分布式IDM組件。由于來自信任的域的所述證書,所述IDM組件能夠由所述客戶信任。但是,所述客戶不需要知道聯(lián)系哪個IDM組件,以及僅需要公布驗證請求,其被轉(zhuǎn)發(fā)(可選地由代理者)以及允許最適當?shù)腎DM節(jié)點的選擇。一個IDM組件因此能夠選自具有各不相同的性能的多個IDM組件,而所述用戶不需要作出這個選擇。所述IDM組件能夠共享驗證狀態(tài)。這通過解耦合所述驗證過程而移除所述用戶與所述IDM組件之間的捆綁:斷言生成和檢驗步驟可以由不同組件實施。此外,所述IDM組件可以預(yù)訂特定格式的驗證請求,例如,那些在其中所述客戶指定操作的偏好以及它的身份的,其幫助對于所述IDM組件開始與所述客戶的協(xié)商的稍后階段。
[0018]依照本發(fā)明的另一個方面,提供了一種具有分布式IDM組件的網(wǎng)絡(luò)中的服務(wù)提供者。所述服務(wù)提供者包括處理器和存儲器。所述存儲器包括由所述處理器可執(zhí)行的指令以便促使所述處理器經(jīng)由輸入/輸出裝置從所述網(wǎng)絡(luò)中的客戶裝置接收服務(wù)請求,所述服務(wù)請求包括所述客戶的驗證和/或斷言令牌和所述網(wǎng)絡(luò)中的IDM組件中的一個的標識。所述指令進一步被配置成促使所述處理器發(fā)送檢驗請求至所述IDM組件,從所述IDM組件接收所述用戶驗證和/或斷言令牌的檢驗,以及遞送所請求的服務(wù)至所述客戶裝置。
[0019]備選地,所述服務(wù)提供者可以通過公布檢驗請求而不是直接聯(lián)系所述IDM組件來請求檢驗。因此,依照本發(fā)明的另一個方面提供了一種具有分布式IDM組件的網(wǎng)絡(luò)中的服務(wù)提供者。所述服務(wù)提供者包括處理器和存儲器。所述存儲器包括由所述處理器可執(zhí)行的指令以便促使所述處理器經(jīng)由輸入/輸出裝置從所述網(wǎng)絡(luò)中的客戶裝置接收服務(wù)請求,所述服務(wù)請求包括所述客戶的驗證和/或斷言令牌。所述指令進一步被配置成促使所述處理器公布檢驗請求至所述網(wǎng)絡(luò),從所述網(wǎng)絡(luò)中的IDM組件中的一個接收所述用戶驗證和/或斷言令牌的檢驗,以及遞送所請求的服務(wù)至所述客戶裝置。
[0020]依照本發(fā)明的另一個方面提供了一種具有分布式IDM組件的網(wǎng)絡(luò)中的會合(RV)節(jié)點或者代理者。所述代理者包括處理器和存儲器。所述存儲器包括由所述處理器可執(zhí)行的指令以便促使所述處理器經(jīng)由輸入/輸出裝置從所述IDM組件中的至少一個接收對驗證請求的預(yù)訂(813)。所述指令進一步被配置成促使所述處理器接收由所述網(wǎng)絡(luò)中客戶裝置公布的驗證請求,確定所述預(yù)訂是否匹配所公布的驗證請求,以及轉(zhuǎn)發(fā)所述驗證請求至所述至少一個IDM組件中的一個。
[0021]所述指令可以被配置成促使所述處理器來確定包括在所述預(yù)訂中的所述IDM組件的性能是否適合于所述驗證請求。
[0022]所述指令可以配置成促使所述處理器從所述IDM組件或者所述網(wǎng)絡(luò)中的另一個IDM組件接收對檢驗請求的預(yù)訂,接收由所述網(wǎng)絡(luò)中服務(wù)提供者公布的檢驗請求,確定所述預(yù)訂是否匹配所公布的檢驗請求,以及