亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

SAML簡介:安全地共享數字身份信息

2019-11-18 16:05:25
字體:
來源:轉載
供稿:網友

簡介

  安全是所有Web項目在設計時都要考慮的一個重要因素。無論是選擇最短口令,決定何時使用SSL加密HTTP會話,還是通過自動登錄cookie來識別用戶,都經常要付出重大的設計努力,以保護用戶的身份信息和他們可能存放于Web站點的其他資料。糟糕的安全性可能帶來公關災難。當最終用戶努力保持對其個人信息的控制時,他們要面臨令人迷惑的隱私政策,需要牢記眾多站點的不同口令,以及遭遇“釣魚式攻擊”事件。在宏觀層次上,數字身份引起了許多復雜的技術和社會問題,業界一些團體如Liberty Alliance和IdentityGang都正試圖通過開發新的技術標準來解決它們。 在較小的規模上,可以使用一些工具來為用戶提供更好的安全性。請考慮口令管理問題。用戶訪問他們保存個人資料的Web站點,在可以存取他們的資料之前必須經過驗證。通過驗證來鑒別用戶,確保他們是所聲稱的用戶。進行驗證最簡單方式是使用口令。然而,若每個站點都需要各自的一套口令,用戶將有難以控制的大量口令。1998年微軟首先嘗試通過其Passport network提供該問題的全球解決方案。Passport使得任意Web站點使用用戶提交給Passport的個人資料(如用戶名、地址、信用卡號)成為可能。Passport是單點登錄(single sign-on,SSO)的第一次電子商務嘗試。它沒有流行起來,部分原因是由于人們對系統封閉性的擔心。然而,SSO的理念非常引人注目,許多開放標準和商業計劃都追隨Passport其后。通過SSO,某個Web站點可以與其他站點共享用戶身份信息。 SSO對于使用應用服務提供商(application Service PRovider,asp)軟件服務的企業特別有用。ASP在自己的服務器上宿主應用程序,出售其訪問權作為服務。公司可以在它的標準目錄服務器里管理自己的用戶和口令,然后通過SSO授予用戶訪問ASP應用程序的權限。SSO允許公司管理自己用戶的信息,不必為每一員工維護多個用戶賬號。對用戶來說,SSO的好處在于他們可以在多個應用程序中使用一個用戶名和口令,并且在應用程序之間切換時無需重新驗證。SSO不僅僅用于Web應用程序,它可用于任何類型的應用程序,只要有安全地傳送身份信息的協議。這種通信方式的開放標準就是安全性斷言標記語言(SAML)。

關于SAML

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

一個基本的SAML示例

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

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

SAML簡介:安全地共享數字身份信息

   圖1:一個SAML示例場景

  上面第4步中的SAML請求將通過HTTP作為從目標站點到源站點的SOAP消息發送。消息體將類似于:

<!-- 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>

  該請求把自己標識為來自SAML請求-應答協議名稱空間的SAML 1.1請求(MajorVersion和MinorVersion)。SAML為請求-應答協議元素定義了一個名稱空間,為斷言定義了另一個單獨的名稱空間。Request擁有基于請求者ip地址的惟一ID。請求的準確時間也包括在內。

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

<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:Assertionxmlns: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>


  應答的關鍵部分是Assertion元素。斷言使用了SAML Assertion名稱空間定義的一個詞匯表。它由一個驗證語句組成,該語句告訴我們用戶JSmith已通過口令驗證。它還包含了支配目標站點斷言使用的一系列條件。在本例中,這些條件指定一個10分鐘的時間窗(time window),在時間窗之內斷言有效。時間窗用來防止重放攻擊。沒有它,中途截取斷言的惡意用戶可以明天再次發送斷言來冒充JSmith,并獲得訪問目標站點的權限。確認方法元素是指上面描述的瀏覽器憑證。

  接受斷言后,目標站點視為JSmith已直接通過其用戶名和口令登錄。注意,驗證(鑒別用戶身份)和授權(授予用戶訪問資源的權限)之間的分離在此是非常重要的。源站點負責驗證JSmith,但不提供關于JSmith在目標站點特權的任何信息。這種安排對雙方站點都有益處:源站點無需了解目標站點的資源或特權,目標站點也可忽略源站點管理用戶和驗證的細節。這種分離提供了非常重要的靈活性。

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

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

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

  該方法假設用戶能夠提供用戶名和口令。如果Web服務的宿主是SAML目標站點,就沒有Web服務實現可以驗證的口令。有少數方式可以改進或擴展這些接口,使其與SAML協同工作,這取決于所需的向后兼容性的水平。同樣,如果在Web頁包含了具有用戶名和口令字段的表單,那么為經過SAML驗證的用戶禁用口令字段是非常重要的。

安全的SAML

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

BEA WebLogic Server中的SAML

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

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

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

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


結束語

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

(出處:http://www.49028c.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产v综合ⅴ日韩v欧美大片| 久久视频在线免费观看| 成人a在线观看| 欧美日韩一区二区免费视频| 欧美另类在线观看| 国产成人a亚洲精品| 国产精品在线看| 国产精品成人av性教育| 91在线观看免费网站| 亚洲男子天堂网| 91精品久久久久| 中文字幕成人精品久久不卡| 国产91精品最新在线播放| 国产精品678| 亚洲精品乱码久久久久久金桔影视| 国产精品国产三级国产aⅴ浪潮| 国产97在线亚洲| 日韩免费观看视频| 日韩国产一区三区| 国产精品日韩欧美| 亚洲天堂第一页| 91高清视频在线免费观看| 欧美老女人www| 欧美激情亚洲一区| 国产综合视频在线观看| 日韩精品视频免费| 黄网动漫久久久| 久久视频这里只有精品| yellow中文字幕久久| 亚洲精品v欧美精品v日韩精品| 91精品综合视频| 欧美性猛交99久久久久99按摩| 久久久久久久久国产精品| 美女扒开尿口让男人操亚洲视频网站| 久久99久久99精品中文字幕| 亚洲国产女人aaa毛片在线| 久久国产精品久久国产精品| www.久久色.com| 欧美激情va永久在线播放| 欧美高清电影在线看| 亚洲人成人99网站| 亚洲综合在线做性| 精品国产精品自拍| 日本国产欧美一区二区三区| 亚洲一区中文字幕| 91手机视频在线观看| 日韩成人xxxx| 亚洲免费伊人电影在线观看av| 91精品国产高清自在线看超| 日韩免费精品视频| 亚洲va欧美va国产综合久久| 亚洲色图五月天| 国产精彩精品视频| 亚洲男人天堂2024| 国产精品久久久久久久app| 亚洲精品乱码久久久久久按摩观| 日韩大片免费观看视频播放| 亚洲综合中文字幕在线观看| 日韩av在线一区| 国产午夜精品美女视频明星a级| 国产精品久久久久久久久影视| 久久在线免费观看视频| 色yeye香蕉凹凸一区二区av| 国产精品国内视频| 欧美激情视频网址| 亚洲最大成人免费视频| 国产精品中文字幕在线| 国产噜噜噜噜久久久久久久久| 91国产美女视频| 久久亚洲综合国产精品99麻豆精品福利| 国产精品国语对白| 久久久91精品国产一区不卡| 亚洲天堂2020| 亚洲天堂日韩电影| 欧美国产视频一区二区| 久久久久久久999| 久久精品在线视频| 欧美成年人视频网站欧美| 久久久久久九九九| 久久99久国产精品黄毛片入口| 国产精品视频导航| 久久视频在线直播| 91精品国产91久久久久久| 日韩av电影院| 欧洲成人在线观看| 国产情人节一区| 亚洲精品免费av| 日韩最新av在线| 性金发美女69hd大尺寸| 久久中文字幕在线| 中文字幕精品视频| 一区二区日韩精品| 欧美在线激情视频| 国产精品电影在线观看| 亚洲一区999| 国产精品久久在线观看| 在线免费看av不卡| 欧美色另类天堂2015| 国产精品入口日韩视频大尺度| 亚洲精品wwww| 蜜臀久久99精品久久久久久宅男| 欧美美女操人视频| 欧美日韩国产va另类| 精品国产精品三级精品av网址| 日韩精品视频在线播放| 日韩在线视频网站| 久久久久久久久久久成人| 亚洲人成77777在线观看网| 精品国内产的精品视频在线观看| 久久男人资源视频| 欧美一区二区大胆人体摄影专业网站| 国产精品欧美久久久| 国产欧美日韩免费看aⅴ视频| 国精产品一区一区三区有限在线| x99av成人免费| 国产精品成人va在线观看| 欧美亚洲一区在线| 欧美成人激情在线| 国产精品黄页免费高清在线观看| 精品久久中文字幕| 日韩欧美中文在线| 亚洲欧美制服另类日韩| 欧美大成色www永久网站婷| 久久天天躁狠狠躁夜夜爽蜜月| 久久久av电影| 国产精品青草久久久久福利99| 久久久免费在线观看| 久久亚洲精品一区| 亚洲国产欧美一区二区三区久久| 亚洲新声在线观看| 欧美精品在线免费| 久久亚洲精品小早川怜子66| 亚洲美女www午夜| 精品视频在线播放免| 久久乐国产精品| 91在线观看免费高清完整版在线观看| 亚洲国产精品美女| 欧美成人精品在线视频| 精品高清一区二区三区| 久久色免费在线视频| 在线观看日韩欧美| 色综合天天综合网国产成人网| 精品国产91久久久久久老师| 亚洲社区在线观看| 亚洲激情小视频| 国产大片精品免费永久看nba| 日韩视频免费大全中文字幕| 日韩欧美国产中文字幕| 欧美日韩精品在线| 欧美成人午夜激情| 精品国产一区二区三区久久狼5月| 亚洲精品网址在线观看| 国产精品青草久久久久福利99| 色综合五月天导航| 中文字幕视频一区二区在线有码| 91九色在线视频| 欧美性高潮在线| 亚洲成色999久久网站| 一区二区三区国产视频| 国产亚洲欧美日韩美女| 久久视频国产精品免费视频在线| 日韩资源在线观看| 国产69久久精品成人| 97香蕉超级碰碰久久免费的优势|