国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
SAML簡介:安全地共享數(shù)字身份信息_SAML簡介:安全地共享數(shù)字身份信息_Web服務(wù)技巧...
簡介

  安全是所有Web項目在設(shè)計時都要考慮的一個重要因素。無論是選擇最短口令,決定何時使用SSL加密HTTP會話,還是通過自動登錄cookie來識別用戶,都經(jīng)常要付出重大的設(shè)計努力,以保護(hù)用戶的身份信息和他們可能存放于Web站點(diǎn)的其他資料。糟糕的安全性可能帶來公關(guān)災(zāi)難。當(dāng)最終用戶努力保持對其個人信息的控制時,他們要面臨令人迷惑的隱私政策,需要牢記眾多站點(diǎn)的不同口令,以及遭遇“釣魚式攻擊”事件。

  在宏觀層次上,數(shù)字身份引起了許多復(fù)雜的技術(shù)和社會問題,業(yè)界一些團(tuán)體如Liberty Alliance和IdentityGang都正試圖通過開發(fā)新的技術(shù)標(biāo)準(zhǔn)來解決它們。 在較小的規(guī)模上,可以使用一些工具來為用戶提供更好的安全性。請考慮口令管理問題。用戶訪問他們保存?zhèn)€人資料的Web站點(diǎn),在可以存取他們的資料之前必須經(jīng)過驗(yàn)證。通過驗(yàn)證來鑒別用戶,確保他們是所聲稱的用戶。進(jìn)行驗(yàn)證最簡單方式是使用口令。然而,若每個站點(diǎn)都需要各自的一套口令,用戶將有難以控制的大量口令。1998年微軟首先嘗試通過其Passport network提供該問題的全球解決方案。Passport使得任意Web站點(diǎn)使用用戶提交給Passport的個人資料(如用戶名、地址、信用卡號)成為可能。Passport是單點(diǎn)登錄(single sign-on,SSO)的第一次電子商務(wù)嘗試。它沒有流行起來,部分原因是由于人們對系統(tǒng)封閉性的擔(dān)心。然而,SSO的理念非常引人注目,許多開放標(biāo)準(zhǔn)和商業(yè)計劃都追隨Passport其后。通過SSO,某個Web站點(diǎn)可以與其他站點(diǎn)共享用戶身份信息。

  SSO對于使用應(yīng)用服務(wù)提供商(Application Service Provider,ASP)軟件服務(wù)的企業(yè)特別有用。ASP在自己的服務(wù)器上宿主應(yīng)用程序,出售其訪問權(quán)作為服務(wù)。公司可以在它的標(biāo)準(zhǔn)目錄服務(wù)器里管理自己的用戶和口令,然后通過SSO授予用戶訪問ASP應(yīng)用程序的權(quán)限。SSO允許公司管理自己用戶的信息,不必為每一員工維護(hù)多個用戶賬號。對用戶來說,SSO的好處在于他們可以在多個應(yīng)用程序中使用一個用戶名和口令,并且在應(yīng)用程序之間切換時無需重新驗(yàn)證。SSO不僅僅用于Web應(yīng)用程序,它可用于任何類型的應(yīng)用程序,只要有安全地傳送身份信息的協(xié)議。這種通信方式的開放標(biāo)準(zhǔn)就是安全性斷言標(biāo)記語言(SAML)。

  關(guān)于SAML

  SAML為SSO提供了一個安全的協(xié)議。SAML(讀作“sam-ell”)是允許Web站點(diǎn)安全地共享身份信息的一個規(guī)范,它來自ebXML和其他XML標(biāo)準(zhǔn)背后的國際性聯(lián)盟OASIS。站點(diǎn)使用SAML的XML詞匯表和請求/應(yīng)答模式,通過HTTP交換身份信息。這種信息共享標(biāo)準(zhǔn)化能幫助Web站點(diǎn)與多個合作伙伴集成,避免由于為不同合作伙伴設(shè)計和維護(hù)各自私有的集成通道而引起的爭論。SAML1.0于2002年11月亮相。本文介紹最終于2003年完成的SAML1.1。雖然于2005年完成的SAML 2.0引入了支持身份聯(lián)邦的一些重要新功能,但BEA WebLogic Server 9.x支持的是SAML1.1,因此本文將重點(diǎn)介紹SAML1.1。

  一個基本的SAML示例

  我們來看一個非?;镜腟AML示例。顧名思義,SAML的核心元素是安全性斷言。斷言即無需證明的語句。安全性斷言是關(guān)于用戶身份的語句,只能通過接收斷言發(fā)布者的站點(diǎn)信任獲得支持。在SAML中,發(fā)布斷言的站點(diǎn)叫“發(fā)布者”、“斷言方”、或“源站點(diǎn)”。接收斷言并信任它們的站點(diǎn)叫“信任方”或“目標(biāo)站點(diǎn)”。

  在本示例場景中,用戶使用用戶名和口令登錄源站點(diǎn)。然后,用戶希望無需再次驗(yàn)證即可訪問目標(biāo)站點(diǎn)。圖1顯示了源站點(diǎn)和目標(biāo)站點(diǎn)之間能使用戶通過單點(diǎn)登錄訪問雙方站點(diǎn)的交互。

  圖1:一個SAML示例場景
 
上面第4步中的SAML請求將通過HTTP作為從目標(biāo)站點(diǎn)到源站點(diǎn)的SOAP消息發(fā)送。消息體將類似于:

<!-- This request would be wrapped in a SOAP envelope -->
<samlp:Request xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"
MajorVersion="1"
MinorVersion="1"
RequestID="_216.27.61.137.103896224111"
IssueInstant="2005-03-19T17:04:21.022Z">
<samlp:AssertionArtifact>
AAGZE1RNQJEFzYNCGAGPjWvtDIRSZ4
</samlp:AssertionArtifact>
</samlp:Request>

  該請求把自己標(biāo)識為來自SAML請求-應(yīng)答協(xié)議名稱空間的SAML 1.1請求(MajorVersion和MinorVersion)。SAML為請求-應(yīng)答協(xié)議元素定義了一個名稱空間,為斷言定義了另一個單獨(dú)的名稱空間。Request擁有基于請求者IP地址的惟一ID。請求的準(zhǔn)確時間也包括在內(nèi)。

  該請求中最有趣的部分是標(biāo)記中令人費(fèi)解的字符串。目標(biāo)站點(diǎn)從用戶HTTP請求的查詢字符串中得到該值。由于它用于標(biāo)識瀏覽器,所以也叫“瀏覽器憑證”。注意,該請求沒有要求提交特定用戶的驗(yàn)證。該請求創(chuàng)建時,目標(biāo)方并沒有用于提交請求的用戶名。該信息將在應(yīng)答中得到。瀏覽器憑證告訴可能正在同時向目標(biāo)站點(diǎn)發(fā)送很多用戶的源站點(diǎn),應(yīng)該在此應(yīng)答中發(fā)送哪個用戶的斷言。下面是一個應(yīng)答示例:

<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:1.0protocol"
ResponseID="huGxcDQc4cNdDyocphmi6CxEMngaÓ
InResponseTo="_216.27.61.137.103896224111"?
MajorVersion="1"
MinorVersion="1"
IssueInstant="2004-06-19T17:05:37.795Z">
<samlp:Status>
<samlp:StatusCode Value="samlp:Success" />
</samlp:Status>
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
MajorVersion="1"
MinorVersion="1"
AssertionID="buGxcG4gILg5NlocyLccDz6iXrUa"
Issuer="www.example.com"
IssueInstant="2004-06-19T17:05:37.795Z">
<saml:Conditions NotBefore="2004-06-19T17:00:37.795Z"
NotOnOrAfter="2004-06-19T17:10:37.795Z"/>
<saml:AuthenticationStatement
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password"
AuthenticationInstant="2004-06-19T17:05:17.706Z">
<saml:Subject>
<saml:NameIdentifier>JSmith</saml:NameIdentifier>
<saml:SubjectConfirmation>
<saml:ConfirmationMethod>
urn:oasis:names:tc:SAML:1.0:cm:artifact-01
</saml:ConfirmationMethod>
</saml:SubjectConfirmation>
</saml:Subject>
</saml:AuthenticationStatement>
</saml:Assertion>
</samlp:Response>

  應(yīng)答的關(guān)鍵部分是Assertion元素。斷言使用了SAML Assertion名稱空間定義的一個詞匯表。它由一個驗(yàn)證語句組成,該語句告訴我們用戶JSmith已通過口令驗(yàn)證。它還包含了支配目標(biāo)站點(diǎn)斷言使用的一系列條件。在本例中,這些條件指定一個10分鐘的時間窗(time window),在時間窗之內(nèi)斷言有效。時間窗用來防止重放攻擊。沒有它,中途截取斷言的惡意用戶可以明天再次發(fā)送斷言來冒充JSmith,并獲得訪問目標(biāo)站點(diǎn)的權(quán)限。確認(rèn)方法元素是指上面描述的瀏覽器憑證。
接受斷言后,目標(biāo)站點(diǎn)視為JSmith已直接通過其用戶名和口令登錄。注意,驗(yàn)證(鑒別用戶身份)和授權(quán)(授予用戶訪問資源的權(quán)限)之間的分離在此是非常重要的。源站點(diǎn)負(fù)責(zé)驗(yàn)證JSmith,但不提供關(guān)于JSmith在目標(biāo)站點(diǎn)特權(quán)的任何信息。這種安排對雙方站點(diǎn)都有益處:源站點(diǎn)無需了解目標(biāo)站點(diǎn)的資源或特權(quán),目標(biāo)站點(diǎn)也可忽略源站點(diǎn)管理用戶和驗(yàn)證的細(xì)節(jié)。這種分離提供了非常重要的靈活性。

  假設(shè)源站點(diǎn)是JSmith的老板MegaBank。JSmith使用他在MegaBank的賬號訪問他工作必需的三個不同外部宿主的應(yīng)用程序。一天,MegaBank雇傭的安全顧問建議在JSmith所在部門啟用指紋驗(yàn)證。如果沒有SSO和SAML,MegaBank就必須到三個應(yīng)用程序提供商那里請求他們支持指紋驗(yàn)證。應(yīng)用程序提供商不得不權(quán)衡提供該支持的成本和不提供該支持可能丟失客戶的風(fēng)險。MegaBank可能必須等待提供商發(fā)布他們軟件的新版本,所有的改動或許將昂貴又費(fèi)時。通過SAML,MegaBank只需改變自己的驗(yàn)證過程,在JSmith和其同事登錄時檢查指紋即可。作為SAML目標(biāo)站點(diǎn)的宿主應(yīng)用程序無需清楚在MegaBank所做的更改,因?yàn)榈讓拥腟AML斷言是保持不變的。

  使用SAML對用戶Web站點(diǎn)或Web服務(wù)的設(shè)計與實(shí)現(xiàn)有一些影響,但僅限于在處理Web窗口中的用戶名和口令時,或在處理方法簽名時。例如,下面的Web services API方法不能與SAML很好地協(xié)同工作:

public void makeSomeSystemChange(String username,
String password,
String[] params);

  該方法假設(shè)用戶能夠提供用戶名和口令。如果Web服務(wù)的宿主是SAML目標(biāo)站點(diǎn),就沒有Web服務(wù)實(shí)現(xiàn)可以驗(yàn)證的口令。有少數(shù)方式可以改進(jìn)或擴(kuò)展這些接口,使其與SAML協(xié)同工作,這取決于所需的向后兼容性的水平。同樣,如果在Web頁包含了具有用戶名和口令字段的表單,那么為經(jīng)過SAML驗(yàn)證的用戶禁用口令字段是非常重要的。

  安全的SAML

  由于SAML在兩個擁有共享用戶的站點(diǎn)間建立了信任關(guān)系,所以安全性是需考慮的一個非常重要的因素。SAML中的安全弱點(diǎn)可能危及用戶在目標(biāo)站點(diǎn)的個人信息。SAML依靠一批制定完善的安全標(biāo)準(zhǔn),包括SSL和X.509,來保護(hù)SAML源站點(diǎn)和目標(biāo)站點(diǎn)之間通信的安全。源站點(diǎn)和目標(biāo)站點(diǎn)之間的所有通信都經(jīng)過了加密。為確保參與SAML交互的雙方站點(diǎn)都能驗(yàn)證對方的身份,還使用了證書。

  BEA WebLogic Server中的SAML

  BEA WebLogic Server 9.0是第一個包含了對SAML支持的WebLogic Server版本。WebLogic Server 9.1中進(jìn)一步加強(qiáng)了對SAML的支持。WebLogic Server把SAML作為WebLogic Security Service的一部分使用。SAML用來為WebLogic Web services和跨WebLogic域共享驗(yàn)證信息提供SSO支持。除SAML外,WebLogic Server也為Windows桌面SSO支持Simple and Protected Negotiate (SPNEGO)協(xié)議。SAML可用來提供訪問Web應(yīng)用程序和Web service的權(quán)限。

  對于一些應(yīng)用程序,您僅需付出很少甚至無需付出額外的程序設(shè)計努力,就能使用WebLogic Server中的SAML支持。如果用戶應(yīng)用程序使用配置為WebLogic 安全域一部分的安全設(shè)置,那么集成SAML是一個首要的系統(tǒng)管理任務(wù)。WebLogic server可配置作為SAML源站點(diǎn)或SAML目標(biāo)站點(diǎn)。要使服務(wù)器成為SAML源站點(diǎn),需配置一個SAML Credential Mapper。要使服務(wù)器成為SAML目標(biāo)站點(diǎn),需配置一個SAML Identity Asserter.

  如果用戶應(yīng)用程序安全模式為與WebLogic Security Service進(jìn)行交互,包含了自己的特定于WebLogic的代碼,可以使用WebLogic的SAML API把該定制擴(kuò)展到SAML。該API提供對WebLogic SAML服務(wù)主要組件的編程式訪問。用戶可以使用應(yīng)用程序自身的業(yè)務(wù)邏輯來擴(kuò)展諸如SAMLCredentialNameMapper和SAMLIdentityAssertionNameMapper這樣的類。一旦用戶有了自己的定制類,WebLogic管理控制臺就允許用戶配置其SAML Credential Mapper(源站點(diǎn))或SAML Identity Asserter(目標(biāo)站點(diǎn)),以便使用那些類。惟一的要求是用戶的定制類需要在系統(tǒng)類路徑中,非常類似于WebLogic啟動類,這可能對用戶部署策略產(chǎn)生影響。

  最后,如果應(yīng)用程序安全模式完全獨(dú)立于WebLogic Security Service,用戶將不能從WebLogic的SAML工具中獲益。用戶要使其應(yīng)用程序支持SAML就需要做更多工作,要么實(shí)現(xiàn)WebLogic所提供的某些服務(wù)的簡化版本,要么集成那些服務(wù)的第三方版本。但是,用戶仍將受益于可在任何J2EE應(yīng)用服務(wù)器或在如Tomcat這樣的Java Web服務(wù)器應(yīng)用程序上使用SAML。有商業(yè)和開源的SAML支持可供選擇。開源的選擇中有OpenSAML和相關(guān)的Shibboleth項目。OpenSAML是一個SAML工具包,可用來建立用戶自己的SAML源站點(diǎn)和目標(biāo)站點(diǎn)。Shibboleth更進(jìn)一步,它提供了一個構(gòu)建在OpenSAML之上的“基于SAML 1.1的跨域Web單點(diǎn)登錄平臺”。SourceID為Java 和.NET中的SAML 1.1提供了一套開源工具包。在Apache項目下沒有完整的SAML工具包,但WSS4J項目包含了對OpenSAML的一些支持。

  結(jié)束語

  SAML對企業(yè)應(yīng)用程序開發(fā)越來越重要。隨著大公司內(nèi)部系統(tǒng)的不斷擴(kuò)展,合并身份信息對系統(tǒng)的成功管理來說非常關(guān)鍵。SAML也為依賴外部宿主應(yīng)用程序的企業(yè)提供了巨大好處。對最終用戶來說,單點(diǎn)登錄能同時提供安全性和便利性。WebLogic Server 9.x的SAML支持是對WebLogic Security Service最重要的新補(bǔ)充之一。無論它是否為用戶應(yīng)用程序安全模式的一部分,用戶都有許多選擇以使其應(yīng)用程序與SAML協(xié)同工作。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
WebLogic平臺的Web SSO(SAML)解決方案
統(tǒng)一身份認(rèn)證與授權(quán)標(biāo)準(zhǔn)介紹:OpenID,OAuth2,SAML
雜談單點(diǎn)登陸以及相關(guān)技術(shù)
用于跨域啟用集中式身份驗(yàn)證的面向服務(wù)架構(gòu)
SAP Success Factor Single Sign On(單點(diǎn)集成) 的文檔清單
[原創(chuàng)] SSO(Single Sign-on) in Action(上篇)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服