基于多应用系统下统一用户认证的研究与实现
2019-12-07◆李烨
◆李 烨
基于多应用系统下统一用户认证的研究与实现
◆李 烨
(核工业理化工程研究院 天津 300180)
随着企业内部信息化程度的不断提高,多数企业会部署若干信息化系统。每个应用系统都有一个自己的身份认证功能模块,如使用传统认证方式既不安全又须记忆大量密码。那么,基于整合多种应用系统相对独立的身份认证和授权机制来单独形成一套新认证系统的思想便应运而生。目前,采用的较成熟系统为统一用户管理系统,实现各应用系统间跨域的单点登录的身份认证。本文对统一身份认证系统进行深入探讨,并以档案管理系统为例详细讲述统一身份认证的实现。
统一身份认证;单点登录;CA认证中心;档案管理系统
所谓身份认证,就是判断一个用户是否为合法用户的处理过程。目前,大多数企业内部的应用系统都是通过各自单独的账号和密码的身份认证机制对访问系统的用户进行身份验证来阻止非法入侵者进入系统,从而保证系统的安全。这种传统的认证机制暴露出一些弊端,主要体现在以下几个方面:
(1)用户信息无法统一:当一个用户的属性发生改变时,他的身份信息只在有限系统中被更改,其他系统无法及时得到通知,造成用户信息无法统一。
(2)信息重复情况严重:在整个系统中,同一个用户的信息反复存放,数据冗余量大,造成系统信息管理成本上升,性能下降。
(3)增加用户操作的复杂性:用户在使用不同应用系统时,必须反复登录,而且必须采用相应的正确登录信息,否则就会被系统阻拦。
(4)破坏系统安全性:同一个用户为进入众多应用系统,必须记忆和采用大量不同的密码和身份信息,为了防止遗忘密码,必定会使用重复的密码和身份信息,一旦泄密,系统安全荡然无存。
(5)增加用户信息的维护难度:当用户状况变更时,需要同时修改不同应用系统中的大量条目,该无疑增加了信息系统的管理难度。
分析其原因,是由于分散的用户管理,各个系统间没有联系。这就迫使用户在进入每一个系统时都要重新提交自己的身份标识,来通过系统的认证[1]。
传统应用系统登录模式图1所示:
图1 传统应用系统登录模式图
那么,基于整合多种应用系统相对独立的身份认证和授权机制来单独形成一套新认证系统的思想便应运而生。统一身份认证技术及单点登录技术为实现统一用户管理系统的实现提供了解决方案。
统一身份认证就是利用认证和服务相分离的思想,将多个应用系统中的身份认证模块剥离出来,提供一个统一的身份认证入口,使所有的应用系统的用户都能够使用它来进行身份认证。
1 统一身份认证基本架构
统一身份认证系统采用层次式结构,分为数据层、认证通道层和认证接口层。
1.1 数据层
数据层用于认证机构中数据(如密钥和用户信息等)、日志统计信息的存储和管理。在各应用系统统一身份认证部署中不需要开发,因此不进行赘述。
1.2 认证通道
通过用户名/密码或数字证书等方式作为载体,建立一个第三方认证机构,保障用户信息的安全性。采用PKI技术,通过第三方的可信任机构——认证中心CA(Certificate Authority)作为第三方认证通道,把用户的公钥和数字签名捆绑在一起即数字证书,由它来确认该公钥确实属于特定的持有者[2]。
1.3 认证接口层
这是一套标准接口的封装,提供统一的接口标准,定义了基本的数据交换标准。身份认证系统通过WebServices对外发布认证服务,第三方应用系统按照接口标准,将组织、用户的增、删、改的信息进行数据的交互。因此,接口的开发即是设计的重点。
2 单点登录机制研究
虽然实现了用户身份的统一管理,用户在每次登录系统时仍然都要提供口令信息,单点登录机制完美解决了该问题。单点登录是指用户只需进行一次身份认证,即可访问在身份认证系统中注册过的多个应用系统,如图2所示。
图2 单点登录概念图
运用以上两种技术,使得统一用户管理系统得以实现。基于以上特点统一用户管理系统应包含三部分功能:CA认证中心、统一身份管理(UAP-U)、单点登录(UAP-S),其架构分为四个部分:对外服务、身份认证模块、平台基础服务、数据存储。
3 档案管理系统统一用户认证的设计与实现
3.1 统一用户管理系统总体设计思路
档案管理系统收集的资料是各种工作留存的最重要信息,档案管理系统的用户及系统安全得到保障是保障资料安全的第一步。核理化院管理网已有五个应用系统在使用,均已完成与统一用户管理平台的集成。这五种应用系统均采用USBkey作为公钥存放的载体。因此,为节约成本,档案管理系统同样采用该种方式,不需要再另外制定密码策略。
随着应用系统业务的不断扩展,各部门每年都有新用户的增加;同时,每年有大量部门机构、人员的调整。为更方便更精准的维护该部分信息,除与统一用户平台集成实现统一身份认证和单点登录功能,还要实现新的应用系统的同步组织、用户推送,以减轻运维工作量。
3.2 统一身份认证的实现
3.2.1统一身份认证业务流程
(1)用户使用在统一身份认证平台注册的USBKEY登录认证平台;
(2)统一身份认证系统创建会话并将认证ticket(身份认证令牌)返回用户,用户使用该ticket访问在统一身份认证系统注册过的应用系统;
(3)应用系统将该ticket回传至统一身份认证系统;
(4)身份认证系统确认该ticket有效性后应用系统接受该用户访问。
3.2.2统一身份认证接口的设计
由以上业务流程分析得到,统一身份认证的接口包含两部分:证书认证页面调用接口和证书认证接口。
证书认证页面调用接口用于页面调用相关控件获取证书内容,根据用户所填的证书PIN码来验证是否已正确安装证书驱动、证书PIN码是否正确以及获取证书内容为调用证书认证插件进行验证做准备。
在页面上需设置3个隐藏域,分别存放random,cipher,signcert(以上内容均在下面调用中有出现),另外还需设置一个密码框用来接收用户输入PIN码。
证书认证接口用于验证用户是否合法,根据用户提交的证书认证请求来验证其是否为系统中的合法用户[3]。
3.2.3档案管理系统组织架构设计
统一用户管理平台作为组织机构、用户的统一管理机构,应用系统以该平台组织架构为标准建设为最优方式。
核理化院统一用户管理平台组织架构如图3所示:
图3 核理化院统一用户管理平台组织机构图
该结构为三级架构,档案管理系统只能实现二级架构。在规划中去掉了管理职能部门、院附属研究所等几个二级机构。
档案管理系统组织架构实现,如下图4:
图4 档案管理系统组织机构图
3.2.4档案管理系统用户数据设计
用户在各系统中包含多重信息:用户编码、用户账号、用户姓名、用户工号、用户所属机构等。而身份认证系统通过用户公钥与数字签名是否匹配进行用户合法身份的认证。在统一用户管理总体设计中讲到,核理化院使用USBkey作为用户公钥,该USBkey包含了用户的loginName(用户登录名),也就是身份认证系统该用户的唯一标识。登录名为员工姓的全拼加名的缩写组成,如有重名用编码1、2…来标识。同时,参照统一用户管理平台的用户信息,梳理出档案管理系统的用户数据编码规范:
表1 用户数据编码规范
3.3 组织机构、用户同步的实现
3.3.1接口开发实现的技术方式
统一用户管理平台采用的是Webservice技术。该服务通过SQAP消息、WSDL、HTTP等Internet协议成与其他软件应用的交互。SOAP即简单对象访问协议,是在分布式环境中通过XML编码进行通信的一种简单的网络协议;WSDL是Web服务描述语言,用于说明SOAP消息及如何交换数据信息。在同步组织机构、用户的实现中包含两部分内容:组织机构增、删、改的同步推送;用户增、删、改的同步推送,接口要实现数据的交互。
因此,在这里使用Web服务的SOAP和WSDL技术,可实现信息的交换。
3.3.2同步组织机构、用户的配置
进入统一用户管理平台,在资源管理中添加档案管理系统的端口及同步信息,如下图5所示:
图5 档案管理系统接入配置图
在同步配置及管理功能节点下,完成档案管理系统的同步订阅接入,并依次添加“组织机构”和“用户正职”的信息,如图6、7所示:
图6 同步订阅接入配置图
图7 添加组织机构及用户正职示意图
上文中提到在同步组织机构及用户时,采用WSDL技术进行开发,在同步的配置中须要将该WSDL的网址配置在系统中,实现代码级的同步数据交换,配置如下图8所示:
图8 WSDL的端口的配置界面
经过以上几个方面的配置实现了端口的绑定。完成人员、组织机构同步的服务。
3.4 单点登录的实现
3.4.1 单点登录业务流程
单点登录的业务流程说明,如下图9:
图9 单点登录业务流程图
(1)用户第一次通过浏览器访问第三方应用,第三方应用跳转到认证服务中心进行认证(地址在web.xml中配置)
(2)认证成功,认证中心将包含ticket(认证令牌)的请求重返回到第三方应用;
(3)第三方应用将该ticket回传至统一身份认证系统;
(4)身份认证系统确认该ticket有效性后会返回用户的信息,用户认证成功。
3.4.2单点登录接口的设计
由以上特点可以看出所有内容的传输只包含ticket的传输,不需要增、删、改等信息的数据交换。所以单点登录可基于HTTP技术来实现,节约资源、实现快速开发。
单点登录实现后的页面,如下图10所示:
图10 单点登录实现示意图
4 结束语
针对企业内部业务不断扩大,应用系统不断增加的形势下,传统身份认证及登录方式安全性差、维护不方便、用户须重复记忆大量密码的问题,采用与统一用户管理平台的集成的方式可有效解决以上问题。同时,通过实现同步组织用户功能减轻网络维护人员运维工作。
[1]郑焕.基于Web Services统一身份认证系统研究[D].武汉理工大学,2018:2-3.
[2]张忠.数字证书的原理及其应用[M].计算技术与自动化,2001,14(2):2-7.
[3]陈哲.基于PKI技术的邮件系统部署实施方案研究[D].天津大学.