单点登录技术的研究

kongsixue 贡献于2013-07-25

作者 GUYUCHUAN  创建于2010-04-07 02:06:00   修改者test  修改于2013-07-17 01:40:00字数3626

文档摘要:  Open Web SSO项目是SSO(单一登录)的一个开源实现。OpenSSO(Open Source Web Single Sign-On:开源Web单点登录)为部署在各种不同Web或应用服务器上的Web应用提供集中身份认证功能。这个项目基于Sun JavaTM System Access Manager,核心代码之上。
关键词:

 单点登录技术的研究 单点登录技术的研究 1、 单点登录概述 单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”。 SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见: 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限的时间 4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限 对于内部有多种应用系统的企业来说,单点登录的效果是十分明显的。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。 1.1 单点登录产品 商业SSO软件 l 专门的SSO商业软件 n 主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。 l 门户产品供应商自己的SSO产品, n 如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。 上述商业软件一般适用于客户对SSO的需求很高,并且企业内部采用Domino、SAP、Sieble等系统比较多的情况下。单点登录产品通常需要在应用软件中增加代理模块,而商业SSO产品主要针对大型软件制作了代码模块。 因此,商业SSO软件除了价格问题外,另一个重要问题就是对客户自己的应用系统支持未必十分完善。 开源SSO软件 l Opensso n https://opensso.dev.java.net/ n OpenSSO基于Sun Java System Access Manager,是Sun公司支持的一个开源的SSO项目,SUN在2008年将之开源。 n OpenSSO体系结构设计合理,功能比较强大。缺点是客户端支持不够广泛,似乎只是对基于J2EE的应用支持的比较好。 n 最近(10年三月份)有新闻说甲骨文打算关闭OpenSSO项目,一家叫 ForgeRock 的挪威公司创造了分支OpenAM,试图拯救这一项目。 l josso n http://www.josso.org/ n 这是另一个Java写的单点登录产品,有人认为比OpenSSO更成熟一些。 n JOSSO支持的客户端包括Java,PHP和ASP。 单点登录技术的研究 n 认证要基于JAAS,不能支持跨域的认证等。 l OpenID n http://openid.net/ n 具有包括Google在内的众多认证服务提供商。 n 搭建自己的认证服务器不方便,PHP版的开源框架应用最多。 l CAS n http://www.ja-sig.org/products/cas/ n 这是耶鲁大学开发的单点登录产品,也是网上资料中应用最多的开源SSO产品。 2、 单点登录技术的介绍 2.1 OpenSSO Open Web SSO项目是SSO(单一登录)的一个开源实现。OpenSSO(Open Source Web Single Sign-On:开源Web单点登录)为部署在各种不同Web或应用服务器上的Web应用提供集中身份认证功能。这个项目基于Sun JavaTM System Access Manager,核心代码之上。 遵循的协议:CDDL(Common Development and Distribution License,通用开发与销售许可)开源协议,是MPL(Mozilla Public License)的扩展协议,它允许公共版权使用,无专利费,并提供专利保护,可集成于商业软件中,允许自行发布许可。 有官方的英文文档的支持。 支持的操作系统有Solaris™ perating System, Red Hat, Ubuntu, AIX, Microsoft, and Macintosh OS10。 支持的服务器有GlassFish™ application server, Sun Web Server, Apache Tomcat, Apache Geronimo, Oracle Application Server, BEA Weblogic, IBM WebSphere, and JBoss Application Server。 据外电报道,甲骨文(Oracle)将关闭Sun著名开源项目OpenSSO,理由是该项目“不具战略意义,没有价值”。 OpenSSO的大体开发步骤(quickly start): l 0-a. Create some Fully Qualified Domain Names (FQDN) l 0-b. Create two application server instances/domains l 1. Download the OpenSSO server l 2. Install opensso.war l 3. Choose and Install an agent. l 3-a. Choose an agent to download l 3-a Unzip the agent download and explore l 3-b Create an Agent Profile l 3-b. Install agents l 4. Install the mini-application l 5 Try article two l 6. Sample application of policy agents 2.2 JOSSO JOSSO(Java Open Single Sign-On)是一个开源的J2EE-based的SSO(单点登录)基础结构.它的目的是提供一种用来解决在统一平台上进行用户集中认证的方案。 单点登录技术的研究 参考资料: http://www.josso.org/ 2.3 OpenID OpenID 的创建基于这样一个概念:我们可以通过 URI (又叫 URL 或网站地址)来认证一个网站的唯一身份,同理,我们也可以通过这种方式来作为用户的身份认证。 单点登录技术的研究 由于URI 是整个网络世界的核心,它为基于URI的用户身份认证提供了广泛的、坚实的基础。 OpenID 系统的第一部分是身份验证, 即如何通过 URI 来认证用户身份。 目前的网站都是依靠用户名和密码来登录认证,这就意味着大家在每个网站都需要注册用户名和密码,即便你使用的是同样的密码。如果使用 OpenID (参见规范),你的网站地址(URI)就是你的用户名, 而你的密码安全的存储在一个 OpenID 服务网站上 (你可以自己建立一个 OpenID 服务网站,也可以选择一个可信任的 OpenID 服务网站来完成注册)。 登录一个支持 OpenID 的网站非常简单(即便你是第一次访问这个网站也是一样)。只需要输入你注册好的 OpenID 用户名,然后你登录的网站会跳转到你的 OpenID 服务网站,在你的 OpenID 服务网站输入密码(或者其它需要填写的信息)验证通过后,你会回到登录的网站并且已经成功登录。 OpenID 系统可以应用于所有需要身份验证的地方,既可以应用于单点登录系统,也可以用于共享敏感数据时的身份认证。 除了一处注册,到处通行以外,OpenID 给所有支持 OpenID 的网站带来了价值--共享用户资源。 用户可以清楚的控制哪些信息可以被共享,例如姓名、地址、电话号码等。 应用举例 openID是一种信用中介,或者叫第三方确认。当使用一个网站(比如www.clicki.cn)时,要让clicki知道你的身份,只要告诉clicki:“你到openID(假设是openid.com)那去问一下我是不是那个叫David的人?”这时候要提交两个重要信息,一个是用户名:David,一个是openID网站的网址,所以openID的格式一般为david.openid.com这样的格式——一个URInate的格式,david是用户名,openid.com是中介网站。 只让clicki去问openid.com还不行,openid.com需要知道是不是David在登录,所以openid.com会问:“是你让clicki来确认的?告诉我你的密码。”在弹出的确认网页上输入密码后,openid.com验证成功后告诉clicki:“是这个人。”然后,clicki准许进入了。这样,无论到哪,都可以用david.openid.com这个身份。 由此可见,其实只要有一个域名,就能提供openID服务,一个人可以拥有很多不同的openID。而目标网站跟openID网站之间只需要简单的确认信息,所以,用户仍然需要在目标网站上输入你的其他资料,目前openID协 议还不包含这些资料,似乎Google的openSocial是扩展了openID之后,提供更多的用户信息,使Google帐号可以真正成为用户在网络上的身份证和通行证。 另外,OpenID也是基于第三方的SSO协议,所以需要选择大的第三方(如果不是自己开发的话),避免安全问题或服务器宕机的故障。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档