更新時間:2022-04-02 09:31:04 來源:動力節點 瀏覽2709次
單點登錄 (SSO) 是一種身份驗證方法,它使用戶能夠使用一組憑據安全地對多個應用程序和網站進行身份驗證。
SSO 的工作基于應用程序(稱為服務提供者)和身份提供者(如 OneLogin)之間建立的信任關系。這種信任關系通常基于身份提供者和服務提供者之間交換的證書。此證書可用于簽署從身份提供者發送到服務提供者的身份信息,以便服務提供者知道它來自受信任的來源。在 SSO 中,此身份數據采用令牌的形式,其中包含有關用戶的識別信息位,例如用戶的電子郵件地址或用戶名。
登錄流程通常如下所示:
1.用戶瀏覽到他們想要訪問的應用程序或網站,也就是服務提供商。
2.作為對用戶進行身份驗證的請求的一部分,服務提供者向 SSO 系統(即身份提供者)發送包含有關用戶的一些信息(例如他們的電子郵件地址)的令牌。
3.身份提供者首先檢查用戶是否已經通過身份驗證,在這種情況下,它將授予用戶訪問服務提供者應用程序的權限并跳到第 5 步。
4.如果用戶尚未登錄,則會通過提供身份提供者所需的憑據來提示他們這樣做。這可能只是用戶名和密碼,也可能包括其他形式的身份驗證,例如一次性密碼 (OTP)。
5.身份提供者驗證提供的憑據后,它將向服務提供者發送一個令牌,確認身份驗證成功。
6.該令牌通過用戶的瀏覽器傳遞給服務提供者。
7.服務提供者收到的令牌根據初始配置期間服務提供者和身份提供者之間建立的信任關系進行驗證。
8.用戶被授予訪問服務提供者的權限。
當用戶嘗試訪問不同的網站時,新網站必須具有使用 SSO 解決方案配置的類似信任關系,并且身份驗證流程將遵循相同的步驟。
SSO 令牌是在 SSO 過程中從一個系統傳遞到另一個系統的數據或信息的集合。數據可以只是用戶的電子郵件地址和有關哪個系統正在發送令牌的信息。令牌必須為令牌接收者進行數字簽名,以驗證令牌來自受信任的來源。用于此數字簽名的證書在初始配置過程中進行交換。
這個問題的答案是“視情況而定”。
SSO 可以提高安全性的原因有很多。單點登錄解決方案可以簡化用戶和管理員的用戶名和密碼管理。用戶不再需要跟蹤不同的憑據集,只需記住一個更復雜的密碼。SSO 通常使用戶能夠更快地訪問他們的應用程序。
SSO 還可以減少幫助臺花費在幫助用戶丟失密碼上的時間。管理員可以集中控制密碼復雜性和多因素身份驗證 (MFA)等要求。當用戶離開組織時,管理員還可以更快地全面放棄登錄權限。
單點登錄確實有一些缺點。例如,您可能希望將應用程序鎖定更多。出于這個原因,選擇一個 SSO 解決方案非常重要,該解決方案使您能夠在用戶登錄特定應用程序之前要求額外的身份驗證因素,或者阻止用戶訪問某些應用程序,除非他們連接到安全的網絡。
SSO 解決方案如何實施的具體細節將根據您使用的確切 SSO 解決方案而有所不同。但無論具體步驟是什么,您都需要確保為您的實施設定了明確的目標和目標。確保您回答以下問題:
您為哪些不同類型的用戶提供服務,他們的不同要求是什么?
您在尋找 On Prem 解決方案還是基于云的解決方案?
該解決方案能否與您的公司和您的需求一起發展?
您正在尋找哪些功能來確保只有受信任的用戶才能登錄?MFA、自適應身份驗證、設備信任、IP 地址白名單等?
您需要與哪些系統集成?
您需要 API 訪問權限嗎?
了解單點登錄和密碼保管或密碼管理器之間的區別很重要,它們有時被稱為 SSO,這可能意味著相同的登錄而不是單點登錄。使用密碼保管,您可能擁有相同的用戶名和密碼,但每次移動到不同的應用程序或網站時都需要輸入它們。密碼保管系統只是為所有不同的應用程序存儲您的憑據,并在必要時插入它們。應用程序和密碼保管系統之間沒有建立信任關系。
使用 SSO,即單點登錄,通過 SSO 解決方案登錄后,您可以訪問所有公司批準的應用程序和網站,而無需再次登錄。這包括云應用程序以及本地應用程序,通常可通過 SSO 門戶(也稱為登錄門戶)獲得。
在研究可用的 SSO 選項時,您可能會看到它們有時被稱為 SSO 軟件 vs SSO 解決方案 vs SSO 提供商。在許多情況下,差異可能僅僅在于公司對自己進行分類的方式。一個軟件建議安裝在本地的東西。它通常旨在執行一組特定的任務,僅此而已。一種解決方案表明可以擴展或定制核心產品的功能。提供者是指生產或托管解決方案的公司的一種方式。例如,OneLogin 被稱為 SSO 解決方案提供商。
當我們談論單點登錄 (SSO) 時,會使用很多術語。
聯合身份管理 (FIM)
OAuth(現在特別是 OAuth 2.0)
OpenID 連接 (OIDC)
安全訪問標記語言 (SAML)
相同登錄 (SSO)
SSO 實際上是稱為聯合身份管理的更大概念的一部分,因此有時 SSO 被稱為聯合 SSO。FIM 只是指在兩個或多個域或身份管理系統之間創建的信任關系。單點登錄通常是 FIM 體系結構中可用的功能。
OAuth 2.0 是一個特定的框架,也可以被視為 FIM 架構的一部分。OAuth 專注于信任關系,允許跨域共享用戶身份信息。
OpenID Connect (OIDC)是建立在 OAuth 2.0 之上的身份驗證層,用于提供單點登錄功能。
通常也稱為 SSO 的相同登錄實際上與單點登錄不同,因為它不涉及進行身份驗證的實體之間的任何信任關系。它更依賴于在系統之間復制的憑據,并在必要時簡單地傳遞這些憑據。它不如任何單點登錄解決方案安全。
當我們討論單點登錄時,通常還會出現一些特定的系統:Active Directory、Active Directory 聯合服務 (ADFS) 和輕量級目錄訪問協議 (LDAP)。
Active Directory,現在專門稱為 Active Directory 目錄服務 (ADDS),是 Microsoft 的集中式目錄服務。用戶和資源被添加到目錄服務以進行集中管理,并且 ADDS 與 NTLM 和 Kerberos 等身份驗證協議一起使用。因此,屬于 ADDS 的用戶可以從他們的機器進行身份驗證,并可以訪問與 ADDS 集成的其他系統。這是單點登錄的一種形式。
Active Directory 聯合身份驗證服務 (ADFS) 是一種聯合身份管理系統,還提供單點登錄功能。它同時支持 SAML 和 OIDC。ADFS 主要用于在 ADDS 與其他系統(如 Azure AD 或其他 ADDS 林)之間建立信任。
輕量級目錄訪問協議 (LDAP) 只是一個行業標準,它定義了一種組織和查詢目錄信息的方式。LDAP 允許您集中管理用戶和系統等資源。然而,LDAP 并沒有定義您如何登錄這些系統,這意味著它沒有定義在身份驗證中使用的實際協議。但是,它通常用作身份驗證過程和訪問控制過程的一部分。例如,在用戶可以訪問特定資源之前,可以使用 LDAP 查詢該用戶及其所屬的任何組,以查看該用戶是否有權訪問該資源。像 OpenLDAP 這樣的 LDAP 解決方案確實通過支持簡單身份驗證和安全層 (SASL) 等身份驗證協議來提供身份驗證。
以上就是關于“SSO單點登錄原理的詳細介紹”,大家如果想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面內容由淺到深,通俗易懂,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習