單點登入 (SSO):工作原理、實現方法和優勢
什麼是單點登入?
SSO 是一種將多個應用程式登入視窗合併到單個螢幕的系統。要訪問所有 SaaS 服務,使用者只需在單個頁面上使用 SSO 輸入一次其登入憑據即可。
SSO 廣泛應用於企業環境中,其中使用者應用程式由內部 IT 團隊分配和管理。使用 SaaS 服務的遠端員工也受益於 SSO。
想象一下,如果之前被允許進入酒吧的顧客每次想要購買更多酒水時都需要出示身份證,會發生什麼情況。一些顧客會對持續不斷的檢查感到惱火,甚至會試圖透過自帶酒水來規避檢查。
另一方面,大多數企業會簡單地驗證一次顧客的身份,然後在整個晚上為其提供多種酒水。這與 SSO 系統相同,使用者只需建立一次身份,然後即可訪問多種服務,而不是多次驗證其身份。
許多身份和訪問管理 (IAM) 或訪問控制解決方案都包含單點登入 (SSO)。驗證使用者身份對於確定每個使用者應該具有的許可權至關重要。Cloudflare Zero Trust 就是一個使用 SSO 解決方案控制使用者身份的訪問控制系統的例子。
單點登入是如何工作的?
SSO 基於服務提供商和身份提供商(如 OneLogin)之間建立信任關係。這種信任關係通常透過身份提供商和服務提供商之間交換證書來建立。該證書可用於檢查從身份提供商傳輸到服務提供商的身份資訊,確保服務提供商收到的資訊來自可靠的來源。此身份資料以令牌的形式儲存在 SSO 中,其中包含有關使用者的識別資訊,例如電子郵件地址或使用者名稱。
以下是典型的登入流程 -
使用者訪問服務提供商,即他們想要訪問的程式或網站。
服務提供商向 SSO 系統或身份提供商傳送令牌,作為驗證使用者身份的請求的一部分。令牌包含一些有關使用者的資訊,例如他們的電子郵件地址。
身份提供商首先檢查以確定使用者是否已透過身份驗證;如果已驗證,則使用者將被授予訪問服務提供商應用程式的許可權,並將跳過步驟 5。
如果使用者尚未登入,系統將提示他們輸入身份提供商的憑據進行登入。
這可能很簡單,如使用者名稱和密碼,也可能包含其他型別的身份驗證,例如一次性密碼。
當身份提供商檢查提供的憑據後,它會向服務提供商返回一個令牌,表明身份驗證成功。
使用者的瀏覽器將此令牌傳送到服務提供商。
服務提供商在初始配置期間與身份提供商建立的信任連線用於驗證服務提供商收到的令牌。
授予使用者訪問服務提供商的許可權。
當用戶嘗試訪問另一個網站時,新網站必須與 SSO 解決方案建立類似的信任關係,並且身份驗證將遵循類似的步驟。
實施 SSO 的流程是什麼?
SSO 解決方案的部署細節將根據所使用的 SSO 解決方案而有所不同。但是,無論具體步驟如何,都必須確保已為實施明確定義目標和目標。
確保您回答以下問題 -
您為哪些不同型別的使用者提供服務,以及他們的不同需求是什麼?
您對本地部署還是基於雲的解決方案感興趣?
此解決方案能夠擴充套件以滿足您業務的需求嗎?
您需要哪些功能來確保只有可信的人員才能登入?MFA、自適應身份驗證、裝置信任、IP 地址白名單等?
您需要連線哪些系統?您需要 API 訪問許可權嗎?
SSO 的優勢
在本節中,讓我們看看實施單點登入可能有哪些優勢。
幫助使用者生成、記住和使用更強的密碼
SSO 提示使用者生成更強的密碼,因為他們只需要使用一個密碼。使用 SSO,大多數使用者會選擇更強的密碼。
您如何知道密碼是否“強”?強密碼難以猜測,並且足夠隨機,以至於蠻力攻擊不太可能成功。“w7:g"5h$G@" 是一個不錯的密碼;“password123”則不是。
不應重複使用密碼
當用戶需要記住多個應用程式和服務的密碼時,可能會出現“密碼疲勞”的情況,導致在服務之間重複使用密碼。
對多個服務使用相同的密碼存在重大的安全風險,因為所有服務的安全級別都與密碼保護最弱的服務一樣:如果該服務的密碼資料庫遭到洩露,攻擊者可以使用該密碼破解使用者的其他所有服務。
SSO 透過將所有登入整合到單個帳戶中來避免此問題。
提高對密碼策略的遵守率
SSO 允許 IT 團隊透過集中密碼輸入來輕鬆執行密碼安全策略。例如,一些企業要求使用者定期更改密碼。
使用 SSO 更容易重置密碼,因為使用者只需更改一個密碼,而不是跨多個應用程式和服務更改多個密碼。(雖然頻繁重置密碼的有效性受到質疑,但一些 IT 部門仍然認為它是其安全策略的關鍵部分。
多因素身份驗證
MFA 或多因素身份驗證是指使用多個身份識別要素來驗證使用者身份。除了提供使用者名稱和密碼外,使用者可能還需要連線 USB 裝置或輸入其智慧手機上顯示的程式碼。使用者擁有此實物是第二個“因素”,用於驗證他們就是他們聲稱的那個人。MFA 比僅使用密碼安全得多。
SSO 允許您從單個位置啟用 MFA,而不是必須為三個、四個或幾十個應用程式啟用 MFA,而這些應用程式可能無法支援 MFA。
管理員可以限制在特定時間段後重新輸入密碼,以確保同一使用者仍在已登入的裝置上處於活動狀態。
SSO 允許他們從單個位置為所有內部應用程式執行此操作,而不是必須在各個應用程式中執行此操作,其中一些應用程式可能不支援它。
在內部管理憑據,而不是將它們儲存在外部
使用者憑據通常由程式和服務遠端持有,未經管理,這些程式和服務可能遵守或不遵守標準安全實踐。另一方面,SSO 將它們儲存在 IT 團隊擁有更多控制權的環境中。
減少密碼恢復帶來的時間損失
除了上述安全優勢外,SSO 還幫助內部團隊節省時間。使用者花費更少的時間登入多個應用程式來完成工作,而 IT 花費更少的時間讓使用者恢復或重置數十個應用程式的密碼。這有可能提高工作場所的生產力。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP