什麼是 SSO?| 單點登入如何運作

單一登入 (SSO) 是一種重要的雲端安全技術,可將所有使用者應用程式登入縮減為一個登入,以提高安全性和便利性。

學習目標

閱讀本文後,您將能夠:

  • 瞭解什麼是單一登入 (SSO) 及其運作原理
  • 瞭解使用 SSO 的有點和安全性優勢
  • 探索 SSO 驗證權杖的運作原理

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是單一登入 (SSO)?

單一登入 (SSO) 是一種將多個不同的應用程式登入螢幕合合為一體的技術。使用 SSO,使用者只需在單個頁面上輸入一次登入認證(使用者名稱、密碼等)即可存取其所有 SaaS 應用程式。

SSO 通常用於企業環境中,此時使用者應用程式由內部 IT 團隊指派和管理。使用 SaaS 應用程式的遠端工作人員也可以從使用 SSO 中受益。

想像一下這樣的情況,假如顧客已經被准許進入酒吧,但在每次嘗試購買其他含酒精飲料時都被要求出示身分證以證明年齡。一些顧客很快會因為一再檢查而感到不滿,甚至可能會試圖偷偷飲用自帶飲料,從而規避這些措施。

但是,大多數場所只會檢查一次客戶的身分,然後在一個晚上為客戶提供幾杯飲料。這有點像 SSO 系統:使用者不用一遍又一遍地確認他們的身分,而是確認身分一次,然後可以存取幾個不同的服務。

SSO 是許多身分識別與存取管理 (IAM)存取控制解決方案的一個重要方面。使用者身分驗證對於瞭解每個使用者應具有哪些權限至關重要。Cloudflare Zero Trust 就是與 SSO 解決方案整合來管理使用者身分的一種存取控制解決方案。

SSO 有哪些優勢?

除了對使用者來說更簡單、更方便之外,SSO 還被廣泛認為更安全。這似乎違反直覺:使用一個密碼登入一次,而不是使用多個密碼登入多次,如何更安全?SSO 的支援者列舉了以下原因:

  1. 更強的密碼:使用 SSO 時使用者僅需使用一個密碼,因而能更輕鬆地建立、記憶和使用更強的密碼。*在實踐中通常也是如此:大多數使用者會將更強的密碼與 SSO 搭配使用。

    *什麼樣的密碼是「強」密碼?強密碼不容易被猜到,並且足夠隨機,暴力攻擊不太可能成功。w7:g"5h$G@ 是一個相當強的密碼;password123 則不是。
  2. 沒有重複的密碼: 當使用者必須記住多個不同應用程式和服務的密碼時,可能會出現一種稱為「密碼疲勞」的情況:使用者將跨服務重複使用密碼。在多個服務中使用相同的密碼是一個巨大的安全風險,因為這意味著所有服務的安全性等同於密碼保護最弱的服務:如果該服務的密碼資料庫遭到洩露,攻擊者可以使用密碼來破解使用者的所有其他服務。SSO 將所有登入減少到一次登入,從而消除這種情況。
  3. 更好的密碼原則實施:透過只在一個位置輸入密碼,SSO 為 IT 團隊提供了一種輕鬆實施密碼安全性規則的方法。例如,一些公司要求使用者定期重設其密碼。藉助 SSO,密碼重設更容易實作:使用者只需重設一個密碼,而不是跨多個不同的應用程式和服務不斷重設密碼。(雖然定期密碼重設的作用受到質疑,但一些IT團隊仍然將其視為其安全性策略的重要組成部分。)
  4. 多重要素驗證多重要素驗證 (MFA) 是指使用多個身分因素對使用者進行驗證。例如,除了輸入使用者名稱和密碼外,使用者可能還必須連接 USB 裝置或輸入智慧型手機上顯示的代碼。擁有這個實體物件就是確立使用者身分的第二個「因素」。MFA 比僅依賴密碼要安全得多。SSO 使得在單個點上啟用 MFA 成為可能,而不必為三個、四個或幾十個應用程式啟用它,那樣可能不切實際。
  5. 單點強制重新輸入密碼:管理員可以強制實施在一定時間後重新輸入認證,以確保同一使用者仍在登入裝置上處於作用中狀態。藉助 SSO,他們可以在一個集中位置對所有內部應用程式完成此要求,而不必跨多個不同的應用程式執行(某些應用程式可能並不支援)。
  6. 內部認證管理而不是外部儲存:通常,使用者密碼由應用程式和服務以未受管理的形式遠端儲存,這些應用程式和服務可能遵循也可能不遵循最佳安全做法。但是,使用 SSO,它們儲存在 IT 團隊可以更好掌控的內部環境中。
  7. 減少在密碼復原上浪費的時間:除了上述安全優勢外,SSO 還減少了內部團隊浪費的時間。IT 部門花費更少的時間來協助使用者復原或重設數十個應用程式的密碼,使用者也可以花費更少的時間登入各種應用程式來執行其工作。這有可能提高企業生產力。

SSO 登入如何運作?

每當使用者登入到 SSO 服務時,該服務都會建立一個驗證權杖,用於記住使用者已通過驗證。驗證權杖是儲存在使用者瀏覽器或 SSO 服務的伺服器中的一段數位資訊,類似於頒發給使用者的臨時 ID 卡。使用者存取的任何應用程式都將與 SSO 服務進行確認。SSO 服務將使用者的驗證權杖傳遞給應用程式,然後應用程式允許使用者進入。但是,如果使用者尚未登入,系統將提示他們透過 SSO 服務登入。

SSO 服務不需要記住使用者是誰,因為它不儲存使用者身分。大多數 SSO 服務的運作方式是針對單獨的身分管理服務檢查使用者認證。

將 SSO 視為一個中間人,它可以確認使用者的登入認證是否與他們在資料庫中的身分匹配,而無需自己管理資料庫。這就像是圖書管理員根據書名代表他人查找書籍一樣。圖書館員不用記住整個借書證目錄,但他們可以輕鬆存取它。

SSO 驗證權杖如何運作?

將驗證權杖傳遞給外部應用程式和服務的能力在 SSO 過程中至關重要。這使得身分驗證能夠與其他雲端服務分開進行,從而使 SSO 成為可能。

想想一場只允許少數人參加的獨家活動。要表明活動入口處的保安已經檢查並核准某位客人入場,一種方法是在每位客人的手上蓋章。工作人員可以檢查每位客人的印章,以確保他們已被允許入場。但是,不是任何印章都行;工作人員知道入口處的保安所用印章的確切形狀和顏色。

正如每個印章必須看起來相同一樣,驗證權杖有自己的通訊標準,以確保它們正確且合法。主要的驗證權杖標準稱為 SAML(安全性聲明標記語言)。與用 HTML(超文字標記語言)編寫網頁的方式類似,驗證權杖用 SAML 來編寫。

SSO 如何融入存取管理策略?

SSO 只是管理使用者存取的一個方面。它必須與存取控制、權限控制、活動記錄和其他措施相結合,以追蹤和控制組織內部系統中的使用者行為。但是,SSO 是存取管理的一個關鍵元素。如果系統不知道使用者是誰,則無法允許或限制該使用者的動作。

Cloudflare 是否與 SSO 解決方案整合?

Cloudflare Zero Trust 控制並保護使用者對應用程式和網站的存取;它可以取代大多數 VPN。Cloudflare 與 SSO 提供者整合,以識別使用者並強制執行其指派的存取權限。