專利名稱:聯(lián)合環(huán)境中啟用數(shù)字權限管理的策略管理的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明一般涉及在聯(lián)合環(huán)境中對用戶會話的管理。
背景技術:
聯(lián)合環(huán)境是本領域內已知的。2004年7月21日提交的美國出版物 No. 2006/0021018具有代表性。聯(lián)盟(federation)是不同實體的集合,所述實體諸如企業(yè)、 組織、協(xié)會等,其進行協(xié)作以便向用戶提供單次登錄、易于使用的體驗;聯(lián)合環(huán)境與典型的 單次登錄環(huán)境的不同之處在于,兩家企業(yè)不需要具有直接的、預先建立的關系,所述關系定 義了如何傳送以及傳送哪些關于用戶的信息。在聯(lián)合環(huán)境內,實體提供處理下述情況的服 務認證用戶、接受由其它實體呈現(xiàn)的認證斷言(assertion)(例如認證令牌)、以及提供某 種形式的翻譯,所述翻譯把為用戶擔保的身份翻譯為在本地實體內可以理解的一種身份。 聯(lián)盟減輕了服務提供者的管理負擔。服務提供者可以依賴于其與作為整體的聯(lián)盟的信任關 系;服務提供者不需要管理認證信息,諸如用戶口令信息,因為其可以依賴于由用戶的認證 主域或身份提供者所完成的認證。 聯(lián)合實體可以作為用戶的主域,其提供關于聯(lián)合用戶的身份信息和屬性信息。提 供身份信息、身份或認證斷言、或身份服務的聯(lián)合計算環(huán)境內的實體被稱為身份提供者。相 同聯(lián)盟內的其它實體或聯(lián)盟伙伴可以依賴于對用戶認證憑證進行首次管理的身份提供者, 例如,接受由用戶的身份提供者提供的單次登錄令牌(token);用戶進行認證所在的域可 以被稱為用戶的(認證)主域。身份提供者是一種特定類型的提供身份信息的服務,作為 對聯(lián)合計算環(huán)境內的其它實體的服務。針對大多數(shù)聯(lián)合事務,對認證斷言的發(fā)布方通常將 是身份提供者;任意其它實體可以與身份提供者區(qū)分開。在聯(lián)合計算環(huán)境內提供服務的任 意其它實體可以被分類為服務提供者。 一旦用戶已認證為身份提供者,則在給定聯(lián)合會話 或給定聯(lián)合事務的持續(xù)期間,聯(lián)盟內的其它實體或企業(yè)就可以僅被看作是服務提供者。
數(shù)字權限管理(DRM)是一種用于保護數(shù)字內容的公知技術。DRM通過在分發(fā)之前 加密內容以及通過將訪問僅限于已獲得播放所述內容的正確許可的那些終端用戶來工作。 典型地,在播放器/客戶機完成對DRM許可的強制執(zhí)行。完整的DRM系統(tǒng)典型地包括若干 部分加密、商業(yè)邏輯、以及許可傳送。DRM開始于加密內容。 一旦內容被加密,就需要密鑰 來解鎖(解密)該內容。已加密的內容可以通過公知的傳送方法被傳送到終端用戶。典型 地,想要獲得內容的終端用戶訪問電子商務網站,并且與商業(yè)邏輯過程進行交易,所述商業(yè) 邏輯過程通常涉及注冊、登錄、和/或支付中的一種;一旦完成所述交易,則向終端用戶發(fā) 布播放該內容的許可。被發(fā)布的許可典型地包括(i)密鑰(用于解密該內容),(ii)權限 (例如,恰好播放一次、在30天內播放等等)的組合,以及(iii)具有所述許可僅在其被發(fā) 布的終端用戶機器上有效的性質。當終端用戶試圖播放經DRM保護的內容時,播放器首先 檢查在本地機器上是否存在許可;如果存在,則回放開始于解密該內容。如果未找到許可, 則播放器試圖典型地從嵌入在內容中的店面URL獲得一個許可。
發(fā)明內容
—種可在服務提供者處操作的方法實施與一部分內容相關聯(lián)的數(shù)字權限管理 (DRM)方案。服務提供者典型地是內容提供者。服務提供者是參與到"聯(lián)盟"中的實體,所 述聯(lián)盟具有一個多個其它實體,例如包括身份提供者、DRM特權提供者、以及DRM策略提供 者。在一個實施例中,所述方法開始于在服務提供者處接收由身份提供者實體生成的單次 登錄(SSO)消息,所述消息包括與請求訪問所述一部分內容的終端用戶相關聯(lián)的DRM特權 的集合的引用。響應于接收到所述消息,所述服務提供者在必要時獲得DRM特權以及至少 一個適用的DRM策略。接著其針對DRM策略評估與終端用戶相關聯(lián)的DRM特權,并且向終 端用戶提供響應。 所述身份提供者、服務提供者、DRM特權提供者、以及DRM策略提供者的功能便利 于啟用DRM策略的聯(lián)盟。DRM特權提供者和DRM策略提供者的一個或多個功能可以與身份 提供者和/或服務提供者相集成。 前述內容已經概述了本發(fā)明的某些更恰當?shù)奶卣鳌_@些特征應被理解為僅是說明 性的。通過以不同方式應用所公開的發(fā)明,或者通過修改將描述的發(fā)明,可以得到許多其它 有利結果。
為了更完整地理解本發(fā)明及其優(yōu)點,現(xiàn)在結合附圖參考以下描述,在附圖中
圖IA描述了數(shù)據處理系統(tǒng)的典型網絡,每個數(shù)據處理系統(tǒng)都可以實現(xiàn)此處所述 的主題; 圖IB描述了可在其中可實現(xiàn)所公開的主題的數(shù)據處理系統(tǒng)中使用的典型計算機 體系結構; 圖2描述了示出聯(lián)合環(huán)境的術語的框圖; 圖3描述了示出在給定域的已存在的數(shù)據處理系統(tǒng)與可被用于支持所述主題的 實施例的某些聯(lián)合體系結構組件的集成的框圖; 圖4描述了示出其中聯(lián)合體系結構內的某些組件可被用于建立信任關系以支持 所述主題的實現(xiàn)的方式示例的框圖; 圖5描述了示出根據能夠支持所述主題的示例性的聯(lián)合體系結構,在使用信任代 理和信任調度程序的聯(lián)合域之間的示例性信任關系集合的框圖;
圖6描述了示出支持聯(lián)合單次登錄操作的聯(lián)合環(huán)境的框圖;
圖7A示出用于實現(xiàn)聯(lián)合用戶生命周期管理功能的現(xiàn)有技術; 圖7B示出用于實現(xiàn)聯(lián)合用戶生命周期管理功能、同時實現(xiàn)用于這種功能的基于 策略的機制的另一種已知技術; 圖7C示出用于某些數(shù)據單元的附加細節(jié),所述數(shù)據單元由圖7B的策略過濾器和 引擎相關于FULM消息相關聯(lián)地被處理; 圖8是根據此處主題在啟用DRM策略的聯(lián)盟內的參與實體的框圖;
圖9示出在啟用DRM策略的聯(lián)盟內的第一示例場景;
圖10示出在啟用DRM策略的聯(lián)盟內的第二示例場景;
圖11示出在啟用DRM策略的聯(lián)盟內的第三示例場景;
圖12示出一框圖,所述框圖示出以下場景,其中第一數(shù)據處理系統(tǒng)從身份提供者 內的第二數(shù)據處理系統(tǒng)檢索斷言,所述身份提供者使用支持分布式斷言檢索的分布式數(shù)據 處理系統(tǒng)實現(xiàn);以及 圖13示出另一示例性的數(shù)字權限管理場景。
具體實施例方式
現(xiàn)在參考附圖,圖1A描述了數(shù)據處理系統(tǒng)的典型網絡,每個數(shù)據處理系統(tǒng)都可以 實現(xiàn)此處所述的主題。分布式數(shù)據處理系統(tǒng)100包含網絡101,網絡101是可被用于提供在 分布式數(shù)據處理系統(tǒng)100內連接在一起的多種設備和計算機之間的通信鏈路的一種介質。 網絡101可以包括諸如線纜或光纜的永久性連接,或者通過電話或無線通信完成的臨時 性連接。在所述示例中,服務器102和服務器103連同存儲單元104連接于網絡101。此 外,客戶機105-107也連接于網絡101??蛻魴C105-107和服務器102-103可以由多種計算 設備表示,諸如大型機、個人計算機、個人數(shù)字助理(PDA)等等。分布式數(shù)據處理系統(tǒng)IOO 可以包括未示出的附加的服務器、客戶機、路由器、其它設備、以及對等體系結構。
在所述示例中,分布式數(shù)據處理系統(tǒng)IOO可以包括具有網絡101的因特網,其表 示世界范圍內的、使用多種協(xié)議彼此進行通信的網關與網絡的集合,所述多種協(xié)議諸如 LDAP(輕量目錄訪問協(xié)議)、TCP/IP(傳輸控制協(xié)議/因特網協(xié)議)、HTTP(超文本傳輸協(xié) 議)等。當然,分布式數(shù)據處理系統(tǒng)100還可以包括多種不同類型的網絡,例如內聯(lián)網、局 域網(LAN)、或廣域網(WAN)。例如,服務器102直接支持包含無線通信鏈路的網絡IIO和 客戶機109。網絡支持(network-enabled)的電話111通過無線鏈路112連接到網絡110, 并且PDA 113通過無線鏈路114連接到網絡110。電話111和PDA 113還可以使用適當?shù)?技術(例如Bluetooth 無線技術)通過無線鏈路115在它們之間直接傳送數(shù)據,以創(chuàng)建所 謂的個人區(qū)域網絡或個人特定(ad-hoc)網絡。以類似的方式,PDA 113可以經由無線通信 鏈路116傳送數(shù)據到PDA 107。 此處的主題可以在多種硬件平臺和軟件環(huán)境上實現(xiàn)。圖1A意在作為異構計算環(huán) 境的示例,而不是對本發(fā)明的體系結構限制。 現(xiàn)在參考圖1B,該圖描述了數(shù)據處理系統(tǒng)(諸如圖1A所示的那些數(shù)據處理系統(tǒng)) 的典型計算機體系結構。數(shù)據處理系統(tǒng)120包含連接到內部系統(tǒng)總線123的一個或多個 中央處理單元(CPU)122,所述內部系統(tǒng)總線123與隨機存取存儲器(RAM)124、只讀存儲器 126、和輸入/輸出適配器128互連,所述輸入/輸出適配器128支持多種I/O設備,諸如打 印機130、盤單元132或其它未示出的設備,諸如音頻輸出系統(tǒng)等。系統(tǒng)總線123還連接提 供對通信鏈路136的訪問的通信適配器134。用戶接口適配器148連接多種用戶設備,諸 如鍵盤140和鼠標142或其它未示出的設備,諸如觸摸屏、記錄筆、麥克風等。顯示適配器 144將系統(tǒng)總線123與顯示器設備146相連接。 本領域普通技術人員將認識到,圖1B中的硬件可取決于系統(tǒng)實現(xiàn)方式而變化。例
如,所述系統(tǒng)可以具有一個或多個處理器(諸如基于1!^61@1^11"11111@的處理器和數(shù)字信
號處理器(DSP))以及一種或多種類型的易失性和非易失性存儲器。除了圖1B中描述的硬 件之外或作為這些硬件的替代,可以使用其它外圍設備。所描述的示例并不意味著暗示對 本發(fā)明的體系結構限制。
除了能夠在多種硬件平臺上實現(xiàn)本發(fā)明外,本發(fā)明還可以在多種軟件環(huán)境中實現(xiàn)。典型的操作系統(tǒng)可以被用來控制每個數(shù)據處理系統(tǒng)內的程序執(zhí)行。例如,一個設備可
以運行Unix⑧操作系統(tǒng),而另一設備包含簡單的』3¥3@運行時環(huán)境。代表性的計算機平
臺可以包括瀏覽器,瀏覽器是公知的用于訪問多種格式的超文本文檔的軟件應用,所述多
種格式的超文本文檔諸如圖形文件、字處理文件、可擴展標記語言(XML)、超文本標記語言(HTML)、手持設備標記語言(HDML)、無線標記語言(麗L)和多種其它格式和類型的文件。還應該注意,圖1A所示的分布式數(shù)據處理系統(tǒng)被預期為完全能夠支持多種對等子網和對等服務。 在給出對某些當前技術的前述簡要描述后,對其余附圖的描述涉及其中本發(fā)明可
以起作用的聯(lián)合計算環(huán)境。不過,在更詳細地討論本發(fā)明之前,要引入某種術語。 如此處所使用的,術語"實體"或"方"通常指代組織、個人、或代表組織、個人進行
操作的系統(tǒng)、或者另一系統(tǒng)。術語"域"意味著網絡環(huán)境內的附加特性,不過術語"實體"、
"方"和"域"可以互換地使用。例如,術語"域"也可以指代DNS(域名系統(tǒng))域,或者更一
般地指代包括多種設備和應用的數(shù)據處理系統(tǒng),所述多種設備和應用針對外部實體顯現(xiàn)為
邏輯單元。 術語"請求"和"響應"應被理解為包括數(shù)據格式化操作,其適用于在特定操作中涉及的信息的傳輸,諸如消息、通信協(xié)議信息、或其它關聯(lián)信息。受保護資源是一種資源(應用、對象、文檔、頁面、文件、可執(zhí)行代碼、或其它計算資源、通信類型的資源等等),對其的訪問是被控制或被限制的。 令牌提供了成功操作的直接證據,并由執(zhí)行該操作的實體產生,例如,在成功的認證操作之后生成的認證令牌。Kerberos令牌是可用于本發(fā)明的認證令牌的一個示例。關于Kerberos的更多信息可以在Kohl等人的"TheKerberos NetworkAuthentication Service (V5) ,, (Internet EngineeringTask Force (IETF) Request forComments (RFC) 1510,09/993)中找到。 斷言提供某種動作的間接證據。斷言可以提供身份、認證、屬性、授權決定、或其它信息和/或操作的間接證據。認證斷言提供由一實體進行認證的間接證據,所述實體不是認證服務,但其得到認證服務的許可。 安全斷言標記語言(SAML)斷言是可用于本發(fā)明的可能斷言格式的示例。SAML已經被結構化信息標準促進組織(OASIS)所發(fā)布,所述OASIS是一個非贏利性、全球化的協(xié)會。SAML在"Assertions and Protocolfor the OASIS Security Assertion Markup Language(SAML) " (CommitteeSpecification 01,05/31/2002)中進行了如下描述
安全斷言標記語言(SAML)是一種基于XML的、用于交換安全信息的框架。該安全信息由與主體有關的斷言的格式所表達,其中主體是在某個安全域中具有身份的實體(人或計算機)。主體的典型示例是在特定因特網DNS域中由他或她的電子郵件地址所標識的個人。斷言可以傳達與由主體執(zhí)行的認證動作、主體屬性、以及關于主體是否被允許訪問某些資源的授權決定有關的信息。斷言被表示為XML構造,并具有嵌套結構,從而單個斷言可以包含與認證、授權和屬性有關的若干個不同的內部語句。注意,包含認證語句的斷言僅描述了之前發(fā)生的認證的動作。斷言由SAML授權機構所發(fā)布,SAML授權機構即認證授權機構、屬性授權機構和策略決定點。SAML定義了 一種協(xié)議,通過所述協(xié)議,客戶機可以從SAML授權機構請求斷言,并從其獲得響應。包括基于XML的請求和響應消息格式的此協(xié)議可以綁定到許多不同的底層通信和傳輸協(xié)議;SAML當前定義了通過HTTP與SOAP的一種綁定。在創(chuàng)建其響應時,SAML授權機構可以使用多種信息源,諸如外部策略存儲庫和作為請求中的輸入被接收的斷言。由此,盡管客戶機通常使用斷言,但SAML授權機構也可以同時是斷言的制造者以及使用者。 SAML規(guī)范規(guī)定了 ,斷言是提供由發(fā)布者完成的一個或多個語句的信息包。SAML允許發(fā)布者完成三種不同種類的斷言語句認證,其中指定主體在特定時間被特定裝置進行認證;授權,其中允許指定主體訪問指定資源的請求已經被同意或拒絕;以及屬性,其中指定主體與所提供的屬性相關聯(lián)。如下文進一步討論的,當需要時,多種斷言格式可以被翻譯為其它斷言格式。 認證是證實由一個用戶或代表一個用戶提供的一組憑證的過程。認證的完成是通過驗證用戶所知道的東西、用戶所具有的東西、或用戶就是的東西,即,與用戶有關的某種物理特性。用戶所知道的東西可以包括共享秘密,諸如用戶口令,或者通過驗證僅對特定用戶已知的東西,諸如用戶的密鑰。用戶所具有的東西可以包括智能卡或硬件令牌。與用戶有關的某種物理特性可以包括生物測定輸入,諸如指紋或視網膜地形圖。應該理解,用戶典型地是、但并非一定是自然人;用戶可以是機器、計算設備、或使用計算資源的其它類型的數(shù)據處理系統(tǒng)。還應該理解,用戶典型地、但并非一定處理單個唯一的標識符;在某些情景中,多個唯一的標識符可以與單個用戶相關聯(lián)。 認證憑證是用于多種認證協(xié)議的一組質詢/響應信息。例如,用戶名和口令的組
合是認證憑證的最常見形式。其它形式的認證憑證可以包括多種形式的質詢/響應信息、
公鑰基礎設施(PKI)證書、智能卡、生物測定等等。認證憑證區(qū)別于認證斷言在于認證憑
證由用戶呈現(xiàn),作為與認證服務器或服務的認證協(xié)議序列的一部分;而認證斷言是與對用
戶的認證憑證的成功呈現(xiàn)與證實有關的語句,其隨后當需要時在實體之間傳送。 在萬維網的上下文中,用戶越來越期待以下能力,S卩,從與一個因特網域上的應用
進行交互跳躍到另一域上的另一應用,同時對于每個特定域之間的信息障礙的關注度最
低。用戶不想要由于為了單個事務不得不對多個域認證所導致的挫折感。換句話說,用戶
期望各個組織應該交互操作,但是用戶通常想要各個域尊重他們的隱私。此外,用戶可能更
希望限制這些域永久性地存儲隱私信息。這些用戶期望存在于快速發(fā)展的異構環(huán)境中,在
所述環(huán)境中,許多企業(yè)和組織正在發(fā)布有競爭力的認證技術。 此處的主題在聯(lián)合模型中得到支持,所述聯(lián)合模型允許企業(yè)向用戶提供單次登錄體驗。換句話說,本發(fā)明可以在聯(lián)合異構環(huán)境內實現(xiàn)。作為將從聯(lián)合異構環(huán)境中獲益的事務的一個示例,用戶能夠認證到一個域,并接著讓該域向可能在事務中涉及的每個下游域提供適當?shù)臄嘌?。這些下游域需要能夠理解并信任認證斷言和/或其它類型的斷言,即使在該域和這些其它下游域之間不存在預先建立的斷言格式。除了認出斷言之外,下游域還需要能夠將斷言中包含的身份翻譯成表示特定域內的用戶的身份,即使不存在預先建立的身份映射關系。 此處的主題在聯(lián)合模型中得到支持。 一般而言,一家企業(yè)具有其自己的用戶注冊表,并維護與其自身的用戶集合的關系。每個企業(yè)典型地具有其自身的用于認證這些用戶的手段。不過,用于本發(fā)明的聯(lián)合方案允許企業(yè)以集體方式進行協(xié)作,從而在一家企業(yè)中的用戶可以通過企業(yè)參與到企業(yè)聯(lián)盟中而促進與企業(yè)集合的關系。用戶可以被同意對位于任
一所述企業(yè)的資源進行訪問,就好像他們具有與每家企業(yè)的直接關系一樣。用戶不需要在
每個感興趣企業(yè)進行注冊,并且用戶不會總是被要求標識和認證他們自身。因此,在該聯(lián)合
環(huán)境內,認證方案允許在信息技術方面快速發(fā)展的異構環(huán)境內的單次登錄體驗。 在本發(fā)明的上下文中,聯(lián)盟是不同實體的集合,所述實體諸如企業(yè)、企業(yè)內的邏輯
單元、組織、協(xié)會等,其進行協(xié)作以便向用戶提供單次登錄、易于使用的體驗;聯(lián)合環(huán)境與典
型的單次登錄環(huán)境的不同之處在于,兩家企業(yè)不需要具有直接的、預先建立的關系,所述關
系定義了如何傳送以及傳送哪些關于用戶的信息。在聯(lián)合環(huán)境內,實體提供處理下述情況
的服務認證用戶、接受由其它實體呈現(xiàn)的認證斷言(例如認證令牌)、以及提供某種形式
的翻譯,所述翻譯把為用戶擔保的身份翻譯為在本地實體內可以理解的一種身份。 聯(lián)盟減輕了服務提供者的管理負擔。服務提供者可以依賴于其與作為整體的聯(lián)盟
的信任關系;服務提供者不需要管理認證信息,諸如用戶口令信息,因為其可以依賴于由用
戶的認證主域或身份提供者所完成的認證。 支持本發(fā)明的系統(tǒng)還涉及聯(lián)合身份管理系統(tǒng),其建立了一種基礎,其中松散耦合的認證、用戶登記、用戶簡檔管理和/或授權服務跨安全域進行合作。聯(lián)合身份管理允許駐留于完全不同的安全域中的服務安全地交互操作和合作,即使位于這些完全不同的域的底層安全機制和操作系統(tǒng)平臺存在不同之處。 如上所述并且如下文更詳細地進一步解釋的,聯(lián)合環(huán)境提供了顯著的用戶利益。聯(lián)合環(huán)境允許用戶在第一實體進行認證,所述第一實體可以作為發(fā)布方,用于發(fā)布與用戶有關的認證斷言以在第二實體處使用。用戶接著可以通過呈現(xiàn)由第一實體發(fā)布的認證斷言來訪問位于不同的第二實體(被稱為依賴方)的受保護資源,而不必非要在第二實體處進行明確認證。從發(fā)布方傳遞到依賴方的信息采用斷言的形式,并且此斷言可以包含語句形式的、不同類型的信息。例如,斷言可以是與被認證的用戶身份有關的語句,或者其可以是與關聯(lián)于特定用戶的用戶屬性信息有關的語句。此外,基于依賴方的訪問控制規(guī)則、身份映射規(guī)則、以及可能由依賴方維護的某些用戶屬性,此信息可以被依賴方用于提供對依賴方的資源的訪問。 現(xiàn)在參考圖2,該框圖描述了聯(lián)合環(huán)境的術語,所述聯(lián)合環(huán)境與由用戶向第一聯(lián)
合企業(yè)發(fā)起的事務有關,所述第一聯(lián)合企業(yè)作為響應調用位于聯(lián)合環(huán)境內的下游實體的動
作。圖2示出了 取決于聯(lián)盟內的實體針對給定聯(lián)合操作的前景,術語可以不同。更具體地,
圖2示出了支持本發(fā)明的計算環(huán)境支持信任的傳遞性以及認證斷言過程的傳遞性;一個域
或實體可以基于其對于由另一域或另一實體斷言的身份的信任,而發(fā)布斷言。 用戶202通過對于位于企業(yè)204的受保護資源的請求發(fā)起事務。如果用戶202已
經被企業(yè)204認證,或者在事務過程期間最終將被企業(yè)204認證,則企業(yè)204可以針對該聯(lián)
合會話被稱為用戶的主域。假定該事務需要由企業(yè)206進行的某種類型的操作,并且企業(yè)
204將斷言傳送到企業(yè)206,則企業(yè)204是與特定操作有關的發(fā)布實體,而企業(yè)206是針對
該操作的依賴實體。 發(fā)布實體發(fā)布由依賴域使用的斷言;發(fā)布實體通常是、但并非一定是用戶的主域或用戶的身份提供者。因此,經常會是這樣的情形發(fā)布方已使用典型的認證操作認證了用戶。不過,以下是可能的發(fā)布方之前作為依賴方,從而它從不同的發(fā)布方接收了斷言。換句話說,由于用戶發(fā)起的事務可以通過聯(lián)合環(huán)境內的一系列企業(yè)分多級進行,因此一個接收方可以隨后作為下游事務的發(fā)布方。 一般而言,具有代表用戶發(fā)布認證斷言的能力的任意實體都可以作為發(fā)布方。 依賴實體是從發(fā)布實體接收斷言的實體。依賴方能夠接受、信任以及理解由第三方,即發(fā)布實體,代表用戶發(fā)布的斷言;使用適當?shù)恼J證授權機構來解釋認證斷言通常是依賴實體的責任。依賴方是依賴于代表用戶或另一實體呈現(xiàn)的斷言的實體。以此方式,取代于需要依賴實體提示用戶提供用戶的認證憑證以作為與用戶的交互會話的一部分,可以在依賴實體處向用戶給出單次登錄的體驗。 再次參考圖2,假定事務需要進一步的操作從而企業(yè)206將斷言傳送到企業(yè)208,
則企業(yè)206是作為與隨后的或次級的事務操作有關的發(fā)布實體的上游實體,而企業(yè)208是
作為該操作的依賴實體的下游實體;在此情形中,企業(yè)208可以被看成是與初始事務有關
的另一個下游實體,但是隨后的交易也可以被描述成僅與兩個實體有關。 如圖2所示,聯(lián)合實體可以作為用戶的主域,其提供與聯(lián)合用戶有關的身份信息
和屬性信息。聯(lián)合計算環(huán)境內提供身份信息、身份或認證斷言、或身份服務的實體可以被稱
為實體提供者。同一聯(lián)盟內的其它實體或聯(lián)盟伙伴可以依賴于身份提供者對于用戶的認證
憑證的最初管理,例如,接受由用戶的身份提供者提供的單次登錄令牌;用戶進行認證所在
的域可以被稱為用戶的(認證)主域。身份提供者可以由用戶的雇主、用戶的ISP、或某個
其它的商業(yè)實體來支持。 身份提供者是一種特定類型的提供身份信息的服務,作為對聯(lián)合計算環(huán)境內的其它實體的服務。針對大多數(shù)聯(lián)合事務,對認證斷言的發(fā)布方通常將是身份提供者;任意其它實體可以與身份提供者區(qū)分開。在聯(lián)合計算環(huán)境內提供服務的任意其它實體可以被分類為服務提供者。 一旦用戶已認證到身份提供者,則在給定聯(lián)合會話或給定聯(lián)合事務的持續(xù)期間,聯(lián)盟內的其它實體或企業(yè)就可以僅被看作是服務提供者。 在某些情形中,在聯(lián)合環(huán)境內可以存在可作為用戶的身份提供者的多個實體。例如,用戶可以在多個聯(lián)合域處具有賬號,每個聯(lián)合域都能夠作為用戶的身份提供者;這些域不必非要具有與其它域有關以及與用戶在不同域處的身份有關的信息。 盡管以下是可能的在聯(lián)合環(huán)境內可以存在可作為身份提供者的多個企業(yè),例如這是因為可以存在具有生成及證實用戶的認證憑證等的能力的多個企業(yè),但是聯(lián)合事務通常僅涉及單個身份提供者。如果在聯(lián)盟內存在有且僅有一個實體,用戶與該實體已執(zhí)行了聯(lián)合登記或注冊操作,則會期望該實體將作為用戶的身份提供者,以便支持用戶在整個聯(lián)合環(huán)境中的事務。 在需要多個服務提供者的交互操作的某些聯(lián)合事務中,下游服務提供者可以接受來自上游服務提供者的斷言;以下狀況可以取決于服務提供者之間的信任關系以及服務提供者之間的事務的類型,在所述狀況中,上游服務提供者可以作為與作為依賴方的下游服務提供者有關的發(fā)布實體。不過,在簡單的聯(lián)合事務的范圍內,僅有一個作為發(fā)布實體的實體。 本發(fā)明可以在給定的計算環(huán)境中得到支持,在所述計算環(huán)境中,聯(lián)合基礎設施可以被添加到現(xiàn)有的系統(tǒng)中,同時使得對現(xiàn)有的非聯(lián)合體系結構的影響最小化。因此,在任意給定企業(yè)或服務提供者處包括認證操作在內的操作不是必然被以下事實所改變,所述事實為,一個實體也可以參與到聯(lián)合環(huán)境中。換句話說,即使一個實體的計算系統(tǒng)可以被集成到聯(lián)合環(huán)境中,用戶也可能能夠繼續(xù)以非聯(lián)合方式直接與企業(yè)執(zhí)行包括認證操作在內的各種操作。不過,用戶可能能夠在執(zhí)行與給定實體有關的聯(lián)合操作的同時,具有相同的終端用戶體驗,就如同用戶已經以非聯(lián)合方式與給定實體執(zhí)行了類似操作。因此,應該注意,當給定企業(yè)參與到聯(lián)盟中時,并非給定企業(yè)的所有用戶必然地參與聯(lián)合事務;企業(yè)的某些用戶可以在不執(zhí)行任意聯(lián)合事務的情況下與企業(yè)的計算系統(tǒng)進行交互。 此外,給定企業(yè)的計算環(huán)境內的用戶注冊(例如在計算機系統(tǒng)中建立用戶帳戶)不是必然被以下事實所改變,所述事實為,企業(yè)也可以參與到聯(lián)合環(huán)境中。例如,用戶仍可以通過獨立于聯(lián)合環(huán)境的、傳統(tǒng)的或已存在的注冊過程而在一個域建立帳戶。因此,在某些情形中,當企業(yè)參與到聯(lián)合計算環(huán)境中時,在企業(yè)建立用戶帳戶可以或可以不包括建立跨聯(lián)盟有效的帳戶信息。 現(xiàn)在參考圖3,框圖描述了在給定域的已存在的數(shù)據處理系統(tǒng)與可被用于支持本發(fā)明實施例的某些聯(lián)合體系結構組件的集成。聯(lián)合環(huán)境包括為用戶提供多種服務的聯(lián)合實體。用戶312與客戶機設備314進行交互,客戶機設備314可以支持瀏覽器應用316和多種其它的客戶機應用318。用戶312與客戶機設備314、瀏覽器316、或作為用戶與其它設備和服務之間的接口的任意其它軟件截然不同。在某些情形中,以下描述可以做出在客戶機應用中進行明確動作的用戶與代表用戶進行動作的客戶機應用之間的區(qū)分。不過,一般而言,請求者是可以被假定是代表用戶進行動作的居中者,諸如基于客戶機的應用、瀏覽器、SOAP客戶機等。 瀏覽器應用316可以是,包括在移動設備上找到的那些瀏覽器在內的典型瀏覽器,其包括許多模塊,諸如HTTP通信組件320和標記語言(ML)解釋器322。瀏覽器應用316還可以支持插件,諸如web服務客戶機324和/或可下載的小應用程序,它們可以或可以不需要虛擬機運行時環(huán)境。Web服務客戶機324可以使用簡單對象訪問協(xié)議(S0AP),其是一種用于定義在非集中化的分布式環(huán)境中對結構化和類型化的信息進行交換的輕量級協(xié)議。SOAP是一種基于XML的協(xié)議,其包括三部分包封,定義了用于描述消息中有什么以及如何處理該消息的框架;編碼規(guī)則集合,用于表達應用定義的數(shù)據類型的實例;以及約定,用于表示遠程過程調用和響應。用戶312可以使用瀏覽器應用316訪問基于web的服務,但是用戶312還可以通過客戶機設備314上的其它web服務客戶機訪問web服務。某些聯(lián)合操作可以經由用戶瀏覽器使用HTTP重定向在聯(lián)合環(huán)境中的實體之間交換信息。不過,應該注意,本發(fā)明可以在多種通信協(xié)議上得到支持,并且不意味著被限于基于HTTP的通信。例如,聯(lián)合環(huán)境中的實體當必要時可以直接進行通信;消息不需要通過用戶的瀏覽器進行重定向。 此處的主題可以通過以下方式得到支持,所述方式使得聯(lián)合環(huán)境所需的組件可以與已存在的系統(tǒng)進行集成。圖3描述了用于將這些組件實現(xiàn)為已存在系統(tǒng)的前端的一個實施例。位于聯(lián)合域的已存在組件可以被認為是傳統(tǒng)應用或后端處理組件330,其包括類似于圖4所示方式的認證服務運行時(ASR)服務器332。當域控制對應用服務器334的訪問時,ASR服務器332負責認證用戶,所述應用服務器334可以被認為是用于生成、檢索、或以另外方式支持或處理受保護資源335。域可以繼續(xù)使用傳統(tǒng)的用戶注冊應用336來注冊用戶,用以訪問應用服務器334。與傳統(tǒng)操作有關地認證已注冊用戶所需的信息被存儲在企業(yè)用戶注冊表338中;企業(yè)用戶注冊表338也可以是聯(lián)盟組件可訪問的。 在加入聯(lián)合環(huán)境之后,域可以繼續(xù)在無需聯(lián)合組件的干涉的情況下進行操作。換
句話說,域可以被這樣配置,使得用戶可以繼續(xù)直接訪問特定應用服務器或其它受保護資
源,而無需通過接觸點服務器或實現(xiàn)該接觸點服務器的功能的其它組件;以此方式訪問系
統(tǒng)的用戶將體驗到典型的認證流程和典型的訪問。不過,在這樣做時,直接訪問傳統(tǒng)系統(tǒng)的
用戶將不能建立對于域的接觸點服務器已知的聯(lián)合會話。 域的傳統(tǒng)功能可以通過使用聯(lián)盟前端處理340被集成到聯(lián)合環(huán)境中,聯(lián)盟前端處理340包括接觸點服務器342和信任代理服務器344 (或更簡單地,信任代理344或信任服務344),所述信任代理服務器344自身與安全令牌服務(STS)346進行交互,所述安全令牌服務346在下文中參考圖4更詳細描述。聯(lián)盟配置應用348允許管理用戶配置聯(lián)盟前端組件,以允許它們通過聯(lián)盟接口單元350與傳統(tǒng)的后端組件通過接口連接。聯(lián)合功能可以在截然不同的系統(tǒng)組件或模塊中實現(xiàn)。在優(yōu)選實施例中,用于執(zhí)行聯(lián)盟操作的大多數(shù)功能可以由單個聯(lián)盟應用內的邏輯組件的集合來實現(xiàn);聯(lián)合用戶生命周期管理應用352包括信任服務以及單次登錄協(xié)議服務(SPS)354。信任服務344可以包括身份及屬性服務(IAS)356,其負責作為聯(lián)盟功能一部分的身份映射操作,屬性檢索等。身份及屬性服務356還可以在單次登錄操作期間由單次登錄協(xié)議服務354使用。聯(lián)盟用戶注冊表358可以在某些情形中出于對聯(lián)盟特定的目的被用于維護與用戶有關的信息。 在給定企業(yè)的傳統(tǒng)的或已存在的認證服務可以使用多種公知的認證方法或令牌,諸如基于用戶名/ 口令或智能卡令牌的信息。不過,在用于支持本發(fā)明的優(yōu)選的聯(lián)合計算系統(tǒng)中,傳統(tǒng)的認證服務的功能可以通過使用接觸點服務器被用在聯(lián)合環(huán)境中。用戶可以繼續(xù)直接訪問傳統(tǒng)認證服務器,而無需通過接觸點服務器,但是以此方式訪問系統(tǒng)的用戶將體驗典型的認證流程和典型的訪問;根據本發(fā)明,直接訪問傳統(tǒng)認證系統(tǒng)的用戶將不能生成作為身份的證明的聯(lián)合認證斷言。聯(lián)盟前端的角色之一是將在接觸點服務器接收的聯(lián)合認證令牌翻譯為傳統(tǒng)的認證服務理解的格式。因此,經由接觸點服務器訪問聯(lián)合環(huán)境的用戶將不再必須需要重新認證到傳統(tǒng)的認證服務。優(yōu)選地,用戶將通過接觸點服務器與信任代理的組合被認證到傳統(tǒng)的認證服務,從而其表現(xiàn)為就如同用戶已加入到認證對話中。
現(xiàn)在參考圖4,該框圖描述了其中聯(lián)合體系結構內的某些組件可被用于建立信任關系的方式的示例。聯(lián)合環(huán)境包括為用戶提供多種服務的聯(lián)合企業(yè)或類似實體。通過客戶機設備上的應用,用戶可以試圖訪問位于多種實體(諸如企業(yè)410)的資源。位于每個聯(lián)合企業(yè)的接觸點服務器(諸如位于企業(yè)410的接觸點(POC)服務器412)是針對來自客戶機的用于訪問資源的請求的、進入聯(lián)合環(huán)境的入口點,所述資源由企業(yè)410支持并使其可用。由于接觸點服務器處理許多聯(lián)盟需求,所以接觸點服務器使現(xiàn)有的非聯(lián)合體系結構(例如傳統(tǒng)的系統(tǒng))內的現(xiàn)有組件上的影響最小化。接觸點服務器提供會話管理、協(xié)議轉換、以及可能地發(fā)起認證和/或屬性斷言轉換。例如,接觸點服務器可以將HTTP或HTTPS消息翻譯成SOAP,反之亦然。如下文進一步更詳細解釋的,接觸點服務器還可以被用于調用信任代理來翻譯斷言,例如,從發(fā)布方接受的SAML令牌可被翻譯為接收方理解的Kerberos令牌。
信任服務(也被稱為信任代理、信任代理服務器、或信任服務)諸如位于企業(yè)410的信任代理(TP)414,其建立和維護聯(lián)盟中的兩個實體之間的信任關系。信任服務通常具有處理從發(fā)布方使用的格式到接收方理解的格式的認證令牌格式翻譯(通過安全令牌服務,其在下文進一步更詳細描述)的能力。 總體地,使用接觸點服務器和信任服務使得在現(xiàn)有的非聯(lián)合系統(tǒng)集合上實現(xiàn)聯(lián)合
體系結構的影響最小化。因此,示例性的聯(lián)合體系結構需要為每個聯(lián)合實體實現(xiàn)至少一個
接觸點服務器以及至少一個信任服務,而不論該實體使企業(yè)、域、還是其它邏輯或物理實
體。但是,示例性的聯(lián)合體系結構不是必須需要對現(xiàn)有的非聯(lián)合系統(tǒng)集合進行任意改變。優(yōu)
選地,針對給定聯(lián)合實體存在單個信任服務,但是出于可用性目的可以存在信任服務組件
的多個實例,或者針對聯(lián)合實體內的多個較小實體(例如,企業(yè)內的獨立子公司)可以存在
多個信任服務。以下是可能的給定實體可以屬于不止一個聯(lián)盟,但是此情形將不會必然地
需要多個信任服務,因為單個信任服務可以能夠管理多個聯(lián)盟內的信任關系。 信任服務的一個角色可以是確定或負責確定另一域和/或該域中的信任服務所
需的令牌類型。信任服務具有處理從發(fā)布方使用的格式到接收方理解的格式的認證令牌格
式翻譯的能力或責任。信任服務414還可以負責企業(yè)410發(fā)生的任意用戶身份翻譯或屬性
翻譯,或者此責任可以由不同的身份及屬性服務(例如,如圖3所示的身份及屬性服務356)
所支持。此外,信任服務可以支持別名的實現(xiàn),所述別名作為用戶身份的代表,其在無需提
供與用戶的真實世界身份有關的任意附加信息的情形下,唯一地標識用戶。此外,信任服務
可以發(fā)布授權和/或會話憑證,以由接觸點服務器使用。不過,信任服務可以調用信任調度
程序(broker)進行協(xié)助,如下文進一步描述的。可以需要身份翻譯將對于發(fā)布方已知的用
戶身份和屬性映射到對于接收方有意義的用戶身份和屬性。此翻譯可以由位于發(fā)布實體的
信任服務與位于接收實體的信任服務之一、或者二者所調用。 信任服務414或如上所述的不同的身份與屬性服務可以包括被示為安全令牌服 務(STS)組件416的內在化組件(或與其進行交互),其將提供令牌翻譯并將調用認證服務 運行時(ASR)418證實和生成令牌。安全令牌服務提供信任服務所需的令牌發(fā)布和證實服 務,其可以包括身份翻譯。因此,安全令牌服務到現(xiàn)有認證服務運行時的接口,或者其將認 證服務運行時并入該服務自身。不同于在信任服務內進行內在化,而是安全令牌服務組件 還可以被實現(xiàn)為獨立組件,例如將由信任服務調用,或其可以在事務服務器內被內在化,例 如作為應用服務器的一部分。 例如,安全令牌服務組件可以接收發(fā)布Kerberos令牌的請求。作為將為其創(chuàng)建令 牌的用戶的認證信息的一部分,該請求可以包含二進制令牌,所述二進制令牌包含用戶名 和口令。安全令牌服務組件將針對例如LDAP運行時(典型認證)證實用戶名和口令,并將 調用Kerberos KDC(密鑰分配中心)以便為該用戶生成Kerberos權證。該令牌被返回信 任服務,用以在企業(yè)內使用;不過,這種使用可以包括使令牌外在化,以便傳送到聯(lián)盟中的 另一域。 用戶可能希望訪問位于聯(lián)合環(huán)境內的多個企業(yè)(諸如企業(yè)410和420)的資源。以 類似于上述針對企業(yè)410的方式,企業(yè)420包括接觸點服務器422、信任服務424、安全令牌 服務(STS)426、以及認證服務運行時428。盡管用戶可以直接發(fā)起與每家企業(yè)的單獨事務, 但是用戶可以發(fā)起與企業(yè)410的事務,該事務貫穿整個聯(lián)合環(huán)境進行級聯(lián)。企業(yè)410可能 需要與聯(lián)合環(huán)境內的多個其它企業(yè)(諸如企業(yè)420)的協(xié)作以完成特定事務,即便當用戶發(fā) 起事務時用戶可能還不知道該必要性。企業(yè)420被涉及作為下游實體,而企業(yè)410可以在 必要時向企業(yè)420呈現(xiàn)斷言,以促進用戶的聯(lián)合事務。
14
可能是這樣的情況,信任服務不知道如何解釋由相關聯(lián)的接觸點服務器接收的認 證令牌和/或如何翻譯給定用戶身份與屬性。在此情形中,信任服務可以選擇調用位于信 任調度程序組件(諸如信任調度程序430)的功能。信任調度程序維持與獨立的信任代理/ 服務的關系,從而提供信任服務之間的可傳遞的信任。使用信任調度程序允許聯(lián)合環(huán)境內 的每個實體(諸如企業(yè)410和420)建立與信任調度程序的信任關系,而不是建立與聯(lián)合環(huán) 境內的每個實體的多個獨立的信任關系。例如,當企業(yè)420被涉及作為針對由位于企業(yè)410 的用戶發(fā)起的事務的下游實體時,位于企業(yè)410的信任服務414可以被擔保位于企業(yè)420 的信任服務424可以通過在必要時調用信任調度程序430的協(xié)助而理解來自信任服務414 的斷言。盡管圖4描述了具有單個信任調度程序的聯(lián)合環(huán)境,但是聯(lián)合環(huán)境可以具有多個 信任調度程序。 應該注意,盡管圖4描述了作為截然不同的實體的接觸點服務器412、信任服務 414、安全令牌服務組件416、以及認證服務運行時418,但是這些組件不是必須在單獨的組 件上被實現(xiàn)。例如,這些單獨組件的功能能夠被實現(xiàn)為單個應用、單個物理設備上的多個應 用、或者多個物理設備上的多個分布式應用。此外,圖4針對一家企業(yè)描述了單個接觸點服 務器、單個信任服務、以及單個安全令牌服務器,但是可替換配置針對每個企業(yè)可以包括多 個接觸點服務器、多個信任服務、以及多個安全令牌服務器。接觸點服務器、信任服務、安
全令牌服務、以及其它聯(lián)合實體可以用多種形式實現(xiàn),諸如軟件應用、對象、模塊、軟件庫等等。 信任服務/STS可以能夠接受和證實許多不同的認證憑證,所述認證憑證包括傳 統(tǒng)憑證,諸如用戶名和口令的組合、以及Kerberos權證;以及聯(lián)合認證令牌格式,包括由第 三方產生的認證令牌。信任服務/STS可以允許接受作為其它地方的認證的證明的認證令 牌。該認證令牌由第三方產生并被用于指示出用戶已經認證到該發(fā)布方。發(fā)布方產生認證 令牌,作為斷言用戶的已認證身份的手段。信任服務/STS還能夠處理屬性令牌或用于保護 通信會話或對話的令牌,例如,被用于以類似于SSL會話標識符的方式管理會話信息的令 牌。 安全令牌服務在必要時調用認證服務運行時。認證服務運行時支持能夠認證用戶 的認證服務。認證服務作為經由認證響應提供成功或失敗的認證嘗試的指示的認證授權機 構。信任服務/STS可以使認證服務內在化,例如以下情景,其中,存在對于不需要與現(xiàn)有的 傳統(tǒng)基礎設施進行交互的web服務的全新安裝。否則,安全令牌服務組件將調用外部認證 服務用以證實認證令牌。例如,安全令牌服務組件可"拆開"包含用戶名/ 口令的令牌,并 接著使用LDAP服務來訪問用戶注冊表,以證實所呈現(xiàn)的憑證。 當被諸如應用服務器的另一組件使用時,安全令牌服務組件可以被用于產生單次 登錄到傳統(tǒng)的認證系統(tǒng)所需的令牌;該功能可以與單次登錄協(xié)議服務(諸如圖3中示出的 SPS 354)內的功能相結合或被其替換。因此,出于內部目的,即在企業(yè)內部,以及出于外部 目的,即跨越聯(lián)盟中的多個企業(yè),安全令牌服務組件可以被用于令牌翻譯。作為內部目的的 示例,Web應用服務器可以經由IBM CICS(客戶信息控制系統(tǒng))事務網關與大型機通過接 口連接;CICS是一族應用服務器和連接器,其提供企業(yè)級在線事務管理和對于任務而言關 鍵的應用的連通性。Web應用服務器可以調用安全令牌服務組件將Kerberos權證(由Web 應用服務器內部使用)翻譯為CICS事務網關所需的IBMRACF⑧過權證(passticket)。
圖4中示出的實體可以使用"身份提供者"和"服務提供者"的術語來解釋。作為建立和維護信任關系的一部分,身份提供者的信任服務可以確定服務提供者的信任服務需要或接受什么樣的令牌類型。由此,信任服務當從安全令牌服務調用令牌服務時使用此信息。當需要身份提供者的信任服務為服務提供者產生認證斷言時,信任服務確定所需的令牌類型,并從安全令牌服務請求適當?shù)牧钆啤?當服務提供者的信任服務從身份提供者接收認證斷言時,信任服務知道它期望什么類型的斷言,以及它在服務提供者內的內部使用所需的什么類型的斷言。因此,服務提供者的信任服務請求安全令牌服務基于在所接收的認證斷言中的令牌生成所需的內部使用令牌。 信任服務和信任調度程序都具有將從身份提供者接收的斷言翻譯成服務提供者理解的格式的能力。信任調度程序具有為存在直接信任關系的每個信任服務解釋(一種或多種)斷言格式的能力,從而允許信任調度程序在身份提供者和服務提供者之間提供斷言翻譯。此翻譯可以由任一方通過其本地信任服務進行請求。由此,身份提供者的信任服務可以在斷言被發(fā)送到服務提供者之前請求對斷言的翻譯。同樣地,服務提供者的信任服務可以請求對從身份提供者接收的斷言的翻譯。 斷言翻譯包括用戶身份翻譯、認證斷言翻譯、屬性斷言翻譯、或其它形式的斷言翻譯。重申上述觀點,斷言翻譯由聯(lián)盟內的信任組件(例如信任服務和信任調度程序)處理。信任服務可以在身份提供者處或在服務提供者處本地化執(zhí)行翻譯,或者信任服務可以調用來自信任調度程序的協(xié)助。 假定身份提供者和服務提供者已經具有與信任調度程序的獨立信任關系,則信任調度程序可以在必要時動態(tài)地創(chuàng)建(即,調度(broker))發(fā)布方和依賴方之間的新的信任關系。在由信任調度程序提供的初始信任關系調度操作之后,身份提供者和服務提供者可以直接維護該關系,從而信任調度程序不需要被調用用于進一步的翻譯需求。應該理解,對認證令牌的翻譯可以發(fā)生于三個可能的地點身份提供者的信任服務、服務提供者的信任服務、以及信任調度程序。優(yōu)選地,身份提供者的信任服務生成信任調度程序理解的認證斷言,以發(fā)送到服務提供者。接著服務提供者請求將來自信任調度程序的令牌翻譯為服務提供者可認出的格式。令牌翻譯可以出現(xiàn)于認證斷言的傳送前、傳送后、或傳送前后。
典型地,存在必須管理的兩類"信任域"企業(yè)信任域和聯(lián)盟信任域。這兩類信任域之間的區(qū)別部分地基于用于管制與信任域的信任關系的商業(yè)協(xié)定以及用于建立信任的技術。企業(yè)信任域包含由企業(yè)管理的那些組件;該信任域內的所有組件可以彼此絕對信任。一般而言,因為所部署的技術在企業(yè)內創(chuàng)建了內在信任,例如通過要求組件之間的互認證的SSL會話或者通過在單個緊密控制的數(shù)據中心內放置組件,從而物理控制和鄰近證明了絕對信任,所以不存在建立企業(yè)內的信任所需的商業(yè)協(xié)定。參考圖2B,傳統(tǒng)的應用和后端處理系統(tǒng)可以表示企業(yè)信任域,其中多個組件在安全的內部網絡上進行通信。
聯(lián)盟信任域是跨企業(yè)邊界的信任域;從一種角度,聯(lián)盟信任域可以表示不同的企業(yè)信任域之間的信任關系。聯(lián)盟信任域由在聯(lián)盟伙伴之間的跨企業(yè)邊界的信任代理所建立。信任關系涉及某種自引導(bootstrap)過程,通過該過程在信任代理之間建立初始信任。此自引導過程的一部分可以包括建立共享密鑰以及規(guī)則,所述規(guī)則定義了所期望的和/或所允許的令牌類型和標識符翻譯。 一般而言,此自引導過程可以在帶外(out-of-band)實現(xiàn),因為此過程還可以包括商業(yè)協(xié)定的建立,所述商業(yè)協(xié)定對企業(yè)在聯(lián)盟中的參與以及 與此參與相關聯(lián)的責任進行管制。 在示例性的聯(lián)盟體系結構中,信任關系由信任代理所管理,所述信任代理可以包 括安全令牌服務(或與安全令牌服務相交互),所述安全令牌服務基于在兩個信任代理之 間預先建立的關系來證實并翻譯從身份提供者接收的令牌。在聯(lián)合企業(yè)不方便與另一聯(lián)合 企業(yè)建立信任關系(以及令牌翻譯)的情形中,可以調用信任調度程序;不過,聯(lián)合企業(yè)將 需要建立與信任調度程序的關系。 現(xiàn)在參考圖5,該框圖描述了根據示例性的聯(lián)合體系結構,在使用信任代理和信任 調度程序的聯(lián)合域之間的示例性信任關系集合。盡管圖4引入了信任調度程序,但是圖5 示出了示例性的聯(lián)合體系結構內的可傳遞的信任關系的重要性。 聯(lián)合域502-506分別并入信任代理508-512。信任代理508具有與信任代理510 的直接信任關系514。信任調度程序520具有與信任代理510的直接信任關系516,以及信 任調度程序520具有與信任代理512的直接信任關系518。信任調度程序520被用于基于 與其它聯(lián)盟伙伴的可傳遞的信任,代表聯(lián)盟參與者建立信任關系??蓚鬟f的信任的原理允 許信任代理510和信任代理512經由信任調度程序520已經調度了信任關系522。信任代 理510和512 二者都不需要知道如何翻譯或證實另一個的斷言;可以調用信任調度程序來 將斷言翻譯為有效的、可信的、以及在其它信任代理處可理解的斷言。 規(guī)定了與聯(lián)合企業(yè)之間的信任關系有關的契約義務和責任的商業(yè)協(xié)定可以通過 使用ebXML(使用XML的電子商務)標準而用XML來表達。例如,直接信任關系可以在ebXML 文檔中表示;共享直接信任關系的每個聯(lián)合域將具有被表達為ebXML文檔的契約的拷貝。 針對聯(lián)盟內的各種實體的操作特性可以在ebXML編排法中被規(guī)定,并在ebXML注冊表中被 發(fā)布;希望參與到特定聯(lián)盟中(例如希望操作信任代理或信任調度程序)的任意企業(yè)將需 要符合已發(fā)布的需求,所述需求由該特定聯(lián)盟針對聯(lián)盟內的所有信任代理或信任調度程序 而規(guī)定。安全令牌服務可以解析這些ebXML文檔以得到關于其中來自其它域的令牌將被翻 譯的方式的操作細節(jié)。但是,應該理解,其它標準和機制可以被用于支持本發(fā)明,用于規(guī)定 其中與聯(lián)盟內的信任關系被實現(xiàn)的方式有關的細節(jié)。 在給定用戶會話期間,用戶可以訪問許多聯(lián)合域以使用由這些域提供的web服 務。域可以使用標準規(guī)范來發(fā)布它們提供的服務的描述,所述標準規(guī)范諸如UDDI和WSDL, 二者都使用XML作為常用數(shù)據格式。用戶通過同樣遵守這些標準規(guī)范的應用找到可用的服 務和服務提供者。SOAP提供用于傳送以XML表達的請求和響應的范例。聯(lián)合環(huán)境內的實體 可以使用其中的這些實體。 在聯(lián)盟中,用戶期望具有單次登錄經驗,其中用戶完成單次認證操作,并且此認證 操作在用戶會話期間是足夠的,而不管在該會話期間所訪問的聯(lián)盟伙伴。會話可以被定義 為從(以及包括)初始用戶認證(即,登錄)到退出的事務集合。在一個會話內,用戶動作 將受到針對該會話授予用戶的特權的部分管制。 上述的聯(lián)合體系結構支持單次登錄操作。為了促進單次登錄體驗,支持聯(lián)合環(huán)境 的web服務還將支持使用由第三方生成的認證斷言或安全令牌,以提供用戶的認證的證 明。該斷言將包含用戶成功認證到發(fā)布方的某種證據連同該用戶的標識符。例如,用戶可 以完成與一個聯(lián)盟伙伴的傳統(tǒng)的認證操作,例如通過提供用戶名和口令,聯(lián)盟伙伴使用該用戶名和口令來為該用戶構建認證憑證,并且接著聯(lián)盟伙伴能夠將由認證/發(fā)布方生成的 SAML認證斷言提供給不同的聯(lián)盟伙伴。 聯(lián)合環(huán)境還允許web服務或其它應用請求web服務,并且這些web服務也將被認 證。Web服務環(huán)境中的認證是用于校驗web服務請求的所聲明的身份的動作,從而企業(yè)可以 限制對已授權客戶機的訪問。請求或調用web服務的用戶將幾乎總是被認證,于是對于支 持本發(fā)明的聯(lián)合環(huán)境內的認證的需要與用于用戶認證的web服務的當前需求沒有什么不 同。 對正訪問企業(yè)的計算資源而沒有參與聯(lián)合會話的用戶的認證不受聯(lián)合基礎設施 的出現(xiàn)的影響。例如,通過在HTTP/S上基于表格的認證機制進行認證以訪問位于特定域的 非聯(lián)合資源的現(xiàn)有用戶不會受到在該域引入對聯(lián)合環(huán)境的支持的影響。認證由接觸點服務 器部分地處理,所述接觸點服務器隨后可以調用單獨的信任代理或信任服務組件;接觸點 服務器的使用使得對于現(xiàn)有域的基礎設施的影響最小化。例如,接觸點服務器可以被配置 為通過將由位于該域的后端或傳統(tǒng)的應用和系統(tǒng)處理的所有非聯(lián)合請求。
接觸點服務器可以選擇調用基于HTTP的認證方法,諸如基本認證、基于表格的認 證、或某種其它的認證方法。接觸點服務器還通過支持對斷言的處理而支持聯(lián)盟域,所述 斷言由用戶呈現(xiàn)作為認證的證明,諸如SAML認證斷言,其中所述斷言已經在企業(yè)域之間跨 過;當斷言/人工信號(artifact)在聯(lián)盟協(xié)議的上下文中被接收時,單次登錄協(xié)議服務被 用于識別所述斷言/人工信號。接觸點服務器可以調用信任服務,所述信任服務隨后可以 調用其安全令牌服務,用于證實認證憑證/安全令牌。 對web服務或其它應用的認證包括與用戶認證相同的過程。來自web服務的請求 承載了包含認證斷言的安全令牌,并且該安全令牌將由信任服務用與由用戶呈現(xiàn)的令牌相 同的方式被證實。來自web服務的請求應該伴有該令牌,因為web服務應該已經發(fā)現(xiàn)所請 求的服務需要什么樣的認證斷言/安全令牌,如UDDI中所宣傳的。 現(xiàn)在參考圖6,該框圖描述了支持聯(lián)合單次登錄操作的聯(lián)合環(huán)境。用戶600通過客 戶機設備和適當?shù)目蛻魴C應用(諸如瀏覽器)想要訪問由企業(yè)/域610提供的web服務, 所述企業(yè)/域610支持作為聯(lián)合環(huán)境內的聯(lián)合域的數(shù)據處理系統(tǒng)。域610支持接觸點服務 器612和信任代理或信任服務614 ;類似地,域620支持接觸點服務器622和信任代理或信 任服務624,而域630支持接觸點服務器632和信任代理或信任服務634。如上所述,信任 代理/服務依賴于信任調度程序650的協(xié)助。附加的域和信任代理/服務可以參與到聯(lián)合 環(huán)境中。圖6被用于描述在域610和域620之間的聯(lián)合單次登錄操作;類似操作可以出現(xiàn) 在域610和域630之間。 用戶完成與域610有關的認證操作;該認證操作由接觸點服務器612處理。當用 戶請求對需要認證身份(例如出于訪問控制的目的或出于私人化的目的)的某種資源的訪 問時,認證操作被觸發(fā)。接觸點服務器612可以調用傳統(tǒng)的認證服務,或者其可以調用信任 代理614來證實用戶所呈現(xiàn)的認證憑證。域610在用戶的聯(lián)合會話期間成為用戶的身份提 供者或主域。 在稍后的某個時間點,用戶發(fā)起位于聯(lián)盟伙伴的事務,所述聯(lián)盟伙伴諸如企業(yè) 620,其也支持聯(lián)合域,由此觸發(fā)聯(lián)合單次登錄操作。例如,用戶可以發(fā)起位于域620的新事 務,或者用戶的最初事務可以級聯(lián)到位于其它域的一個或多個附加事務。作為另一示例,用戶可以經由接觸點服務器612調用對域620中的資源的聯(lián)合單次登錄操作,例如通過選擇 在域610內托管的網頁上的特殊鏈接,或者通過請求在域610內托管的門戶頁面,但是其顯 示域620中托管的資源。接觸點服務器612發(fā)送請求到信任代理614,以便為用戶生成聯(lián) 合單次登錄令牌,其被格式化為可被域620理解或信任。信任代理614將此令牌返回接觸 點服務器612,接觸點服務器612將此令牌發(fā)送到域中的接觸點服務器622。域610作為位 于域620的用戶的發(fā)布方,域620作為依賴方。用戶的令牌將與用戶的請求一起被傳送到 域620 ;該令牌可以使用HTTP重定向經由用戶瀏覽器被發(fā)送,或者該令牌可以通過代表在 由信任代理614提供的令牌中標識的用戶直接調用接觸點服務器622的請求(在HTTP或 基于HTTP的SOAP上)而被發(fā)送。 接觸點服務器622接收請求連同聯(lián)盟單次登錄令牌,并調用安全代理624。安全代 理624接收聯(lián)盟單次登錄令牌,證實該令牌,并且在假定該令牌有效并可信的情況下為用 戶生成本地有效的令牌。信任代理624將本地有效的令牌返回接觸點服務器622,接觸點服 務器622在域620內為用戶建立會話。當必要時,接觸點服務器622可以發(fā)起位于另一聯(lián) 合伙伴的聯(lián)合單次登錄。 在域620對令牌的證實由信任代理624處理,可能還有來自安全令牌服務的協(xié)助。 取決于由域610呈現(xiàn)的令牌的類型,安全令牌服務可能需要訪問位于域620的用戶注冊表。 例如,域620可以提供包含用戶的名稱和口令的二進制安全令牌,以便針對位于域620的用 戶注冊表進行證實。因此,在此示例中,企業(yè)僅僅證實來自聯(lián)合伙伴的安全令牌。域610和 620之間的信任關系確保了域620可以理解并信任由域610代表用戶呈現(xiàn)的安全令牌。
聯(lián)合單次登錄不僅需要在依賴域對于代表用戶呈現(xiàn)給依賴域的安全令牌的證實, 而且需要基于在安全令牌中包含的信息對本地有效的用戶標識符和可能的與該標識符相 關聯(lián)的屬性的確定。直接信任關系以及建立這種關系所需的商業(yè)協(xié)定的一個結果是,至少 一方(或者發(fā)布域或者依賴域或者二者)將知道如何將由發(fā)布域提供的信息翻譯為在依賴 域有效的標識符;位于依賴域的該標識符可以是由發(fā)布方斷言的身份的一對一映射的結果 或者另一類型的映射的結果,例如身份到角色的多對一映射,即,不需要所述映射是針對本 地的發(fā)布方標識符的唯一的一對一映射。在上述簡單示例中,假定發(fā)布域(即域610)能夠 向依賴域(即域620)提供在域620中有效的用戶標識符。在此情形中,依賴域不需要調用 任何身份映射功能。位于域620的信任代理624將為用戶生成將為該用戶擔保的安全令 牌。被接受的令牌的類型、在令牌上需要的簽名、以及其它需求都被預先建立,作為聯(lián)盟的 商業(yè)協(xié)定的一部分。管制標識符翻譯的規(guī)則和算法也被預先建立作為聯(lián)盟的商業(yè)協(xié)定的一 部分,并且由針對令牌管理和交換的已商定的策略來定義。在兩個參與者之間存在直接信 任關系的情形中,標識符翻譯算法將已經為這兩方建立,并且可能與聯(lián)盟中的任意其它方 無關。 不過,不會總是以下情形,即,發(fā)布域將知道如何將用戶從域610的本地標識符映 射到域620的本地標識符。在某些情形中,可以是依賴域知道如何進行此映射,而在另外 其它情形中,任一方都將不知道如何進行此翻譯,在此情形中,可能需要調用第三方信任調 度程序。換句話說,在已調度的信任關系的情形中,發(fā)布域和依賴域彼此不具有直接信任關 系。不過,它們將具有與信任調度程序(諸如信任調度程序650)的直接信任關系。標識符 映射規(guī)則和算法將已經被建立作為此關系的一部分,并且信任調度程序將使用此信息來協(xié)助已調度的信任關系所需的標識符翻譯。 域620在接觸點服務器622處接收由域610發(fā)布的令牌,接觸點服務器622調用 信任代理624證實令牌以及執(zhí)行身份映射。在此情形中,由于信任代理624不能將用戶從 域610的本地標識符映射到域620的本地標識符,因此信任代理624調用信任調度程序 650,其證實令牌并執(zhí)行標識符映射。在獲得用戶的本地標識符之后,信任代理624可能地 通過其安全令牌服務可以生成位于域620的后端應用所需的任意本地令牌,例如可能需要 Kerberos令牌來便利于從接觸點服務器到應用服務器的單次登錄。在獲得本地有效的令牌 之后,當需要時,接觸點服務器能夠為用戶構建本地會話。接觸點服務器還可以處理對用戶 請求的粗粒度的授權,以及將已授權的請求轉發(fā)到域620內的適當?shù)膽梅掌鳌?
聯(lián)合用戶生命周期管理(FULM)功能/服務包括以下功能用于支持或管理位于多 個聯(lián)合域的、與給定用戶的特定用戶帳戶或用戶簡檔有關的聯(lián)合操作。在標題為"Method and system for policy-based initiation offederation management,,的美國出片反物 No. 20080010665中描述了代表性的FULM功能,所述出版物的公開內容通過引用而并入此 處。在某些情形中,所述功能或操作被限于用戶的給定聯(lián)合會話。換句話說,聯(lián)合用戶生命 周期管理功能指代以下功能可能僅在聯(lián)合計算環(huán)境內的單個用戶會話的生命周期期間, 允許對跨多個聯(lián)合伙伴的聯(lián)合操作的管理。 每個聯(lián)合域可以管理與位于每個聯(lián)合域功能有關的某種用戶帳戶、用戶簡檔或用 戶會話。例如,特定聯(lián)合域可以不管理特定聯(lián)合域內的本地用戶帳戶或用戶簡檔,但是該聯(lián) 合域可以在成功完成唯一聯(lián)合域的單次登錄操作之后管理聯(lián)合事務的本地用戶會話。作為 由特定聯(lián)合域支持的聯(lián)合用戶生命周期管理功能的一部分,聯(lián)合域可以參與到單次登出操 作中,所述操作允許聯(lián)合域在聯(lián)合事務完成之后終止本地用戶會話,從而提高安全性以及 促進資源的高效使用。 在對聯(lián)合用戶生命周期管理功能的使用的另一示例中,用戶可以涉及需要多個聯(lián) 合域的參與的在線事務。聯(lián)合域可以在本地管理用戶簡檔,以便在涉及聯(lián)合域的用戶的每 個聯(lián)合會話期間調整用戶體驗。作為由特定聯(lián)合域支持的聯(lián)合用戶生命周期管理功能的一 部分,聯(lián)合域的本地用戶簡檔中的信息可以以無縫方式在給定聯(lián)合事務期間與下述信息一 起被使用,所述信息來自位于參與給定聯(lián)合事務中的其它聯(lián)合域的其它簡檔。例如,來自用 戶的多個本地用戶簡檔的信息可以用某種合并操作進行組合,使得用戶信息以下述方式例 如在網頁內可視地呈現(xiàn)給用戶,所述方式使得用戶不知道用戶信息的不同來源或源。
聯(lián)合用戶生命周期管理功能還可以包括用于帳戶鏈接和解除鏈接的功能。向用戶 提供跨聯(lián)盟伙伴的通用的唯一用戶標識符,所述標識符使能與用戶有關的單次登錄和屬性 檢索(當必要時),作為履行一個聯(lián)盟伙伴的請求的一部分。此外,聯(lián)盟伙伴可以通過使用 該通用的唯一用戶標識符以便以匿名方式指代該用戶,而從身份提供者請求附加屬性。
現(xiàn)在參考圖7A,并且如2006年7月7日提交的美國出版物No. 20080010665中所 述的,所述出版物的公開內容通過引用而并入,框圖提供了用于實現(xiàn)聯(lián)合用戶生命周期管 理功能的聯(lián)合域中的組件的附加細節(jié)。圖7A描述了位于單個聯(lián)合域的單元。在圖7A中, 接觸點服務器702被示為駐留在防火墻710和712之間的匿Z內,所述防火墻710和712 構成企業(yè)域的電子或物理前端;此外,聯(lián)合用戶生命周期管理應用/服務708電子地駐留在 防火墻712之后。信任服務714、單次登錄協(xié)議服務716、以及身份及屬性服務718當必要
20時使用企業(yè)用戶注冊表720以及聯(lián)盟用戶注冊表722 ;用戶典型地是自然人,但也可以是使 用計算資源的數(shù)據處理實體。 再次參考圖7A,聯(lián)合用戶生命周期管理應用708還包括對于與聯(lián)合用戶生命周期 管理插件724通過接口連接、相交互、或以其它方式交互操作的支持。在圖7A所示的示例 性的體系結構中,聯(lián)合協(xié)議運行時插件提供多種類型的獨立發(fā)布或開發(fā)的聯(lián)合用戶生命周 期管理標準或簡檔的功能,諸如WS聯(lián)盟被動式客戶機(WS-Federation Passive Client); 以及自由聯(lián)盟ID-FF單次登錄(Liberty Alliance ID-FF Single Sign On) (B/A、B/P以及 LECP)、注冊名標識符、聯(lián)盟終止通知、和單次退出。聯(lián)合協(xié)議的不同集合可以在不同的URI 處進行訪問。此方案允許聯(lián)合用戶生命周期管理應用在單個應用內同時支持聯(lián)合用戶生命 周期管理的多個標準或規(guī)范,例如WS聯(lián)盟web服務規(guī)范以及自由聯(lián)盟的規(guī)范,由此使得對 用于支持不同聯(lián)盟協(xié)議的整個環(huán)境的配置影響最小化。 由接觸點服務器通過在適當時將用戶請求重定向和/或轉發(fā)到聯(lián)合用戶生命周 期管理應用而調用聯(lián)合用戶生命周期管理功能。再次參考圖7A,接觸點服務器702接收用 戶請求730,用戶請求730接著被分析,以確定已經接收的請求的類型,其可以通過已經接 收的請求消息的類型所指示,或者如上所述的,通過確定請求消息內的目的地URI。當對受 保護資源的請求732繼續(xù)被轉發(fā)到應用服務器704時,對聯(lián)合用戶生命周期管理功能的請 求734(例如,調用單次登出操作的請求)被轉發(fā)到聯(lián)合用戶生命周期管理應用708,其當必 要時調用適當?shù)穆?lián)合用戶生命周期管理插件,以滿足所接收的請求。當新的聯(lián)盟協(xié)議或新 的聯(lián)合功能被定義時,或者當現(xiàn)有聯(lián)盟協(xié)議或聯(lián)合功能以某種方式被修改或改善時,支持
可以通過插入新的支持模塊而被簡單添加,或者支持可以通過修改之前安裝的插件而被改善。 圖7A中的聯(lián)合用戶生命周期管理應用的示例性實現(xiàn)示出了 聯(lián)合用戶生命周期 管理應用能夠支持多個同時的聯(lián)合用戶生命周期管理功能,同時提供"插件"功能,由此允 許新功能當需要時以插件的形式被添加到聯(lián)合用戶生命周期管理應用,而無需對現(xiàn)有基礎 設施的任何改變。例如,假定所述主題使用基于Java 的聯(lián)合用戶生命周期管理應用來實 現(xiàn),則對新的聯(lián)盟協(xié)議(諸如新發(fā)布的單次登錄協(xié)議)的支持可以通過將新開發(fā)的Java 類配置到聯(lián)合用戶生命周期管理應用的Java CLASSPATH而被添加,其中這些新的類支持 新標準以及用于支持所述主題的協(xié)議接口。因此,示例性的聯(lián)合體系結構影響將在其中集 成聯(lián)合用戶生命周期管理解決方案的現(xiàn)有環(huán)境。聯(lián)合用戶生命周期管理應用可以被容易地 修改以支持新的協(xié)議/標準,因為它們的發(fā)展具有對整個基礎設備的最小改變。支持新的 聯(lián)合用戶生命周期管理功能可能需要的任意改變都幾乎獨占地位于聯(lián)合用戶生命周期管 理應用中,這將需要配置聯(lián)合用戶生命周期管理應用以理解所添加的功能。
在其它聯(lián)合組件中,例如在接觸點服務器處,可以具有最小的配置改變,以便允許 整個的基礎設備能夠調用新的聯(lián)合用戶生命周期管理功能,同時繼續(xù)支持現(xiàn)有的聯(lián)合用戶 生命周期管理功能。不過,聯(lián)合用戶生命周期管理應用在功能上獨立于其余聯(lián)合組件之 處在于,聯(lián)合用戶生命周期管理應用可能僅需要與聯(lián)合環(huán)境的其它聯(lián)合組件的最小交互。 例如,在示例性實施例中,如果聯(lián)合用戶生命周期管理信息(諸如,根據自由聯(lián)盟簡檔的 Nameldentifier值)將被存儲在外部可訪問的聯(lián)合用戶生命周期管理數(shù)據存儲庫(其與對 于外部實體而言不可見的或不可訪問的、私有的內部聯(lián)合用戶生命周期管理數(shù)據存儲庫相反)中,則聯(lián)合用戶生命周期管理功能可以與基于企業(yè)的數(shù)據存儲庫(例如LDAP數(shù)據存儲 庫)集成。 某些聯(lián)合操作(諸如可能需要與用戶進行最小交互來完成操作的那些操作)應該 以對用戶造成最小麻煩的方式被執(zhí)行,但是它們還應該以對于聯(lián)合企業(yè)而言、特別是對于 可能需要跨企業(yè)內所有用戶的那些類型的操作而言高效的方式被執(zhí)行。與為了支持某些聯(lián) 合協(xié)議所需的操作有關地,聯(lián)合企業(yè)在實現(xiàn)那些操作的方式上可能沒有太多靈活性,以及 對于用戶以及聯(lián)合企業(yè)的計算資源沒有帶來太多負擔。聯(lián)合企業(yè)可以被要求根據該聯(lián)合企 業(yè)已經同意的聯(lián)盟規(guī)范以某些方式執(zhí)行某些動作。換句話說,聯(lián)合企業(yè)可以被商業(yè)契約要 求實現(xiàn)某些聯(lián)盟操作而不管這些操作的計算負擔。 不過,聯(lián)合環(huán)境內的功能的許多方面可以被分類為支持一個或多個商業(yè)目標的操 作,所述商業(yè)目標是聯(lián)盟內的一家或多家企業(yè)所需要的,但不是支持聯(lián)盟協(xié)議所必需的,或 者所述商業(yè)目標不是為了參與聯(lián)盟中所必需的。此外,滿足這些商業(yè)目標的操作的實現(xiàn)可 以觸發(fā)執(zhí)行多種聯(lián)盟操作,其導致與參與的聯(lián)盟伙伴的交互。由于所導致的用于支持對企 業(yè)特定的商業(yè)目標的動作可以具有跨聯(lián)合環(huán)境的分支,因此其中實現(xiàn)支持操作的方式應該 以可擴展跨越聯(lián)盟內的成千或成百萬個用戶的方式來完成。此外,負責管理企業(yè)內的聯(lián) 合功能的系統(tǒng)管理員當實現(xiàn)企業(yè)想要的商業(yè)目標時,應該能夠以便利的方式配置其計算資 源。 至此,2006年7月7日提交的美國出版物No. 20080010665提供了一種基于策略的 機制以及相關的計算基礎設施,其提供了對基礎設施的高效和可配置的管理以完成想要的 商業(yè)目標。所述的基礎設施允許聯(lián)合操作通過使用策略以及相關的策略管理機制以可擴展 方式被管理?,F(xiàn)在參考圖7B,框圖描述了用于實現(xiàn)聯(lián)合用戶生命周期管理功能、同時也實現(xiàn) 用于完成可使用聯(lián)合用戶生命周期管理功能的多種商業(yè)目標的基于策略的機制的聯(lián)合域 中的某些組件。圖7B非常類似于圖7A之處在于,兩個圖都示出了用于實現(xiàn)聯(lián)合用戶生命 周期管理功能的組件的示例性布置。與圖7A對比,請求/響應消息730、受保護資源消息 732、以及FULM消息734被示為與企業(yè)的數(shù)據處理系統(tǒng)有關的進入和外出消息,由此強調了 該方案適用于對進入和外出數(shù)據流量的預處理和后處理。 圖7B所示的系統(tǒng)已經被增強,以包括以下附加功能用于支持以使麻煩最小化的 方式對聯(lián)合用戶生命周期管理功能的基于策略的發(fā)起。在圖7B中,F(xiàn)ULM應用/服務708包 括策略過濾器/引擎736。當在FULM應用/服務708處從接觸點服務器702接收進入的 FULM請求消息734時,或者當來自用于轉發(fā)到接觸點服務器702的多種組件的外出的FULM 響應消息正被FULM應用/服務708處理時,所述消息被策略過濾器/引擎736過濾,所述過 濾是通過檢查任意策略(例如,存儲在策略數(shù)據庫738中)是否已經被配置,其需要對進入 或外出消息的附加的聯(lián)盟相關處理。例如,策略可以需要在滿足進入請求消息之前對該請 求的預處理。類似地,策略可以需要在返回外出響應消息之前對該響應的附加后處理。換 句話說,在用于進入/外出FULM消息的處理流的頭/尾處放置策略過濾器/引擎736確保 了可以在發(fā)起或終止對FULM消息的處理之前,即,在發(fā)起對進入的FULM請求的處理之前或 在終止對外出的FULM響應的處理之前,執(zhí)行附加預處理或后處理步驟。
在某些情形中,對策略的評估可以指示出需要附加的預處理或后處理,并且在其 它情形中,對策略的評估可以指示出不需要附加的預處理或后處理。從這種角度,策略引擎736可以被看作是過濾進入和外出消息。策略引擎736將允許某些進入請求被立即滿足而 無需附加的預處理步驟,同時轉移或掛起其它請求直到可以執(zhí)行附加的預處理步驟為止。 類似地,策略引擎736將允許某些外出響應被立即轉發(fā)而無需附加的后處理步驟,同時轉 移或掛起其它響應直到可以執(zhí)行附加的后處理步驟為止。 在可替換實施例中,策略引擎/過濾器可以關聯(lián)于接觸點服務器702和/或關聯(lián) 于一個或多個應用服務器704。在這種實施例中,并且如將在下文中更詳細描述的,一個或 多個FULM插件724提供數(shù)字權限管理(DRM)功能。它們有時在此被稱為DRM插件。
現(xiàn)在參考圖7C。框圖示出了用于某些數(shù)據單元的附加細節(jié),所述數(shù)據單元根據實 施例由策略引擎相關于FULM消息評估策略相關聯(lián)地被處理。圖7C包含類似于圖7B示出 的單元,對于類似單元,使用相同參考標號示出。優(yōu)選地,策略引擎的功能以下述方式被嵌 入聯(lián)盟簡檔的處理中,所述方式使得當FULM請求被接收時或當FULM響應被返回時策略可 以被實施;在策略中指示的任意操作可以在對FULM請求的進一步處理之前或者在終止對 FULM響應的處理之前作為預處理或后處理的步驟執(zhí)行?;诓呗缘念A處理和后處理并非意 在排除在對FULM消息中的內容的運行時處理中可能在其它地方出現(xiàn)的策略的使用。策略 可以被存儲在一個或多個數(shù)據存儲庫中,諸如策略數(shù)據庫738。因為企業(yè)可以參與到不止一 個聯(lián)盟中,即,可以支持用于多個聯(lián)合計算環(huán)境的功能,所以FULM消息可以與不同聯(lián)盟簡 檔有關地被處理,并且策略數(shù)據庫738可以包含用于不同聯(lián)盟簡檔的策略的不同集合。在 所示的此示例中,策略集合740適用于第一聯(lián)盟中的用戶,而策略集合742適用于第二聯(lián)盟 中的用戶;用戶可以在多個聯(lián)盟中注冊,于是策略集合740和策略集合742不是必然地僅 適用于互斥的用戶集合。策略集合744適用于當前企業(yè)內的所有用戶,所述企業(yè)即,支持圖 7A-7C中所示的數(shù)據處理環(huán)境的企業(yè)。策略集合746適用于企業(yè)內的特定獨立用戶。
圖7C中示出的不同類型的策略僅示出了可以在企業(yè)內應用的某些策略的可實施 性;數(shù)據庫內的策略不是必然地被存儲作為圖7C中所示的無關聯(lián)的集合。策略可以用任意 適當?shù)母袷奖硎荆T如用XML(可擴展標記語言)定義、并被表示為XSLT(XSL轉換或可擴展 樣式表語言轉換)的格式,XSLT可被用于將一種XML文檔轉換為另一種XML文檔。策略引 擎736評估策略中的一個或多個規(guī)則。例如,當進入的簡檔請求在對簡檔請求的初始處理 之前被接收時,XSLT規(guī)則引擎可以被調用。所評估的策略748表示正被評估的策略、或已被 評估的策略。規(guī)則750表示策略中的條件表達式;條件表達式基于根據邏輯操作符評估的 參數(shù)或數(shù)據值的集合來指示出條件。如果表達式評估為邏輯或布爾"真"值,則判定該規(guī)則 被觸發(fā)或激活;如果表達式評估為邏輯或布爾"假"值,則判定該規(guī)則未被觸發(fā)或激活。從 一種角度,策略的規(guī)則可以被看成是"if-then"條件語句,僅當相關聯(lián)的條件被評估為真,
或被評估為已滿足時,所述條件語句導致某種附加處理。條件表達式中的一個或多個值可 以從用戶注冊表722中的用戶條目754中的用戶屬性752獲得。在此示例中,用戶條目754 與用戶相關聯(lián),初始的FULM消息代表用戶被接收;例如,初始接收的FULM消息可以包含用 戶標識符,所述用戶標識符可被用于確定當初始的FULM消息被接收時可實施的策略。
如果策略中的規(guī)則被觸發(fā),則取決于消息是外出響應還是進入請求,對初始接收 的響應的處理的終結(conclusion)被掛起,或者對初始接收的請求的進一步處理被掛起。 以此方式,將為所接收的消息執(zhí)行(例如由圖7B中示出的FULM應用/服務708)的聯(lián)盟協(xié) 議操作被推遲,直到隨后的時間點為止。在掛起或推遲期間,圖7B中示出的FULM消息734
23可以被存儲在適當位置(諸如掛起操作緩沖器)或某種其它的數(shù)據存儲庫,諸如用戶注冊 表722中的用戶條目754,或包含用于用戶的會話管理的其它信息的會話高速緩存。
在策略中的規(guī)則已經被評估,從而其觸發(fā)或激活附加的預處理或后處理之后,策 略接著被檢查,以找到其中包含的關于當其規(guī)則被觸發(fā)時將被執(zhí)行的附加的預處理或后處 理的類型的信息。更具體地,對于進入的請求消息,策略指示出在執(zhí)行可能與已經被掛起的 初始FULM請求相關聯(lián)的任意其它聯(lián)盟協(xié)議操作之前將執(zhí)行的聯(lián)盟協(xié)議操作。類似地,對于 外出的響應消息,策略指示出在執(zhí)行可能與已經被掛起的外出FULM響應相關聯(lián)的任意其 它聯(lián)盟協(xié)議操作之前將執(zhí)行的聯(lián)盟協(xié)議操作。圖7C示出了策略748包含了用于與規(guī)則750 相關聯(lián)的已觸發(fā)的聯(lián)盟協(xié)議操作758的標識數(shù)據或指示數(shù)據。 策略748還可以包含關于一個或多個終結過程760,其指示出當已觸發(fā)的聯(lián)盟協(xié) 議操作758的終結時將執(zhí)行的任意過程。例如,在已觸發(fā)的聯(lián)盟協(xié)議操作758被終結時,所 應用的策略信息762可以在用戶條目754中進行設置,所述用戶條目754指示出特定策略 已經被應用,即,被實施;每個這樣的條目可以具有對其相關聯(lián)的策略的引用或者對其相關 聯(lián)的策略的標識符連同附加信息,諸如,策略被成功地還是不成功地實施的指示、指示出策 略何時被實施的一個或多個時間戳、以及其它相關信息。在某些情形中,即便已觸發(fā)的聯(lián)盟 協(xié)議操作758失敗,與終結過程760有關的信息仍可以指示出初始接收的FULM消息可以被 允許繼續(xù)進行,例如如下這些情形,其中,策略指示出非強制性的、或者非時間緊要的(因 為該策略可以在稍后某個時間點重新運行)聯(lián)盟協(xié)議操作。在某些情形中,如果已觸發(fā)的 聯(lián)盟協(xié)議操作758已失敗,則與終結過程760有關的信息可以指示出初始接收的FULM消息 無法繼續(xù)進行,例如如下這些情形,其中,策略指示出強制性的、或者時間緊要的聯(lián)盟協(xié)議 操作。取決于與終結過程760有關的信息,初始接收的FULM消息從適當?shù)臄?shù)據存儲庫(諸 如已掛起操作高速緩存756)中被檢索,并接著被進一步處理或被拒絕。
數(shù)字權限管理(DRM)策略可以由一個或多個DRM插件實現(xiàn),所述DRM插件由DRM 策略提供者為了服務提供者的利益而進行管理和操作,作為策略實施的一部分。DRM插件可 以被添加作為DRM資源,所述DRM資源被添加到服務提供者環(huán)境,并且如將會看到的,所述 插件被有利地用于在必要時處理附加DRM屬性(下文被稱為DRM特權)的檢索。
如此處所使用的,"DRM特權"是描述進行由DRM策略控制的動作的能力的信息 (例如屬性)。例如,給定的DRM特權可以(以給定費用)向用戶提供對給定網站(例如 audible, com)的永久訪問,以及在任意設備上播放音頻書籍的能力。 如此處所使用的,"DRM策略"是描述在數(shù)字權限管理方案的上下文中,在用戶可以 采取給定動作之前需要什么樣的DRM特權的信息。例如,如果用戶具有對Audible的預訂, 以及在iTunes上播放下載內容的能力,則DRM策略可以使用戶能夠在iPod或GPS移動設 備上播放已下載的音樂。 DRM特權可以包括多個不同的動作或權限,并且DRM策略可以被DRM特權的許多不 同集合所填充。 啟用DRM策略的聯(lián)盟 通過作為背景的上述描述,下文描述啟用DRM策略的聯(lián)盟。如圖8所示,聯(lián)盟中的 參與者優(yōu)選地包括第一聯(lián)盟伙伴800、第二聯(lián)盟伙伴802、第三聯(lián)盟伙伴804、以及可選地包 括第四聯(lián)盟伙伴806。第一聯(lián)盟伙伴800可以是身份提供者(按照FULM功能),或者其可以是服務提供者,用于提供需要DRM策略一致性的服務。出于解釋的目的,第一聯(lián)盟伙伴800 在此被稱為身份提供者。第二聯(lián)盟伙伴802是服務提供者,其(從終端用戶的角度)提供 DRM內容。第三聯(lián)盟伙伴是服務提供者,其管理終端用戶的DRM特權808,以及可選地管理 DRM策略810,所述DRM策略810必須由第二聯(lián)盟伙伴802實施。第四聯(lián)盟伙伴806是DRM 策略"諭示(oracle)",其管理DRM策略(與DRM特權相反)。DRM策略諭示功能可以是第 三聯(lián)盟伙伴的功能,在此情形中不需要第四聯(lián)盟伙伴。換句話說,第三和第四聯(lián)盟伙伴804 和806可以共存于單個聯(lián)盟伙伴中。 第一聯(lián)盟伙伴800可以包括第三聯(lián)盟伙伴804的功能,以便由此作為聯(lián)盟中的身 份提供者和DRM提供者。其中這將會有用的一個示例場景是,終端用戶具有允許無限訪問 的音樂下載服務(諸如iTunes)的預訂。 可替換地,第二聯(lián)盟伙伴802可以包括第三聯(lián)盟伙伴804的功能。在這種情形中, 第二聯(lián)盟伙伴維護與其功能有關的DRM信息,并可選地在請求時將其提供給其它聯(lián)盟伙 伴。其中這將會有用的一個示例場景是,音樂下載服務知道用戶別名具有對服務的無限預 訂。 第一聯(lián)盟伙伴800可以包括第四聯(lián)盟伙伴806的功能。在這種情形中,第一聯(lián)盟 伙伴800作為身份提供者和DRM策略提供者,但是典型地,這種策略很可能是粗粒度的。其 中這將會有用的一個示例場景是,終端用戶想要從身份提供者通過單次登錄(SSO)訪問音 樂下載服務,并且需要具有對該服務的有效預訂的證明。 第二聯(lián)盟伙伴802可以包括第四聯(lián)盟伙伴806的功能。在這種情形中,第二聯(lián)盟 伙伴802作為服務提供者和DRM策略提供者。其中這將會有用的一個示例場景是,服務提 供者是音樂下載服務,并且其知道,為了訪問該服務,用戶必須至少具有對該服務的一個月 的試用預訂。 如已經說明的,第三聯(lián)盟伙伴804可以包括第四聯(lián)盟伙伴的功能。在這種情形中, 第三聯(lián)盟伙伴作為用戶的DRM特權的DRM提供者和DRM策略的服務提供者。例如,假定用 戶具有對電影服務(例如NetFlix)的無限預訂,并且,對于給定時間段(例如七月的一個 月),所有服務用戶具有對音樂下載服務的免費一個月試用,從而,通過應用該策略可以確 定,在該月內,用戶具有對音樂下載服務的一個月試用的DRM特權。
以下是啟用DRM策略的聯(lián)盟的若干示例。
示例1 : 如圖9所示,在第一示例中,用戶901認證到第一聯(lián)盟伙伴900,并請求到第二聯(lián) 盟伙伴902的單次登錄,從用戶角度,所述第二聯(lián)盟伙伴902提供內容。由此,第二聯(lián)盟伙 伴902對應于前述的數(shù)字內容提供者。作為聯(lián)盟的結果,假定第一聯(lián)盟伙伴900知道(或 查詢第四聯(lián)盟伙伴906以發(fā)現(xiàn))在第二聯(lián)盟伙伴902處實施的DRM策略910,并且第一聯(lián)盟 伙伴900知道(或查詢第三聯(lián)盟伙伴904以發(fā)現(xiàn))用戶的DRM特權908。接著第一聯(lián)盟伙 伴900參考用戶的DRM特權908構建對第二聯(lián)盟伙伴902的單次登錄消息。如2004年7 月21日提交的美國出版物No. 2006/0021018中所述,這可以被完成的典型方式是,包含用 戶的DRM特權908的斷言的指針被從第一聯(lián)盟伙伴900發(fā)送到第二聯(lián)盟伙伴902 (典型地 通過HTTP302、基于瀏覽器的重定向),并且作為響應,第二聯(lián)盟伙伴902請求對于包含用戶 的DRM特權908的斷言的指針(也被稱為人工信號)的交換。
如果第二聯(lián)盟伙伴902已經知道其必須實施的策略,則其使用已斷言的DRM特權 908來評估該策略(諸如以上圖7C中描述的),由此基于該策略評估允許或不允許訪問。不 過,如果第二聯(lián)盟伙伴902不知道其必須實施的策略(或不具有評估與該策略的一致性的 能力),則第二聯(lián)盟伙伴生成到第四聯(lián)盟伙伴906 (或者當該伙伴也是DRM策略諭示時,到 第三聯(lián)盟伙伴)的"DRM策略評估"請求912。 DRM策略評估請求將DRM特權提供給第四聯(lián) 盟伙伴906,其提供"是"或"否"答復。如果由第四聯(lián)盟伙伴提供的答復為是,則允許訪問; 如果答復為否,則不允許訪問。 存在這樣的可能性,第二聯(lián)盟伙伴902知道其DRM策略,而且還知道第一聯(lián)盟伙伴 沒有提供使得第二聯(lián)盟伙伴902能夠評估策略所需的任意/全部信息。即便第一聯(lián)盟伙伴 去到第三聯(lián)盟伙伴并查詢DRM策略,這也可以是真實存在的,因為第一聯(lián)盟伙伴可能未被 允許檢索或以其它方式獲得所有所需的或相關的DRM特權,從而使得不完整信息被發(fā)送到 第二聯(lián)盟伙伴。在此情形中,第二聯(lián)盟伙伴902可以請求第三聯(lián)盟伙伴904檢索與用戶的 DRM特權有關的附加信息,以便允許策略評估。 作為在之前段落中描述的方案的另一變型,第二聯(lián)盟伙伴902知道其DRM策略,并 且使得用戶的DRM信息(在本地)對其可用;在此場景中,第二聯(lián)盟伙伴自身供應評估DRM 策略所需的缺失DRM特權,以確定是否允許訪問。作為又一變型,假定第二聯(lián)盟伙伴902知 道其DRM策略,并且使得用戶的DRM信息(在本地)對其可用,但是其缺失DRM特權或具有 過期信息(諸如允諾(consent)、更新等);在此場景中,第二聯(lián)盟伙伴在針對DRM策略評估 DRM特權之前,查詢用戶以獲得所需信息。
示例2 : 現(xiàn)在參考圖IO,在此場景中,用戶1001認證到第一聯(lián)盟伙伴IOOO,并請求到第二 聯(lián)盟伙伴1002的單次登錄。作為聯(lián)盟協(xié)定或其它方式的結果,假定第一聯(lián)盟伙伴1000已 經知道在第二聯(lián)盟伙伴1002處實施的DRM策略1010。在此場景中,第一聯(lián)盟伙伴1000知 道(或查詢第三聯(lián)盟伙伴1004以發(fā)現(xiàn))用戶的DRM特權1008。不過,在此示例中,第一聯(lián) 盟伙伴IOOO不知道或未被授權從第四聯(lián)盟伙伴(或者當該伙伴是DRM策略諭示時,從第三 聯(lián)盟伙伴)檢索DRM策略1010 ;由此,第一聯(lián)盟伙伴IOOO通過已知的DRM特權1008構建 必需人工信號/斷言,并且接著借助于前述的DRM策略評估請求將斷言提供給第四聯(lián)盟伙 伴。第四聯(lián)盟伙伴1008提供"是"或"否"答復。如前一樣,如果由第四聯(lián)盟伙伴提供的答
復為是,則由第一聯(lián)盟伙伴允許訪問;如果答復為否,則不允許訪問。
示例3 : 現(xiàn)在參考圖ll,在此場景中,用戶1101認證到第一聯(lián)盟伙伴IIOO,并請求到第二 聯(lián)盟伙伴1102的單次登錄。在此示例中,假定第一聯(lián)盟伙伴1100不知道在第二聯(lián)盟伙伴 1102處實施的任何DRM策略1110有關的任何事。在此情形中,第一聯(lián)盟伙伴1100通過已 知的相關屬性構建人工信號/斷言,所述相關屬性可能包括或可能不包括DRM特權。同時, 第二聯(lián)盟伙伴1102知道請求需要DRM特權,并且知道該特權將不會由第一聯(lián)盟伙伴供應。 接著第二聯(lián)盟伙伴1102必須獲得DRM特權。存在這樣做的若干選項。
第一選項是,出于履行請求的目的,第二聯(lián)盟伙伴1102做出對第三聯(lián)盟伙伴1104 的查詢,以檢索用戶的DRM特權1108。作為第二選項,第二聯(lián)盟伙伴直接從用戶llOl解鎖 用戶的DRM特權;在此,第二聯(lián)盟伙伴調用與用戶的直接交互來獲得DRM特權。取代于調用直接交互,第二聯(lián)盟可以通過檢索允諾以獲得這些特權、檢索到第三聯(lián)盟伙伴的指針、并接 著使得第三聯(lián)盟伙伴觸發(fā)用戶將特權發(fā)送到第二聯(lián)盟伙伴,從而間接獲得它們。在任意情 形中, 一旦交互完成且獲得DRM特權,則第二聯(lián)盟伙伴在本地存儲所收集的DRM特權信息, 或者將其推送到第三聯(lián)盟伙伴。DRM特權信息可以包括用戶對DRM服務的預訂的更新。
示例4 : 啟用DRM策略的聯(lián)盟的一個或多個組件(諸如身份提供者、服務提供者、DRM特權 提供者、或者DRM策略提供者)可以以分布式方式實現(xiàn)?,F(xiàn)在參考圖12,該框圖描述了以下 場景,其中第一數(shù)據處理系統(tǒng)從身份提供者(僅借助于示例)內的第二數(shù)據處理系統(tǒng)檢索 斷言,所述身份提供者使用支持分布式斷言檢索的分布式數(shù)據處理系統(tǒng)實現(xiàn)。此類型的系 統(tǒng)在2008年1月10日公布的美國出版物No. 20090010288中進行了描述。在此示例中,身 份提供者1200是包含數(shù)據處理系統(tǒng)1202以及數(shù)據處理系統(tǒng)1208的分布式數(shù)據處理系統(tǒng), 所述數(shù)據處理系統(tǒng)1202自身包含單次登錄服務(SPS) 1204以及斷言高速緩存1206,所述 數(shù)據處理系統(tǒng)1208自身包含SPS 1210和斷言高速緩存1212。在某個時間點,數(shù)據處理系 統(tǒng)1202例如從以上參考圖8描述的服務提供者接收到斷言檢索請求。數(shù)據處理系統(tǒng)1202 使用人工信號搜索其本地的斷言高速緩存1206,所述人工信號是其之前從已接收的斷言檢 索請求中提取的;人工信號可被用作為搜索鍵或作為搜索鍵的基礎。在此示例中,數(shù)據處理 系統(tǒng)1202沒有在其本地數(shù)據存儲庫或高速緩存中定位到與人工信號相關聯(lián)的斷言。如果 在本地數(shù)據存儲庫中未找到斷言,則取代于返回錯誤,數(shù)據處理系統(tǒng)1202嘗試從包括身份 提供者在內的其它數(shù)據處理系統(tǒng)請求適當?shù)臄嘌浴PS 1204例如通過發(fā)送斷言檢索請求 1214到位于數(shù)據處理系統(tǒng)1208的SPS 1210,向身份提供者內的另一數(shù)據處理系統(tǒng)發(fā)布斷 言檢索請求。假定數(shù)據處理系統(tǒng)1208能夠履行其接收的請求,數(shù)據處理系統(tǒng)1208檢索斷 言,從其本地數(shù)據存儲庫1212移除斷言使得該斷言無法被重新使用,并將斷言返回數(shù)據處 理系統(tǒng)1202。接著身份提供者1200通過發(fā)送斷言檢索響應到服務提供者,履行從服務提供 者接收的初始斷言檢索請求。 身份提供者可以具有可能作為斷言的源的多個數(shù)據中心,并且當?shù)谝粩?shù)據處理系 統(tǒng)在其本地斷言高速緩存中沒有找到所請求的斷言時,從服務提供者接收斷言檢索請求的 第一數(shù)據處理系統(tǒng)發(fā)起對包括身份提供者在內的所有其它數(shù)據處理系統(tǒng)或數(shù)據中心的搜 索。假定執(zhí)行了成功的搜索,第一數(shù)據處理系統(tǒng)能夠從身份提供者內的另一數(shù)據處理系統(tǒng) 檢索所請求的斷言。 第一數(shù)據處理系統(tǒng)可以用多種方式執(zhí)行對所請求的斷言的搜索。例如,可以用鏈 式方式執(zhí)行搜索,其中數(shù)據處理系統(tǒng)當未找到所請求的斷言時轉發(fā)搜索;第一數(shù)據中心將 查詢第二數(shù)據中心,而第二數(shù)據中心將隨即查詢第三數(shù)據中心,直到找到所請求的斷言為 止,在此時,斷言以起泡式或遞歸方式被返回到第一數(shù)據中心。當搜索進行時,每個數(shù)據中 心可以增加或追加標識符,所述標識符指示出哪些數(shù)據中心已經執(zhí)行了搜索??商鎿Q地,以 及如美國出版物No. 20080010288中所述的,可以以連續(xù)方式或軸輻式(hub-and-spoke)執(zhí) 行搜索,其中第一數(shù)據處理系統(tǒng)依次查詢每一個數(shù)據處理系統(tǒng);第一數(shù)據中心作為軸心,并 且獨立地查詢每個數(shù)據中心(輪輻)。 在示例的DRM場景中,假定服務提供者是在線娛樂存儲庫的分布式數(shù)據中心實 現(xiàn),并且進一步地,假定存在實施DRM的實體的單個實例,例如DRM策略諭示。用戶使用web
27瀏覽器以通常方式訪問音樂存儲庫。假定用戶已經訪問存儲庫并購買了多個下載,由于現(xiàn) 有會話簡檔的原因,所述多個下載使用戶有資格接收對在線視頻的免費訪問。在用戶的結 賬頁面,服務提供者包括邀請用戶訪問該視頻的鏈接。用戶單擊該鏈接,并被重定向到在線 視頻店面,連同綁定了人工信號的請求。視頻存儲庫接收所述綁定了人工信號的請求,解除 該請求的綁定,提取人工信號,并且將直接(例如HTTP/SOAP)請求返回到在線音樂存儲庫, 以檢索用戶的當前在線音樂簡檔。視頻存儲庫嘗試基于人工信號檢索斷言,以及當必要時 使用圖12中所示的技術(以及如美國出版物No. 20080010288中所述內容)來這樣做。在 獲得其證實用戶所需的信息后,提供視頻。 現(xiàn)在參考圖13,該框圖描述了示例性的數(shù)字權限管理場景的進一步示例。用戶/ 客戶端1302發(fā)起事務,所述事務將請求1304發(fā)送到企業(yè)"A" 1306,其是數(shù)字內容提供者。 企業(yè)"B"1308是數(shù)字權限管理實體,諸如用于管理與聯(lián)盟1310內的各伙伴之間的版權協(xié)定 有關的預訂費用或其它版權限制的預訂服務。系統(tǒng)管理員可以建立DRM策略1312,以使其 被策略過濾器/引擎1314實施。當聯(lián)盟內的用戶嘗試聯(lián)盟協(xié)議操作/簡檔時,例如請求檢 索由請求1304所表示的受版權保護的內容,策略引擎將被調用,并且策略1312將被發(fā)現(xiàn)在 此時是可被實施的。策略1312可以要求在允許用戶完成與受版權保護的內容有關的檢索 事務之前,用戶具有當前有效的預訂。 盡管企業(yè)1306不管理預訂,但企業(yè)1306可能在之前的事務期間曾獲得與來自企 業(yè)1308的用戶預訂的過期時間或日期有關的信息。在之前的事務期間,企業(yè)1308可以存 儲了過期時間作為用戶屬性。因此,用戶1302的用戶屬性可以被企業(yè)1306用于確定用戶 是否具有在聯(lián)盟內接收受版權保護的內容的有效預訂。如果在之前的事務期間沒有存儲用 戶預訂的到期時間,或者如果出于某種其它原因預訂狀態(tài)需要被驗證,則對請求1304的處 理可以要求對企業(yè)130的單次登錄操作,企業(yè)1308對于用戶預訂的授權機構性狀態(tài)做出響 應,從而允許企業(yè)1306確定是否允許用戶檢索所請求的內容。 取決于用戶預訂的當前狀態(tài),如對通信策略的實施所要求的,在請求1304可以被 完成之前,可能需要與用戶的附加協(xié)議操作和/或通信交互1316。例如,可以要求用戶在通 信之前允諾在企業(yè)1306和企業(yè)1308之間的通信/事務??商鎿Q地,可以要求用戶允諾將 信息從企業(yè)1308發(fā)布到企業(yè)1306,例如,發(fā)布與用戶預訂的狀態(tài)有關的信息。在另一可替 換實施例中,可以要求企業(yè)1306從用戶獲得其它信息,諸如不同于企業(yè)1308的預訂服務的 身份,通過該預訂服務,用戶可以具有有效的預訂帳戶。 這些各種附加的通信需求可以被包含在通信策略1318中,通信策略1318記述了 其中將執(zhí)行這些通信的方式。例如,可以使用直接通信作為聯(lián)盟伙伴(即,獨立于用戶的后 向信道(back-channel)通信)來執(zhí)行企業(yè)1306和企業(yè)1308之間的通信。可替換地,可以 使用間接通信作為聯(lián)盟伙伴(即,經由用戶客戶機的前向信道(front-channel)通信)來 執(zhí)行企業(yè)1306和企業(yè)1308之間的通信。 更一般地,此處所述的主題可以采用完全的硬件實施例、完全軟件實施例、或者包 含硬件和軟件單元兩者的實施例的形式。在優(yōu)選實施例中,本發(fā)明(包括客戶機端的功能、 服務器端的功能、或二者)以軟件實現(xiàn),其包括但不限于固件、常駐軟件、微碼等。此外,如 上所述,本發(fā)明可以采用可從計算機可用或計算機可讀介質訪問的計算機程序產品的形 式,計算機可用或計算機可讀介質提供程序代碼以由計算機或任何指令執(zhí)行系統(tǒng)使用或與它們結合使用。出于此說明的目的,計算機可用或計算機可讀介質可以是能夠包含、存儲、 傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設備使用或相結合使用的程序的任何裝置。所述 介質可以是電、磁、光、電磁、紅外或半導體系統(tǒng)(或裝置或設備)或傳播介質。計算機可讀 介質的示例包括半導體或固態(tài)存儲器、磁帶、可移除計算機盤、隨機存取存儲器(RAM)、只讀 存儲器(R0M)、固定磁盤和光盤。光盤的當前示例包括只讀存儲器致密盤(CD-ROM)、讀/寫 致密盤(CD-R/W)和DVD。 上述功能的一種或多種也可以以被托管的方式實現(xiàn)為服務。 盡管上文描述了由本發(fā)明的某些實施例執(zhí)行的操作的特定順序,但是應該理解,
這種順序是示例性的,因為可替換實施例可以以不同順序執(zhí)行所述操作,組合某些操作,重
疊某些操作等等。在說明書中對給定實施例的引用指示出所述實施例可以包括特定特征、
結構或特性,但是每個實施例可以不一定包括該特定特征、結構或特性。 最后系統(tǒng)的給定組件已經被單獨地描述,但是本領域普通技術人員將認識到,某
些功能可以在給定指令、程序序列、代碼部分等等中被組合或共享。 在已經描述了我們的發(fā)明之后,我們要求保護的內容如下。
權利要求
一種可在服務提供者實體處操作的、用于實施與一部分內容相關聯(lián)的數(shù)字權限管理方案的方法,其中所述服務提供者實體與身份提供者實體一起參與到聯(lián)盟中,所述方法包括接收由所述身份提供者實體生成的消息,所述消息包括與請求訪問所述一部分內容的終端用戶相關聯(lián)的數(shù)字權限管理特權的集合的引用;響應于接收到所述消息,獲得并針對數(shù)字權限管理策略評估與所述終端用戶相關聯(lián)的所述數(shù)字權限管理特權;以及基于所述評估,向所述終端用戶提供響應。
2. 根據權利要求1所述的方法,其中所述消息是在所述終端用戶被所述身份提供者 實體進行認證時,由所述身份提供者實體生成的單次登錄消息。
3. 根據權利要求1所述的方法,其中所述數(shù)字權限管理策略在所述服務提供者實體處 本地可用。
4. 根據權利要求1所述的方法,其中,當所述數(shù)字權限管理策略在所述服務提供者實 體處本地不可用時,所述方法進一步包括以下步驟生成包括所述數(shù)字權限管理特權的數(shù)字權限管理策略評估請求; 將所述數(shù)字權限管理策略評估請求轉發(fā)到所述聯(lián)盟中的實體;以及 接收對所述數(shù)字權限管理策略評估請求的響應。
5. 根據權利要求4所述的方法,其中對所述數(shù)字權限管理策略評估請求的響應指示出 對所述給定一部分內容的訪問被許可。
6. 根據權利要求1所述的方法,其中所述數(shù)字權限管理特權在所述服務提供者實體處 本地可用。
7. 根據權利要求1所述的方法,其中,當所述數(shù)字權限管理特權在所述服務提供者實 體處本地不可用時,所述方法進一步包括從所述聯(lián)盟中的實體獲得所述數(shù)字權限管理特 權。
8. 根據權利要求1所述的方法,其中,當所述數(shù)字權限管理特權在所述服務提供者實 體處本地不可用時,所述方法進一步包括從所述用戶獲得所述數(shù)字權限管理特權。
9. 根據權利要求8所述的方法,其中所述數(shù)字權限管理特權直接從所述用戶獲得。
10. 根據權利要求8所述的方法,其中,通過讓用戶使得第三實體提供所述數(shù)字權限管 理特權,獲得所述數(shù)字權限管理特權。
11. 根據權利要求l所述的方法,進一步包括 從所述聯(lián)盟中的第三實體接收所述數(shù)字權限管理特權; 生成包括所述數(shù)字權限管理特權的數(shù)字權限管理策略評估請求; 將所述數(shù)字權限管理策略評估請求轉發(fā)到所述聯(lián)盟中的第四實體;以及 從所述第四實體接收對所述數(shù)字權限管理策略評估請求的響應。
12. 根據權利要求11所述的方法,其中所述第三實體在所述聯(lián)盟內代表所述用戶提供 管理數(shù)字權限管理特權的服務。
13. 根據權利要求11所述的方法,其中所述第四實體在所述聯(lián)盟內提供管理數(shù)字權限 管理策略的服務。
14. 根據權利要求ll所述的方法,其中所述第三和第四實體是所述聯(lián)盟內的單個實體,其在所述聯(lián)盟內代表用戶管理數(shù)字權限管理特權并且還管理數(shù)字權限管理策略。
15. 根據權利要求1所述的方法,其中所述消息包括對于包含與所述終端用戶相關聯(lián) 的數(shù)字權限管理特權的斷言的指針,并且其中所述服務提供者請求交換所述斷言的指針, 以獲得所述數(shù)字權限管理特權。
16. —種可在服務提供者處操作的、用于實施與一部分內容相關聯(lián)的數(shù)字權限管理方 案的方法,其中所述服務提供者參與到還包括身份提供者、數(shù)字權限管理特權提供者、以及 數(shù)字權限管理策略提供者的聯(lián)盟中,所述方法包括接收由所述身份提供者生成的消息,所述消息包括與請求訪問所述一部分內容的終 端用戶相關聯(lián)的數(shù)字權限管理特權的集合的引用;響應于接收到所述消息,確定所述數(shù)字權限管理特權是否可用于評估;如果所述數(shù)字權限管理特權不可用于評估,則從所述數(shù)字權限管理特權提供者檢索所 述數(shù)字權限管理特權;確定數(shù)字權限管理策略是否將被評估并且是否可用;如果所述數(shù)字權限管理策略將被評估并且不可用,則從所述數(shù)字權限管理策略提供者 檢索所述數(shù)字權限管理策略;以及針對所述數(shù)字權限管理策略評估所述數(shù)字權限管理特權。
17. 根據權利要求16所述的方法,其中所述數(shù)字權限管理特權提供者和所述數(shù)字權限 管理策略提供者是所述聯(lián)盟內的單個服務提供者。
18. 根據權利要求16所述的方法,其中所述身份提供者和所述數(shù)字權限管理特權提供 者是所述聯(lián)盟內的單個服務提供者。
19. 根據權利要求16所述的方法,其中所述服務提供者和所述數(shù)字權限管理特權提供 者是所述聯(lián)盟內的單個服務提供者。
20. 根據權利要求16所述的方法,其中所述身份提供者和所述數(shù)字權限管理策略提供 者是所述聯(lián)盟內的單個服務提供者。
21. 根據權利要求16所述的方法,其中所述服務提供者和所述數(shù)字權限管理策略提供 者是所述聯(lián)盟內的單個服務提供者。
22. —種用于實施與一部分內容相關聯(lián)的數(shù)字權限管理方案的數(shù)據處理系統(tǒng),包括 處理器;可由所述處理器執(zhí)行的代碼,并且所述代碼響應于由身份提供者生成的消息的接收, 其中所述消息包括與請求訪問所述一部分內容的終端用戶相關聯(lián)的數(shù)字權限管理特權的 集合的引用;可由所述處理器執(zhí)行的代碼,并且所述代碼響應于所述消息的接收用于確定所述數(shù)字 權限管理特權是否可用于評估;可由所述處理器執(zhí)行的代碼,用于如果所述數(shù)字權限管理特權不可用于評估,則從數(shù) 字權限管理特權提供者檢索所述數(shù)字權限管理特權;可由所述處理器執(zhí)行的代碼,用于確定數(shù)字權限管理策略是否將被評估并且是否可用;可由所述處理器執(zhí)行的代碼,用于如果所述數(shù)字權限管理策略將被評估并且不可用, 則從數(shù)字權限管理策略提供者檢索所述數(shù)字權限管理策略;以及可由所述處理器執(zhí)行的代碼,用于針對所述數(shù)字權限管理策略評估所述數(shù)字權限管理 特權。
23. —種存儲在計算機可讀介質中、并且在處理器中可執(zhí)行用于實施與一部分內容相 關聯(lián)的數(shù)字權限管理方案的計算機程序產品,包括用于實現(xiàn)權利要求1-21所述的任意方 法的可執(zhí)行代碼。
24. —種用于實施與一部分內容相關聯(lián)的數(shù)字權限管理方案的計算機系統(tǒng),包括用于 實現(xiàn)權利要求1-21所述的任意方法的裝置。
全文摘要
一種可在服務提供者處操作的方法實施與一部分內容相關聯(lián)的數(shù)字權限管理(DRM)方案。服務提供者典型地是內容提供者。服務提供者是參與到“聯(lián)盟”中的實體,所述聯(lián)盟具有一個多個其它實體,例如包括身份提供者、DRM特權提供者、以及DRM策略提供者。在一個實施例中,所述方法開始于在服務提供者處接收由身份提供者實體生成的單次登錄(SSO)消息,所述消息包括與請求訪問所述一部分內容的終端用戶相關聯(lián)的DRM特權的集合的引用。響應于接收到所述消息,所述服務提供者在必要時獲得DRM特權以及至少一個適用的DRM策略。接著其針對DRM策略評估與終端用戶相關聯(lián)的DRM特權,并且向終端用戶提供響應。
文檔編號G06F21/00GK101727553SQ20091017976
公開日2010年6月9日 申請日期2009年10月15日 優(yōu)先權日2008年10月16日
發(fā)明者H·M·欣頓 申請人:國際商業(yè)機器公司