SAML2.0 淺入深出《一》

目錄
1、什么是SAML
2、有哪些應(yīng)用場(chǎng)景
3、SAML身份驗(yàn)證的工作原理

1、什么是SAML?

SAML 的英文全稱是Security Assertion Markup Language(發(fā)音sam-el),即安全斷言標(biāo)記語言。是一種支持單點(diǎn)登錄(SSO)的開放標(biāo)準(zhǔn)。通過僅使用一組登錄憑據(jù)訪問一系列資源,您可以提供對(duì)資源的無縫訪問并消除不安全的密碼擴(kuò)散。

SAML是OASIS安全服務(wù)技術(shù)委員會(huì)的一個(gè)產(chǎn)品,始于2001年SAML1.0,其最近發(fā)布于2005年SMAL2.0
它是一個(gè)基于XML的開源標(biāo)準(zhǔn)數(shù)據(jù)格式,專門支持身份聯(lián)合,使身份提供商(IdP)能夠?qū)⒔?jīng)過身份驗(yàn)證的身份及其他屬性無縫且安全的傳遞給服務(wù)提供商(SP)。

2、有哪些應(yīng)用場(chǎng)景?

  • 網(wǎng)頁瀏覽器單點(diǎn)登錄
  • 聯(lián)合身份
    網(wǎng)頁瀏覽器單點(diǎn)登錄相信大家都很好理解他的流程(Google SSO),那么我就通過一個(gè)生活實(shí)例給講解下什么是聯(lián)合身份的問題吧~

大家都知道歐盟是多個(gè)國(guó)家組合在一起的總稱,聯(lián)合身份就像是歐盟身份證

  1. Bob 是其中歐盟體中A國(guó)的合法公民,可以在A國(guó)任意出行
  2. Bob 去歐盟體中B國(guó)出差,到達(dá)目的地后,工作人員需要Bob出示證件證明其身份(-->SP的入口)
  3. Bob沒有B國(guó)身份證,因?yàn)锽國(guó)也是歐盟一員,于是Bob就去找歐盟頒發(fā)了一個(gè)歐盟身份證 (-->在IdP進(jìn)行身份核驗(yàn))
  4. Bob將其歐盟身份證交給B國(guó)工作人員,工作人員去“歐盟系統(tǒng)”查詢這個(gè)身份是否合法(-->SP向IdP發(fā)送請(qǐng)求,要求驗(yàn)證信息)
  5. “歐盟系統(tǒng)”返回Bob是歐盟國(guó)內(nèi)的公民,最終工作人員核驗(yàn)過身份信息后就讓Bob進(jìn)去了(-->IdP回復(fù)SP信息無誤,SP允許該用戶訪問系統(tǒng))

3、SAML身份驗(yàn)證的工作原理

服務(wù)提供商首先要和身份提供商建立信任,通過SAML協(xié)議傳遞認(rèn)證信息
要訪問服務(wù)提供商的用戶必須首先通過IDP進(jìn)行身份驗(yàn)證

一起推演身份驗(yàn)證流程

  1. IdP 具備用戶及屬性數(shù)據(jù),例如:userName、Email等
  2. 身份提供商IdP生成用戶的信息,將用戶標(biāo)示符填充到斷言中,并發(fā)送給服務(wù)提供商SP,SP可以驗(yàn)證斷言。但是我們不能僅以明文形式發(fā)送,因?yàn)閿?shù)據(jù)完全不受保護(hù),因此IdP必須首先對(duì)斷言進(jìn)行簽名,這樣SP可以驗(yàn)證斷言的頒發(fā)者,從而得到信任
  3. SP讀取用戶標(biāo)示符,嘗試將其映射到其應(yīng)用下的用戶。在這種情況下,有可能由于未找到用戶屬性而失敗,因此為了使聯(lián)邦工作,我們需要建立一些整合規(guī)則,例如SP可能會(huì)指示用戶標(biāo)示符號(hào)的格式必須為Email,IdP為與其匹配必須同意并配置
  4. 當(dāng)雙方具有相同的配置時(shí),SAML斷言就映射到服務(wù)提供商SP的用戶對(duì)象,從而服務(wù)

因此提供者可以允許訪問配置和集成規(guī)則對(duì)成功建立這些配置的SAML聯(lián)合至關(guān)重要
配置和系統(tǒng)證書可以手動(dòng)輸入到SP/IdP中,但是通常你會(huì)收集需求和功能到XML元數(shù)據(jù)文件中,通過交換這些文件,配置聯(lián)邦

元數(shù)據(jù)交換是建立在信任含有用戶標(biāo)示符格式的元數(shù)據(jù)文件
元數(shù)據(jù)需要遵循名稱、ID、格式的標(biāo)準(zhǔn)

元數(shù)據(jù)通常包含:

  1. 發(fā)件人的證書(作用:接收人可以使用證書驗(yàn)證斷言的簽名,并知道它來自受信任的一方
  2. 實(shí)體標(biāo)示符號(hào)(唯一的標(biāo)示發(fā)送者/接收者
  3. 關(guān)于SP和IdP之間交換消息的協(xié)議
    參考SMAL2.0技術(shù)視頻
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • SAML,全稱為Security Assertion Markup Language,是一種用于安全性斷言的標(biāo)記預(yù)...
    登高且賦閱讀 113,471評(píng)論 13 49
  • 之前通過深入學(xué)習(xí)DOM的相關(guān)知識(shí),看了慕課網(wǎng)DOM探索之基礎(chǔ)詳解篇這個(gè)視頻(在最近看第三遍的時(shí)候,準(zhǔn)備記錄一點(diǎn)東西...
    微醺歲月閱讀 4,761評(píng)論 2 61
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,649評(píng)論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 7,820評(píng)論 0 4

友情鏈接更多精彩內(nèi)容