基于Novell AM的单点登录设计与实现

2016-05-14 07:11柴新
电子技术与软件工程 2016年6期
关键词:身份认证

摘 要随着信息化建设横向集成的推进,对用户身份信息进行统一认证和为用户提供单点登录访问方式的必要性日益提高,如何实现统一认证和单点登录是信息化建设的重要课题。Novell AM是Novell公司提供的统一身份认证解决方案,它通过反向代理、自动填表等技术实现信息系统的单点登录,为企业建设统一认证提供了切实可行的一种方案。

【关键词】单点登录 身份认证 访问网关 统一认证

1 前言

随着信息化建设的推进,提供给用户使用的业务信息系统越来越多。每个业务系统都有各自独立的登录认证功能及用户信息管理功能,缺乏统一的信息系统登录入口和用户帐号管理机制,用户需记忆的不同系统的登录帐号和密码越来越多,造成用户使用不便。对用户帐号信息进行统一规划和管理,对用户身份进行统一认证使用户进行单点登录访问,是当前信息化建设的方向。Novell Access Manager是Novell公司提供的统一身份认证解决方案,它为上述问题提供了圆满解决方案。

2 实现统一身份认证和单点登录的必要性

信息系统传统的用户身份管理和登录方式存在弊端,表现为:

(1)每套业务系统都开发有自己的用户帐号管理功能,用户帐号在每套系统中都需要单独创建,同一个人在多套业务系统中可能存在多个用户帐号,在登录不同的业务系统时需要使用不同的帐号密码,用户需要记忆多个帐号和密码,使用不便,用户体验下降。

(2)每套系统都有自己的用户登录页面和认证机制,用户界面各异,认证安全性水平有高有低,不能提供给用户统一的视觉界面和系统安全性。特别是用户登录进入门户后访问业务系统时,仍然显示登录页面要求再次输入帐号密码,用户体验不佳。

因此,为消除以上弊端,应进行以下改进:

(1)进行统一用户建设。随着业务系统横向集成的推进,需要将用户信息单独抽取出来作为信息系统的基础设施进行统一建设和规范化管理,然后将用户信息从权威数据源分发至各业务系统,各业务系统不再保留独立的用户管理功能。

(2)实现统一认证和单点登录访问。给用户提供统一的访问入口进行单点登录访问。单点登录的含义是用户只需一次登录就可以访问不同的业务系统。用户无需再记忆多个帐号,只需记住统一用户系统中自己的一个帐号即可,用一个帐号访问所有业务系统,而且在登录门户后访问业务系统时也无需再重复输入帐号和密码,提高了信息系统的易用性、安全性,改善了用户体验。

Novell Access Manager(以下简称Novell AM)是Novell公司提供的统一认证解决方案,业务系统与Novell Access Manager进行集成就可实现业务系统的单点登录。

3 Novell AM系统架构

Novell AM系统由身份认证管理服务器(Identity Server,简称IDS)、访问网关(Access Gateway,简称AG)、目录服务器(LDAP Directory)、管理控制台(Administration Console,简称AC)组成,提供对用户身份的统一认证和对业务应用系统的安全访问。系统架构如图1。

系统各组件的功能如下:

(1)IDS:身份认证管理服务器,负责对用户身份信息进行认证,向用户推送统一的身份认证页面,将用户在认证页面中输入的用户名、密码提交至用户身份信息库LDAP Directory进行认证,判断是否为合法用户。IDS支持用户名/密码、X.509 数字证书、令牌等多种认证方式。IDS可由多台服务器组成集群。

(2)AG:访问网关,基于反向代理服务,利用自动填表或身份注入等技术实现对业务系统的单点登录访问。业务系统与AG集成后对业务系统的所有访问都受到AG保护,此时提供给用户的访问地址不再是业务系统原来自己Web服务器的地址,而是DNS域名形式的AG服务器的地址,业务系统位于AG之后,用户访问业务系统首先需要经过AG,从而AG为业务系统提供安全访问控制,提高了业务系统的安全性。AG可由多台服务器组成集群。

(3)LDAP Directory:用户身份信息数据库,存储着权威的用户帐号名称、密码等身份信息,IDS使用它作为唯一的用户身份认证数据源。

(4)AC:管理控制台,实现对IDS、AG、业务系统单点登录的配置功能,同时提供IDS、AG间的通信服务功能。AC可由两台服务器组成主备关系的HA架构。

4 Novell AM单点登录实现

4.1 单点登录流程

业务系统通过Novell AM进行访问的流程如图2。

图2的登录流程(对应图中所标序号)分析如下:

(1)用户向受AG保护的业务系统(Web Server)发出访问请求,因为业务系统已受AG保护,所以用户访问请求首先被发送到AG。

(2)AG检查当前用户是否已登录,如果用户尚未登录,利用HTTP协议重定向机制,用户访问请求被AG重定向到身份认证管理服务器Identity Server,IDS向用户推送身份认证页面,即登录页面,提示用户输入用户名和密码,用户输入用户名、密码后提交。

(3)IDS获取到用户提交的用户名、密码信息,然后IDS到用户身份信息数据库LDAP Directory中对获取到的用户身份信息进行认证,验证用户合法性。若IDS验证不通过,则用户浏览器仍然停留在登录页面,提示用户重新数据用户名、密码。

(4)在上步骤中,若IDS认证通过,则IDS返回认证成功的信息到用户浏览器,用户浏览器重新将访问业务系统的请求发送至AG。

(5)AG向IDS确认用户已经被IDS认证成功,是合法用户,并且AG向IDS请求获得已认证通过的用户的身份信息,AG得到IDS发送的用户身份信息。

(6)AG在获得用户身份信息后,AG利用自动填表或者身份注入等方法向受保护业务系统Web Server发送用户身份信息。

(7)业务系统认为当前访问用户是合法用户,接受用户访问请求,将用户请求信息发送给用户浏览器。完成登录流程。

4.2 统一用户

统一用户的建设首先需要确定一个身份权威源,权威源是指对确定用户身份关键信息进行管理维护的应用系统,一般推荐将人力资源系统作为身份权威源,也可以定制开发身份权威源系统。建立权威源的目的是从源头对用户身份信息进行控制和规范化管理,作为用户身份信息的唯一出处,改变以往用户身份信息各业务系统重复建设、管理分散的局面。

Novell公司的Identity Manager组件能够实现将身份信息从权威源到LDAP Directory再到相关业务应用系统的实时同步,包括用户账号的同步创建、变更、删除等,实现全生命周期管理。在权威源中可以制定账号管理策略对用户身份信息到业务系统的同步进行控制,控制哪些帐号可以同步到哪些业务系统,达到需要的帐号才能同步到需要的业务系统的目的。用户身份信息同步的数据流如图3。

统一用户建立后,用户身份信息就成为了一个在所有业务系统间共享、流动、一致的基础数据,为不同业务系统间的单点登录奠定了数据基础。

4.3 基于自动填表策略的集成方式

对于大多数B/S业务系统,使用表单页面作为系统的登录页面,因此AG向业务应用系统发送用户身份信息,大多使用自动填表策略来完成。在图2登录流程所示的第6步中,AG在获得用户身份信息后,自动向业务系统的登录页面填入用户帐号、密码信息,并对业务系统的登录页面进行自动提交,从而登录进入业务系统。

基于自动填表策略的集成方式适用于从企业门户到其它业务应用系统入口的业务导航跳转,用户无需再次输入用户名密码,实现单点登录。

4.4 基于身份注入(即HTTP头)策略的集成方式

在用户通过IDS认证后,AG通过注入机制在HTTP请求中添加表示用户信息的HTTP头,并将请求转发到业务应用系统,业务系统获取HTTP头中的用户身份信息,完成对用户身份信息的接收和认证。业务应用系统需要按照AG接口规范的要求,利用HTTP协议中规定的基本认证方式登录应用系统,也可以使用认证系统与应用系统之间约定的头信息登录。

此方式适合于从企业门户到其它应用系统业务功能页面的跳转,如进入待办任务对应的业务应用系统的处理页面。

4.5 典型应用

当前,企业往往以门户为中心实现各业务系统的应用集成和数据集成,因此,企业信息化的典型应用场景是将企业门户系统及各业务应用系统与Novell AM集成,然后将门户作为企业信息系统的唯一访问入口对用户开放,用户登录进入门户后对各业务系统进行单点登录式访问,如图4所示。

5 结束语

统一认证和单点登录的实现,标志着信息系统横向集成的建设推进到了一个新阶段,为用户带来崭新体验,大大方便用户使用信息系统。本文描述了基于Novell AM的实现方案,为企业建设统一认证提供了切实可行的一种选择。

参考文献

[1]霍成义.结合Cookie与票据共享的单点登录方案[J].自动化与仪器仪表,2013, 3:167-169.

[2]胡聪,姚振.基于VMware的Novell身份认证系统虚拟化架构实践[J].电力信息化,2013,11(4):78-81.

作者简介

柴新(1974-),男,山东省寿光市人。现为江苏电力信息技术有限公司工程师,主要从事信息化运维工作。

作者单位

江苏电力信息技术有限公司 江苏省南京市 210024

猜你喜欢
身份认证
基于标识的动态口令系统
云电子身份管理与认证系统中的关键技术优化改进
校园网云盘系统存在的安全问题及对策
基于指纹身份认证的固定通信台站干部跟班管理系统设计
基于PKI与基于IBC的认证技术比较
基于PKI技术的企业级云存储出错数据证明的研究
信息系统身份认证的分析与研究
Kerberos身份认证协议的改进
基于USB存储设备的透明监控系统
基于鼠标行为的电子商务中用户异常行为检测