单点登录(SSO,Single Sign-on)
目前业界已有很多产品支持SSO,如IBM的WebSphere和BEA的WebLogic,但各家SSO产品的实现方式也不尽相同。WebSphere通过Cookie记录认证信息,WebLogic则是通过Session共享认证信息。Cookie是一种客户端机制,它存储的内容主要包括:名字、值、过期时间、路径和域,路径与域合在一起就构成了Cookie的作用范围,因此用Cookie方式可实现SSO,但域名必须相同;Session是一种服务器端机制,当客户端访问服务器时,服务器为客户端创建一个惟一的Session ID,以使在整个交互过程中保持状态,而交互的信息则可以由应用自行指定,因此用Session方式实现SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。
PMI(Privilege Management Infrastructure,授权管理基础设施)的目标是向用户和应用程序提供授权管理服务,提供用户身份到应用授权的映射功能,提供与实际应用处理模式相对应的、与具体应用系统开发和管理无关的授权和访问控制机制,简化具体应用系统的开发与维护。PMI是属性证书(Attribute Certificate)、属性权威(Attribute Authority)、属性证书库等部件的集合体,用来实现权限和证书的产生、管理、存储、分发和撤销等功能。
PMI是以资源管理为核心,对资源的访问控制权统一交由授权机构统一处理,即由资源的所有者来进行访问控制。同公钥基础设施PKI相比,两者主要区别在于:PKI证明用户是谁,而PMI证明这个用户有什么权限,能干什么,而且可以利用PKI为其提供身份认证。
LDAP服务器: 统一存储用户信息、证书和授权信息。
SSO: 包括SSO代理和SSO服务器。SSO代理部署在各应用系统的服务器端,负责截获客户端的SSO请求,并转发给SSO服务器。
SAML(Security Assertion Markup Language,安全性断言标记语言)是一种基于XML的框架,主要用于在各安全系统之间交换认证、授权和属性信息,它的主要目标之一就是SSO。在SAML框架下,无论用户使用哪种信任机制,只要满足SAML的接口、信息交互定义和流程规范,相互之间都可以无缝集成。SAML规范的完整框架及有关信息交互格式与协议使得现有的各种身份鉴别机制(PKI、Kerberos和口令)、各种授权机制(基于属性证书的PMI、ACL、Kerberos的访问控制)通过使用统一接口实现跨信任域的互操作,便于分布式应用系统的信任和授权的统一管理。