久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

雜談單點(diǎn)登陸以及相關(guān)技術(shù)

 關(guān)平藏書 2017-03-22

最近花了較多時(shí)間學(xué)習(xí)單點(diǎn)登陸以及相關(guān)的安全技術(shù),,做一個(gè)簡(jiǎn)單的總結(jié),,發(fā)表我的一些看法。拋磚引玉,,希望各位朋友參與討論,。

單點(diǎn)登陸,鳥語原文為Single Sign-On,,縮寫為SSO,。別以為單點(diǎn)登陸是很時(shí)髦高深的技術(shù),相反單點(diǎn)登陸是很古老的技術(shù),,例如1980kerberos v4發(fā)布,,一直發(fā)展至今,被Windows,、Mac OS X,、Linux等流行的操作系統(tǒng)所采用,是為應(yīng)用最廣泛的單點(diǎn)登陸技術(shù),。

kerberos
適用于局域網(wǎng),,十分成熟?;ヂ?lián)網(wǎng)發(fā)展之后,,多個(gè)網(wǎng)站需要統(tǒng)一認(rèn)證,業(yè)界需要適合互聯(lián)網(wǎng)的單點(diǎn)登陸技術(shù),,也就是WEB SSO,。2002年,微軟提出了passport服務(wù),,由微軟統(tǒng)一提供賬號(hào)和認(rèn)證服務(wù),,理所當(dāng)然,大家都不愿意受制于微軟,,但是很認(rèn)同微軟提出WEB SSO理念,,于是產(chǎn)生了Liberty Alliance,另外指定一套標(biāo)準(zhǔn),,這套標(biāo)準(zhǔn)發(fā)展起來就是SAML,,目前SAML的版本是SAML V2,,屬于OASIS的標(biāo)準(zhǔn)。

--------------
SAML

SAML
,,鳥語全名為Security Assertion Markup Language,,彌漫著學(xué)院派的腐尸味道,縮寫十分怪異,,令人望而生畏,。計(jì)算機(jī)行業(yè),向來崇尚時(shí)髦,,SAML這一名稱使得其較少受到大眾程序員的關(guān)注,。

SAML
的標(biāo)準(zhǔn)制定者,來自SUN,、BEA,、IBMRSA,、AOL,、Boeing等大公司,制定技術(shù)規(guī)范相當(dāng)專業(yè)有水準(zhǔn),,系統(tǒng)分層合理,,抽象了幾個(gè)概念把整個(gè)系統(tǒng)描述得很清楚,使用流行技術(shù)XML Schema來描述協(xié)議,,使用到了XML-SignXML Encrypt等較為前緣XML安全技術(shù),。

SAML
的基本部分包括ProtocolBingding,、Profile,、MetadataAuthenticationContext,。其中Protocol是交互消息的格式,,例如AuthnRuequest/Response(認(rèn)證請(qǐng)求/響應(yīng))的消息對(duì)。Bingding是指協(xié)議所采用的傳輸方式,,例如使用HTTP RedirectHTTP POSTSOAP的方式傳輸Protocol中所定義的消息,。Profile是系統(tǒng)角色間交互消息的各種場(chǎng)景,例如Web Single Sign-ON是一種Profile,、Single Sign-Out也是一種Profile,、身份聯(lián)邦也是一種Profile。各個(gè)參與方所提供的服務(wù)的描述信息為metadata,。系統(tǒng)的認(rèn)證方法通常是千差萬別的,,AuthenticationContextSAML中定義的認(rèn)證擴(kuò)展點(diǎn),可以是最普通的User Password認(rèn)證,也可以是kerberos認(rèn)證,,也可以是電信常用的RADIUS,或者是動(dòng)態(tài)密碼卡,。

SAML
Java企業(yè)應(yīng)用中,,得到廣泛支持,IBM,、BEA,、ORACLESUNJava應(yīng)用服務(wù)器都提供了SAML的支持,,曾經(jīng)有人說,,SAML就是如同JDBC一樣,將會(huì)是使系統(tǒng)集成的準(zhǔn)入證,。SAML有很多開源實(shí)現(xiàn),,包括SUN公司的Open SSO,不幸的是,,這些開源實(shí)現(xiàn)都不夠好,,或者相當(dāng)糟糕,如果我們需要支持SAML協(xié)議,,可能需要在開源的版本上裁剪或者另行開發(fā),。

SAML
考慮了Web SSO,也考慮了傳統(tǒng)的SSO集成,,包括KerberosLDAP的集成,,其中Attributed擴(kuò)展機(jī)制以及相關(guān)規(guī)范,使得SAML擁有良好的擴(kuò)展性,,很好集成傳統(tǒng)協(xié)議和支持新協(xié)議,。

SAML
是一個(gè)定義良好的規(guī)范,概念清晰,,分層合理,,擴(kuò)展性良好,一切都很棒,,但是有一點(diǎn)不好,,就是曲高和寡!

-------------
OpenID
有一些互聯(lián)網(wǎng)公司,,擁有眾多很多賬號(hào),,很牛B,例如GOOGLE,、YAHOO,、Facebook,希望別人的系統(tǒng)使用它們的賬號(hào)登陸。他們希望一種足夠簡(jiǎn)單的WEB SSO規(guī)范,,于是選擇一種草根網(wǎng)絡(luò)協(xié)議OpenID,。OpenID,名字取得好,,顧名思義,,一看就知道它是干嘛的。國(guó)內(nèi)也有它的Fans,,例如豆瓣網(wǎng),。openID的確足夠簡(jiǎn)單,但是協(xié)議本身是不完善,,可能需要一些補(bǔ)充協(xié)議才能夠滿足業(yè)務(wù)需求,。例如GOOGLE采用OpenID + OAuth。目前支持OpenIDYahoo,、Google,、Windows Live,還有號(hào)稱要支持OpenIDFacebook,。目前YahooGoogle宣稱對(duì)OpenID的支持,,但是其實(shí)是有限制的,YahooOpenID只有少數(shù)合作伙伴才能獲得其屬性,,Google也只有在其Google Apps中才能獲得賬號(hào)的Attribute,。用戶賬號(hào)畢竟是一個(gè)互聯(lián)網(wǎng)公司的最寶貴資源,希望他們完全分享賬號(hào)是不可能的,。

Open ID
SAML兩種規(guī)范,,都將會(huì)減少系統(tǒng)間交互的成本,我們提供Open API時(shí),,應(yīng)該支持其中一種或者或兩種規(guī)范,。

--------------
OAuth

oAuth
涉及到3大塊的交互和通信。1. 用戶,,2. 擁有用戶資料/資源的服務(wù)器A,,3. 求資源的服務(wù)器B,,。

oAuth
的典型應(yīng)用場(chǎng)景(senario
以前,,用戶在 擁有資源 的的網(wǎng)站A有一大堆東西;現(xiàn)在用戶發(fā)現(xiàn)了一個(gè)新的網(wǎng)站B,,比較好玩,,但是這個(gè)新的網(wǎng)站B想調(diào)用 擁有資源的網(wǎng)站A的數(shù)據(jù)。

用戶在 求資源的網(wǎng)站B 上,,點(diǎn)擊一個(gè)URL,,跳轉(zhuǎn)到 擁有 資源的網(wǎng)站A
擁有資源的網(wǎng)站A提示:你需要把資源分享給B網(wǎng)站嗎?Yes/No,。
用戶點(diǎn)擊 Yes,,擁有資源的網(wǎng)站A 求資源的網(wǎng)站B 臨時(shí)/永久 開一個(gè)通道,然后 求資源的網(wǎng)站 就可以來 擁有資源的網(wǎng)站 抓取所需的信息了,。
(
參考資料:http://initiative./archives/633801
(摘抄)
--------------

內(nèi)部系統(tǒng)間集成使用LDAP,、Kerberos,外部系統(tǒng)集成使用SAML或者OpenID + OAuth,,這是一種建議的模式。

------------
PAM

人們尋找一種方案:一方面,,將鑒別功能從應(yīng)用中獨(dú)立出來,,單獨(dú)進(jìn)行模塊化設(shè)計(jì),實(shí)現(xiàn)和維護(hù),;另一方面,,為這些鑒別模塊建立標(biāo)準(zhǔn) API,以便各應(yīng)用程序能方便的使用它們提供的各種功能,;同時(shí),,鑒別機(jī)制對(duì)其上層用戶(包括應(yīng)用程序和最終用戶)是透明的。直到 1995 年,,SUN 的研究人員提出了一種滿足以上需求的方案--插件式鑒別模塊(PAM)機(jī)制并首次在其操作系統(tǒng) Solaris 2.3 上部分實(shí)現(xiàn),。插件式鑒別模塊(PAM)機(jī)制采用模塊化設(shè)計(jì)和插件功能,使得我們可以輕易地在應(yīng)用程序中插入新的鑒別模塊或替換原先的組件,而不必對(duì)應(yīng)用程序做任何修改,,從而使軟件的定制,、維持和升級(jí)更加輕松--因?yàn)殍b別機(jī)制與應(yīng)用程序之間相對(duì)獨(dú)立。應(yīng)用程序可以通過 PAM API 方便的使用 PAM 提供的各種鑒別功能,,而不必了解太多的底層細(xì)節(jié),。此外,PAM的易用性也較強(qiáng),,主要表現(xiàn)在它對(duì)上層屏蔽了鑒別的具體細(xì)節(jié),,所以用戶不必被迫學(xué)習(xí)各種各樣的鑒別方式,也不必記住多個(gè)口令,;又由于它實(shí)現(xiàn)了多鑒別機(jī)制的集成問題,,所以單個(gè)程序可以輕易集成多種鑒別機(jī)制如 Kerberos 鑒別機(jī)制和 Diffie - Hellman 鑒別機(jī)制等,但用戶仍可以用同一個(gè)口令登錄而感覺不到采取了各種不同鑒別方法,。PAM 后來被標(biāo)準(zhǔn)化為 X/Open UNIX? 標(biāo)準(zhǔn)化流程(在 X/Open 單點(diǎn)登錄服務(wù)(XSSO)架構(gòu)中)的一部分,。(摘抄)

如果我們?cè)O(shè)計(jì)一個(gè)認(rèn)證系統(tǒng),PAM是應(yīng)該參考借鑒的,。

-------------
JAAS
Java Authentication Authorization Service
JAAS,,Java驗(yàn)證和授權(quán)API)提供了靈活和可伸縮的機(jī)制來保證客戶端或服務(wù)器端的Java程序。Java早期的安全框架強(qiáng)調(diào)的是通過驗(yàn)證代碼的來源和作者,保護(hù)用戶避免受到下載下來的代碼的攻擊,。JAAS強(qiáng)調(diào)的是通過驗(yàn)證誰在運(yùn)行代碼以及他/她的權(quán)限來保護(hù)系統(tǒng)面受用戶的攻擊,。它讓你能夠?qū)⒁恍?biāo)準(zhǔn)的安全機(jī)制,例如Solaris NIS(網(wǎng)絡(luò)信息服務(wù)),、Windows NT,、LDAP(輕量目錄存取協(xié)議),Kerberos等通過一種通用的,,可配置的方式集成到系統(tǒng)中,。在客戶端使用JAAS很簡(jiǎn)單。在服務(wù)器端使用JAAS時(shí)情況要復(fù)雜一些,。(摘抄)

-------------
Spring Security
,,Spring框架大名鼎鼎,Spring Security屬于SpringFramework旗下的一個(gè)子項(xiàng)目,,源自acegi 1.x發(fā)展起來,。很多人項(xiàng)目應(yīng)用了spring security,但我個(gè)人看來,,spring security絕對(duì)不算是一個(gè)設(shè)計(jì)良好的安全框架,。其設(shè)計(jì)感覺就是一個(gè)小項(xiàng)目的安全認(rèn)證實(shí)踐罷了。

-------------
CAS
應(yīng)用最廣的開源單點(diǎn)登陸實(shí)現(xiàn)了,,其實(shí)現(xiàn)模仿Kerberos的一些概念,,例如KDCTGS等等,,都是來自于Kerberos,。CAS對(duì)SAMLOpenID協(xié)議支持得不夠好。個(gè)人感覺類似Kerberos的機(jī)制在互聯(lián)網(wǎng)中可能過于復(fù)雜了,。我感覺單純的ticket機(jī)制,,過于局限于基于加密解密的安全了,感覺上SAMLAssertion概念更好,,Assertion可以包括認(rèn)證,、授權(quán)以及屬性信息。

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多