海鼎,助您成就梦想!

单点登录让多系统统一认证不再难

2015年10月19日

评论数(0)

摘要:随着互联网软件技术的进步以及各领域的信息化程度的加深,用户对信息系统的统一登录认证以及账户安全提出新的要求。本文从单点登录出发,系统阐述了单点登录的优势以及必要性,并简要介绍常见单点登录方案的实现机制以及原理。最后,详细介绍海鼎的单点登录方案的原理、应用以及常见的部署方式。

关键词:单点登录,SSO,HEADING CAS,HDFRAME,统一认证


随着互联网软件技术和应用模式的不断演变,政府、企业等各种机构不断面临新增的业务系统,根据各个系统的业务性质,一般都要求实现用户身份管理、登录认证、授权等必不可少的安全功能。为了减少新业务系统相同功能重复建设和管理成本、提高同一用户群使用子系统的简便性,针对这些不同系统实现统一认证和授权,促使整体业务系统的融合。本文简要介绍目前海鼎公司所实现的单点登录及其应用的场景。

一、单点登录的设计原理

(一)单点登录的优势

海鼎单点登录的英文名称为HEADING Single Sign-On,简写为HDSSO。简单地理解,即允许用户进行一次认证,输入用户和密码,认证成功之后,就允许访问不同的应用系统,而不需要访问每个应用系统时,都要重新输入用户和密码。

在当前组件化、服务化、SOA化的大发展趋势下,单点登录的好处是显而易见的:

l 系统开发层面,有效降低各个组件应用系统在用户登录管理上的重复工作;实现统一的安全管理系统同时,避免了处理和保存多套系统用户的认证信息;

l 用户体验层面,减少用户在不同系统中登录耗费的时间;用户只需要记住一个账号密码,而不需要记住4、5个(或者更多)应用系统不同体系下的账号,多个用户名密码极易记混,如果忘记或记错用户名或密码就无法进行登录,严重地影响了信息化带来的便捷性和高效性。同时,统一的登录界面以及方式,有效提升企业的形象;

l 系统维护层面,减少了系统管理员维护用户密码资料的时间和复杂度;有效降低系统的运维成本。

(二)常见的实现机制

当前常见的基于WEB-SSO(即:浏览器端的单点登录)单点登录解决方案,包括CAS、Smart SSO、SAML、Kerberos等等,尽管实现机制各有差别,大体上可以分为Cookie和Session两大类。CAS凭借着自身的很多优点,先进的设计理念、简单配置、支持的客户端广泛等等,成为了我们的WEB-SSO单点登录方案的借鉴基础,支持HTTP以及HTTPS协议。

基于CAS的WEB安全认证协议,设计并融合了桌面系统SSO协议(暂时将它命名为HDFrame协议)。其核心的实现思想,是通过向操作系统中注册HDFrame协议,进而通过协议,启动支持HDFrame协议的桌面C/S应用(目前海鼎基于HDFrame框架的应用系统都已支持该协议)。

同时,通过WEB-SSO协议,实现在桌面C/S应用中直接打开WEB应用的指定页面(模块),从而实现了WEB和桌面C/S的单点登录融合,实现“全网互通”。


二、基于海鼎产品的系统实现

(一)系统实现流程

HEADING CAS产品基于JASIG CAS,并在其基础上进行了一些适应性改造,使之可以与海鼎公司大部分产品简单集成,且具备与大多数流行产品集成的可能性。其前身是HEADING IDS。

所有应用系统共享一个身份认证系统:统一的认证系统是HDSSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证。认证成功后,认证系统应该生成统一的认证标志(Ticket),返还给用户。另外,认证系统还应该对Ticket进行效验,判断其有效性。

所有应用系统能够识别和提取Ticket信息:让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对Ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。


图1 实现流程模型


(二)常见的应用场景

1. 手工登陆:是指用户通过手工打开应用程序,手工录入用户以及口令等信息后进入应用系统的过程。

2. 命令行登陆:是指用户通过通过命令行方式启动应用程序,同时将登录名以及口令等信息通过命令行方式传递给应用程序的登录过程。

3. HDFrame登陆Browser:是指用户成功登录HDFrame应用系统后,点击系统中的URL链接,通过打开浏览器Browser的方式,跳转到目标URL的过程,此过程无需用户重新验证身份。

4. Browser登陆HDFrame:是指用户在浏览器Browser成功登录WebApp应用系统后,点击系统中的HDFrame://链接,根据HDFrame协议启动指定的本地HDFrame应用的过程,此过程无需用户重新验证身份。

(三)实施部署

下图中整体按照从上到下的调用关系进行布局。可以明显地看到有四层:工作站层(PC)、Web服务器层(Web Server)、应用服务器层(App Server)和数据库服务器层(DB Server)。

1、 HDFrame

n 海鼎CS应用系统框架,提供对业务应用的支持。

2、 HDFrame-Server.war

n 提供用户的数据库密码管理的服务组件,包含数据库密码重置工具等功能。

3、CAS-Server.war

n 单点登录的核心组件,中央认证服务,其提供单点登录(SSO)的核心功能。

4、 IA-Authen-Server.war

n 提供认证功能的应用服务器,其大部分功能都以REST服务方式对外发布,出于安全考虑要求使用HTTPS协议;而其中涉及到认证功能的服务则以RADIUS协议方式发布。数据将被持久到LDAP数据库中。


2 实施部署模型

小结

单点登录是目前比较流行的企业业务整合解决方案之一,如今海鼎的一些客户已经实施部署了单点登录的功能,在分布式系统日趋增多的同时,给我们的系统管理者和使用者提供了更多的便捷服务,我们也在不断地完善该功能覆盖的子系统,随着企业的发展,单点登录在降低安全风险和管理消耗上的优势,将表现得越来越突出。

文/覃利明,季辉


文章为作者独立观点,不代表联商专栏立场。

联商专栏原创文章由作者授权发表,转载须经作者同意,并同时注明来源:联商专栏+海鼎。