1)什么是單點(diǎn)登錄(SSO)?
2)SSO常用的協(xié)議和技術(shù)?
3)SSO 安全嗎?
4)SSO應(yīng)用模式有幾種?
5)SSO的優(yōu)點(diǎn)是什么?
6)SSO的缺點(diǎn)是什么?
8)SSO如何提高安全性?
9)SSO如何處理跨域身份驗(yàn)證?
10)SSO與傳統(tǒng)身份驗(yàn)證方法有何區(qū)別?
11)SSO 和零信任?
單點(diǎn)登錄(SSO,Single Sign-On)是一種用戶認(rèn)證和授權(quán)的解決方案,允許用戶使用一組憑據(jù)(如用戶名和密碼)登錄多個(gè)相互關(guān)聯(lián)的應(yīng)用程序和網(wǎng)站,而不需要在每個(gè)應(yīng)用程序和網(wǎng)站中重新輸入憑據(jù)。
SSO 通過(guò)在用戶訪問(wèn)第一個(gè)應(yīng)用程序或網(wǎng)站時(shí)進(jìn)行身份驗(yàn)證,然后將用戶的身份信息存儲(chǔ)在一個(gè)中央位置中,以便于其他應(yīng)用程序和網(wǎng)站進(jìn)行訪問(wèn)。這種方式可以簡(jiǎn)化用戶的登錄過(guò)程,減少用戶需要記住的憑據(jù)數(shù)量,提高用戶體驗(yàn)和工作效率。
SSO 可通過(guò)多種身份驗(yàn)證協(xié)議和技術(shù)來(lái)實(shí)現(xiàn)。
是的,SSO 是一種先進(jìn)且理想的身份訪問(wèn)管理解決方案。部署后,單點(diǎn)登錄解決方案可幫助組織對(duì)企業(yè)應(yīng)用程序和資源進(jìn)行用戶訪問(wèn)管理。SSO 解決方案使應(yīng)用程序用戶更容易設(shè)置和記住強(qiáng)密碼。此外,IT 團(tuán)隊(duì)可以使用 SSO 工具監(jiān)控用戶行為,提高系統(tǒng)彈性,降低安全風(fēng)險(xiǎn)。
一個(gè)企業(yè)一般情況下只有一個(gè)域名,通過(guò)二級(jí)域名區(qū)分不同的系統(tǒng)。比如我們有個(gè)域名叫做:a.com,同時(shí)有兩個(gè)業(yè)務(wù)系統(tǒng)分別為:app1.a.com和app2.a.com。我們要做單點(diǎn)登錄(SSO),需要一個(gè)登錄系統(tǒng),叫做:sso.a.com。
### 2) 不同域下的單點(diǎn)登錄
不同域下的單點(diǎn)登錄是巧用了Cookie頂域的特性。
.explinks.com/wp-content/uploads/2024/02/image-67-624×1024.png)上圖是CAS官網(wǎng)上的標(biāo)準(zhǔn)流程,具體流程如下:
至此,跨域單點(diǎn)登錄就完成了。以后我們?cè)僭L問(wèn)app系統(tǒng)時(shí),app就是登錄的。接下來(lái),我們?cè)倏纯丛L問(wèn)app2系統(tǒng)時(shí)的流程。
用戶只需記住一組憑據(jù),就可以訪問(wèn)多個(gè)應(yīng)用程序和服務(wù),無(wú)需為每個(gè)應(yīng)用程序單獨(dú)登錄。這降低了用戶的認(rèn)證負(fù)擔(dān),提高了用戶體驗(yàn)。
用戶可以更快地訪問(wèn)所需的應(yīng)用程序和服務(wù),無(wú)需花費(fèi)時(shí)間在多個(gè)登錄頁(yè)面上輸入憑據(jù)。這有助于提高員工的工作效率和生產(chǎn)力。
由于用戶只需記住一組憑據(jù),因此可以減輕密碼疲勞,降低用戶因忘記密碼而導(dǎo)致的帳戶鎖定和密碼重置請(qǐng)求。
SSO可以與多因素認(rèn)證(MFA)結(jié)合使用,提供更強(qiáng)大的安全保障。此外,由于用戶只需記住一組憑據(jù),因此可以鼓勵(lì)用戶使用更強(qiáng)的密碼,從而提高整體安全性。
對(duì)于IT管理員來(lái)說(shuō),SSO可以簡(jiǎn)化用戶帳戶和權(quán)限管理。管理員可以在一個(gè)集中的位置管理用戶的訪問(wèn)權(quán)限,而無(wú)需在每個(gè)應(yīng)用程序中單獨(dú)配置。
SSO可以降低IT支持成本,因?yàn)橛脩舾俚赜龅酵浢艽a和帳戶鎖定等問(wèn)題。這可以減輕IT支持團(tuán)隊(duì)的負(fù)擔(dān),降低支持成本。
通過(guò)集中管理用戶訪問(wèn)權(quán)限,SSO有助于確保企業(yè)遵守相關(guān)法規(guī)和政策。此外,SSO還可以提供詳細(xì)的審計(jì)日志,以便跟蹤用戶活動(dòng)和訪問(wèn)歷史,有助于合規(guī)性審查。
由于用戶只需一組憑據(jù)就可以訪問(wèn)多個(gè)應(yīng)用程序和服務(wù),因此如果這組憑據(jù)被盜或泄露,攻擊者可能會(huì)獲得對(duì)所有相關(guān)系統(tǒng)的訪問(wèn)權(quán)限。這增加了潛在的安全風(fēng)險(xiǎn)。
根據(jù)組織的需求和現(xiàn)有基礎(chǔ)設(shè)施,實(shí)施SSO可能會(huì)變得復(fù)雜。整合不同應(yīng)用程序和服務(wù)的身份驗(yàn)證機(jī)制可能需要大量的開(kāi)發(fā)和配置工作。
并非所有應(yīng)用程序和服務(wù)都支持SSO,這可能導(dǎo)致兼容性問(wèn)題。在某些情況下,可能需要額外的開(kāi)發(fā)工作來(lái)實(shí)現(xiàn)SSO支持。
如果SSO解決方案依賴于外部服務(wù)(如身份提供商),那么在這些服務(wù)出現(xiàn)故障或中斷時(shí),可能會(huì)影響到用戶訪問(wèn)應(yīng)用程序和服務(wù)的能力。
在某些情況下,將用戶數(shù)據(jù)集中存儲(chǔ)在一個(gè)SSO解決方案中可能引發(fā)隱私和合規(guī)性問(wèn)題。組織需要確保其SSO實(shí)施符合相關(guān)法規(guī)和政策。
在SSO環(huán)境中,確保用戶在注銷時(shí)正確地從所有關(guān)聯(lián)的應(yīng)用程序和服務(wù)中注銷可能是一個(gè)挑戰(zhàn)。如果注銷過(guò)程沒(méi)有得到妥善處理,可能會(huì)導(dǎo)致安全隱患。
盡管SSO可以降低支持成本,但實(shí)施和維護(hù)SSO解決方案可能需要額外的投資。組織需要權(quán)衡成本和收益,以確定SSO是否適合其需求。
通過(guò)強(qiáng)制密碼策略,例如長(zhǎng)度、復(fù)雜性和更改頻率,可以增加密碼的安全性,減少被猜測(cè)或破解的可能性。
在登錄過(guò)程中使用多種身份驗(yàn)證方式,例如短信驗(yàn)證碼、智能卡、生物識(shí)別技術(shù)等,可以提高安全性。
會(huì)話管理可以限制用戶的訪問(wèn)權(quán)限和時(shí)間,確保用戶只能訪問(wèn)他們被授權(quán)的資源,并在一段時(shí)間后自動(dòng)注銷用戶的會(huì)話。
使用安全協(xié)議,例如SSL或TLS,可以保證通信過(guò)程中數(shù)據(jù)的加密和完整性。
實(shí)時(shí)監(jiān)控單點(diǎn)登錄系統(tǒng)的訪問(wèn)日志和審計(jì)日志,及時(shí)發(fā)現(xiàn)異常行為,保障系統(tǒng)的安全性。
CORS是一種瀏覽器機(jī)制,允許Web應(yīng)用程序在不同的域之間共享資源。通過(guò)在認(rèn)證中心和應(yīng)用程序之間設(shè)置CORS,可以實(shí)現(xiàn)跨域身份驗(yàn)證。
JWT是一種基于JSON的令牌,可以在不同的域之間安全地傳輸數(shù)據(jù)。通過(guò)使用JWT,在認(rèn)證中心和應(yīng)用程序之間傳遞用戶身份驗(yàn)證和授權(quán)信息,實(shí)現(xiàn)跨域身份驗(yàn)證。
一些前端框架和庫(kù),例如React、Angular和Vue.js,提供了對(duì)SSO的內(nèi)置支持,可以輕松實(shí)現(xiàn)跨域身份驗(yàn)證。
SSO可以讓用戶在一個(gè)認(rèn)證中心登錄后,無(wú)需再次輸入用戶名和密碼,即可訪問(wèn)其他應(yīng)用程序,減少了重復(fù)登錄的麻煩,簡(jiǎn)化了登錄流程。
SSO可以使用統(tǒng)一的用戶標(biāo)識(shí),例如電子郵件地址或員工號(hào)碼等,減少了用戶需要記住多個(gè)不同的用戶名和密碼的煩惱。
由于用戶只需要登錄一次,就可以訪問(wèn)多個(gè)應(yīng)用程序,因此可以提高訪問(wèn)速度,減少等待時(shí)間。
SSO可以讓用戶在不同的設(shè)備上訪問(wèn)同一應(yīng)用程序,例如在手機(jī)、平板電腦或桌面電腦上,提高了應(yīng)用程序的可用性和靈活性。
由于SSO使用統(tǒng)一的身份驗(yàn)證機(jī)制,可以減少用戶使用弱密碼或重復(fù)密碼的可能性,提高了安全性,從而提高了用戶的信任感和滿意度。
傳統(tǒng)身份驗(yàn)證方法需要用戶在每個(gè)應(yīng)用程序中都輸入用戶名和密碼進(jìn)行登錄,而SSO只需要用戶登錄一次就可以訪問(wèn)多個(gè)應(yīng)用程序。
傳統(tǒng)身份驗(yàn)證方法需要用戶在不同的應(yīng)用程序之間進(jìn)行切換和登錄,造成了不必要的麻煩和時(shí)間浪費(fèi),而SSO可以簡(jiǎn)化登錄流程,提高用戶體驗(yàn)。
傳統(tǒng)身份驗(yàn)證方法中,用戶需要記住多個(gè)不同的用戶名和密碼,容易造成弱密碼或重復(fù)密碼的情況,而SSO可以使用強(qiáng)密碼策略和多因素身份驗(yàn)證等措施提高安全性。
傳統(tǒng)身份驗(yàn)證方法中,每個(gè)應(yīng)用程序都有自己的用戶數(shù)據(jù)庫(kù)和身份驗(yàn)證機(jī)制,難以統(tǒng)一管理,而SSO可以使用統(tǒng)一的認(rèn)證中心進(jìn)行身份驗(yàn)證和用戶管理。
傳統(tǒng)身份驗(yàn)證方法難以適應(yīng)新的應(yīng)用程序和設(shè)備,而SSO可以通過(guò)添加新的應(yīng)用程序和身份驗(yàn)證機(jī)制來(lái)擴(kuò)展功能。
“零信任”采取“從不信任,始終驗(yàn)證”的安全方法:任何用戶、應(yīng)用或設(shè)備 – 無(wú)論是在網(wǎng)絡(luò)外部,還是已經(jīng)通過(guò)身份驗(yàn)證并位于網(wǎng)絡(luò)內(nèi)部 – 都必須在訪問(wèn)所需的下一個(gè)網(wǎng)絡(luò)資源之前驗(yàn)證其身份。
隨著網(wǎng)絡(luò)變得更加分散,跨越的本地基礎(chǔ)架構(gòu)以及私有云和公有云數(shù)量更多,零信任方法對(duì)于防止?jié)B透網(wǎng)絡(luò)的威脅獲得更多訪問(wèn)權(quán)限并造成最大的損害至關(guān)重要。
SSO 被廣泛視為實(shí)施零信任方法的基礎(chǔ)技術(shù),尤其是作為 IAM 解決方案一部分的 SSO。 零信任的基本挑戰(zhàn)是創(chuàng)建一個(gè)安全架構(gòu),打擊滲透網(wǎng)絡(luò)的攻擊者,而不會(huì)阻礙獲得授權(quán)的最終用戶在網(wǎng)絡(luò)中自由行動(dòng)并完成工作或業(yè)務(wù)。 與多因子身份驗(yàn)證、訪問(wèn)和權(quán)限控制、網(wǎng)絡(luò)微分段等技術(shù)和最佳實(shí)踐相結(jié)合后,SSO 可以幫助組織實(shí)現(xiàn)這種平衡。
1. 企業(yè)內(nèi)部多個(gè)業(yè)務(wù)系統(tǒng)的整合:在大型企業(yè)中,員工日常辦公需要使用多個(gè)內(nèi)部系統(tǒng),如郵件系統(tǒng)、辦公自動(dòng)化系統(tǒng)、財(cái)務(wù)系統(tǒng)等。通過(guò)實(shí)施單點(diǎn)登錄(SSO),員工只需登錄一次,就可以訪問(wèn)所有這些系統(tǒng),無(wú)需記住多個(gè)用戶名和密碼。這種方式不僅提高了工作效率,還減少了因密碼管理不善帶來(lái)的安全風(fēng)險(xiǎn)。SSO通過(guò)集中管理用戶身份驗(yàn)證,簡(jiǎn)化了賬戶管理,降低了用戶忘記密碼或賬戶被濫用的風(fēng)險(xiǎn)。
2. 云平臺(tái)服務(wù):隨著云計(jì)算的普及,許多企業(yè)將應(yīng)用部署在云平臺(tái)上。云服務(wù)提供商如騰訊云、阿里云等,通過(guò)提供單點(diǎn)登錄(SSO)解決方案,使用戶能夠方便地訪問(wèn)和管理多個(gè)云服務(wù)應(yīng)用。這種集成方式簡(jiǎn)化了用戶的身份驗(yàn)證流程,同時(shí)增強(qiáng)了賬戶的安全性,確保用戶數(shù)據(jù)的安全。
3. 社交網(wǎng)絡(luò)登錄:在互聯(lián)網(wǎng)應(yīng)用中,使用社交網(wǎng)絡(luò)賬號(hào)登錄第三方應(yīng)用已成為一種趨勢(shì)。例如,用戶可以使用微博、微信等社交賬號(hào)登錄電商平臺(tái)或新聞應(yīng)用,這種單點(diǎn)登錄(SSO)方式為用戶提供了便捷的登錄體驗(yàn),同時(shí)也為第三方應(yīng)用帶來(lái)了用戶身份的真實(shí)性和可信度。
4. Web應(yīng)用與移動(dòng)應(yīng)用:在移動(dòng)互聯(lián)網(wǎng)時(shí)代,用戶期望在不同設(shè)備和平臺(tái)上獲得一致的體驗(yàn)。通過(guò)實(shí)現(xiàn)單點(diǎn)登錄(SSO),用戶在Web端登錄后,其身份可以無(wú)縫同步到移動(dòng)應(yīng)用,無(wú)需重復(fù)登錄。這不僅提升了用戶體驗(yàn),還有助于企業(yè)統(tǒng)一用戶數(shù)據(jù)管理,實(shí)現(xiàn)跨平臺(tái)的個(gè)性化服務(wù)。
5. 面向服務(wù)的架構(gòu)(SOA):在面向服務(wù)的架構(gòu)(SOA)中,服務(wù)與服務(wù)之間的通信需要安全認(rèn)證。通過(guò)實(shí)施單點(diǎn)登錄(SSO),可以簡(jiǎn)化SOA的安全問(wèn)題,提高服務(wù)間的合作效率。SSO為SOA提供了一個(gè)統(tǒng)一的身份驗(yàn)證和授權(quán)平臺(tái),確保了服務(wù)調(diào)用的安全性和可靠性。
6. 大型網(wǎng)站:對(duì)于擁有多個(gè)子平臺(tái)的大型網(wǎng)站,如阿里巴巴集團(tuán)旗下的淘寶、天貓、支付寶等,單點(diǎn)登錄(SSO)使用戶能夠方便快捷地在這些平臺(tái)間切換而無(wú)需重新登錄。這種SSO機(jī)制提升了用戶體驗(yàn),增強(qiáng)了用戶黏性,并有助于數(shù)據(jù)的整合和分析。
7. 企業(yè)自建的用戶中心:企業(yè)可以利用單點(diǎn)登錄(SSO)技術(shù)構(gòu)建自己的用戶中心,如AD/LDAP,實(shí)現(xiàn)云服務(wù)的單點(diǎn)登錄。這種方式有助于企業(yè)統(tǒng)一管理用戶身份,提高安全性,同時(shí)降低管理成本和復(fù)雜性。
8. 第三方公有云用戶生態(tài)系統(tǒng):在構(gòu)建基于第三方公有云的用戶生態(tài)系統(tǒng)時(shí),單點(diǎn)登錄(SSO)允許用戶使用同一個(gè)賬號(hào)登錄多個(gè)不同的服務(wù)和應(yīng)用。這種方式簡(jiǎn)化了用戶的登錄流程,提高了用戶滿意度,并有助于構(gòu)建更加緊密的用戶生態(tài)系統(tǒng)。
9. 非標(biāo)準(zhǔn)的用戶中心:對(duì)于使用多個(gè)信息系統(tǒng)的企業(yè),單點(diǎn)登錄(SSO)可以作為用戶中心的網(wǎng)關(guān),連接各個(gè)系統(tǒng)的用戶中心,形成用戶中心的聯(lián)邦。這種集成方式有助于打破信息孤島,實(shí)現(xiàn)數(shù)據(jù)共享和業(yè)務(wù)協(xié)同。
原文:單點(diǎn)登錄
單點(diǎn)登錄兩種應(yīng)用模式介紹
單獨(dú)登錄三種實(shí)現(xiàn)方式
OAuth2.0實(shí)現(xiàn)單獨(dú)登錄