什么是 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 系统为进行身份验证所采取的步骤:

  1. 验证登录:第一步是检查用户是否已经登录到身份验证系统。 如果用户已登录,则立即授予访问权限。 如果不是,则将用户定向到身份验证系统进行登录。
  2. 用户登录:对于每个会话,用户必须首先使用唯一的用户名和密码登录身份验证系统。 身份验证系统为会话使用一个令牌,该令牌在用户注销之前一直有效。
  3. 身份验证确认:身份验证过程发生后,将身份验证信息传递给请求验证用户的 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 安全审查,并遵循零信任策略。 全面的安全审查包括对提供身份验证服务的任何第三方进行深入的安全评估。