安全斷言標記式語言
安全主張標記語言 |
---|
|
安全主張標記語言(Security Assertion Markup Language,簡稱SAML,發音sam-el[1])是一個基於XML的開源標準數據格式,它在當事方之間交換身份驗證和授權數據,尤其是在身份提供者和服務提供者之間交換。
目錄
介紹
SAML是OASIS安全服務技術委員會的一個產品,始於2001年。其最近的主要更新發布於2005年,但協議的增強仍在通過附加的可選標準穩步增加。
SAML解決的最重要的需求是網頁瀏覽器單一登入(SSO)。單點登錄在內部網層面比較常見,(例如使用Cookie),但將其擴展到內部網之外則一直存在問題,並使得不可互操作的專有技術激增。(另一種近日解決瀏覽器單點登錄問題的方法是OpenID Connect 協議)[2]
原則
SAML規範定義了三個角色:委託人(通常為一名用戶)、身份提供者(IdP),服務提供者(SP)。在用SAML解決的使用案例中,委託人從服務提供者那裡請求一項服務。服務提供者請求身份提供者並從那裡並獲得一個身份主張。服務提供者可以基於這一主張進行存取控制的判斷——即決定委託人是否有權執行某些服務。
在將身份主張發送給服務提供者之前,身份提供者也可能向委託人要求一些信息——例如用戶名和密碼,以驗證委託人的身份。SAML規範了三方之間的主張,尤其是主張身份消息是由身份提供者傳遞給服務提供者。在SAML中,一個身份提供者可能提供SAML主張給許多服務提供者。同樣的,一個服務提供者可以依賴並信任許多獨立的身份提供者的主張。
SAML沒有規定身份提供者的身份驗證方法;他們大多使用用戶名和密碼,但也有其他驗證方式,包括採用多重要素驗證。諸如輕型目錄訪問協議、RADIUS和Active Directory等目錄服務允許用戶使用一組用戶名和密碼登錄,這是身份提供者使用身份驗證令牌的一個典型來源。Template:What[3]許多流行的互聯網社交網絡服務也提供身份驗證服務,理論上他們也可以支持SAML交換。
歷史
OASIS安全服務技術委員會(SSTC)於2001年1月首次舉行會議,提出「定義一個用於交換身份驗證和授權的XML框架。」[4]為完成此目標,下列知識產權在該年的頭兩個月內向SSTC進行了捐獻:
- Security Services Markup Language(S2ML),來自Netegrity
- AuthXML,來自Securant
- XML Trust Assertion Service Specification(X-TASS),來自VeriSign
- Information Technology Markup Language(ITML),來自Jamcracker
在這項工作的基礎上,OASIS於2002年11月宣布「安全主張標記語言」(SAML)V1.0規範成為一個OASIS標準。[5]
與此同時,大型企業、非營利及政府組織的聯盟Liberty Alliance提出了一個擴展SAML標準的「自由聯盟統一聯合框架」(ID-FF)。與其前身SAML類似,Liberty ID-FF提出了一個標準化、跨域、基於Web的單點登錄框架。此外,Liberty描繪了一個「信任圈」(circle of trust),其中每個參與域被信任將準確記錄識別用戶的過程、所使用的身份驗證類型,以及任何與生成身份驗證憑據相關的策略。信任圈中的其他成員可以查驗這些策略,以決定是否信任此類信息。
雖然ID-FF開發了Liberty,SSTC已開始小規模升級到SAML規範。這使得SSTC在2003年9月批准了SAML V1.1規範。在同月,Liberty將ID-FF貢獻至OASIS,從而為SAML下一版本奠基。2005年3月,SAML V2.0被宣布成為一項OASIS標準。SAML V2.0意味着Liberty ID-FF及其他專有擴展的收斂,以及包括SAML本身的早期版本。大多數SAML實現支持V2.0,並也大多支持V1.1以實現向後兼容。截至2008年1月,SAML V2.0的開發已在政府、高等教育和全球商業企業中普遍存在。[6]
參考文獻
- ↑ What is SAML? - A Word Definition From the Webopedia Computer Dictionary. Webopedia.com. [2013-09-21].
- ↑ OpenID versus Single-Sign-On Server. alleged.org.uk. 2007-08-13 [2014-05-23]. (原始內容存檔於2014-09-16).
- ↑ SAML: The Secret to Centralized Identity Management. InformationWeek.com. 2004-11-23 [2014-05-23].
- ↑ Template:Cite mailing list
- ↑ History of SAML. SAMLXML.org. 2007-12-05 [2014-05-22].
- ↑ Google, NTT and the US GSA Deploy SAML 2.0 for Digital Identity Management. Oracle Journal. 2008-01-29 [2014-05-22]. (原始內容存檔於2014-05-22).