SAML- 安全断言标记语言

一、概念

安全断言标记语言(SAML)是一种开放标准,用于在各方之间(特别是身份提供商和服务提供商之间)交换身份验证和授权数据。SAML

是一种基于XML的安全断言标记语言(服务提供商用来做出访问控制决策的语句)。SAML 也是:

  • 一组基于 XML 的协议消息
  • 一组协议消息绑定
  • 一组配置文件(利用以上所有内容)

SAML 解决的一个重要用例是Web 浏览器 单点登录(SSO)。单点登录在安全域内相对容易实现(例如,使用cookie ),但跨安全域扩展

SSO 则更加困难,并导致不可互操作的专有技术的激增。SAML Web 浏览器 SSO 配置文件经过指定和标准化以促进互操作性。

SAML 规范定义了三种角色:主体(通常是用户)、身份提供者(IdP) 和服务提供者(SP)。

二、原理

1. 请求 SP 处的目标资源(仅限 SAML 2.0)

主体(通过 HTTP 用户代理)向服务提供者请求目标资源:

复制代码
https://sp.example.com/myresource
2. 重定向到 IdP 处的 SSO 服务(仅限 SAML 2.0)

服务提供商确定用户的首选身份提供商(通过未指定的方式)并将用户代理重定向到身份提供商处的 SSO 服务:

复制代码
https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request

参数的值SAMLRequest(由上面的占位符表示request)是压缩元素的Base64编码。 samlp:AuthnRequest

3. 在 IdP 处请求 SSO 服务(仅限 SAML 2.0)

用户代理通过步骤 2 中的 URL 向 SSO 服务发出 GET 请求。SSO 服务处理该请求AuthnRequest(通过 URL 查询参数发送SAMLRequest)并执行安全检查。如果用户没有有效的安全上下文,身份提供者将识别该用户(详细信息省略)。

4. 使用 XHTML 表单进行响应

SSO 服务验证请求并使用包含 XHTML 表单的文档进行响应:

复制代码
    <form method="post" action="https://sp.example.com/SAML2/SSO/POST" ...>
    <input type="hidden" name="SAMLResponse" value="response" />
    ...
    <input type="submit" value="Submit" />
  </form>
5. 在SP处请求断言消费者服务

用户代理向服务提供者处的断言消费者服务发出 POST 请求。参数值SAMLResponse取自步骤 4 中的 XHTML 表单。

6.重定向到目标资源

断言消费者服务处理响应,在服务提供者处创建安全上下文并将用户代理重定向到目标资源。

7、再次向SP请求目标资源

用户代理(再次)向服务提供者请求目标资源:

复制代码
https://sp.example.com/myresource
8. 响应请求的资源

由于存在安全上下文,服务提供者将资源返回给用户代理。

相关推荐
anew___5 小时前
《从零手写操作系统 (63):安全与加固——从内核保护到沙箱隔离》
网络·安全
其实防守也摸鱼5 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
乐维_lwops7 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
m0_715674439 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
大数据·网络·人工智能·安全·网络安全·政务
山东科恩光电9 小时前
安全触边在智能制造产线自动化设备防夹伤防护中的选型与应用实践
安全
躺柒10 小时前
读数据安全架构设计与实践20安全政策文件体系(上)
大数据·人工智能·安全·数据安全·安全架构·安全体系
文谦南宁AI普工10 小时前
CVSS 10.0 沙箱逃逸 + 假扩展后门:给 Agent 开发者的供应链与沙箱安全复盘(附可跑的配置审计器)
安全·agent·ai编程
时文鲜读15 小时前
算力基建提速,数据中心安全建设与工业可靠性如何同步升级?
大数据·人工智能·安全
yz_aiks16 小时前
Postman 自动给 Claude Code、Codex、Cursor 装插件怎么查和卸载:本机实测 5 处痕迹(Postman 12.34)
安全·postman·ai编程·开发工具·claude code
达梦产品与服务17 小时前
SQLark V4.2 更新 | 新增TiDB、SSL安全连接、数据字典、清空/截断表等40+项功能已上线!
数据库·安全·tidb·ssl