XML安全:使用SAML确保可移植的信任

XML安全:使用SAML确保可移植的信任,第1张

XML安全:使用SAML确保可移植的信任,第2张

信任不可移植的问题
您经常会遇到需要提供个人信息的 Web 站点,原因基本上是验证或者通过个人首选项定制站点。最终,您会发现在许多不同的地方有多个帐户。如果每个站点都为此设立自己的用户资料库,结果就会造成:
对所有这些单独的站点都要考虑您的信息的安全。
多个站点不能协同为您提供所感兴趣的更精细的服务。
为了进一步说明上述第二点,我提供一个很典型的例子:旅游预约。其中包括机票、旅馆和出租车的预定。您可能希望向某家航空公司、某个旅馆以及某个汽车出租商预订,但是不存在一种机制使您能够在三个独立的站点之间无缝移植——可能需要提交证明进行三次验证(假设这三家您都有帐户)。
SAML 被设计成解决这一问题,它允许只有少数经过选择的团体保留您的信息,并且如果需要,在得到您的明确批准之后这些团体可以与其他有关的团体共享这些信息。这意味着,您的信息安全的掌握在您所信任的团体手中,并且可以访问一些供应商通过组织多种低层次服务所提供的高级服务。
本文将说明 SAML 如何实现这一目标。
通行证适用于什么地方?
Microsoft Passport 试图通过一种非常简单的、集中的方式解决这一问题。Microsoft 通行证服务包括一个大型的中心资料库,存储所有主体及其属性。使用这个中心资料库中的信息,各个参与的站点可以允许主体访问信息或者授权执行特定的动作。的问题是——可能很多组织都有同感——他们失去了对主体数据的所有权。SAML 通过联合识别、验证和授权的形式克服了这一问题。验证和授权的联合制允许企业建立自己所有和控制的数据,并能够以结构化的、受控的方式与协作企业共享这些数据。
SAML 的目标
SAML 的主要目标包括:
建立一种独立于协议和平台的验证和授权交换机制(也称为单点登录,或者SSO)。
应该独立部署环境,能够用于集中式的、分散式的以及联合式的部署场景。
SAML 框架应该是基于 XML 的。
SAML 的体系结构
SAML 是一种控制对已验证主体的资源进行访问的机制。对资源的访问基于特定的策略管理。这种机制需要两种关键性的活动:
基于策略的访问控制决策。
强制实施这些决策。
SAML 提供了两种角色处理这些活动:策略决策点(Policy Decision Points,PDPs)和策略实施点(Policy Enforcement Points,PEPs)。
场景:主体希望从目标 Web 站点访问一些受保护的内容。主体前往能够识别或者已经验证该主体的源 Web 站点。用户从源站点出发尝试访问目标 Web 站点上的受保护内容,步骤如下:
主体向源站点验证并请求到目标站点受保护资源的链接。
源站点使用验证标志重定向主体。
主体使用该标志向目标站点请求受保护的资源。
目标站点 PEP 检查该 PDP 的权限。
PDP 可能内部请求源站点使用该标志进行 SAML 验证断言。
源站点根据标志向目标站点提供 SAML 验证断言。
目标站点向主体提供受保护的资源。
总之,在源站点验证的主体从 SAML 权威获得一个标志并将其提供给目标站点。目标站点使用该标志从源站点请求所需要的信息而不需要明确地从主体获取。
SAML 综述
SAML 规范由以下部分组成:
断言与协议:该规范处理定义 XML 编码的断言的语法和语义,以及请求和响应协议。
绑定与配置文件:该规范处理 SAML 请求/响应消息到底层通信协议如 SOAP 和 SMTP 的映射。控制在底层通信协议中嵌入和提取 SAML 信息的一组规则称为一个配置文件。
一致性规范:不同的 SAML 实现可能只实现这些规范的一部分。一致性规范设置了一种基本标准,SAML 规范的实现在能够称为一致性实现之前必须满足这一标准。这样有助于提高互操作性和兼容性。
安全和保密的问题:该规范涉及 SAML 体系结构中的安全风险,具体而言就是 SAML 如何应对这些风险以及无法解决的风险。
我将采用问答的形式介绍和 SAML 有关的概念。我将逐个回答以下问题以澄清这些基本概念:
什么是 断言?
谁 生产和消费断言?
如何 请求断言,如何发送响应?基本上而言,请求和响应协议是什么?
SAML 请求响应协议可以绑定到哪些底层的通信传输 协议?
如何向 SOAP 这样的底层通信传输协议中 插入 SAML 断言?
什么是 一致性规范,为何需要它?

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » XML安全:使用SAML确保可移植的信任

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情