什麼是 Web SSO 及其工作原理?
已發表: 2019-08-12據《安全雜誌》報導,普通企業用戶管理著 191 個用於專業用途的密碼,以及數十個用於私人用途的密碼。 一個擁有 50,000 名員工的組織可能有多達 1000 萬個密碼供其員工使用。 有這麼多密碼,網絡攻擊擴散的安全漏洞主要來自密碼造成的漏洞。
風險來自使用的密碼過於簡單、容易猜到、用於多個系統且更改頻率不夠高。 最佳安全實踐包括不在多個系統上使用相同的密碼。 大多數專業人士都知道這條規則。 儘管如此,61% 的普通商業用戶承認在任何地方都使用相同的密碼。
這種密碼膨脹的另一個問題是員工浪費大量時間輸入密碼。
密碼管理問題的一種解決方案是消除使用這麼多密碼的需要。 可以使用來自“基於 Web 的單點登錄”(Web SSO)系統的集中式身份驗證方法,而不是使用一組密碼來訪問不同的在線服務。
什麼是 Web SSO?
Web SSO 系統允許用戶使用 SSO Web 服務使用一組用於身份驗證的憑據進行登錄,這些憑據是唯一的用戶名和密碼。 然後,此身份驗證允許他們訪問許多其他基於 Web 的應用程序和受密碼保護的網站。
允許 SSO 進行身份驗證的在線服務和網站依賴於受信任的第三方提供商來驗證用戶的身份。
Web 單點登錄如何工作?
Web 單點登錄系統依賴於在線系統和網站之間的信任關係。
以下是當用戶登錄在線服務或受密碼保護的網站時,Web SSO 系統為進行身份驗證所採取的步驟:
- 驗證登錄:第一步是檢查用戶是否已經登錄到身份驗證系統。 如果用戶已登錄,則立即授予訪問權限。 如果不是,則將用戶定向到身份驗證系統進行登錄。
- 用戶登錄:對於每個會話,用戶必須首先使用唯一的用戶名和密碼登錄身份驗證系統。 身份驗證系統為會話使用一個令牌,該令牌在用戶註銷之前一直有效。
- 身份驗證確認:身份驗證過程發生後,將身份驗證信息傳遞給請求驗證用戶的 Web 服務或網站。
Web SSO 與密碼保管
Web SSO 不同於為各種在線服務擁有不同密碼的安全保險庫。 密碼保管是通過單個用戶名和密碼保護多個密碼。 但是,每次用戶訪問新的在線服務時,都需要登錄該服務。 即使表單字段是從密碼庫中自動填寫的,仍然需要登錄過程。
使用 Web SSO,一旦用戶通過身份驗證,就無需登錄使用該身份驗證系統的任何 Web 服務。 這稱為“一次登錄/全部使用”身份驗證過程。
從頭開始構建單一登錄解決方案
對於某些用途,可以從頭開始創建簡單的單一登錄解決方案。 codeburst.io 上提供了一個使用 Java 的源代碼示例,供那些願意嘗試這種方法的人使用。 它使用令牌工作。 令牌是為一次性使用而創建的一組隨機且唯一的字符,這些字符很難猜到。
用戶在 Web SSO 系統上的登錄會創建一個新會話和一個全局身份驗證令牌。 這個令牌是給用戶的。 當此用戶訪問需要登錄的 Web 服務時,Web 服務會從用戶那裡獲取全局令牌的副本,然後檢查 SSO 服務器以查看用戶是否已通過身份驗證。
如果用戶已經登錄到 SSO 系統,則 SSO 服務器將驗證該令牌的真實性,然後將另一個令牌與用戶信息一起返回給 Web 服務。 這稱為本地令牌。 代幣交換在後台自動完成,無需用戶參與。
熱門網站單點登錄解決方案
對於更高級的用途,有許多強大的單一登錄解決方案可用。 使用網站單點登錄解決方案的身份驗證包括 Capterra 審查的這些流行的基於 Web 的 SSO 系統:
- 最後通行證
- ADSelfService Plus
- 下一代訪問云
- SAP 單點登錄
- JumpCloud DaaS
- OneSign
- 藍光企業
- 安全認證
- SAML Web 瀏覽器 SSO 配置文件
- 開放ID
Web SSO 的好處
基於 Web 的單點登錄非常有用,因為它很方便。 它更容易、更快,並且減少了密碼幫助請求。 用戶不必記住多個密碼,也不再需要單獨登錄每個基於 Web 的服務。
任何 Google Gmail 帳戶持有人都可以使用 Web SSO 的流行示例。 只需一次登錄 Gmail,這些用戶就可以訪問 Google 的所有產品,這些產品可供用戶使用,而無需再次登錄,直到他們從 Gmail 帳戶註銷。 打開 Gmail 後,這些用戶可以立即訪問他們的 Google Drive、Google Photos、Google Apps 和他們的個性化版本的 YouTube。
使用 Web SSO,可以重新捕獲原本會浪費在登錄各種服務上的時間。 Web 服務幾乎消除了有關密碼問題的投訴。 連接到在線服務的過程可以在包括移動設備在內的所有設備上高效運行,從而提高生產力。
企業範圍的身份訪問管理
大型組織可以使用基於 Web 的 SSO 進行身份驗證。 Web SSO 允許用戶單點登錄訪問私人公司數據和網絡系統,以及使用接受相同身份驗證協議的其他實體提供的在線資源。
SSO 與流行的基於 Web 的服務集成
外部單一註冊/登錄服務提供與許多流行的基於 Web 的應用程序的集成,例如 Dropbox、Microsoft Azure Active Directory、New Relic、Salesforce、SharePoint、Slack、Zendesk 等等。
Facebook 和 Google 提供與數千個基於 Web 的系統的 SSO 集成。 每次用戶想要註冊具有此 SSO 集成功能的新服務時,註冊/登錄屏幕將使用來自 Facebook SSO、Google SSO 或非 SSO 的信息提供登錄過程選項通過使用用戶的電子郵件帳戶作為用戶名和用戶選擇的密碼。
Web SSO 與雲服務的集成
雲服務有自己的雲用戶訪問管理方法,也可能接受來自第三方系統的身份驗證。 例如,世界上最大的雲服務提供商亞馬遜網絡服務 (AWS) 在 AWS 內提供其身份訪問管理系統,並允許第三方系統進行用戶身份驗證。
與第三方系統的連接是通過 AWS IAM Authenticator 連接器實現的。 此功能允許系統管理員從許多提供 Web SSO 的服務中進行選擇,例如使用 Amazon EKS 連接到開源 Kubernetes 或 Github。
基於 Web 的單點登錄的安全風險
有一些工具可以提高 IAM 安全性,幫助企業管理風險。 Web SSO 降低了一些風險,同時增加了其他風險。
例如,網絡釣魚攻擊不太有效,因為當用戶被網站的假副本欺騙時,他們不會通過提供用戶名和密碼登錄。 如果網站是假的,則它不受 SSO 服務器的信任,並且如果它嘗試提交全局用戶令牌來請求它,則不會獲得本地會話令牌。 在這種情況下,從虛假站點登錄將自動失敗,從而保護用戶不被嘗試欺騙。
增加的風險可能來自於 SSO 身份驗證系統只有一個用戶名和密碼。 這些機密數據需要得到很好的保護,因為如果它被盜,它可以用來登錄許多在線服務。
基於零信任策略的安全策略,例如多因素身份驗證、自動密碼重置、每次密碼重置都需要不同的複雜密碼以及設備訪問控制有助於提高 SSO 系統安全性
結論
Web SSO 非常方便且應用廣泛。 但是,並非所有 Web SSO 系統都是平等創建的。 仔細選擇 SSO 身份驗證提供程序是使用此類身份驗證的第一條規則。 該第三方的任何數據洩露都可能暴露登錄憑據,這些憑據可以訪問許多在線系統,從而可能造成嚴重損害。
鼓勵 CTO 和 IT 管理員對其 SSO 身份驗證程序進行定期 IT 安全審查,並遵循零信任策略。 全面的安全審查包括對提供身份驗證服務的任何第三方進行深入的安全評估。