SAML vs OIDC:两种常见身份管理协议的对比与应用分析

VSole2022-05-06 11:01:52

安全断言标记语言(SAML)和 OpenID Connect(OIDC)是两种较为常见的身份验证协议和身份标准,有各自的优缺点和差异性。本文将对比 SAML 和 OIDC 两种协议探究各自的企业用例,以及每种协议对身份和访问管理(IAM)的贡献。两种协议都支持单点登录(SSO),但在部署之前需要明确两者在技术和概念上的差异:SAML 的重点在于安全授予跨域网站访问权限,而 OIDC 为移动应用和 Web 应用提供了额外的情境。

01SAML 和 OIDC 的差异

在比较 SAML 2.0 和 OIDC协议之前,首先要比较 SAML 和 OAuth 协议,OAuth 是 OIDC 的基础,OIDC 通过身份层在此基础上进行了扩展,实现去中心化的身份验证服务。OpenID 开源社区于2005年启动了 OpenID 的开发项目。据基金会称,现在已有来自超过50,000多个网站的10亿多个用户账号启用 OpenID,管理支持 OIDC 身份验证、OIDC 社区以及合规操作的基础架构。  

而SAML 2.0 是一个开放标准,自2003年以来一直为商用、私用身份提供程序(IdP)和服务提供程序(SP)提供身份验证和授权功能。SAML 最初使用基于可扩展标记语言(XML)的框架来实现单点登录,允许 IdP 和 SP 彼此独立,支持集中式用户管理。下节将介绍 SAML 的工作原理,探究协议中的每个组件。

SAML 的实现原理

上文提到,SAML 是一种用于身份验证和授权的开放标准,通过身份联合提供对 Web 应用的单点登录访问。SAML 从 IdP 中继用户凭证来验证访问权限和 SP,其中服务提供程序(SP)需要在授予用户访问权限之前进行身份验证。每个用户或组都有各自的属性概括了配置文件信息,并声明具体的访问权限。

SAML 使用 XML 元数据文档, 也就是 SAML 令牌进行断言,验证用户身份和访问权限。

SAML 插件通常会用在应用或资源中实现单点登录,确保符合安全要求,协议中的凭证和断言明确了访问准入的身份。此外,SAML 还能用于控制身份在应用中的访问权限。SAML 的核心组件包括IdP、SP、客户端和属性,这些组件可以交换用户信息从而控制准入。

1)身份提供程序(IdP)

IdP 是维护管理数字身份的服务,在整个应用、网络和 Web 服务范围内验证用户凭证,主要作用是保护用户凭证的完整性,并在需要单点登录的地方提供用户身份联合。

2)客户端

客户端是指使用由 IdP 管理的凭证对服务进行身份验证的用户。举例来说,企业可以通过 SAML 协议批准员工使用企业邮箱和密码完成单点登录来访问所需服务。

3)属性

SAML 还负责将称为断言的消息从 IdP 传输到 SP。这些断言通过验证、授权和确定客户端的权限级别来设置访问事件的所有相关安全要求。这一过程中会使用“部门”、“邮件”和“角色”等属性实施访问管理和准入控制。有时还会使用自定义属性扩展 SAML 协议以支持自定义软件。 

4)服务提供程序(SP)

SP 是用户使用 SAML 进行单点登录后通过身份验证所要使用的资源,通常是私有网站或应用。SP 在授予用户访问权限之前会先接收或拒绝 IdP 针对客户端配置文件发送的断言。SP 会向 IdP 发送身份验证请求,然后客户端会向 IdP 发送断言作为响应。这一过程有时会颠倒顺序,IdP 可以按照任一顺序开始登录流程。

OIDC 的实现原理

OIDC 在 OAuth 协议上进行了扩展,主要组件包括 OAuth 协议的基础框架加上具有唯一性的用户工作流。OIDC 让客户端服务也就是应用通过 OpenID 验证服务器核验用户身份并通过 RESTful API 交换配置文件信息,这些 API 会分派 JSON Web 令牌(JWT)用于身份验证过程中的信息共享。这种方法具有高度的可扩展性和跨平台的灵活性,而且实施相对简单,吸引了很多开发人员。

用户认证

用户是资源所有者,通过授权服务器的身份验证后获取客户端应用的访问权限,授权服务器会授予用户访问令牌,允许应用从用户信息(UserInfo)端点接收同意信息,用户信息端点受到 OpenID 服务器的保护,服务器中的 JSON 对象包含了有关每个用户的断言。随后服务器将身份验证信息编码在应用接收的 ID 令牌中,信息缓存后就能实现可扩展性以及个性化的终端用户体验。

基于 OAuth 2.0 协议

OIDC 建立在 OAuth 2.0 框架的基础上,OAuth 2.0 标准可授予第三方应用和服务访问用户 ID 资源的权限。用户凭证并不是通过网络发送,也不会存储在第三方服务器上,因此提高了资源安全性,也方便了管理员操作。

SAML 和 OIDC 的相似性与差异性

1)相似性

• SAML 和 OIDC 都是实现单点登录的身份协议。

• SAML 和 OIDC 都是安全成熟、有据可查的技术。

• 用户都通过 IdP 进行一次身份验证后就可以访问“信任”IdP 的其他应用。部分零信任服务都会在信任链的每个节点进行身份验证,并使用另一种验证方法定期验证访问。

• 登录工作流对于终端用户似乎都一样,但后台的技术实现却有着千差万别。

2)差异性

• 很多开发人员认为 OIDC 的实现更简单,不需要 XML 处理。

• OIDC 缺乏权限等用户授权数据,重点关注身份断言。SAML 是身份数据的交换,功能更加丰富。

• OIDC 支持去中心化的身份验证。

• SAML 使用断言,OIDC 和 OAuth 使用 ID 令牌。

• OIDC 专为 API 工作负载而设计,可用于保护 API。

用例

开发人员和企业应选择最适合自身特定用例的解决方案,部分情况下也可以采用组合方案。OIDC 主要用于需要请求访问令牌的反向通道网站和移动应用。

SAML 几乎都用于前向通道网站访问,这类访问中用户会触发应用的身份验证,并且假定客户端应用(Web 服务)在与用户设备以外的其他设备上运行。以下是针对两种协议用例的一些通用提示:

• 移动应用通常使用 OIDC 类型的轻量化服务,开发人员使用的工具很大一部分都是预构建工具,也可以从插件库中获得。

• 内置 SAML 的应用使用起来很简单,只涉及 SAML。

• 使用 SAML 从门户访问企业应用。

• 使用 OAuth 2.0 或 OIDC 服务保护 API 或公开 API。

• 企业有时更喜欢用 SAML,因为可以自定义,而且优先交换安全数据。有监管要求的行业几乎都会用 SAML 保护用户敏感信息。

OIDC 和 SAML 协议之间不会相互排斥,企业可以考虑将 SAML 用于单点登录,保护资源访问,对于具有高可扩展性要求的移动化用例则可以使用 OIDC。总的来说,两者各有其优点,都支持单点登录服务。

单点登录saml
本作品采用《CC 协议》,转载必须注明作者和本文链接
它使用AI来评估风险并提出建议以更好地保护帐户。SessionGuardianSessionGuardian提供基于“持续身份验证”技术的解决方案,以保护数据资产免遭盗窃。SessionGuardian成立于2017年,将在RSA展位ESE-12展出。作为RSA创新沙盒决赛入围者,Dazz成立于2021年,展位为1661。
它使用AI来评估风险并提出建议以更好地保护帐户。SessionGuardianSessionGuardian提供基于“持续身份验证”技术的解决方案,以保护数据资产免遭盗窃。SessionGuardian成立于2017年,将在RSA展位ESE-12展出。作为RSA创新沙盒决赛入围者,Dazz成立于2021年,展位为1661。该公司声称该平台允许AppSec团队更快地确定优先级并修复漏洞。该公司声称其目标是为软件生产商和消费者建立信任。Scribe成立于2021年,将在RSA展位ESE-47亮相。Tromzo可自动执行漏洞管理,并为风险补救问责制提供KPI。
身份管理的12个趋势
2018-05-16 21:48:11
刚结束不久的RSA大会上或许已现端倪:大量讨论围绕身份展开,很多公司将自己的产品往身份与访问管理(IAM)上靠,展位上挂满“身份治理”、“身份上下文”、“特权访问管理”、“隐私”、“行为生物特征识别”、“生物特征平台”、“以人为中心的安全”等等标签。
Palo Alto Networks已经修补了一个影响PAN-OS的关键且容易利用的漏洞(CVE-2020-2021),自定义操作系统运行在下一代防火墙和企业VPN设备上,并督促用户尽快升级到固定版本。美国网络司令部(Cyber Command)响应了立即...
武装你的burpsuite(一)
2023-05-04 10:42:48
https://github.com/PortSwigger/turbo-intruder3.ActiveScan++:ActiveScan++是一款非常强大的主动式漏洞扫描器,它可以在Web应用程序中发现多种类型的漏洞,比如SQL注入、XSS攻击等。
两种协议都支持单点登录,但在部署之前需要明确两者的差异。
七个顶级CIAM工具
2022-11-29 10:07:18
根据Gartner的最新报告,到2025年,整合欺诈检测和无密码身份验证的CIAM有望帮助企业将客户流失率减少一半以上。在安全方面,该平台为身份验证和欺诈情报提供集成和连接器。它还具有同意管理功能,确保隐私保护符合GDPR和CCPA等法规。同样,虽然能够检查设备属性以进行风险评分和分析,但功能有限。微软明确表示这将是一个长期重点,也可能会涉及外部用例。
数十年来,公司一直在开发和执行身份和访问管理(IAM)策略。不过,尽管有如此长时间的经验,在实施过程中仍然存在很多错误,尤其是当公司将其IAM平台升级到可以更好地处理现代IT部署的平台时。而这些错误可能会对企业发展产生非常持久的影响。以下六种方法可以判断公司的IAM策略是否失败:
联邦政府警告说,对手正在利用VMware的Workspace One Access和VMware Identity Manager产品中已存在数周的漏洞。针对VMware工作空间One Access漏洞的积极攻击仍在继续,三天前,该供应商修补了该漏洞,并敦促客户修复该漏洞。现在,美国国家安全局加剧了担忧,并在周一警告称,外国对手已经开始利用该漏洞,特别是VMware的Workspace One Access及其Identity Manager产品。这些VMware产品是受命令注入漏洞影响的12个产品中的2个,名叫为CVE-2020-4006,并在星期五进行了修补。当时,VMware表示没有真实利用的报道。
VSole
网络安全专家