SAML是太空船還是一種咖啡,?安全主要關(guān)乎正確性,。你想確定你與誰交談的人/服務(wù)是(認(rèn)證),。而且你想驗證那個人/服務(wù)只是在做他們被允許做的事情(授權(quán))。 我們將迅速掃描以下條款:
這是最基本的,。您只需向用戶或服務(wù)部門提供他們知道的內(nèi)容以證明其身份,。我們使用用戶名和密碼,即密碼,。 基本認(rèn)證這是最基本的,。您只需向用戶或服務(wù)部門提供他們知道的內(nèi)容以證明其身份。我們使用用戶名和密碼,,即密碼,。 授權(quán):基本Base64(用戶,合格)基本認(rèn)證沒有指定你需要加密細節(jié),,你只需要base64它們,。所以這是明文。 明文,!使用HTTPS進行加密但是,,因為它是明文,所以你想加密它,,否則任何有線或任何有權(quán)訪問服務(wù)的人都可以看到你的憑證,。所以你應(yīng)該使用加密和HTTPS。 SAML我們完成了協(xié)議編號1,,基本認(rèn)證,。協(xié)議編號2是 SAML(安全斷言標(biāo)記語言)。 認(rèn)證和授權(quán)把它看作另一種認(rèn)證協(xié)議(如基本認(rèn)證),,但它也支持授權(quán),。這意味著它也會告訴你你被允許做什么。 XMLSAML起源于XML為王的時代,,因此SAML協(xié)議將數(shù)據(jù)傳遞給XML憑證和授權(quán)并不奇怪,。 Parties在SAML中,我們有兩個Parties,。
服務(wù)提供者這是雜貨店,它有興趣向我推銷一些東西,,而不是關(guān)于身份管理,,所以它會使用身份提供者來識別我,以便授權(quán)和驗證我,。 身份提供者身份提供者全都是關(guān)于管理身份和允許他們做什么的,。 提供標(biāo)準(zhǔn)SSOSAML提供了標(biāo)準(zhǔn),,SingleSignOn 因此您可以使用相同的身份登錄多個網(wǎng)站,這很酷,。這就像您使用Google登錄不同的服務(wù)一樣,,只是這次是SAML協(xié)議。你看,,你已經(jīng)知道SAML是什么了,。 認(rèn)證與數(shù)字簽名的XML交換通過數(shù)字簽名,我的意思是我們可以證明誰是簽名認(rèn)證數(shù)據(jù)的人,。 復(fù)雜最后但并非最不重要的是,,SAML比現(xiàn)代SSO方法(如OAuth 2.0)更復(fù)雜。那么我們來看看OAuth 2.0吧,? OAuth 2.0你問1.0什么,? 這更復(fù)雜,所以我們轉(zhuǎn)到2.0,,我們需要為我們的授權(quán)進行更少的操作,。 NOT身份驗證我重復(fù)OAuth2.0不是一個身份驗證協(xié)議,它全部是關(guān)于授權(quán),。這并不意味著我們不使用OAuth進行身份驗證,,但是,因為 OpenId是OAuth2.0之上的協(xié)議,,用于身份驗證,。 授權(quán)您使用OAuth2.0來允許服務(wù)檢查您或服務(wù)是否有權(quán)執(zhí)行操作。 HTTPOAuth不會在內(nèi)部對任何內(nèi)容進行加密(也不會強制您加密文件),,它不會強制您使用HTTPS或其他加密機制,,但您可能會發(fā)現(xiàn)自己正在使用這些機制,因此請記住內(nèi)部沒有HTTP或加密到OAuth協(xié)議本身,。 Tokens是新的證書記住憑據(jù)(用戶名/密碼),?忘記它們,我們現(xiàn)在使用Tokens,,它們在相同的大前提下運行,。你有一些關(guān)鍵就像你的用戶名,你有一些密碼就像你的密碼,。 所以,,雖然Tokens不使用術(shù)語“用戶名”和“ 密碼”,但它幾乎是一回事,。 從1.0更改:無需簽署每個呼叫在OAuth1.0中,,您需要通過電話進行簽名。OAuth 2.0使用為您提供的Tokens簡化了這一操作 - 您所做的只是傳遞此Tokens,無需辭職,。 訪問Tokens和/或刷新Tokens您使用訪問Tokens和/或刷新Tokens以更新您的訪問權(quán)限 token.services,。 getAccessToken(refreshToken)所以,,基本上,,要獲得一個新的訪問Tokens,您只需getAccessToken 使用輸入刷新Tokens調(diào)用 以獲取新的訪問Tokens以訪問服務(wù),。 Authorization Bearer在基本身份驗證,,OAuth和任何地方,你會看到這個頭文件: Authorization: Bearer 你 總是使用這個頭來為你的服務(wù)的訪問,。 JWT這是城里新來的孩子,,每個人都認(rèn)為他太可愛了!這是為什么,?由于這個偉大的新發(fā)明,,您不僅將認(rèn)證和授權(quán)置于安全數(shù)據(jù)中,還將一些真實數(shù)據(jù)放入,!例如: OAuth 2.0的擴展JWT只是OAuth 2.0的擴展,。 訪問Token與索賠您可以通過JWT指定您可以獲得免費咖啡; 這是“頭腦風(fēng)暴”的主張。 Authorization Bearer是的,,我們必須再次使用無聊 Authorization: Bearer 標(biāo)頭,,有效載荷,簽名JWT有3個部件
HMAC-SHA256這是用于哈希消息的協(xié)議,。 用計算簽名的秘密鑰匙哈希 HMAC - 用密鑰生成簽名,。無狀態(tài)數(shù)據(jù)和從客戶端重新發(fā)送的API數(shù)據(jù) 因此,由于JWT是無狀態(tài)的,,因此當(dāng)您將數(shù)據(jù)從這里傳遞到那里并返回時,,全部都在JWT中。 而不是在服務(wù)器上的傳統(tǒng)會話,,您傳遞JWT中的數(shù)據(jù),,因此您不需要將數(shù)據(jù)存儲在服務(wù)器上。 用法我們使用JWT做什么,? 認(rèn)證 我們使用它進行身份驗證,。 安全的信息交換 我們用它來安全地傳遞信息! 用公鑰/私鑰簽名以驗證內(nèi)容沒有被篡改 這是因為我們簽署了數(shù)據(jù),,所以我們知道它沒有被篡改,! API密鑰 識別呼叫者/應(yīng)用程序 您可以確定誰是調(diào)用者應(yīng)用程序,因為您為每個調(diào)用者分配了自己的密鑰,。 |
|
來自: 昵稱11935121 > 《未命名》