互联网安全方面最具挑战性的一个问题是维持一次无缝操作和安全环境时, 使各不相同的安全系统达到一体化。由于一些公司经常需要通过网络来交换机密的资料或数据,因此,对于安全意义非常重大的Web服务来说,对这种功能的要求尤为重要,比如进行电子商务活动。
结构化信息标准促进组织(OASIS)建立的安全标准SAML(安全声明标记语言),是基于XML(可扩展标记语言)面向Web服务的架构。SAML通过因特网对不同的安全系统的信息交换进行处理。
了解SAML
SAML并不是一项新技术。确切地说,它是一种语言,进行单一的XML描述,允许不同安全系统产生的信息进行交换。通常来说,一个企业物理或逻辑的范围已经界定了企业的IT安全;然而,由于在线合作需要共享更可靠的安全服务环境,因此IT安全越来越成为人们关注的重点问题。
SAML正是为解决网络安全性问题而发挥其作用。SAML在传统意义上的安全界定与商务站点之间,建立了一种安全信息的交换渠道。SAML作为安全信息交换的"中间人",促使一个站点上的交易业务能够在另一个信任的站点上得到处理完成。由此可见,实现交易双方商业协议或合作的一个先决条件,是要求使用SAML作为共享的安全架构的一部份。
SAML是如何工作的
SAML在标准行业传输协议环境里工作,例如HTTP、SMTP和FTP;同时也服务于各种各样的XML文件交换框架,如:SOAP和BizTalk。SAML具备的一个最突出的好处,是使用户能够通过因特网进行安全证书移动。也就是说,使用SAML标准作为安全认证和共享资料的中间语言,能够在多个站点之间实现单点登录。
此外,SAML还针对不同的安全系统提供了一个共有的框架,允许企业及其供应商、客户与合作伙伴进行安全的认证、授权和基本信息交换。由于SAML是通过XML对现有的安全模式进行描述,因此它是一个中立的平台并且不需要依赖于供应商的基础结构。
Web浏览器-SAML声明是由一个Web浏览器通过cookies或URL链接进行通信。
HTTP - SAML声明通过标题或一个HTTP POST ,从源站点传送到目的站点。
MIME - SAML 声明被封装为一个单一的MIME(多用途网际邮件扩充协议)安全包,由消息的有效载荷组成,例如:一张定购单、或在线银行的信用报告书等等。
SOAP - SAML 声明限制/约束SOAP文档的信封标题以保证有效载荷。
ebXML- 电子商务全球化标准提供了一个基于MIME的封装结构,通常用于绑定SAML声明进行商业有效载荷。
若你所见,SAML使用的对象称为断言或声明。这些声明由值得信任的权威安全机构,通过使用请求/响应协议(SAMLQuery, SAML QueryResponse)产生并发送。SAML在XML中为认证声明和认证属性建立了一个数据格式,其参数取决于安全服务产生的基于政策的认证结果。
SAML的消息格式能够从一个源站点(站点起到SAML认证管理机构的作用)将声明发送给一个接受者。使电子商务合作中的事务处理速度得到加快,并且使认证环境的复杂性得到全面的简化。事实上,SAML并没有创建安全政策,而是由相关的安全权威机构进行制定;但是SAML为这些安全政策的表达提供了标准格式,因此安全决议能够得到有效地制定。
SAML的工作原理
1.用户向认证机构提交证书(这里的认识机构是指SAML能够识别的任何安全引擎或商业应用程序)。
2.认证机构对用户的证书进行断言,并且产生一个认证声明以及一个或更多的属性声明(例如用户资料信息)。用户立即就会得到由SAML断言的认证和识别标志。
3.用户使用这个SAML标志尝试访问一个受保护的资源。
4.最终用户对保护资源的访问请求被PEP(Policy Enforcement Point)截取,同时最终用户的SAML标志(认证声明)被PEP提交给属性管理(能够被SAML识别的任何安全引擎或商业应用程序)。
5.属性管理或PDP(Policy Decision Point)基于自身的政策标准产生一个决定。一旦批准最终用户对保护资源进行访问,就会产生一个附加在SAML标志上的属性声明。最终用户的SAML标志就能够以单点登录方式呈现给信任的商业伙伴。
SAML如何使用
介绍几种SAML的使用方式
单点登录
举一个简单的例子:用户在一个站点上取得认证授权,当用户需要访问另一个相关站点的资源时,目的站点(保护资源的持有者)能够使用SAML从源站点调取用户的证书信息。此时SAML对信息交换的处理发生在后台,因此用户的资源实际上被不同的安全系统进行了定位。
授权服务
通常来说,当一个用户请求访问一个动态保护的或受限制的Web 资源时,访问请求已被传递给一个后端应用程序。SAML使合作组织的后端安全架构相互作用,确定是否他们准予用户的访问请求。
B2B
在B2B情形中,参与在线商业合作的双方能够利用SAML,允许他们各自的安全架构彼此进行信息交换,从而使商业活动得到安全快捷的进行。或者,合伙人通过使用值得信任的第三方SAML B2B服务,在交易过程中对安全信息进行交换和断言。
会话
当用户采用单点登录方式并且保持会话参数和通过不同资源站点的数据时,SAML能够允许用户在不同站点自由行进。源站点提供证书信息,目的站点保持会话对所需要的数据进行验证。在这个过程中,用户可能并没有意识到后台正在进行的相关安全处理。
掌握SAML的实际应用知识
企业管理者需要知道SAML能够提供哪些服务。SAML促进了不同安全系统之间的互操作性,是Web服务功能性方面的一大发展。在许多情形中,管理将越来越需要对安全问题进行监督,并且实现安全标准的通信。