日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

統(tǒng)一身份認(rèn)證與授權(quán)標(biāo)準(zhǔn)介紹:OpenID,OAuth2,SAML

 越眾瀑流 2019-09-13

統(tǒng)一身份認(rèn)證與授權(quán)中三種最常見的Web安全協(xié)議是OpenID,OAuth和SAML。本文通過舉例來介紹這三種協(xié)議的含義和之間的不同。

授權(quán)和身份驗(yàn)證基礎(chǔ)知識

做為一個(gè)面向公眾的網(wǎng)站都希望能夠?qū)γ總€(gè)用戶進(jìn)行身份驗(yàn)證和授權(quán)。身份驗(yàn)證意味著驗(yàn)證某人確實(shí)是他們聲稱的身份。授權(quán)意味著決定某個(gè)用戶能夠訪問哪些資源,以及允許他們對這些資源執(zhí)行哪些操作。

對于Facebook或Google等網(wǎng)站,用戶可以使用一組憑證登錄到一個(gè)應(yīng)用程序。然后可以使用同一組憑證登錄相關(guān)網(wǎng)站或應(yīng)用程序。而對于企業(yè)來說,可能有一個(gè)面向內(nèi)部的員工門戶網(wǎng)站,通過讓員工登錄門戶,并讓該門戶自動(dòng)通過其他Intranet站點(diǎn)對用戶進(jìn)行身份驗(yàn)證。這種稱為單點(diǎn)登錄(SSO)的想法允許用戶輸入一個(gè)用戶名和密碼可以訪問多個(gè)應(yīng)用程序。

這樣做對用戶來說非常好,他們只需管理相關(guān)網(wǎng)站的一個(gè)用戶名和密碼,同時(shí)可以避免多次登錄。用戶(單組)憑證將存儲(chǔ)在一個(gè)數(shù)據(jù)庫中,而不是存儲(chǔ)在多個(gè)數(shù)據(jù)庫中的多個(gè)憑證。這也意味著各種應(yīng)用程序的開發(fā)人員不必存儲(chǔ)密碼,而是接受來自可信來源的身份證明或授權(quán)。

實(shí)施SSO有多種解決方案。三種最常見的Web安全協(xié)議是OpenID,OAuth和SAML。

OpenID

OpenID是一種開放的身份驗(yàn)證標(biāo)準(zhǔn),由非營利性O(shè)penID Foundation推廣。Google,WordPress,Yahoo和PayPal等組織都支持使用OpenId對用戶進(jìn)行身份驗(yàn)證。

用戶必須通過OpenID帳戶身份提供商(例如,谷歌)得到一個(gè)OpenID。然后,用戶將使用該帳戶登錄任何接受OpenID身份驗(yàn)證的網(wǎng)站(依賴方)(例如YouTube或其他接受Google帳戶登錄的網(wǎng)站)。OpenID標(biāo)準(zhǔn)為身份提供者和依賴方之間必須進(jìn)行的通信提供了框架。

這種交換可以與過海關(guān)進(jìn)行比較。想象一下,愛麗絲是一個(gè)想要訪問美國的加拿大公民。在邊境,美國要求提供身份證明(她的護(hù)照)。由于美國政府信任加拿大政府為其公民提供的身份證明,美國接受愛麗絲的護(hù)照作為其身份的可靠證據(jù),因此,讓她進(jìn)入美國。在此示例中,Alice是最終用戶,US是依賴方,Canada是身份提供者。

這種交換是有效的,因?yàn)锳lice可以向美國提供來自美國信任的實(shí)體的身份證明。同樣,依賴方(或用戶嘗試登錄的網(wǎng)站)必須信任驗(yàn)證用戶身份的OpenID身份提供者。

OAuth2

相比之下,OAuth2是授權(quán)的開放標(biāo)準(zhǔn)。OAuth2也是OpenID Connect的基礎(chǔ),OpenID Connect在OAuth2(授權(quán))之上提供OpenID(身份驗(yàn)證),以獲得更完整的安全解決方案。OpenID Connect(OIDC)于2014年初創(chuàng)建。

OAuth2提供安全的委派訪問,這意味著稱為客戶端的應(yīng)用程序可以代表用戶在資源服務(wù)器上執(zhí)行操作或訪問資源,而無需用戶與應(yīng)用程序共享其憑據(jù)。OAuth2通過允許令牌由身份提供商向這些第三方應(yīng)用程序發(fā)布,并經(jīng)用戶批準(zhǔn)來實(shí)現(xiàn)此目的。然后,客戶端使用令牌代表用戶訪問資源服務(wù)器。

然而,Twitter的OAuth指南 稱OAuth2是一種身份驗(yàn)證標(biāo)準(zhǔn)。為什么要這么說呢?事實(shí)證明,授權(quán)可以用作偽認(rèn)證的一種形式。

OAuth2的授權(quán)使用案例可能如下:Alice正在離開城鎮(zhèn),她希望她的朋友鮑勃能夠幫忙照看房子。愛麗絲給鮑勃房子鑰匙,他現(xiàn)在有權(quán)進(jìn)入房子。密鑰授予他進(jìn)入房屋的授權(quán),因?yàn)槭跈?quán)涉及用戶應(yīng)該訪問哪些資源,以及他們可以使用這些資源做什么。在這個(gè)比喻中,房主是用戶,鮑勃是客戶,門鎖是身份提供者,房子是資源服務(wù)器。

通過假設(shè)擁有房屋鑰匙的人是房主,可以將其映射成偽認(rèn)證用例。然而,正如我們可以看到鮑勃坐在愛麗絲家中,但他并不是房主。

SAML

SAML是三者中最古老的標(biāo)準(zhǔn),最初于2001年開發(fā),其最新的主要更新發(fā)布于2005年.SAML,發(fā)音為“sam-el”,代表安全斷言標(biāo)記語言。它是一個(gè)提供身份驗(yàn)證和授權(quán)的開放標(biāo)準(zhǔn)。

與其他兩個(gè)標(biāo)準(zhǔn)的術(shù)語類似,SAML定義了一個(gè)主體,即最終用戶嘗試訪問資源。有一個(gè)服務(wù)提供程序,它是委托人試圖訪問的Web服務(wù)器。還有一個(gè)身份提供者,它是擁有主體身份和憑據(jù)的服務(wù)器。

美國/加拿大的比喻也可以在這里使用。愛麗絲希望從加拿大進(jìn)入美國。美國希望驗(yàn)證她的身份或其他有關(guān)她的信息 - 她是否擁有允許她在美國駕駛的有效駕駛執(zhí)照 - 向加拿大提出有關(guān)Alice的身份驗(yàn)證和/或授權(quán)信息的請求。加拿大通過將所要求的信息發(fā)送到所請求的地址以及加拿大確實(shí)是該消息的發(fā)送者的一些證據(jù)來做出回應(yīng)。這個(gè)證據(jù)可能像以前一樣采用護(hù)照的形式,或官方的政府文件或簽證(涉及授權(quán)請求)。而且,和以前一樣,該系統(tǒng)的前提是美國信任加拿大正在發(fā)放駕駛執(zhí)照,簽證等。

在我們的示例中,Alice是委托人,美國是服務(wù)提供商,加拿大再次是身份提供者。美國向加拿大提出的請求類似于XML消息,該消息說明正在請求哪些信息,誰在詢問以及應(yīng)該向誰返回響應(yīng)。加拿大的回復(fù)將被稱為斷言,類似于OpenID或OAuth2的令牌。此斷言可以包含有關(guān)身份驗(yàn)證,授權(quán)和/或?qū)傩裕ㄓ嘘P(guān)用戶的特定信息,如電子郵件或電話號碼)的聲明。

SAML 2.0規(guī)范定義了斷言(如上所述); 協(xié)議:即斷言請求和響應(yīng); 綁定:這些請求和響應(yīng)如何在服務(wù)提供者和身份提供者之間發(fā)生,使用標(biāo)準(zhǔn)通信方法(例如HTTP POST); 和配置文件:它們是各種用例(如SSO)的斷言,協(xié)議和綁定的組合。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多