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

用于web服務(wù)的可信第三方認(rèn)證的制作方法

文檔序號(hào):7952183閱讀:314來源:國知局
專利名稱:用于web服務(wù)的可信第三方認(rèn)證的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)化認(rèn)證,尤其涉及用于Web服務(wù)的可信第三方認(rèn)證。
背景技術(shù)
計(jì)算機(jī)系統(tǒng)和相關(guān)技術(shù)影響社會(huì)的許多方面。實(shí)際上,計(jì)算機(jī)系統(tǒng)處理信息的能力已經(jīng)改變了我們生活和工作的方式。例如,計(jì)算機(jī)系統(tǒng)通常包括用于執(zhí)行許多任務(wù)(例如,文字處理、調(diào)度及數(shù)據(jù)庫管理)的軟件應(yīng)用程序,而這些任務(wù)在計(jì)算機(jī)系統(tǒng)出現(xiàn)以前是手動(dòng)執(zhí)行的。計(jì)算機(jī)系統(tǒng)還可包括維護(hù)、診斷和安全應(yīng)用程序(例如,備份應(yīng)用程序、健全檢查程序、防病毒應(yīng)用程序、防火墻等),它們幫助確保計(jì)算機(jī)系統(tǒng)保持,或可被返回到適當(dāng)?shù)牟僮鳡顟B(tài)。例如,防病毒應(yīng)用程序可在計(jì)算機(jī)病毒對計(jì)算機(jī)系統(tǒng)造成任何損害以前檢測并消除計(jì)算機(jī)病毒。
許多計(jì)算機(jī)系統(tǒng)通常還被相互耦合并被耦合到其它電子設(shè)備以構(gòu)成有線和無線計(jì)算機(jī)網(wǎng)絡(luò),以使這些計(jì)算機(jī)及其它電子設(shè)備可通過這些網(wǎng)絡(luò)傳輸電子數(shù)據(jù)。結(jié)果是,許多在一計(jì)算機(jī)系統(tǒng)上被執(zhí)行的任務(wù)(例如,語音通信、存取電子郵件、控制家用電子設(shè)備、Web瀏覽以及打印文檔)都包括若干計(jì)算機(jī)系統(tǒng)和/或其它電子設(shè)備之間經(jīng)由有線和/或無線計(jì)算機(jī)網(wǎng)絡(luò)的電子消息的交換。
網(wǎng)絡(luò)實(shí)際上已經(jīng)豐富到單個(gè)啟用網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)可通過通常稱為“因特網(wǎng)”的網(wǎng)絡(luò)聚合體與遍布全球的數(shù)百萬其它計(jì)算系統(tǒng)中的任意一個(gè)通信的程度。此類計(jì)算系統(tǒng)可包括臺(tái)式、膝上、或平板式個(gè)人計(jì)算機(jī);個(gè)人數(shù)字助理(PDA);電話;或任何其它能夠通過數(shù)字網(wǎng)絡(luò)通信的計(jì)算機(jī)或設(shè)備。
此外,應(yīng)用程序功能可被分散或“分布”在若干不同的聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)上。即,一應(yīng)用程序的第一部分可駐留在第一計(jì)算機(jī)系統(tǒng)處,該應(yīng)用程序的第二部分可駐留在第二計(jì)算機(jī)系統(tǒng)處,等等,它們?nèi)勘贿B接到一公共網(wǎng)絡(luò)。這些類型的應(yīng)用程序通常被稱為“分布式應(yīng)用程序”。分布式應(yīng)用程序在萬維網(wǎng)(“Web”)上特別盛行。
為跨越不同平臺(tái)上的可相互操作性,Web上的分布式應(yīng)用程序常常是根據(jù)一個(gè)或多個(gè)行業(yè)規(guī)范來開發(fā)的。特別地,Web服務(wù)描述基于Web的應(yīng)用程序的標(biāo)準(zhǔn)化方式,該方式使用在因特網(wǎng)上的可擴(kuò)展標(biāo)記語言(“XML”),簡單對象訪問協(xié)議(“SOPA”),Web服務(wù)描述語言(“WSDL”),和通用描述、發(fā)現(xiàn)和集成(“UDDI”)開放式協(xié)議集成。XML被用來標(biāo)記數(shù)據(jù),SOAP被用來傳輸數(shù)據(jù),WSDL被用于描述可用的服務(wù),而UDDI被用于列出哪些服務(wù)可用。
Web服務(wù)常常被公司用作相互通信和與客戶機(jī)通信的手段,Web服務(wù)允許組織在并不熟知彼此IT系統(tǒng)的情況下通信數(shù)據(jù)。Web服務(wù)通過程序接口在網(wǎng)絡(luò)上共享商務(wù)邏輯、數(shù)據(jù)和過程。Web服務(wù)允許來自不同源的應(yīng)用程序相互通信而無需耗費(fèi)時(shí)間的自定義編碼,并且因?yàn)橥ㄐ攀且訶ML進(jìn)行的,所以Web服務(wù)不依賴于任一操作系統(tǒng)或編程語言。
但是,因?yàn)閃eb服務(wù)常常在公共網(wǎng)絡(luò)上相互通信,所以就有與在Web服務(wù)之間傳輸數(shù)據(jù)相關(guān)聯(lián)的安全風(fēng)險(xiǎn)。例如,惡意的用戶可能會(huì)試圖在Web服務(wù)數(shù)據(jù)在網(wǎng)絡(luò)上被傳輸時(shí)截取該數(shù)據(jù),并可能假扮一Web服務(wù)的身份以試圖讓其它Web服務(wù)向該假扮的程序發(fā)送Web服務(wù)數(shù)據(jù)。由此,諸如WS-安全、WS安全對話及WS信任等許多Web服務(wù)規(guī)范提供用于解決其中一些安全問題的構(gòu)件塊,諸如簽署和加密SOAP消息以及請求和接收安全令牌等。
但是,Web服務(wù)規(guī)范不包括Web服務(wù)可依靠其來滿足其所有安全要求的端對端安全協(xié)議。即,沒有任何描述怎樣能夠?qū)⒉煌腤eb服務(wù)規(guī)范合起來使用以實(shí)現(xiàn)普通應(yīng)用程序安全要求的規(guī)定方式。例如,如果有的話也只有很有限的機(jī)制允許一組Web服務(wù)將用戶認(rèn)證責(zé)任托付和委派給為該信任的Web服務(wù)擔(dān)當(dāng)身份提供者的可信第三方。此外,如果有的話也只有很有限的機(jī)制允許可信第三方通過諸如用戶名/口令和X.509證書等普通認(rèn)證機(jī)制認(rèn)證用戶及使用初始的用戶認(rèn)證來引導(dǎo)后續(xù)的與Web服務(wù)的安全會(huì)話。此外,如果有的話也只有很有限的機(jī)制允許Web服務(wù)使用由可信第三方發(fā)放的服務(wù)會(huì)話令牌來構(gòu)造用戶身份上下文以及在無須使用服務(wù)方分布式高速緩存的情況下重新構(gòu)造安全狀態(tài)。
因此,便于實(shí)現(xiàn)Web服務(wù)的可信第三方認(rèn)證的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品將是有益的。

發(fā)明內(nèi)容
現(xiàn)有技術(shù)的前述問題為本發(fā)明的原理所克服,本發(fā)明針對Web服務(wù)的可信第三方認(rèn)證的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。Web服務(wù)組件向認(rèn)證服務(wù)發(fā)送認(rèn)證請求。認(rèn)證服務(wù)接收請求并確認(rèn)認(rèn)證請求中所包含的認(rèn)證數(shù)據(jù)。
認(rèn)證服務(wù)向Web服務(wù)組件發(fā)送認(rèn)證響應(yīng)。認(rèn)證響應(yīng)包括用于保護(hù)Web服務(wù)組件和訪問準(zhǔn)許服務(wù)之間的通信的第一對稱會(huì)話密鑰的兩個(gè)實(shí)例。該會(huì)話密鑰的第一實(shí)例被包括在第一校驗(yàn)令牌中,并被保護(hù)以便遞送到Web服務(wù)客戶機(jī)。該會(huì)話密鑰的第二實(shí)例被包括在令牌準(zhǔn)許令牌中,并被用安全令牌服務(wù)的安全對稱密鑰加密。
Web服務(wù)組件接收認(rèn)證響應(yīng)。Web服務(wù)組件向訪問準(zhǔn)許服務(wù)發(fā)送包括該令牌準(zhǔn)許令牌的請求訪問Web服務(wù)的訪問請求。訪問準(zhǔn)許服務(wù)接收訪問請求,并基于令牌準(zhǔn)許令牌的內(nèi)容向安全令牌服務(wù)證明該Web服務(wù)組件具有經(jīng)認(rèn)證的會(huì)話。
訪問準(zhǔn)許服務(wù)向Web服務(wù)組件發(fā)送訪問準(zhǔn)許響應(yīng)。訪問準(zhǔn)許響應(yīng)包括用于保護(hù)Web服務(wù)組件和Web服務(wù)之間的通信的第二對稱會(huì)話密鑰的兩個(gè)實(shí)例。第二對稱會(huì)話密鑰的第一實(shí)例被用第一對稱會(huì)話密鑰加密,并被包括在第二校驗(yàn)令牌中。第二對稱會(huì)話密鑰的第二實(shí)例被用來自對應(yīng)于該Web服務(wù)的公鑰/私鑰對的公鑰加密,并被包括在服務(wù)令牌中。
Web服務(wù)組件接收訪問準(zhǔn)許響應(yīng)。Web服務(wù)組件向Web服務(wù)發(fā)送包括該Web服務(wù)組件的身份信息以及服務(wù)令牌的安全令牌請求。Web服務(wù)接收安全令牌請求,并使用對應(yīng)的該公鑰/私鑰的私鑰將服務(wù)令牌中所包括的第二對稱會(huì)話密鑰的第二實(shí)例解密。Web服務(wù)基于服務(wù)令牌的內(nèi)容授權(quán)Web服務(wù)組件訪問Web服務(wù)。
Web服務(wù)生成主對稱會(huì)話密鑰,用于保護(hù)Web服務(wù)客戶機(jī)和Web服務(wù)之間的通信。Web服務(wù)使用第二對稱會(huì)話密鑰將主對稱會(huì)話密鑰加密,以生成經(jīng)加密的主對稱會(huì)話密鑰。Web服務(wù)將經(jīng)加密的主對稱會(huì)話密鑰以及安全上下文令牌包括在安全令牌響應(yīng)中。Web服務(wù)將安全令牌響應(yīng)發(fā)送到Web服務(wù)組件,從而可使用從主對稱會(huì)話密鑰派生的派生對稱會(huì)話密鑰來保護(hù)Web服務(wù)組件和Web服務(wù)之間的通信。Web服務(wù)組件接收安全令牌響應(yīng),并使用第二對稱會(huì)話密鑰來將主對稱會(huì)話密鑰解密。
本發(fā)明的這些及其它特征將從以下描述和所附權(quán)利要求書來更加充分地明確,或可通過如下述的本發(fā)明的實(shí)施來學(xué)會(huì)。


為進(jìn)一步明確本發(fā)明以上的及其它的優(yōu)點(diǎn)和特征,將參考附圖中所示的特定實(shí)施例呈現(xiàn)對本發(fā)明更加具體的描述。應(yīng)認(rèn)識(shí)到,這些附圖僅示出本發(fā)明的典型實(shí)施例,因此不應(yīng)被視為限制了本發(fā)明的范圍。以下將通過使用附圖來更加具體和詳細(xì)地描述和解釋本發(fā)明,其中圖1A示出便于實(shí)現(xiàn)Web服務(wù)的可信第三方認(rèn)證的計(jì)算機(jī)體系結(jié)構(gòu)的示例。
圖1B示出圖1A中的示例性計(jì)算機(jī)體系結(jié)構(gòu)的第一部分的替換描述。
圖1C示出圖1A中的示例性計(jì)算機(jī)體系結(jié)構(gòu)的第二部分的替換描述。
圖2示出一種獲得用于訪問Web服務(wù)的服務(wù)令牌的方法的示例性流程圖。
圖3示出一種保護(hù)Web服務(wù)組件和Web服務(wù)之間的通信的方法的示例性流程圖。
圖4示出適用于本發(fā)明原理的操作環(huán)境。
具體實(shí)施例方式
現(xiàn)有技術(shù)的前述問題為本發(fā)明的原理所克服,本發(fā)明針對Web服務(wù)的可信第三方認(rèn)證的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。Web服務(wù)組件向認(rèn)證服務(wù)發(fā)送認(rèn)證請求。認(rèn)證服務(wù)接收請求并確認(rèn)認(rèn)證請求中所包含的認(rèn)證數(shù)據(jù)。
認(rèn)證服務(wù)向Web服務(wù)組件發(fā)送認(rèn)證響應(yīng)。認(rèn)證響應(yīng)包括用于保護(hù)Web服務(wù)組件和訪問準(zhǔn)許服務(wù)之間的通信的第一對稱會(huì)話密鑰的兩個(gè)實(shí)例。該會(huì)話密鑰的第一實(shí)例被包括在第一校驗(yàn)令牌中,并被保護(hù)以便遞送到Web服務(wù)客戶機(jī)。該會(huì)話密鑰的第二實(shí)例被包括在令牌準(zhǔn)許令牌中,并被用安全令牌服務(wù)的安全對稱密鑰加密。
Web服務(wù)組件接收認(rèn)證響應(yīng)。Web服務(wù)組件向訪問準(zhǔn)許服務(wù)發(fā)送包括該令牌準(zhǔn)許令牌的請求訪問Web服務(wù)的訪問請求。訪問準(zhǔn)許服務(wù)接收訪問請求,并基于令牌準(zhǔn)許令牌的內(nèi)容向安全令牌服務(wù)證明該Web服務(wù)組件具有經(jīng)認(rèn)證的會(huì)話。
訪問準(zhǔn)許服務(wù)向Web服務(wù)組件發(fā)送訪問準(zhǔn)許響應(yīng)。訪問準(zhǔn)許響應(yīng)包括用于保護(hù)Web服務(wù)組件和Web服務(wù)之間的通信的第二對稱會(huì)話密鑰的兩個(gè)實(shí)例。第二對稱會(huì)話密鑰的第一實(shí)例被用第一對稱會(huì)話密鑰加密,并被包括在第二校驗(yàn)令牌中。第二對稱會(huì)話密鑰的第二實(shí)例被用來自對應(yīng)于該Web服務(wù)的公鑰/私鑰對的公鑰加密,并被包括在服務(wù)令牌中。
Web服務(wù)組件接收訪問準(zhǔn)許響應(yīng)。Web服務(wù)組件向Web服務(wù)發(fā)送包括該Web服務(wù)組件的身份信息以及服務(wù)令牌的安全令牌請求。Web服務(wù)接收安全令牌請求,并使用對應(yīng)的該公鑰/私鑰的私鑰將服務(wù)令牌中所包括的第二對稱會(huì)話密鑰的第二實(shí)例解密。Web服務(wù)基于服務(wù)令牌的內(nèi)容授權(quán)Web服務(wù)組件訪問Web服務(wù)。
Web服務(wù)生成主對稱會(huì)話密鑰,用于保護(hù)Web服務(wù)客戶機(jī)和Web服務(wù)之間的通信。Web服務(wù)使用第二對稱會(huì)話密鑰將主對稱會(huì)話密鑰加密,以生成經(jīng)加密的主對稱會(huì)話密鑰。Web服務(wù)將經(jīng)加密的主對稱會(huì)話密鑰以及安全上下文令牌包括在安全令牌響應(yīng)中。Web服務(wù)將安全令牌響應(yīng)發(fā)送到Web服務(wù)組件,從而可使用從主對稱會(huì)話密鑰派生的派生對稱會(huì)話密鑰來保護(hù)Web服務(wù)組件和Web服務(wù)之間的通信。Web服務(wù)組件接收安全令牌響應(yīng),并使用第二對稱會(huì)話密鑰來將主對稱會(huì)話密鑰解密。
本發(fā)明范圍之內(nèi)的實(shí)施例包括用于載帶或其上存儲(chǔ)了計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)。此類計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的任何可用介質(zhì)。作為示例,而非限制,此類計(jì)算機(jī)可讀介質(zhì)可包括物理存儲(chǔ)介質(zhì),諸如RAM、ROM、EPROM、CD-ROM或其它光盤存儲(chǔ),磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備,或任何其它可被用來載帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令、計(jì)算機(jī)可讀指令、或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼手段、并可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的介質(zhì)。
在此
具體實(shí)施例方式
及所附權(quán)利要求書中,“網(wǎng)絡(luò)”被定義為在計(jì)算機(jī)系統(tǒng)和/或模塊之間實(shí)現(xiàn)電子數(shù)據(jù)傳送的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)通過網(wǎng)絡(luò)或其它通信連接(無論是有線的、無線的、還是有線或無線的結(jié)合)向計(jì)算機(jī)系統(tǒng)傳輸或提供信息時(shí),該連接被恰當(dāng)?shù)匾暈橛?jì)算機(jī)可讀介質(zhì)。因此,任何此類連接都被恰當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范疇之內(nèi)。計(jì)算機(jī)可執(zhí)行指令包括例如使通用計(jì)算機(jī)系統(tǒng)或?qū)S糜?jì)算機(jī)系統(tǒng)執(zhí)行一個(gè)或一組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制碼、諸如匯編語言等中間格式指令、或甚至是源代碼。
在此
具體實(shí)施例方式
及所附權(quán)利要求書中,“計(jì)算機(jī)系統(tǒng)”被定義為協(xié)同工作以對電子數(shù)據(jù)執(zhí)行操作的一個(gè)或多個(gè)軟件模塊、一個(gè)或多個(gè)硬件模塊、或其組合。例如,計(jì)算機(jī)系統(tǒng)的定義包括個(gè)人計(jì)算機(jī)的硬件組件、以及諸如個(gè)人計(jì)算機(jī)的操作系統(tǒng)等軟件模塊。各模塊的物理布局無關(guān)緊要。計(jì)算機(jī)系統(tǒng)可包括經(jīng)由網(wǎng)絡(luò)耦合的一臺(tái)或多臺(tái)計(jì)算機(jī)。類似地,計(jì)算機(jī)系統(tǒng)可包括單個(gè)物理設(shè)備(諸如移動(dòng)電話或個(gè)人數(shù)字助理“PDA”),其中內(nèi)部模塊(諸如存儲(chǔ)器和處理器)協(xié)同工作以對電子數(shù)據(jù)執(zhí)行操作。
本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到,可用許多類型的計(jì)算機(jī)系統(tǒng)配置在網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)施本發(fā)明,這些配置包括,個(gè)人計(jì)算機(jī)、膝上計(jì)算機(jī)、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、等等。本發(fā)明還可在分布式系統(tǒng)環(huán)境中實(shí)施,其中通過網(wǎng)絡(luò)鏈接(無論是由有線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路、還是有線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)都執(zhí)行任務(wù)。在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠(yuǎn)程記憶存儲(chǔ)設(shè)備中。
圖1A示出便于Web服務(wù)的可信第三方認(rèn)證的計(jì)算機(jī)體系結(jié)構(gòu)100的示例。如計(jì)算機(jī)體系結(jié)構(gòu)100中所示,Web服務(wù)客戶機(jī)101、安全令牌服務(wù)102和Web服務(wù)108被連接到網(wǎng)絡(luò)105。網(wǎng)絡(luò)105可以是局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)或甚至是因特網(wǎng)。連接到網(wǎng)絡(luò)105的計(jì)算機(jī)系統(tǒng)和模塊可從其它連接到網(wǎng)絡(luò)105的計(jì)算機(jī)系統(tǒng)和模塊接收數(shù)據(jù)并向它們發(fā)送數(shù)據(jù)。由此,Web服務(wù)客戶機(jī)101、安全令牌服務(wù)102和Web服務(wù)108、以及其它被連接的計(jì)算機(jī)系統(tǒng)和模塊(未示出)可創(chuàng)建消息相關(guān)的數(shù)據(jù)并通過網(wǎng)絡(luò)105交換消息相關(guān)的數(shù)據(jù)(例如,因特網(wǎng)協(xié)議(“IP”)數(shù)據(jù)報(bào)及使用IP數(shù)據(jù)報(bào)的其它較高層的協(xié)議,諸如傳輸控制協(xié)議(“TCP”)、超文本傳輸協(xié)議(“HTTP”)、簡單郵件傳輸協(xié)議(“SMTP”)等)。例如,Web服務(wù)客戶機(jī)101和Web服務(wù)108可創(chuàng)建SOAP包封并通過網(wǎng)絡(luò)105交換SOAP包封(包括可擴(kuò)展標(biāo)記語言(“XML”)數(shù)據(jù))。
在計(jì)算機(jī)體系結(jié)構(gòu)100內(nèi),應(yīng)當(dāng)理解,包括標(biāo)記部分“Pu”的附圖標(biāo)記被用來指公鑰/私鑰對的公鑰,而包括標(biāo)記部分“Pr”的附圖標(biāo)記被用來指公鑰/私鑰對的私鑰。此外,包括標(biāo)記部分Pu或Pr的編號(hào)相同的附圖標(biāo)記分別是指同一公鑰/私鑰對的公鑰或?qū)?yīng)的私鑰。因此,在計(jì)算機(jī)體系結(jié)構(gòu)100中示出了兩個(gè)不同的公鑰/私鑰對。一個(gè)公鑰/私鑰對被示為公鑰163Pu/私鑰163Pr,而另一個(gè)公鑰/私鑰對被示為公鑰164Pu/私鑰164Pr。公鑰/私鑰對可以是公鑰基礎(chǔ)結(jié)構(gòu)(“PKI”)的一個(gè)部分。
私鑰163Pr可以是對應(yīng)于安全令牌102服務(wù)的私鑰。因此,可給予Web服務(wù)客戶機(jī)101和Web服務(wù)108對對應(yīng)公鑰,即公鑰163Pu的訪問。類似地,私鑰164Pr可以是對應(yīng)于Web服務(wù)108的私鑰。因此,可給予Web服務(wù)客戶機(jī)101和安全令牌服務(wù)102對對應(yīng)公鑰,即公鑰164Pu的訪問。由此,安全令牌服務(wù)102、Web服務(wù)客戶機(jī)101、Web服務(wù)108可使用公鑰/私鑰對公鑰163Pu/私鑰163Pr和公鑰164Pu/私鑰164Pr來正確地簽署數(shù)據(jù)、確認(rèn)簽名、加密數(shù)據(jù)和解密數(shù)據(jù)。
在計(jì)算機(jī)體系結(jié)構(gòu)100內(nèi),應(yīng)當(dāng)理解,包括標(biāo)記部分“Dr”的附圖標(biāo)記被用來指從其它對稱密鑰派生的派生對稱密鑰。例如,簡單地參考圖1B,派生客戶機(jī)STS會(huì)話密鑰114Dr是從客戶機(jī)/STS會(huì)話密鑰114派生而來。由此,安全令牌服務(wù)102、Web服務(wù)客戶機(jī)101、Web服務(wù)108也可使用(可能是派生的)對稱密鑰(例如,會(huì)話密鑰)來簽署數(shù)據(jù)、確認(rèn)簽名、加密數(shù)據(jù)和解密數(shù)據(jù)。對稱密鑰可在計(jì)算機(jī)體系結(jié)構(gòu)100的組件之間被共享,或可對特定組件保持保密。例如,安全令牌服務(wù)102可維護(hù)保密對稱密鑰161。
安全令牌服務(wù)102包括認(rèn)證服務(wù)103和訪問準(zhǔn)許服務(wù)106。認(rèn)證服務(wù)103被配置成接收來自Web服務(wù)組件(例如,Web服務(wù)客戶機(jī)101)的認(rèn)證請求,認(rèn)證這些Web服務(wù)組件,并向請求的Web服務(wù)組件返回認(rèn)證響應(yīng)。認(rèn)證模塊103可參考諸如憑證數(shù)據(jù)庫或證書確認(rèn)數(shù)據(jù)等認(rèn)證數(shù)據(jù)104來認(rèn)證Web服務(wù)組件。訪問準(zhǔn)許服務(wù)106被配置成接收來自Web服務(wù)組件的訪問準(zhǔn)許請求,確定是否要準(zhǔn)許Web服務(wù)訪問,并向請求的Web服務(wù)組件返回訪問準(zhǔn)許響應(yīng)。訪問準(zhǔn)許服務(wù)106可參考諸如Web服務(wù)管理員所定的策略集等策略數(shù)據(jù)107來確定是否要準(zhǔn)許訪問。
Web服務(wù)客戶機(jī)101可以是分布式應(yīng)用程序的客戶機(jī)部分。信任191表示W(wǎng)eb服務(wù)客戶機(jī)101已與安全令牌服務(wù)102建立起信任關(guān)系。即,Web服務(wù)客戶機(jī)101信任安全令牌服務(wù)102。信任191可被預(yù)先建立和/或可從波段外通信產(chǎn)生。例如,信任191可以是對稱密鑰信任或X.509證書信任。
Web服務(wù)108可以是分布式應(yīng)用程序的服務(wù)器部分。在一些實(shí)施例中,Web服務(wù)108是包括諸如實(shí)例108A、108B和108C等多個(gè)Web服務(wù)實(shí)例的Web服務(wù)場。連接到每個(gè)實(shí)例108A、108B和108C的Web服務(wù)客戶機(jī)的狀態(tài)信息可任選地在分布式高速緩存109中維護(hù),以使Web服務(wù)客戶機(jī)可在實(shí)例108A、108B和108C之間更高效地轉(zhuǎn)換。
信任192表示W(wǎng)eb服務(wù)108已與安全令牌服務(wù)102建立起信任關(guān)系。即,Web服務(wù)108信任安全令牌服務(wù)102。信任192可被預(yù)先建立和/或可從波段外通信產(chǎn)生。例如,信任192可以是對稱密鑰信任或X.509證書信任。
圖1B示出來自計(jì)算機(jī)體系結(jié)構(gòu)100的Web服務(wù)客戶機(jī)101和安全令牌服務(wù)102的替換示意。圖1B還示出在Web服務(wù)客戶機(jī)101和安全令牌服務(wù)102之間被交換(例如,經(jīng)由網(wǎng)絡(luò)105)的若干電子消息。如圖所示,圖1B中的一些數(shù)據(jù)元素包括帶括號(hào)描述。例如,簽名119包括帶括號(hào)描述“(保密對稱密鑰161)”。這些帶括號(hào)描述被用來指示使用了什么密鑰來加密被加密的數(shù)據(jù)或簽署被前述的數(shù)據(jù),或是如何保護(hù)數(shù)據(jù)。
因此,回到簽名119,帶括號(hào)描述“(保密對稱密鑰161)”指示保密對稱密鑰161被用來生成簽名119。類似地,現(xiàn)在參考加密的客戶機(jī)-服務(wù)會(huì)話密鑰131B,帶括號(hào)描述“(公鑰164Pu)”指示公鑰164Pu被用來加密客戶機(jī)服務(wù)會(huì)話密鑰131B。現(xiàn)在參考受保護(hù)的客戶機(jī)/STS會(huì)話密鑰114A,帶括號(hào)描述“(安全通道或X.509)”指示受保護(hù)的客戶機(jī)/STS密鑰114是在安全通道上受到保護(hù),或是使用X.509證書中的公鑰來保護(hù)的。
圖2示出一種用于獲得訪問Web服務(wù)的服務(wù)令牌的方法200的示例性流程圖。將參考圖1B中的組件和數(shù)據(jù)來描述方法200。
方法200包括發(fā)送認(rèn)證請求的動(dòng)作(動(dòng)作201)。例如,Web服務(wù)客戶機(jī)101可向認(rèn)證服務(wù)103發(fā)送認(rèn)證請求111。認(rèn)證請求111可包括使用諸如HTTPS等安全通道來保護(hù)的用戶名和口令。或者,認(rèn)證請求111可包括用對應(yīng)于Web服務(wù)客戶機(jī)101的私鑰(未示出)簽署的X.509證書。
方法200包括接收認(rèn)證請求的動(dòng)作(動(dòng)作205)。例如,認(rèn)證服務(wù)103可接收認(rèn)證請求111。方法200包括確認(rèn)認(rèn)證數(shù)據(jù)的動(dòng)作(動(dòng)作206)。例如,認(rèn)證服務(wù)103可將認(rèn)證請求111中所包含的用戶名和口令與認(rèn)證數(shù)據(jù)104(例如,憑證數(shù)據(jù)庫)相比較。或者,認(rèn)證服務(wù)103可參考認(rèn)證數(shù)據(jù)104(例如,PKI)來定位Web服務(wù)客戶機(jī)101的公鑰,并使用該公鑰來確認(rèn)認(rèn)證請求111上的簽名。
方法200包括發(fā)送包括對稱會(huì)話密鑰的認(rèn)證響應(yīng)的動(dòng)作(動(dòng)作207)。例如,安全令牌服務(wù)102可向Web服務(wù)客戶機(jī)101發(fā)送認(rèn)證響應(yīng)112。認(rèn)證響應(yīng)112包括校驗(yàn)令牌113和令牌準(zhǔn)許令牌116。校驗(yàn)令牌113和令牌準(zhǔn)許令牌116都包括客戶機(jī)/STS會(huì)話密鑰114(對稱密鑰)的實(shí)例,它可被用來保護(hù)Web服務(wù)客戶機(jī)101和訪問準(zhǔn)許服務(wù)106之間的通信。校驗(yàn)令牌113包括受保護(hù)的客戶機(jī)/STS會(huì)話密鑰114A,該密鑰在安全通道上被加密,或通過X.509證書中的公鑰加密。
令牌準(zhǔn)許令牌116包括加密的客戶機(jī)/STS會(huì)話密鑰114B,它是使用保密對稱密鑰161加密的。令牌準(zhǔn)許令牌116還包括指示令牌準(zhǔn)許令牌118何時(shí)被發(fā)放的時(shí)間戳118。為防止篡改,令牌準(zhǔn)許令牌116還包括用保密對稱密鑰161生成的簽名119?;蛘?,可使用不同的對稱密鑰來生成簽名119。
認(rèn)證響應(yīng)112包括使用私鑰163Pr(安全令牌服務(wù)102的私鑰)生成的簽名121。簽名121向接收組件指示是安全令牌服務(wù)102創(chuàng)建了認(rèn)證響應(yīng)112。
方法200包括接收包括對稱會(huì)話密鑰的認(rèn)證響應(yīng)的動(dòng)作(動(dòng)作202)。例如,Web服務(wù)客戶機(jī)101可接收認(rèn)證響應(yīng)112。Web服務(wù)101使用公鑰163Pu確認(rèn)簽名121(從而確認(rèn)了認(rèn)證響應(yīng)112)。Web服務(wù)客戶機(jī)101可從校驗(yàn)令牌113提取客戶機(jī)/STS會(huì)話密鑰114A,并維護(hù)客戶機(jī)/STS會(huì)話密鑰114的副本。
Web服務(wù)客戶機(jī)101可派生出其它會(huì)話密鑰,諸如從客戶機(jī)/STS會(huì)話密鑰114派生出客戶機(jī)/STS會(huì)話密鑰114Dr。因此,當(dāng)例如Web服務(wù)客戶機(jī)101要與Web服務(wù)通信時(shí),Web服務(wù)客戶機(jī)101可使用(可能是派生的)會(huì)話密鑰來保護(hù)與訪問準(zhǔn)許服務(wù)106的通信。也可能是安全令牌服務(wù)102從客戶機(jī)/STS會(huì)話密鑰114派生出其它會(huì)話密鑰。
Web服務(wù)客戶機(jī)101和安全令牌服務(wù)102可使用相同的密鑰派生算法,以使Web服務(wù)客戶機(jī)101和安全令牌服務(wù)102處派生的密鑰在派生以后繼續(xù)保持對稱。因此,安全令牌服務(wù)102也可從客戶機(jī)/STS會(huì)話密鑰114派生出派生的客戶機(jī)/STS會(huì)話密鑰114Dr。
方法200包括發(fā)送對Web服務(wù)的訪問的訪問請求的動(dòng)作(動(dòng)作203)。例如,Web服務(wù)客戶機(jī)101可向訪問準(zhǔn)許服務(wù)106發(fā)送訪問準(zhǔn)許請求122。訪問準(zhǔn)許請求122包括令牌準(zhǔn)許令牌116。訪問準(zhǔn)許請求112包括使用派生的客戶機(jī)/STS會(huì)話密鑰114Dr生成的簽名127。簽名122指示訪問準(zhǔn)許請求122被包括在Web服務(wù)客戶機(jī)101和安全令牌服務(wù)102之間的認(rèn)證會(huì)話中。
方法200包括接收訪問Web服務(wù)的訪問請求的動(dòng)作(動(dòng)作208)。例如,訪問準(zhǔn)許服務(wù)106可接收來自Web服務(wù)客戶機(jī)101的訪問準(zhǔn)許請求122。方法200包括驗(yàn)證認(rèn)證會(huì)話的動(dòng)作(動(dòng)作209)。例如,訪問準(zhǔn)許服務(wù)106可驗(yàn)證Web服務(wù)客戶機(jī)101有到安全令牌服務(wù)102的經(jīng)認(rèn)證的會(huì)話。在接收訪問準(zhǔn)許請求122以后,訪問準(zhǔn)許服務(wù)106可使用派生的客戶機(jī)/STS會(huì)話密鑰114Dr來確認(rèn)簽名127(從而確認(rèn)了訪問準(zhǔn)許請求122)。
訪問準(zhǔn)許服務(wù)106隨即可使用保密對稱密鑰161來確認(rèn)簽名119(從而確認(rèn)了令牌準(zhǔn)許令牌116)。訪問準(zhǔn)許服務(wù)106還可使用保密對稱密鑰116來將加密的客戶機(jī)/STS會(huì)話密鑰114B解密以揭示客戶機(jī)/STS會(huì)話密鑰114。基于包含客戶機(jī)/STS會(huì)話密鑰114的實(shí)例的令牌準(zhǔn)許令牌116,訪問準(zhǔn)許服務(wù)確定Web服務(wù)101具有到安全令牌服務(wù)102的經(jīng)認(rèn)證的會(huì)話。
方法200包括發(fā)送訪問響應(yīng)的動(dòng)作(動(dòng)作211)。例如,訪問準(zhǔn)許服務(wù)106可向Web服務(wù)客戶機(jī)101發(fā)送訪問準(zhǔn)許響應(yīng)128。訪問準(zhǔn)許響應(yīng)128包括校驗(yàn)令牌129和服務(wù)令牌132。校驗(yàn)令牌128和服務(wù)令牌132都包括客戶機(jī)-服務(wù)會(huì)話密鑰131(對稱密鑰)的實(shí)例,它可被用來保護(hù)Web服務(wù)客戶機(jī)101和Web服務(wù)108之間的通信。校驗(yàn)令牌129包括加密的客戶機(jī)-服務(wù)會(huì)話密鑰131A,它是使用客戶機(jī)/STS會(huì)話密鑰114(或其派生密鑰)來加密的。因此,Web服務(wù)客戶機(jī)101可將加密的客戶機(jī)-服務(wù)會(huì)話密鑰131A解密(使用客戶機(jī)/STS會(huì)話密鑰114或其派生密鑰)來揭示客戶機(jī)-服務(wù)會(huì)話密鑰131。
服務(wù)令牌132包括加密的客戶機(jī)-服務(wù)會(huì)話密鑰131B,它是使用公鑰164Pu(Web服務(wù)108的公鑰)加密的。為指示服務(wù)令牌132是來自安全令牌服務(wù)102,服務(wù)令牌132包括使用私鑰163Pr(安全令牌服務(wù)102的私鑰)生成的簽名134。因此,Web服務(wù)108可使用公鑰163Pu(安全令牌服務(wù)102的對應(yīng)的公鑰)來驗(yàn)證簽名134以驗(yàn)證服務(wù)令牌132是從安全令牌服務(wù)102發(fā)來的。Web服務(wù)108還可使用私鑰164Pr(Web服務(wù)108的對應(yīng)的私鑰)將加密的客戶機(jī)-服務(wù)會(huì)話密鑰131B解密。
由此,能以安全的方式將客戶機(jī)-服務(wù)會(huì)話密鑰傳送到客戶機(jī)和服務(wù)。
方法200包括接收訪問響應(yīng)的動(dòng)作(動(dòng)作204)。例如,Web服務(wù)客戶機(jī)101可接收訪問準(zhǔn)許響應(yīng)128。從校驗(yàn)令牌129,Web服務(wù)客戶機(jī)可將加密的客戶機(jī)-服務(wù)會(huì)話密鑰131A解密(使用客戶機(jī)/STS會(huì)話密鑰114或其派生密鑰)來揭示客戶機(jī)-服務(wù)會(huì)話密鑰131。Web服務(wù)客戶機(jī)101可存儲(chǔ)客戶機(jī)-服務(wù)會(huì)話密鑰131以便于與Web服務(wù)108的后續(xù)通信。Web服務(wù)客戶機(jī)101還可存儲(chǔ)服務(wù)令牌132用于后續(xù)向Web服務(wù)108傳送。
圖1C示出來自計(jì)算機(jī)體系結(jié)構(gòu)100的Web服務(wù)客戶機(jī)101、安全令牌服務(wù)102和Web服務(wù)108的替換示意。圖1B還示出在Web服務(wù)客戶機(jī)101和Web服務(wù)108之間被交換(例如,經(jīng)由網(wǎng)絡(luò)105)的若干電子消息。圖3示出一種用于保護(hù)Web服務(wù)組件和Web服務(wù)之間的通信的方法300的示例性流程圖。將參考圖1C中的組件和數(shù)據(jù)來描述方法300。
方法300包括發(fā)送安全令牌請求的動(dòng)作(動(dòng)作301)。例如,Web服務(wù)客戶機(jī)101可向Web服務(wù)108的實(shí)例108A發(fā)送安全令牌請求136。安全令牌請求136包括服務(wù)令牌132(從安全令牌服務(wù)102發(fā)放)。安全令牌請求136包括使用客戶機(jī)-服務(wù)會(huì)話密鑰131生成的簽名141。安全令牌請求136還可包括對應(yīng)于Web服務(wù)101的身份信息。
方法300包括接收安全令牌請求的動(dòng)作(動(dòng)作304)。例如,實(shí)例108A可接收來自Web服務(wù)客戶機(jī)101的安全令牌請求136。方法300包括使用私鑰將加密的會(huì)話密鑰解密的動(dòng)作(動(dòng)作305)。例如,實(shí)例108A可使用私鑰164Pr將加密的客戶機(jī)-服務(wù)會(huì)話密鑰131B解密以揭示客戶機(jī)-服務(wù)會(huì)話密鑰131。實(shí)例108A還可使用公鑰163Pu確認(rèn)簽名134以驗(yàn)證服務(wù)令牌132是從安全令牌服務(wù)102發(fā)來的。接著,實(shí)例108A可使用客戶機(jī)-服務(wù)會(huì)話密鑰131(先前所揭示的)確認(rèn)簽名141。
方法300包括授權(quán)Web服務(wù)組件訪問Web服務(wù)的動(dòng)作(動(dòng)作306)。例如,Web服務(wù)108(基于指定的策略)可授權(quán)Web服務(wù)客戶機(jī)101訪問Web服務(wù)108。方法300包括生成主對稱會(huì)話密鑰的動(dòng)作(動(dòng)作307)。例如,Web服務(wù)108可生成用于保護(hù)Web服務(wù)客戶機(jī)101和Web服務(wù)108的實(shí)例之間的通信的主客戶機(jī)-服務(wù)會(huì)話密鑰193。
方法300包括將主對稱會(huì)話密鑰加密的動(dòng)作(動(dòng)作308)。例如,實(shí)例108A可使用客戶機(jī)-服務(wù)會(huì)話密鑰131將主客戶機(jī)-服務(wù)會(huì)話密鑰193加密以生成加密的主客戶機(jī)-服務(wù)會(huì)話密鑰193A。實(shí)例108A可在安全令牌響應(yīng)142中和安全上下文令牌146一起包括加密的主客戶機(jī)-服務(wù)會(huì)話密鑰193A。安全令牌上下文包含用于保護(hù)Web服務(wù)客戶機(jī)101和Web服務(wù)108的實(shí)例之間的通信的安全上下文數(shù)據(jù)。
在一些實(shí)施例中,安全上下文令牌146包括可選的二進(jìn)制擴(kuò)展147。接收二進(jìn)制擴(kuò)展147的Web服務(wù)實(shí)例可使用二進(jìn)制擴(kuò)展147中所包含的數(shù)據(jù)來重新構(gòu)建安全狀態(tài)而無需參考服務(wù)器方的分布式高速緩存。由此,在使用二進(jìn)制擴(kuò)展147的實(shí)施例中,Web服務(wù)就無須維護(hù)服務(wù)器方的分布式高速緩存。此外,以二進(jìn)制格式表示安全上下文信息便于安全上下文令牌處理而無需執(zhí)行可能是資源密集型的XML規(guī)范化。
方法300包括發(fā)送安全令牌響應(yīng)的動(dòng)作(動(dòng)作309)。例如,實(shí)例108A可向Web服務(wù)客戶機(jī)101發(fā)送安全令牌響應(yīng)142。方法300包括接收安全令牌響應(yīng)的動(dòng)作。例如,Web服務(wù)客戶機(jī)101可接收來自實(shí)例108A的安全令牌響應(yīng)142。Web服務(wù)客戶機(jī)101可使用客戶機(jī)-服務(wù)會(huì)話密鑰131將加密的主客戶機(jī)-服務(wù)會(huì)話密鑰193A解密以揭示主客戶機(jī)-服務(wù)會(huì)話密鑰193。由此,可使用主客戶機(jī)-服務(wù)會(huì)話密鑰或其派生密鑰來保護(hù)Web服務(wù)客戶機(jī)101和Web服務(wù)108的實(shí)例之間的后續(xù)通信。
根據(jù)公共密鑰派生算法,Web服務(wù)客戶機(jī)101和Web服務(wù)108都可從主客戶機(jī)-服務(wù)會(huì)話密鑰193派生其它對稱會(huì)話密鑰,諸如主客戶機(jī)-服務(wù)會(huì)話密鑰193Dr1、193Dr2、193Dr3和193Dr4等。Web服務(wù)客戶機(jī)101和Web服務(wù)108隨即可使用這些派生的密鑰來保護(hù)彼此之間的通信。
方法300包括使用派生密鑰交換數(shù)據(jù)的動(dòng)作(動(dòng)作303和動(dòng)作310)。例如,Web服務(wù)客戶機(jī)101可使用派生密鑰193Dr1來生成加密的服務(wù)請求148。加密的服務(wù)請求148包括安全上下文令牌146和請求數(shù)據(jù)194。加密的服務(wù)請求148還包括使用派生密鑰193Dr3生成的簽名152。
實(shí)例108C可接收加密的服務(wù)請求148。實(shí)例108C可使用派生密鑰193Dr1來將加密的服務(wù)請求148解密以揭示安全上下文令牌146和請求數(shù)據(jù)194。實(shí)例108C還可使用派生密鑰193Dr3來確認(rèn)簽名152以驗(yàn)證加密的服務(wù)請求148是Web服務(wù)客戶機(jī)101和Web服務(wù)108之間的安全通信的一部分。實(shí)例108C可處理安全上下文令牌146和請求數(shù)據(jù)104以確定如何響應(yīng)于Web服務(wù)客戶機(jī)101。
實(shí)例108C可使用派生密鑰193Dr2來生成加密的服務(wù)響應(yīng)153。加密的服務(wù)響應(yīng)153包括響應(yīng)于請求數(shù)據(jù)194的請求數(shù)據(jù)196。加密的服務(wù)響應(yīng)153還包括使用派生密鑰193Dr4生成的簽名154。
Web服務(wù)客戶機(jī)101可接收加密的服務(wù)響應(yīng)153。Web服務(wù)客戶機(jī)101可使用派生密鑰193Dr2將加密的服務(wù)響應(yīng)153解密以揭示響應(yīng)數(shù)據(jù)196。Web服務(wù)101還可使用派生密鑰193Dr4來確認(rèn)簽名154以驗(yàn)證加密的服務(wù)響應(yīng)153是Web服務(wù)客戶機(jī)101和Web服務(wù)108之間的安全通信的一部分。
因此,本發(fā)明的實(shí)施例可利用諸如PKI等現(xiàn)有密鑰基礎(chǔ)結(jié)構(gòu),先使用公鑰/私鑰對(例如,公鑰163Pu/私鑰163Pr和公鑰164Pu/私鑰164Pr)來保護(hù)通信。然后可過渡為使用對稱會(huì)話密鑰(例如,主客戶機(jī)-服務(wù)會(huì)話密鑰193及其派生密鑰)來保護(hù)通信。由此,本發(fā)明的實(shí)施例可利用現(xiàn)有公鑰基礎(chǔ)結(jié)構(gòu)的密鑰管理特征,然后后續(xù)過渡到對稱密鑰以提高效率。
令牌準(zhǔn)許令牌(例如,令牌準(zhǔn)許令牌116)和服務(wù)令牌(例如,服務(wù)令牌132)可被表達(dá)為自定義的XML令牌。以下XML指令是根據(jù)本發(fā)明的原理的自定義XML令牌的示例性描述1.<contoso:IdentityTokenEx contoso:TokenId=...contoso:MajorVersion=...contoso:MinorVersion=...contoso:Issuer=...contoso:IssueTime=...contoso:Purpose=...>2.<contoso:Conditions NotBefore=”...”NotOnOrAfter=”...”/>3.<wsp:AppliesTo>4. <wsa:EndpointReference>5. <wsa:Address>...</wsa:Address>6. </wsa:EndpointReference>7.</wsp:AppliesTo>8. <contoso:TokenStatement contoso:AuthenticationMechanism=...
contoso:AuthenticationTime=.../>9.<contoso:SubjectName>...</contoso:SubjectName>10. <ds:KeyInfo>11. <xenc:EncryptedKey Id=...>12. <xenc:EncryptionMethod Algorithm=.../>13. <ds:KeyInfo>14. <wsse:SecurityTokenReference>15. <wsse:KeyIdentifier ValueType=...EncodingType=...>16. ...17. </wsse:KeyIdentifier>18. </wsse:SecurityTokenReference>19.</ds:KeyInfo>20. <xenc:CipherData>21.<xenc:CipherValue>22. ...23. </xenc:CipherValue>24. </xenc:CipherData>25. </xenc:EncryptedKey>26.</ds:KeyInfo>27. </contoso:TokenStatement>28. <ds:Signature>29.<ds:SignedInfo>30.<ds:CanonicalizationMethodAlgorithm=′http:∥www.w3.org/2001/10/xml-exc-c14n#′/>31. <ds:SignatureMethod Algorithm=.../>32. <ds:Reference URI=...>33. <ds:Transforms>34.<ds:TransformAlgorithm=’http:∥www.w3.org/2000/09/xmldsig#enveloped_signature′/>35. <ds:Transform Algorithm=’http:∥www.w3.org/2001/10/xml-exc-c14n#′/>36. </ds:Transforms>37. <ds:DigestMethod Algorithm=.../>38. <ds:DigestValue>...</ds:DigestValue>39. </ds:Reference>40. </ds:SignedInfo>41. <ds:SignatureValue>...</ds:SignatureValue>42. <ds:KeyInfo>43. <wsse:SecurityTokenReference>44. <wsse:KeyIdentifier ValueType=...EncodingType=...>...45. </wsse:KeyIdentifier>46.</wsse:SecurityTokenReference>47. </ds:KeyInfo>48. </ds:Signature>49.</contoso:IdentityTokenEx>
在第1行,IdentityTokenEx\@TokenId屬性標(biāo)識(shí)使用URI的安全令牌。數(shù)據(jù)類型是xsd:ID。每個(gè)安全令牌URI對發(fā)送者和接收者都可是唯一的。URI值在時(shí)間和空間上可以是全局唯一的。同樣在第1行,IdentityTokenEx\@MajorVersion屬性標(biāo)識(shí)此自定義令牌的主版本,而IdentityTokenEx\@MinorVersion屬性標(biāo)識(shí)此自定義令牌的輔版本。同樣在第1行,IdentityTokenEx\@Issuer屬性使用URI標(biāo)識(shí)此令牌的發(fā)放者。同樣在第1行,IdentityTokenEx\@IssueTime屬性表示該令牌被發(fā)放的時(shí)間(例如,UTC格式)。對應(yīng)于此值的XML模式是xsd:dateTime。
同樣在第1行,IdentityTokenEx\@Purpose屬性使用QName標(biāo)識(shí)此自定義令牌的目的。值可包括

在第2行,IdentityTokenEx\contoso:Conditions元素指定此令牌有效的條件。同樣在第2行,IdentityTokenEx\Conditions\@NotBefore屬性指示此令牌變?yōu)橛行У淖钤鐣r(shí)間(例如,UTC格式)。此值的模式是xsd:dateTime。同樣在第2行,IdentityTokenEx\Conditions\@NotOnOrAfter屬性指定此令牌變?yōu)闊o效的最早時(shí)間(例如,UTC格式)。對應(yīng)于此值的模式是xsd:dateTime。
在第3-7行,IdentityTokenEx\wsp:AppliesTo元素指定此令牌對其有效的端點(diǎn)。在第4-6行,IdentityTokenEx\AppliesTo\wsa:EndpointReference元素包含此令牌對其有效的端點(diǎn)的引用。在第5行,IdentityTokenEx\AppliesTo\EndpointReference\wsa:Address元素指定該端點(diǎn)的URI。
在第8-27行,IdentityTokenEx\TokenStatement元素包含相關(guān)于經(jīng)認(rèn)證會(huì)話的認(rèn)證和身份信息。同樣在第8行,IdentityTokenEx\TokenStatement\@AuthenticationMechanism屬性使用QName標(biāo)識(shí)用來認(rèn)證主體的認(rèn)證機(jī)制。值可包括


同樣在第8行,IdentityTokenEx\TokenStatement\@AuthenticationTime元素標(biāo)識(shí)認(rèn)證發(fā)生的時(shí)間(例如,UTC格式)。對應(yīng)于此值的XML模式是xsd:dateTime。
在第9行,IdentityTokenEx\TokenStatement\SubjectName元素標(biāo)識(shí)已被認(rèn)證的一方。在第10-26行,IdentityTokenEx\TokenStatement\ds:KeyInf元素包含通過此令牌交換的會(huì)話密鑰。在第11-25行,IdentityTokenEx\TokenStatement\KeyInfo\xenc:EncryptedKey元素包含加密的會(huì)話密鑰。在第28-48行,IdentityTokenEx\ds:Signature元素包含自定義XML令牌上的包封的簽名。
在一些實(shí)施例中,Web服務(wù)組件和Web服務(wù)可交換擴(kuò)展的安全上下文令牌(例如,安全上下文令牌146)。以下XML指令是根據(jù)本發(fā)明原理的擴(kuò)展的安全上下文令牌的示例性描述。60. <wst:SecurityContextToken wsu:Id=...>61. <wsu:Identifier>...</wsu:Identifier>62. <contoso:SctExtension>63. MIIEZzCCA9CgAwIBAgIQEmtJZc0...64. </contoso:SctExtension>65. </wst:SecurityContextToken>
在第62-64行,SecurityContextToken\contoso:SctExtension元素包含以base64二進(jìn)制格式編碼的SCT自定義擴(kuò)展。
描述令牌準(zhǔn)許令牌、服務(wù)令牌和擴(kuò)展安全上下文令牌的XML指令可被包括在SOAP消息中,諸如在計(jì)算機(jī)體系結(jié)構(gòu)100各組件之間交換的認(rèn)證響應(yīng)112、訪問準(zhǔn)許響應(yīng)128和安全令牌響應(yīng)142等。
圖4示出適用于本發(fā)明原理的操作環(huán)境。圖4和以下討論旨在提供對可在其中實(shí)現(xiàn)本發(fā)明的合適的計(jì)算環(huán)境的簡單、一般的描述。盡管并非必須,但是將在由計(jì)算機(jī)系統(tǒng)執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述本發(fā)明。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。計(jì)算機(jī)可執(zhí)行指令、相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)以及程序模塊表示用于執(zhí)行本文中所揭示的方法的動(dòng)作的程序代碼手段的示例。
參考圖4,一種用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)系統(tǒng)420形式的通用計(jì)算設(shè)備,它包括處理單元421、系統(tǒng)存儲(chǔ)器422、以及將包括系統(tǒng)存儲(chǔ)器422在內(nèi)的各系統(tǒng)組件耦合到處理單元421的系統(tǒng)總線423。處理單元421可執(zhí)行被設(shè)計(jì)成實(shí)現(xiàn)包括本發(fā)明的特征在內(nèi)的計(jì)算機(jī)系統(tǒng)420的特征的計(jì)算機(jī)可執(zhí)行指令。系統(tǒng)總線423可以是數(shù)種類型的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中任何一種的局部總線。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(“ROM”)424和隨機(jī)存取存儲(chǔ)器(“RAM”)425。包含諸如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)系統(tǒng)420內(nèi)部各元件之間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(“BIOS”)426可被存儲(chǔ)在ROM 424中。
計(jì)算機(jī)系統(tǒng)420還可包括用于讀或?qū)懹泊疟P439的硬磁盤驅(qū)動(dòng)器427、用于讀或?qū)懣梢苿?dòng)磁盤429的磁盤驅(qū)動(dòng)器428、以及用于讀或?qū)懼T如CD-ROM或其它光介質(zhì)等可移動(dòng)光盤431的光盤驅(qū)動(dòng)器430。硬磁盤驅(qū)動(dòng)器427、磁盤驅(qū)動(dòng)器428和光盤驅(qū)動(dòng)器430分別由硬磁盤驅(qū)動(dòng)器接口432、磁盤驅(qū)動(dòng)器接口433和光盤驅(qū)動(dòng)器接口434連接到系統(tǒng)總線423。各驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)系統(tǒng)420提供計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的非易失性存儲(chǔ)。盡管本文中所描述的示例性環(huán)境使用硬磁盤439、可移動(dòng)磁盤429和可移動(dòng)光盤431但是也可使用其它類型的用于存儲(chǔ)數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì),包括磁帶盒、閃存卡、數(shù)字多功能盤、貝努利盒式磁帶、RAM、ROM等等。
包括一個(gè)或多個(gè)程序模塊的程序代碼手段可被存儲(chǔ)在硬盤439、磁盤429、光盤431、ROM 424或RAM 425上,這些程序代碼手段包括操作系統(tǒng)435、一個(gè)或多個(gè)應(yīng)用程序436、其它程序模塊437、以及程序數(shù)據(jù)438。用戶可通過鍵盤440、定位設(shè)備442或諸如話筒、操縱桿、游戲墊、掃描儀等其它輸入設(shè)備(未示出)將命令和信息輸入到計(jì)算機(jī)系統(tǒng)420中。這些及其它輸入設(shè)備可通過耦合到系統(tǒng)總線423的輸入/輸出接口446被連接到處理單元421。輸入/輸出接口446邏輯地表示各種不同接口中的任何一種,諸如串行端口接口、PS/2接口、并行端口接口、通用串行總線(“USB”)接口、或電氣電子工程師學(xué)會(huì)(“IEEE”)1394接口(即,火線接口)等,或甚至可邏輯地表示不同接口的組合。
監(jiān)視器447或其它顯示設(shè)備也經(jīng)由視頻接口448被連接到系統(tǒng)總線423。諸如揚(yáng)聲器和打印機(jī)等其它外圍輸出設(shè)備也可被連接到計(jì)算機(jī)系統(tǒng)420。
計(jì)算機(jī)系統(tǒng)420可被連接到諸如辦公室范圍或企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、家庭網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和/或因特網(wǎng)等網(wǎng)絡(luò)。計(jì)算機(jī)系統(tǒng)420可通過這些網(wǎng)絡(luò)與諸如遠(yuǎn)程計(jì)算機(jī)系統(tǒng)、遠(yuǎn)程應(yīng)用程序和/或遠(yuǎn)程數(shù)據(jù)庫等外部源交換數(shù)據(jù)。
計(jì)算機(jī)系統(tǒng)420包括網(wǎng)絡(luò)接口453,計(jì)算機(jī)系統(tǒng)420通過該接口接收來自外部源的數(shù)據(jù)和/或向外部源發(fā)送數(shù)據(jù)。如圖4中所示,網(wǎng)絡(luò)接口453便于經(jīng)由鏈路451與遠(yuǎn)程計(jì)算機(jī)系統(tǒng)483交換數(shù)據(jù)。網(wǎng)絡(luò)接口453可邏輯地表示諸如網(wǎng)絡(luò)接口卡和對應(yīng)的網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范(“NDIS”)棧等一個(gè)或多個(gè)軟件和/或硬件模塊。鏈路451表示網(wǎng)絡(luò)的一個(gè)部分(例如,以太網(wǎng)段),而遠(yuǎn)程計(jì)算機(jī)系統(tǒng)483表示網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)。
類似地,計(jì)算機(jī)系統(tǒng)420包括輸入/輸出接口446,計(jì)算機(jī)系統(tǒng)420通過該接口接收來自外部源的數(shù)據(jù)和/或向外部源發(fā)送數(shù)據(jù)。輸入/輸出接口446經(jīng)由鏈路459被耦合到調(diào)制解調(diào)器454(例如,標(biāo)準(zhǔn)調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器或數(shù)字用戶線(“DSL”)調(diào)制解調(diào)器),計(jì)算機(jī)系統(tǒng)420通過調(diào)制解調(diào)器接收來自外部源的數(shù)據(jù)和/或向外部源發(fā)送數(shù)據(jù)。如圖4中所示,輸入/輸出接口446和調(diào)制解調(diào)器454便于經(jīng)由鏈路452與遠(yuǎn)程計(jì)算機(jī)系統(tǒng)493交換數(shù)據(jù)。鏈路452表示網(wǎng)絡(luò)的一個(gè)部分,而遠(yuǎn)程計(jì)算機(jī)系統(tǒng)493表示網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)。
盡管圖4表示適用于本發(fā)明的操作環(huán)境,但是本發(fā)明的原理可在進(jìn)行了適當(dāng)修改(若必須)后能夠?qū)崿F(xiàn)本發(fā)明的原理的任何系統(tǒng)中使用。圖4中所示的環(huán)境只是示意性的,而絕對不是表示可在其中實(shí)現(xiàn)本發(fā)明的原理的各種環(huán)境中的哪怕一小部分。
根據(jù)本發(fā)明,包括安全令牌服務(wù)、認(rèn)證服務(wù)、訪問準(zhǔn)許服務(wù)、Web服務(wù)客戶機(jī)、Web服務(wù)和Web服務(wù)實(shí)例的模塊,以及包括認(rèn)證數(shù)據(jù)、策略數(shù)據(jù)、校驗(yàn)令牌、令牌準(zhǔn)許令牌、服務(wù)令牌、安全上下文令牌、二進(jìn)制擴(kuò)展、對稱密鑰、公鑰、私鑰和派生密鑰的相關(guān)聯(lián)的數(shù)據(jù)可被存儲(chǔ)并可從與計(jì)算機(jī)系統(tǒng)420相關(guān)聯(lián)的任何計(jì)算機(jī)可讀介質(zhì)訪問。例如,這些模塊的一部分以及相關(guān)聯(lián)的程序數(shù)據(jù)的一部分可被包括在操作系統(tǒng)435、應(yīng)用程序436、程序模塊437和/或程序數(shù)據(jù)438中,以便于存儲(chǔ)在系統(tǒng)存儲(chǔ)器422中。
當(dāng)諸如硬磁盤439等大容量存儲(chǔ)設(shè)備被耦合到計(jì)算機(jī)系統(tǒng)420時(shí),這些模塊和相關(guān)聯(lián)程序數(shù)據(jù)也可被存儲(chǔ)在大容量存儲(chǔ)設(shè)備中。在聯(lián)網(wǎng)環(huán)境中,相對于計(jì)算機(jī)系統(tǒng)420描述的程序模塊或其部分可被存儲(chǔ)在諸如與遠(yuǎn)程計(jì)算機(jī)系統(tǒng)483和/或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)493相關(guān)聯(lián)的系統(tǒng)存儲(chǔ)器和/或大容量存儲(chǔ)設(shè)備等遠(yuǎn)程記憶存儲(chǔ)設(shè)備中??稍谌缜八龅姆植际江h(huán)境中進(jìn)行對這些模塊的執(zhí)行。
本發(fā)明可被具體化為其它特定形式而不會(huì)偏離其精神或本質(zhì)特性。在任何意義上,所描述的實(shí)施例都應(yīng)僅被示為示意性而非限制性的。因此本發(fā)明的范圍由所附權(quán)利要求書而不是以上的具體實(shí)施方式
指示。所有落入所附權(quán)利要求書的等效含義和范圍之內(nèi)的改變將被包括在所附權(quán)利要求書的范圍之內(nèi)。
權(quán)利要求
1.一種在計(jì)算機(jī)系統(tǒng)上的用于認(rèn)證Web服務(wù)組件的方法,所述方法包括向認(rèn)證服務(wù)發(fā)送認(rèn)證請求的動(dòng)作;接收來自所述認(rèn)證服務(wù)的認(rèn)證響應(yīng)的動(dòng)作,所述認(rèn)證響應(yīng)包括用于保護(hù)所述Web服務(wù)組件和訪問準(zhǔn)許服務(wù)之間的通信的第一對稱會(huì)話密鑰的兩個(gè)實(shí)例,所述第一對稱會(huì)話密鑰的第一實(shí)例被保護(hù)以便遞送到所述Web服務(wù)客戶機(jī)并被包括在第一校驗(yàn)令牌中,所述第一對稱會(huì)話密鑰的第二實(shí)例用所述安全令牌服務(wù)的保密對稱密鑰加密并被包括在令牌準(zhǔn)許令牌中;向所述訪問準(zhǔn)許服務(wù)發(fā)送用于訪問Web服務(wù)的訪問請求的動(dòng)作,所述訪問請求包括所述令牌準(zhǔn)許令牌;以及接收來自所述訪問準(zhǔn)許服務(wù)的訪問準(zhǔn)許響應(yīng)的動(dòng)作,所述訪問準(zhǔn)許響應(yīng)包括用于保護(hù)所述Web服務(wù)組件和所述Web服務(wù)之間的通信的第二對稱會(huì)話密鑰的兩個(gè)實(shí)例,所述第二對稱會(huì)話密鑰的第一實(shí)例用所述第一對稱會(huì)話密鑰加密并被包括在第二校驗(yàn)令牌中,所述第二對稱會(huì)話密鑰的第二實(shí)例用來自對應(yīng)于所述Web服務(wù)的公鑰/私鑰對的公鑰加密并被包括在服務(wù)令牌中。
2.如權(quán)利要求1所述的方法,其特征在于,所述向認(rèn)證服務(wù)發(fā)送認(rèn)證請求的動(dòng)作包括向所述認(rèn)證服務(wù)發(fā)送用戶名和口令的動(dòng)作。
3.如權(quán)利要求1所述的方法,其特征在于,所述向認(rèn)證服務(wù)發(fā)送認(rèn)證請求的動(dòng)作包括向所述認(rèn)證服務(wù)發(fā)送被數(shù)字地簽署的X.509證書的動(dòng)作。
4.如權(quán)利要求1所述的方法,其特征在于,所述接收來自認(rèn)證服務(wù)的認(rèn)證響應(yīng)的動(dòng)作包括接收包括自定義XML令牌準(zhǔn)許令牌的SOAP消息的動(dòng)作。
5.如權(quán)利要求1所述的方法,其特征在于,所述接收來自訪問準(zhǔn)許服務(wù)的訪問準(zhǔn)許響應(yīng)的動(dòng)作包括接收包括自定義XML服務(wù)令牌的SOAP消息的動(dòng)作。
6.如權(quán)利要求1所述的方法,其特征在于,還包括向所述Web服務(wù)發(fā)送安全令牌請求的動(dòng)作,所述安全令牌請求包括所述Web服務(wù)組件的身份信息和所述服務(wù)令牌;接收來自所述Web服務(wù)的安全令牌響應(yīng)的動(dòng)作,所述安全令牌響應(yīng)包括安全上下文令牌和用于保護(hù)所述Web服務(wù)組件和所述Web服務(wù)之間的通信的主對稱會(huì)話密鑰。
7.如權(quán)利要求6所述的方法,其特征在于,還包括從所述主對稱會(huì)話密鑰派生一個(gè)或多個(gè)派生對稱會(huì)話密鑰的動(dòng)作;以及向所述Web服務(wù)發(fā)送服務(wù)請求的動(dòng)作,所述服務(wù)請求用來自所述一個(gè)或多個(gè)派生會(huì)話密鑰中的第一派生對稱會(huì)話密鑰加密,并用來自所述一個(gè)或多個(gè)派生會(huì)話密鑰中的第二派生對稱會(huì)話密鑰簽署。
8.如權(quán)利要求7所述的方法,其特征在于,還包括接收來自所述Web服務(wù)的服務(wù)響應(yīng)的動(dòng)作,所述服務(wù)響應(yīng)用來自所述一個(gè)或多個(gè)派生會(huì)話密鑰中的第三派生對稱會(huì)話密鑰加密,并用來自所述一個(gè)或多個(gè)派生會(huì)話密鑰中的第四派生對稱會(huì)話密鑰以數(shù)字簽名簽署;使用所述第三派生對稱會(huì)話密鑰對所述服務(wù)響應(yīng)解密的動(dòng)作;以及使用所述第四派生對稱會(huì)話密鑰確認(rèn)所述數(shù)字簽名的動(dòng)作。
9.一種在包括安全令牌服務(wù)的計(jì)算機(jī)系統(tǒng)上的用于認(rèn)證Web服務(wù)組件的方法,所述方法包括接收來自Web服務(wù)組件的認(rèn)證請求的動(dòng)作;確認(rèn)包含在所述認(rèn)證請求中的認(rèn)證數(shù)據(jù)的動(dòng)作;向所述Web服務(wù)客戶機(jī)發(fā)送認(rèn)證響應(yīng)的動(dòng)作,所述認(rèn)證響應(yīng)包括用于保護(hù)所述Web服務(wù)組件和訪問準(zhǔn)許服務(wù)之間的通信的對稱會(huì)話密鑰的兩個(gè)實(shí)例,所述對稱會(huì)話密鑰的第一實(shí)例被保護(hù)以便遞送到所述Web服務(wù)組件并被包括在第一校驗(yàn)令牌中,所述對稱會(huì)話密鑰的第二實(shí)例用所述安全令牌服務(wù)的保密對稱密鑰加密并被包括在令牌準(zhǔn)許令牌中;以及接收來自所述Web服務(wù)組件的訪問Web服務(wù)的訪問請求的動(dòng)作,所述訪問請求包括所述令牌準(zhǔn)許令牌;基于所述令牌準(zhǔn)許令牌的內(nèi)容,驗(yàn)證所述Web服務(wù)組件具有到所述安全令牌服務(wù)的經(jīng)認(rèn)證的會(huì)話的動(dòng)作;以及向所述Web服務(wù)組件發(fā)送訪問準(zhǔn)許響應(yīng)的動(dòng)作,所述訪問準(zhǔn)許響應(yīng)包括用于保護(hù)所述Web服務(wù)組件和所述Web服務(wù)之間的通信的第二對稱會(huì)話密鑰的兩個(gè)實(shí)例,所述第二對稱會(huì)話密鑰的第一實(shí)例用所述第一對稱會(huì)話密鑰加密并被包括在第二校驗(yàn)令牌中,所述第二對稱會(huì)話密鑰的第二實(shí)例用來自對應(yīng)于所述Web服務(wù)的公鑰/私鑰對的公鑰加密并被包括在服務(wù)令牌中。
10.如權(quán)利要求9所述的方法,其特征在于,所述接收來自Web服務(wù)組件的認(rèn)證請求的動(dòng)作包括接收來自所述Web服務(wù)組件的用戶名和口令的動(dòng)作。
11.如權(quán)利要求9所述的方法,其特征在于,所述接收來自Web服務(wù)組件的認(rèn)證請求的動(dòng)作包括接收來自所述Web服務(wù)組件的經(jīng)簽署的X.509證書的動(dòng)作。
12.如權(quán)利要求9所述的方法,其特征在于,所述向Web服務(wù)客戶機(jī)發(fā)送認(rèn)證響應(yīng)的動(dòng)作包括發(fā)送包括自定義XML令牌準(zhǔn)許令牌的SOAP消息的動(dòng)作。
13.如權(quán)利要求9所述的方法,其特征在于,所述向Web服務(wù)組件發(fā)送訪問準(zhǔn)許響應(yīng)的動(dòng)作包括發(fā)送包括自定義XML服務(wù)令牌的SOAP消息的動(dòng)作。
14.一種在包括Web服務(wù)的計(jì)算機(jī)系統(tǒng)上的用于準(zhǔn)許訪問所述Web服務(wù)的方法,所述方法包括接收來自Web服務(wù)組件的安全令牌請求的動(dòng)作,所述請求包括從安全令牌服務(wù)發(fā)放的服務(wù)令牌,所述服務(wù)令牌包括所述Web服務(wù)組件的身份信息以及用于保護(hù)所述Web服務(wù)客戶機(jī)和所述Web服務(wù)之間的通信的加密的對稱會(huì)話密鑰,所述加密的對稱會(huì)話密鑰是用來自對應(yīng)于所述Web服務(wù)的公鑰/私鑰對的公鑰加密的;用來自所述公鑰/私鑰對的私鑰對所述加密的對稱會(huì)話密鑰解密的動(dòng)作;基于所述服務(wù)令牌的內(nèi)容授權(quán)所述Web服務(wù)組件訪問所述Web服務(wù)的動(dòng)作;生成用于保護(hù)所述Web服務(wù)客戶機(jī)和所述Web服務(wù)之間的通信的主對稱會(huì)話密鑰的動(dòng)作;使用所述對稱會(huì)話密鑰對所述主對稱會(huì)話密鑰加密以生成加密的主對稱會(huì)話密鑰的動(dòng)作;將所述加密的主對稱會(huì)話密鑰隨安全上下文令牌包括在安全令牌響應(yīng)中的動(dòng)作;以及向所述Web服務(wù)組件發(fā)送所述安全令牌響應(yīng)以便可使用從所述主對稱會(huì)話密鑰派生的派生對稱會(huì)話密鑰保護(hù)所述Web服務(wù)組件和所述Web服務(wù)之間的通信的動(dòng)作。
15.如權(quán)利要求14所述的方法,其特征在于,所述接收安全令牌請求的動(dòng)作包括接收包括從可信的第三方發(fā)放的自定義XML服務(wù)令牌的SOAP消息的動(dòng)作。
16.如權(quán)利要求14所述的方法,其特征在于,所述將加密的主對稱會(huì)話密鑰隨安全上下文令牌包括在安全令牌響應(yīng)中的動(dòng)作包括將擴(kuò)展的安全上下文令牌包括在SOAP消息中的動(dòng)作,所述擴(kuò)展的安全上下文令牌包含二進(jìn)制擴(kuò)展,以使所述Web服務(wù)能從所述二進(jìn)制擴(kuò)展中重新創(chuàng)建所述Web服務(wù)的安全會(huì)話狀態(tài)而無須參考分布式的服務(wù)方的高速緩存。
17.如權(quán)利要求16所述的方法,其特征在于,還包括所述Web服務(wù)的實(shí)例接收來自所述Web服務(wù)客戶機(jī)的Web服務(wù)請求的動(dòng)作,所述Web服務(wù)請求包括所述擴(kuò)展的安全上下文令牌;以及所述實(shí)例使用所述擴(kuò)展的安全上下文令牌,在無須參考分布式的服務(wù)方的高速緩存的情況下重新創(chuàng)建所述Web服務(wù)客戶機(jī)的安全會(huì)話狀態(tài)的動(dòng)作。
18.如權(quán)利要求14所述的方法,其特征在于,向Web服務(wù)組件發(fā)送安全令牌響應(yīng)的動(dòng)作包括發(fā)送包括擴(kuò)展的安全上下文令牌的SOAP消息的動(dòng)作。
19.如權(quán)利要求14所述的方法,其特征在于,還包括接收來自所述Web服務(wù)組件的服務(wù)請求的動(dòng)作,所述服務(wù)請求用從所述主對稱會(huì)話密鑰派生的第一派生對稱會(huì)話密鑰加密,并用從所述主對稱會(huì)話密鑰派生的第二派生對稱會(huì)話密鑰以數(shù)字簽名來簽署。
20.如權(quán)利要求19所述的方法,其特征在于,還包括使用所述第一派生對稱會(huì)話密鑰對所述服務(wù)請求解密的動(dòng)作;使用所述第二派生對稱會(huì)話密鑰確認(rèn)所述數(shù)字簽名的動(dòng)作;將要返回給所述Web服務(wù)組件的響應(yīng)數(shù)據(jù)包括在服務(wù)響應(yīng)中的動(dòng)作;以及向所述Web服務(wù)組件發(fā)送服務(wù)響應(yīng)的動(dòng)作,所述服務(wù)響應(yīng)使用從所述主對稱會(huì)話密鑰派生的第三派生對稱會(huì)話密鑰加密,并用從所述主對稱會(huì)話密鑰派生的第四派生對稱會(huì)話密鑰以數(shù)字簽名來簽署。
全文摘要
本發(fā)明涉及Web服務(wù)的可信第三方認(rèn)證。Web服務(wù)信任并將用戶認(rèn)證責(zé)任委托給為信任的Web服務(wù)擔(dān)任身份提供者的可信第三方??尚诺谌酵ㄟ^諸如用戶名/密碼和X.509證書等公共認(rèn)證機(jī)制認(rèn)證用戶,并使用初始的用戶認(rèn)證來引導(dǎo)與Web服務(wù)的后續(xù)安全會(huì)話。Web服務(wù)使用由可信第三方發(fā)放的服務(wù)會(huì)話令牌來構(gòu)造用戶身份上下文,并在無須使用服務(wù)器方分布式高速緩存的情況下重新構(gòu)造安全狀態(tài)。
文檔編號(hào)H04L9/08GK1835437SQ20061000449
公開日2006年9月20日 申請日期2006年2月14日 優(yōu)先權(quán)日2005年3月14日
發(fā)明者F·C·崇 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
大新县| 土默特右旗| 湖北省| 浑源县| 礼泉县| 句容市| 崇左市| 永兴县| 珠海市| 仙居县| 郁南县| 西城区| 会昌县| 呈贡县| 理塘县| 鲁甸县| 宣恩县| 花莲市| 唐山市| 泽普县| 兴化市| 阳新县| 惠水县| 龙井市| 沛县| 威海市| 桐梓县| 克东县| 惠来县| 社会| 石林| 榕江县| 砀山县| 兴隆县| 德江县| 富裕县| 维西| 赤峰市| 启东市| 鸡泽县| 安新县|