更新時(shí)間:2022-04-02 09:31:04 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3197次
單點(diǎn)登錄 (SSO) 是一種身份驗(yàn)證方法,它使用戶能夠使用一組憑據(jù)安全地對(duì)多個(gè)應(yīng)用程序和網(wǎng)站進(jìn)行身份驗(yàn)證。
SSO 的工作基于應(yīng)用程序(稱(chēng)為服務(wù)提供者)和身份提供者(如 OneLogin)之間建立的信任關(guān)系。這種信任關(guān)系通?;谏矸萏峁┱吆头?wù)提供者之間交換的證書(shū)。此證書(shū)可用于簽署從身份提供者發(fā)送到服務(wù)提供者的身份信息,以便服務(wù)提供者知道它來(lái)自受信任的來(lái)源。在 SSO 中,此身份數(shù)據(jù)采用令牌的形式,其中包含有關(guān)用戶的識(shí)別信息位,例如用戶的電子郵件地址或用戶名。
登錄流程通常如下所示:
1.用戶瀏覽到他們想要訪問(wèn)的應(yīng)用程序或網(wǎng)站,也就是服務(wù)提供商。
2.作為對(duì)用戶進(jìn)行身份驗(yàn)證的請(qǐng)求的一部分,服務(wù)提供者向 SSO 系統(tǒng)(即身份提供者)發(fā)送包含有關(guān)用戶的一些信息(例如他們的電子郵件地址)的令牌。
3.身份提供者首先檢查用戶是否已經(jīng)通過(guò)身份驗(yàn)證,在這種情況下,它將授予用戶訪問(wèn)服務(wù)提供者應(yīng)用程序的權(quán)限并跳到第 5 步。
4.如果用戶尚未登錄,則會(huì)通過(guò)提供身份提供者所需的憑據(jù)來(lái)提示他們這樣做。這可能只是用戶名和密碼,也可能包括其他形式的身份驗(yàn)證,例如一次性密碼 (OTP)。
5.身份提供者驗(yàn)證提供的憑據(jù)后,它將向服務(wù)提供者發(fā)送一個(gè)令牌,確認(rèn)身份驗(yàn)證成功。
6.該令牌通過(guò)用戶的瀏覽器傳遞給服務(wù)提供者。
7.服務(wù)提供者收到的令牌根據(jù)初始配置期間服務(wù)提供者和身份提供者之間建立的信任關(guān)系進(jìn)行驗(yàn)證。
8.用戶被授予訪問(wèn)服務(wù)提供者的權(quán)限。
當(dāng)用戶嘗試訪問(wèn)不同的網(wǎng)站時(shí),新網(wǎng)站必須具有使用 SSO 解決方案配置的類(lèi)似信任關(guān)系,并且身份驗(yàn)證流程將遵循相同的步驟。

SSO 令牌是在 SSO 過(guò)程中從一個(gè)系統(tǒng)傳遞到另一個(gè)系統(tǒng)的數(shù)據(jù)或信息的集合。數(shù)據(jù)可以只是用戶的電子郵件地址和有關(guān)哪個(gè)系統(tǒng)正在發(fā)送令牌的信息。令牌必須為令牌接收者進(jìn)行數(shù)字簽名,以驗(yàn)證令牌來(lái)自受信任的來(lái)源。用于此數(shù)字簽名的證書(shū)在初始配置過(guò)程中進(jìn)行交換。
這個(gè)問(wèn)題的答案是“視情況而定”。
SSO 可以提高安全性的原因有很多。單點(diǎn)登錄解決方案可以簡(jiǎn)化用戶和管理員的用戶名和密碼管理。用戶不再需要跟蹤不同的憑據(jù)集,只需記住一個(gè)更復(fù)雜的密碼。SSO 通常使用戶能夠更快地訪問(wèn)他們的應(yīng)用程序。
SSO 還可以減少幫助臺(tái)花費(fèi)在幫助用戶丟失密碼上的時(shí)間。管理員可以集中控制密碼復(fù)雜性和多因素身份驗(yàn)證 (MFA)等要求。當(dāng)用戶離開(kāi)組織時(shí),管理員還可以更快地全面放棄登錄權(quán)限。
單點(diǎn)登錄確實(shí)有一些缺點(diǎn)。例如,您可能希望將應(yīng)用程序鎖定更多。出于這個(gè)原因,選擇一個(gè) SSO 解決方案非常重要,該解決方案使您能夠在用戶登錄特定應(yīng)用程序之前要求額外的身份驗(yàn)證因素,或者阻止用戶訪問(wèn)某些應(yīng)用程序,除非他們連接到安全的網(wǎng)絡(luò)。
SSO 解決方案如何實(shí)施的具體細(xì)節(jié)將根據(jù)您使用的確切 SSO 解決方案而有所不同。但無(wú)論具體步驟是什么,您都需要確保為您的實(shí)施設(shè)定了明確的目標(biāo)和目標(biāo)。確保您回答以下問(wèn)題:
您為哪些不同類(lèi)型的用戶提供服務(wù),他們的不同要求是什么?
您在尋找 On Prem 解決方案還是基于云的解決方案?
該解決方案能否與您的公司和您的需求一起發(fā)展?
您正在尋找哪些功能來(lái)確保只有受信任的用戶才能登錄?MFA、自適應(yīng)身份驗(yàn)證、設(shè)備信任、IP 地址白名單等?
您需要與哪些系統(tǒng)集成?
您需要 API 訪問(wèn)權(quán)限嗎?
了解單點(diǎn)登錄和密碼保管或密碼管理器之間的區(qū)別很重要,它們有時(shí)被稱(chēng)為 SSO,這可能意味著相同的登錄而不是單點(diǎn)登錄。使用密碼保管,您可能擁有相同的用戶名和密碼,但每次移動(dòng)到不同的應(yīng)用程序或網(wǎng)站時(shí)都需要輸入它們。密碼保管系統(tǒng)只是為所有不同的應(yīng)用程序存儲(chǔ)您的憑據(jù),并在必要時(shí)插入它們。應(yīng)用程序和密碼保管系統(tǒng)之間沒(méi)有建立信任關(guān)系。
使用 SSO,即單點(diǎn)登錄,通過(guò) SSO 解決方案登錄后,您可以訪問(wèn)所有公司批準(zhǔn)的應(yīng)用程序和網(wǎng)站,而無(wú)需再次登錄。這包括云應(yīng)用程序以及本地應(yīng)用程序,通??赏ㄟ^(guò) SSO 門(mén)戶(也稱(chēng)為登錄門(mén)戶)獲得。
在研究可用的 SSO 選項(xiàng)時(shí),您可能會(huì)看到它們有時(shí)被稱(chēng)為 SSO 軟件 vs SSO 解決方案 vs SSO 提供商。在許多情況下,差異可能僅僅在于公司對(duì)自己進(jìn)行分類(lèi)的方式。一個(gè)軟件建議安裝在本地的東西。它通常旨在執(zhí)行一組特定的任務(wù),僅此而已。一種解決方案表明可以擴(kuò)展或定制核心產(chǎn)品的功能。提供者是指生產(chǎn)或托管解決方案的公司的一種方式。例如,OneLogin 被稱(chēng)為 SSO 解決方案提供商。
當(dāng)我們談?wù)搯吸c(diǎn)登錄 (SSO) 時(shí),會(huì)使用很多術(shù)語(yǔ)。
聯(lián)合身份管理 (FIM)
OAuth(現(xiàn)在特別是 OAuth 2.0)
OpenID 連接 (OIDC)
安全訪問(wèn)標(biāo)記語(yǔ)言 (SAML)
相同登錄 (SSO)
SSO 實(shí)際上是稱(chēng)為聯(lián)合身份管理的更大概念的一部分,因此有時(shí) SSO 被稱(chēng)為聯(lián)合 SSO。FIM 只是指在兩個(gè)或多個(gè)域或身份管理系統(tǒng)之間創(chuàng)建的信任關(guān)系。單點(diǎn)登錄通常是 FIM 體系結(jié)構(gòu)中可用的功能。
OAuth 2.0 是一個(gè)特定的框架,也可以被視為 FIM 架構(gòu)的一部分。OAuth 專(zhuān)注于信任關(guān)系,允許跨域共享用戶身份信息。
OpenID Connect (OIDC)是建立在 OAuth 2.0 之上的身份驗(yàn)證層,用于提供單點(diǎn)登錄功能。
通常也稱(chēng)為 SSO 的相同登錄實(shí)際上與單點(diǎn)登錄不同,因?yàn)樗簧婕斑M(jìn)行身份驗(yàn)證的實(shí)體之間的任何信任關(guān)系。它更依賴(lài)于在系統(tǒng)之間復(fù)制的憑據(jù),并在必要時(shí)簡(jiǎn)單地傳遞這些憑據(jù)。它不如任何單點(diǎn)登錄解決方案安全。
當(dāng)我們討論單點(diǎn)登錄時(shí),通常還會(huì)出現(xiàn)一些特定的系統(tǒng):Active Directory、Active Directory 聯(lián)合服務(wù) (ADFS) 和輕量級(jí)目錄訪問(wèn)協(xié)議 (LDAP)。
Active Directory,現(xiàn)在專(zhuān)門(mén)稱(chēng)為 Active Directory 目錄服務(wù) (ADDS),是 Microsoft 的集中式目錄服務(wù)。用戶和資源被添加到目錄服務(wù)以進(jìn)行集中管理,并且 ADDS 與 NTLM 和 Kerberos 等身份驗(yàn)證協(xié)議一起使用。因此,屬于 ADDS 的用戶可以從他們的機(jī)器進(jìn)行身份驗(yàn)證,并可以訪問(wèn)與 ADDS 集成的其他系統(tǒng)。這是單點(diǎn)登錄的一種形式。
Active Directory 聯(lián)合身份驗(yàn)證服務(wù) (ADFS) 是一種聯(lián)合身份管理系統(tǒng),還提供單點(diǎn)登錄功能。它同時(shí)支持 SAML 和 OIDC。ADFS 主要用于在 ADDS 與其他系統(tǒng)(如 Azure AD 或其他 ADDS 林)之間建立信任。
輕量級(jí)目錄訪問(wèn)協(xié)議 (LDAP) 只是一個(gè)行業(yè)標(biāo)準(zhǔn),它定義了一種組織和查詢目錄信息的方式。LDAP 允許您集中管理用戶和系統(tǒng)等資源。然而,LDAP 并沒(méi)有定義您如何登錄這些系統(tǒng),這意味著它沒(méi)有定義在身份驗(yàn)證中使用的實(shí)際協(xié)議。但是,它通常用作身份驗(yàn)證過(guò)程和訪問(wèn)控制過(guò)程的一部分。例如,在用戶可以訪問(wèn)特定資源之前,可以使用 LDAP 查詢?cè)撚脩艏捌渌鶎俚娜魏谓M,以查看該用戶是否有權(quán)訪問(wèn)該資源。像 OpenLDAP 這樣的 LDAP 解決方案確實(shí)通過(guò)支持簡(jiǎn)單身份驗(yàn)證和安全層 (SASL) 等身份驗(yàn)證協(xié)議來(lái)提供身份驗(yàn)證。
以上就是關(guān)于“SSO單點(diǎn)登錄原理的詳細(xì)介紹”,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面內(nèi)容由淺到深,通俗易懂,很適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)