首页 课程 师资 教程 报名

SSO单点登录原理的详细介绍

  • 2022-04-02 09:31:04
  • 1091次 动力节点

什么是单点登录?

单点登录 (SSO) 是一种身份验证方法,它使用户能够使用一组凭据安全地对多个应用程序和网站进行身份验证。

SSO 如何工作?

SSO 的工作基于应用程序(称为服务提供者)和身份提供者(如 OneLogin)之间建立的信任关系。这种信任关系通常基于身份提供者和服务提供者之间交换的证书。此证书可用于签署从身份提供者发送到服务提供者的身份信息,以便服务提供者知道它来自受信任的来源。在 SSO 中,此身份数据采用令牌的形式,其中包含有关用户的识别信息位,例如用户的电子邮件地址或用户名。

登录流程通常如下所示:

1.用户浏览到他们想要访问的应用程序或网站,也就是服务提供商。

2.作为对用户进行身份验证的请求的一部分,服务提供者向 SSO 系统(即身份提供者)发送包含有关用户的一些信息(例如他们的电子邮件地址)的令牌。

3.身份提供者首先检查用户是否已经通过身份验证,在这种情况下,它将授予用户访问服务提供者应用程序的权限并跳到第 5 步。

4.如果用户尚未登录,则会通过提供身份提供者所需的凭据来提示他们这样做。这可能只是用户名和密码,也可能包括其他形式的身份验证,例如一次性密码 (OTP)。

5.身份提供者验证提供的凭据后,它将向服务提供者发送一个令牌,确认身份验证成功。

6.该令牌通过用户的浏览器传递给服务提供者。

7.服务提供者收到的令牌根据初始配置期间服务提供者和身份提供者之间建立的信任关系进行验证。

8.用户被授予访问服务提供者的权限。

当用户尝试访问不同的网站时,新网站必须具有使用 SSO 解决方案配置的类似信任关系,并且身份验证流程将遵循相同的步骤。

什么是 SSO 令牌?

SSO 令牌是在 SSO 过程中从一个系统传递到另一个系统的数据或信息的集合。数据可以只是用户的电子邮件地址和有关哪个系统正在发送令牌的信息。令牌必须为令牌接收者进行数字签名,以验证令牌来自受信任的来源。用于此数字签名的证书在初始配置过程中进行交换。

SSO 安全吗?

这个问题的答案是“视情况而定”。

SSO 可以提高安全性的原因有很多。单点登录解决方案可以简化用户和管理员的用户名和密码管理。用户不再需要跟踪不同的凭据集,只需记住一个更复杂的密码。SSO 通常使用户能够更快地访问他们的应用程序。

SSO 还可以减少帮助台花费在帮助用户丢失密码上的时间。管理员可以集中控制密码复杂性和多因素身份验证 (MFA)等要求。当用户离开组织时,管理员还可以更快地全面放弃登录权限。

单点登录确实有一些缺点。例如,您可能希望将应用程序锁定更多。出于这个原因,选择一个 SSO 解决方案非常重要,该解决方案使您能够在用户登录特定应用程序之前要求额外的身份验证因素,或者阻止用户访问某些应用程序,除非他们连接到安全的网络。

SSO 是如何实现的?

SSO 解决方案如何实施的具体细节将根据您使用的确切 SSO 解决方案而有所不同。但无论具体步骤是什么,您都需要确保为您的实施设定了明确的目标和目标。确保您回答以下问题:

您为哪些不同类型的用户提供服务,他们的不同要求是什么?

您在寻找 On Prem 解决方案还是基于云的解决方案?

该解决方案能否与您的公司和您的需求一起发展?

您正在寻找哪些功能来确保只有受信任的用户才能登录?MFA、自适应身份验证、设备信任、IP 地址白名单等?

您需要与哪些系统集成?

您需要 API 访问权限吗?

什么是真正的 SSO 系统?

了解单点登录和密码保管或密码管理器之间的区别很重要,它们有时被称为 SSO,这可能意味着相同的登录而不是单点登录。使用密码保管,您可能拥有相同的用户名和密码,但每次移动到不同的应用程序或网站时都需要输入它们。密码保管系统只是为所有不同的应用程序存储您的凭据,并在必要时插入它们。应用程序和密码保管系统之间没有建立信任关系。

使用 SSO,即单点登录,通过 SSO 解决方案登录后,您可以访问所有公司批准的应用程序和网站,而无需再次登录。这包括云应用程序以及本地应用程序,通常可通过 SSO 门户(也称为登录门户)获得。

什么是 SSO 软件与 SSO 解决方案

在研究可用的 SSO 选项时,您可能会看到它们有时被称为 SSO 软件 vs SSO 解决方案 vs SSO 提供商。在许多情况下,差异可能仅仅在于公司对自己进行分类的方式。一个软件建议安装在本地的东西。它通常旨在执行一组特定的任务,仅此而已。一种解决方案表明可以扩展或定制核心产品的功能。提供者是指生产或托管解决方案的公司的一种方式。例如,OneLogin 被称为 SSO 解决方案提供商。

是否有不同类型的 SSO?

当我们谈论单点登录 (SSO) 时,会使用很多术语。

联合身份管理 (FIM)

OAuth(现在特别是 OAuth 2.0)

OpenID 连接 (OIDC)

安全访问标记语言 (SAML)

相同登录 (SSO)

SSO 实际上是称为联合身份管理的更大概念的一部分,因此有时 SSO 被称为联合 SSO。FIM 只是指在两个或多个域或身份管理系统之间创建的信任关系。单点登录通常是 FIM 体系结构中可用的功能。

OAuth 2.0 是一个特定的框架,也可以被视为 FIM 架构的一部分。OAuth 专注于信任关系,允许跨域共享用户身份信息。

OpenID Connect (OIDC)是建立在 OAuth 2.0 之上的身份验证层,用于提供单点登录功能。

通常也称为 SSO 的相同登录实际上与单点登录不同,因为它不涉及进行身份验证的实体之间的任何信任关系。它更依赖于在系统之间复制的凭据,并在必要时简单地传递这些凭据。它不如任何单点登录解决方案安全。

当我们讨论单点登录时,通常还会出现一些特定的系统:Active Directory、Active Directory 联合服务 (ADFS) 和轻量级目录访问协议 (LDAP)。

Active Directory,现在专门称为 Active Directory 目录服务 (ADDS),是 Microsoft 的集中式目录服务。用户和资源被添加到目录服务以进行集中管理,并且 ADDS 与 NTLM 和 Kerberos 等身份验证协议一起使用。因此,属于 ADDS 的用户可以从他们的机器进行身份验证,并可以访问与 ADDS 集成的其他系统。这是单点登录的一种形式。

Active Directory 联合身份验证服务 (ADFS) 是一种联合身份管理系统,还提供单点登录功能。它同时支持 SAML 和 OIDC。ADFS 主要用于在 ADDS 与其他系统(如 Azure AD 或其他 ADDS 林)之间建立信任。

轻量级目录访问协议 (LDAP) 只是一个行业标准,它定义了一种组织和查询目录信息的方式。LDAP 允许您集中管理用户和系统等资源。然而,LDAP 并没有定义您如何登录这些系统,这意味着它没有定义在身份验证中使用的实际协议。但是,它通常用作身份验证过程和访问控制过程的一部分。例如,在用户可以访问特定资源之前,可以使用 LDAP 查询该用户及其所属的任何组,以查看该用户是否有权访问该资源。像 OpenLDAP 这样的 LDAP 解决方案确实通过支持简单身份验证和安全层 (SASL) 等身份验证协议来提供身份验证。

以上就是关于“SSO单点登录原理的详细介绍”,大家如果想了解更多相关知识,可以关注一下动力节点的Java在线学习,里面内容由浅到深,通俗易懂,很适合没有基础的小伙伴学习,希望对大家能够有所帮助哦。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交