SSO技术总结(二)

SSO技术总结(二)

SSO实现技术

   实现SSO的技术主要有:

      (1)基于cookies实现,需要注意如下几点:如果是基于两个域名之间传递sessionid的方法可能在windows中成立,在unix&linux中可能会出现问题;可以基于数据库实现;在安全性方面可能会作更多的考虑。另外,关于跨域问题,虽然cookies本身不跨域,但可以利用它实现跨域的SSO

      (2)Broker-based(基于经纪人),例如Kerberos等;

   这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子的身份存取。中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的"第三方"。例如KerberosSesameIBM KryptoKnight(凭证库思想)等。

      (3)Agent-based(基于代理人)

   在这种解决方案中,有一个自动地为不同的应用程序认证用户身份的代理程序。这个代理程序需要设计有不同的功能。比如, 它可以使用口令表或加密密钥来自动地将认证的负担从用户移开。代理人被放在服务器上面,在服务器的认证系统和客户端认证方法之间充当一个"翻译"。例如SSH等。

      (4)Token-based,例如SecurIDWebID

   现在被广泛使用的口令认证,比如FTP,邮件服务器的登录认证,这是一种简单易用的方式,实现一个口令在多种应用当中使用。

      (5)基于网关

      Agent and Broker-based,这里不作介绍。

      (6)基于安全断言标记语言(SAML)实现,SAMLSecurity Assertion Markup Language,安全断言标记语言)的出现大大简化了SSO,并被OASIS批准为SSO的执行标准。开源组织OpenSAML 实现了 SAML 规范,可参考http://www.opensaml.org

你可能感兴趣的:(SSO技术总结(二))