扫码领资料
获网安教程
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
如今,许多组织都有大量需要每天进行身份验证的应用程序。用户使用传统意义上的凭据在应用程序进行身份验证时容易遭到社会工程学攻击以及信息泄露风险。
单点登录验证(Single Sign-On)
单点登录身份验证,无论是内部还是外部[联合],都最大限度地减少了处理密码安全的麻烦,并降低了丢失敏感身份数据的风险。
单点登录是一种在组织内部通过用户身份验证用户身份并允许他们访问与其身份相关的资源[应用程序]的方法。
在深入研究身份验证过程之前,我们需要了解一些术语:
身份(Identity):是定义组织中的用户的一组属性和信息。这些属性包括名称、角色、访问策略等
身份服务提供商(IDP server,以下简称IDP):是在授予用户访问应用程序之前验证用户身份的系统。
服务提供(Service Provide,以下简称SP):是向用户提供服务的应用程序。应用程序可以位于本地或云端。
假设我们有一个名为 Steve 的用户,他有权在内部访问 SP 1[Splunk] 和 SP 2 [Tenable]。这些权限被视为他的属性,存储在组织身份提供商 [IDP] 上的 Steve 身份中。
当 Steve 想要访问 Splunk 或 Tenable 应用程序时,他将在访问应用程序之前首先向组织身份提供商进行身份验证。如果 IDP 识别出该用户,它将发回给Steve一个断言令牌(assertion token),允许 Steve 访问 Splunk 和 Tenable。
IDP 主要检查两件事:
1- 用户 Steve 是否存在于组织身份提供商数据库中。
2- Steve拥有哪些权限/属性,授予他对内部应用程序的正确访问类型
在上面的示例中,Steve 向 IDP 进行了身份验证,并仅授予他访问 Splunk 和 Tenable 的权限,而不授予他访问 Workday 的权限,因为他的身份不具备允许访问Workday的属性。
联合身份验证(Federated authentication)
联合身份验证是一种广泛的单点登录,用于访问不同组织之间的应用程序和服务提供商,例如第三方应用程序,例如 Salesforce、云应用程序等。
联合身份验证在身份验证过程中不涉及传递敏感信息或凭据。它主要依赖于由联合身份提供商验证的用户身份,联合身份提供商将这些身份传递给服务提供商,服务提供商规定这些用户所需的访问权限。服务提供商不需要直接从用户处进行身份验证;它信任 IDP 提供的身份确认。
用户首先向作为联合应用程序一部分的联合身份提供者进行身份验证,并检查用户的身份是否存在,如果存在,则将身份属性传递给服务提供者并授权用户访问其服务,用户即可对服务进行相应的访问。
以上就是单点登录和联合身份验证之间差异的快速概述。
参考
•https://www.pingidentity.com/en/platform/access-security.htm•https://www.pingidentity.com/en/resources/client-library/white-papers/2017/3297-expanding-sso-to-comprehensive-access-management.html•https://www.onelogin.com/learn/how-single-sign-on-works
以上内容由白帽子左一翻译并整理。原文:https://medium.com/r3d-buck3t/single-sign-on-vs-federation-55418486e192
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):一文理解单点登录与联合登录
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论