深蓝海域KMPRO

保证Web服务安全的SAML

2003-01-08 09:19

保证Web服务安全的SAML

安全声明标记语言(Security Assertion Markup Language,SAML)是一种实现Web服务安全产品之间互操作的建议标准。SAML可以保证端到端、机构内部以及从企业到企业的安全性,具有成为互操作性标准的潜力。即将得到“促进结构化信息标准组织”批准的SAML 1.0能够与XML和简单对象访问协议(SOAP)配合使用。随着企业越来越多地在Web服务环境中部署接入管理解决方案和其他安全产品,SAML开始表现出强大的威力。

SAML 1.0定义了安全域与策略域之间的基于SOAP的互动,支持Web一次登录(SSO)、认证和授权。SAML 1.0定义了请求和回答信息,安全域交换这些信息来保证认证决定、授权决定和属于特定用户与资源的属性。SAML 1.0还定义了认证权威机构、属性权威机构、策略决定点和策略执行点等功能性实体。

在具有SAML功能的Web SSO环境中,用户可以通过ID/口令等认证技术登录到主域或源域中。源域利用包含SAML“认证声明”和“属性声明”的信息,向一个或多个目的域发送认证决定以及为这一决定提供安全环境的其他信息。

SAML环境

在支持Web SSO和浏览器/ artifact的最基本的SAML 1.0互操作性环境中,用户可以通过以下操作实现与具有SAML功能的Web网站互动。

● 用户的浏览器通常通过HTTP/安全套接层(SSL)访问源站点(站点起到SAML认证管理机构的作用);

● 源站点要求浏览器提供用户ID和口令;

● 浏览器通过输入用户ID和口令,回答源站点的询问;

● 源站点调用外部认证服务器(如轻型目录访问协议目录)认证浏览器;

● 浏览器通过点击源站点上的通用资源标识(URI),请求保存在目的服务器上的特定资源,从而重新定向到源站点的“站点间传输服务”URL上;

● 源站点保持会话并生成一个生存期暂短的SAML认证,来声明一个事件已经发生(根据认证声明上的条件以及被请求的目的服务和资源定义的策略);

● 源站点将声明信息保存在本地缓存中;

● 源站点利用SSL将一个包含SAML artifact(一种8字节Base64串)的URI返回给浏览器,这个附加的SAML artifact指向认证声明并将浏览器改向连接到请求的目的站点和资源;

● 目的站点使用SAML artifact从源站点请求/索取这个引用的认证声明(通常通过SSL会话);

● 目的站点保持会话,解析/验证认证声明信息,并批准浏览器对请求资源的访问。

工作原理

作为一项为Web服务提供安全保护的建议标准,SAML的工作原理如图所示。

 

1、 最终用户的浏览器访问认证服务器,认证服务器询问用户ID和口令。

2、 最终用户输入ID和口令。认证服务器检查LDAP目录,然后认证最终用户。

3、 最终用户从目的/Web服务器请求资源,认证服务器开始与目的服务器的一次会话。

4、认证服务器给最终用户发送URI,最终用户的浏览器被指向URI,URI将最终用户联接到Web服务。

同任何标准一样,检验SAML 1.0能否成为真正标准的决定因素在于是市场的接受程度以及它能否推动Web服务发展。为了使SAML真正成为标准,Web安全解决方案厂商正在认真解决支持不同SAML 1.0产品互操作性所面临的许多技术问题。

相关推荐