什么是 SSO?| 单点登录的工作方式

单点登录(SSO)是一种重要的云安全技术,可将所有用户应用程序登录缩减为一个登录,以提高安全性和便利性。

学习目标

阅读本文后,您将能够:

  • 了解单点登录(SSO)的定义及工作方式
  • 了解使用 SSO 的优点和安全优势
  • 探索 SSO 身份验证令牌的工作方式

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是单点登录(SSO)?

单点登录 (SSO) 技术将多个不同应用程序登录屏幕组合在一起。使用 SSO 时,用户只需在一个页面上输入一次登录凭据(用户名和密码等),即可访问其所有 SaaS 应用程序。

SSO 通常在企业环境中使用,其中用户应用程序由内部 IT 团队进行分配和管理。使用 SaaS 应用程序的远程工作人员也可以从使用 SSO 中受益。

想象一下,假如顾客已经被准许进入酒吧,但在每次尝试购买其他含酒精饮料时都被要求出示身份证以证明年龄,他们会如何。一些顾客很快会因为一再检查而感到不满,甚至可能会试图通过偷偷饮用自带饮料来规避这些措施。

但是,大多数酒吧只会检查一次顾客的身份,然后在整个夜晚为顾客提供多杯饮料。这在一定程度上与 SSO 系统类似:用户无需一次又一次地确立其身份,而是只确立一次,然后就能访问多种不同的服务。

SSO 是许多身份和访问管理 (IAM)访问控制解决方案的重要方面。用户身份验证对于了解每个用户应具有的权限至关重要。例如,Cloudflare Zero Trust 就是一种集成 SSO 解决方案来管理用户身份的访问控制解决方案。

文章
通过 Zero Trust 提升组织信任度
指南
保护应用程序访问的 Zero Trust 指南

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 部门花费更少的时间来帮助用户恢复或重置数十个应用的密码,用户也可以花费更少的时间登录各种应用来执行其工作。这有可能提高企业生产力。
注册
任何 Cloudflare 计划均可提供安全性和速度

SSO 登录如何工作?

每当用户登录 SSO 服务时,该服务会创建一个身份验证令牌,记住该用户已通过验证。身份验证令牌是存储在用户浏览器中或 SSO 服务服务器中的一条数字信息,就像颁发给用户的一张临时身份证。用户访问的任何应用与 SSO 服务核查。SSO 服务将用户的身份验证令牌传递给应用,用户便被获准进入。但是,如果用户尚未登录,则提示他们通过 SSO 服务进行登录。

SSO 服务不一定记住用户是谁,因为它不存储用户身份。大多数 SSO 服务在工作时要与单独的身份管理服务核查用户的凭证。

SSO 可被视为一种中介,它可以确认用户的登录凭证是否与数据库中的身份相符,而无需自己管理数据库。这就如图书馆员代表他人根据书名查找书籍一样。图书馆员不用记住整个借书证目录,但可以轻松访问它。

SSO 身份验证令牌如何工作?

在 SSO 流程中,能否将身份验证令牌传递给外部应用程序和服务至关重要。这样,身份验证才能与其他云服务分开运作,使 SSO 成为可能。

打个比方,有一个只允许少数人参加的专属活动。若要指出活动入口处的保安已经检查并批准某位客人,一种方法是在每位客人的手臂上盖章。工作人员可以检查每位客人的印章,以确保他们已被允许到场。但是,不是任何印章都行;工作人员知道入口处的保安所用印章的确切形状和颜色。

就像每个印章必须外观一致,身份验证令牌也有自己的通信标准来确保其正确和合法。主要的身份验证令牌标准称为 SAML(安全断言标记语言)。与用 HTML(超文本标记语言)编写网页的方式类似,身份验证令牌用 SAML 来编写。

SSO 如何与访问管理策略契合?

SSO 只是管理用户访问的一个方面。它必须与访问控制、权限控制、活动日志以及其他用于跟踪和控制组织内部系统中用户行为的手段相结合。但是,SSO 是访问管理的关键要素。如果系统不知道用户的身份,就无法允许或限制这个用户的操作。

Cloudflare 是否与 SSO 解决方案集成?

Cloudflare Zero Trust 控制并保护用户对应用程序和网站的访问;它可以充当大多数 VPN 的替代品。Cloudflare 集成了 SSO 提供程序,以识别用户并实施为其分配的访问权限。