单点登录统一认证管理系统UAMS的研究

时间:2022-10-30 08:21:14

单点登录统一认证管理系统UAMS的研究

摘 要:本文从医院信息化建设的现状出发,提出了一个基于LADP应用的统一身份认证管理的单点登录解决方案。着重对SSO的认证流程以及该方案的技术实现细节作了比较深入地探讨和分析。

关键词:统一用户;单点登录;LADP

中图分类号:TP393.08

随着医院网络信息化建设的不断深入,使得网络管理特别是用户管理变得越来越复杂[1]。目前大部分应用系统都各自拥有独立的身份认证机制对用户进行授权,用户在进入不同系统时,需要输入对应系统的用户名和口令方能通过系统的认证。这不仅使得系统的日常运行和维护十分不便,也造成了一定的资源的浪费和安全隐患。为此,我们采用统一的用户管理的身份认证(UAMS,Unified-Authentication-Management-System),实现用户单点登录(Single Sign-On,SSO),用户只需输入一次口令,就可以在其权限范围内到达各个业务系统。

1 LDAP目录服务

LDAP是轻量级目录访问协议(Lightweight Directory Access Protocol)是目录访问协议的一种,它是对X.500的目录访问协议的移植,但是简化了实现方法[2]。同时它是一种标准、开放、可扩展的目录访问协议。它主要有以下特点和优势:

特点:

(1)标准的访问协议;

(2)读多于写;

(3)一般不支持事物处理;

(4)目录查询速度快,索引功能强大;

(5)一种可选择性协商的面向连接的安全协议;

(6)方便的备份和恢复功能。

目录服务将分布式系统中的用户、资源和组成分布式系统的组织起来,提供一个单一的逻辑视图,允许用户和应用透明地访问网络上的资源。

优势:

(1)网络的集中管理点,网络管理工作大大减轻,包括管理网络上的各个应用;

(2)存储在其它条件下很难处理的管理信息;

(3)数据安全可靠,访问控制粒度细腻;

(4)系统资源信息的利用率高、管理的可扩展性好;

(5)LDAP协议是跨平台的和标准的协议;

(6)数据分布广,规模可灵活扩充。

LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器,可以用同样的协议\客户端连接软件包和查询命令与LDAP服务器进行交互。

LDAP元数据模型定义目录存储的对象类、属性类、属性语法等类型,通过定义存储在不同条目下对象类型之间的关系,构成完整目录元数据模型也被称为Schema。

1.1 LADP目录结构

2 统一用户系统技术方案

2.1 系统概述

该系统主要包括统一用户和部门管理、统一认证和授权两个部分。统一用户和部门管理提供了用户和部门之间的从属关系,支持部门之间的各种关系。统一认证和授权提供了对用户的认证、授权、加密等管理。

系统利用LDAP目录服务中提供的分布式服务,将用户基本信息、用户管理信息、网络应用资源信息以及用户对网络应用资源的访问权限等以目录树的形式加以组织存储,并在此基础上提出一套统一的用户身份认证及网络应用资源管理模式,从而实现对用户的统一身份认证、单点登录、集中鉴权以及对网络应用资源的统一管理[4]。系统结构图如图3:

2.2 统一用户管理

用户信息统一管理为信息系统建立一个统一、标准的员工信息体系应用[5]。对员工信息进行统一管理,能使员工在不同系统之间的信息保持一致。同时,用户帐户信息的统一,为实现不同系统之间的统一登录提供良好的信息基础,为新的系统建设提供访问控制的帐户资源与标准

此子系统包括组织结构管理、用户管理、业务系统(资源)管理、业务系统内部角色管理、统一用户系统角色管理。用户管理系统结构图如下:

2.3 基于分级角色的权限管理

系统中用户权限由两部分组成。一部分为统一用户系统的角色,另一部分为业务系统自身的角色权限。统一用户系统的角色权限控制登录用户对各子业务系统的使用和登录,业务系统的子角色则控制用户在各自业务系统内部功能的授权。其结构图如图5。

在实际应用系统中,系统权限管理,系统权限管理是对应用系统提供的业务功能与操作用户之间的业务功能权限、数据权限的管理,即实现不同的操作用户拥有不同的业务功能权限和业务数据权限。它是应用系统的基础。构建一套以“角色+岗位”为基础的业务权限管理模型,并将它做为业务权限管理的理论依据,其中角色属于技术范畴,岗位属于业务范畴,这样能更好的结合技术实现业务要求。

基本概念:

组织机构:医院管理中分层的基本单元,在本系统中组织机构只支持单树模型,即一个政府机构/企业只有一个根机构,除根机构外其他组织机构只有一个父机构,可以有0个或多个子机构,一个机构可以有0个或多个岗位;

岗位:某个部门的职位(相当于在部门下有相同职能的用户的集合),它隶属于某个具体的部门,一个岗位只属于一个部门,并且可以有0个或多个用户在岗位上任职;一个岗位可以有0个或多个角色;

用户:能够使用应用系统的身份唯一的人,一个用户可以隶属多个岗位;一个用户只属于一个部门;

用户组:具有某个共同目标的用户集合,一个用户组可以有0个或多个角色;

角色:访问应用系统各种权限(包括菜单、功能和数据权限)的集合,一个用户可以有0或多个角色;

菜单:在B/S应用中,可以进行点击操作的入口,菜单分为叶子菜单和非叶子菜单,一个非叶子菜单可以有多个叶子菜单和非叶子菜单。

2.4 同步方式

统一用户管理系统采用的是基本标准的webservice方式进行同步,采用推送的方式将所有的变更信息按照规定的接口推送到对应的应用系统。同时各应用系统修改组织结构、用户信息、角色权限等信息时也通过调用webservice的方式推送到统一用户管理系统以及其他对应的业务应用系统。流程图如图7:

(1)需要同步数据的应用系统根据规范约定的接口提供服务实现。

(2)统一用户管理系统在进行数据变更的同时将数据变化通过客户端调用推送给相应的应用。

(3)应用根据接口要求返回成功或失败。

(4)用户管理系统根据返回提示。

3 统一认证接口子系统

3.1 SSO解决方案

SSO全称Single Sign On,是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。单点登录系统结构图如图8。

单点登陆解决方案有两种:

(1)模拟登陆方式。此模式根据用户预留下来的用户名,密码,把此值代入预先写的一个form表单中,然后进行自动提交登录验证。

优点:对需要登录的系统做简单修改,甚至不需做修改就可以进行登录

缺点:因为需要表单重新提交,所以访问速度略慢一些,而且如果您想查看子系统内容时,无法直接访问您需要访问的内容页面,需进入子系统后才可访问。

(2)通过信任第三方的方式。

所谓第三方验证,也就是所有系统共同信任的第三方系统进行用户的验证,用户在访问所有的系统时都会把用户登录信息保存在第三方系统中,如果此用户访问其他系统时,不需要重新登陆,只需在第三方系统中验证通过后,其他系统就默认其用户身证属于正确的,可以进行操作。

在第三方系统验证中有以下几种模式:

口令牌认证方式:在用户进行登录时,系统在认证中心获取一复杂字符串(即口令牌),当用户访问其他系统的某一条信息时需把此口令牌和需要访问的地址一并发送到认证中心,在认证中心进行此口令牌验证是否正确,如果无误,转向需要访问的地址。

优点:在做身份验证各方法中,属于最简单和最容易理解的方式

缺点:存在一定安全隐患,并且访问一个网页时,网页地址不能写成静态网址,因为为了安全考虑,每登陆一次系统时,口令牌都是随机生成,所以无法写成固定模式。

第三方域名认证方式:用户在登录系统时,验证通过后系统转向访问认证中心,并把用户信息和要访问的页面传参给认证中心,认证中心以自己的域名把用户信息用cookie或session方式存储起来,这样用户再访问其他系统时,都会先访问认证中心,认证中心根据存储的信息进行验证。

优点:安全性高,并且跟据需要可以长时间保存用户信息,访问方便

缺点:需要一独立域名,用户访问时系统必须访问认证中心,认证中心出现问题时,各子系统都将无法正常访问

其他身份验证方式:用户登陆时留下访问认证中心,认证中心保存用户一些特殊的信息,以便以后访问时进行的身份验证,如:用户的机器号,用户路由号,IP地址,浏览器ID等。

优点:在一些特殊用处时,安全级别高

缺点:无法进行很大范围应用,否则安全级别会随之降低

3.2 UAMS实现

用户统一身份认证的设计思想是建立一个统一的身份认证平台,利用目录服务集中存储用户的信息和各个应用系统的信息,应用Web Services技术将系统的统一认证封装为Web服务,便于应用系统的调用,从而实现统一认证、统一管理和统一授权。

统一认证子系统是位于多个应用系统和统一身份认证中心之间,该系统接受用户认证请求,由认证中心进行认证并将认证结果返回给应用系统。认证流程图如图9:

(1)产品系统登陆时需向认证中心索取得到TOKEN(口令码),方式为Webservice,得到值为String型。

(2)登陆验证成功转向页面为认证中心指定网址,参数有三个:①token:得到的口令码。②url:需要转向的登陆后页面。③errorUrl:错误转向页面。

4 结论

本文阐述了实现统一用户管理系统的技术方案,介绍了统一身份认证的实现技术。随着单点登录在医院信息化进程中的实现,正在从一个域向多个域的单点登录推进,逐步实现不同域(即不同单位)间的联盟认证,从而实现原本一个单位内部的信息共享到不同单位间的信息共享。统一身份认证和单点登录在目前信息化进程中,为网络资源的共享提供了一个有效的、安全的解决方案。

参考文献:

[1]焦静,李勇.基于LDAP的统一身份认证的设计与实现[J].科学技术与工程,2007,7(4):646-649.

[2]南相浩,白鹏,徐志大.目录服务协议分析、比较与实现[J].计算机工程与应用,2001,37(3):51-53.

[3]M wahl,T Howes S Kille.Lightweight Directory Access Protocol Version 3[R],RFC2251,1997.

[4]王春耕,朱建涛.大规模机群系统中基于LDAP的用户管理[J].计算机工程与应用,2004,40(18):47-49.

[5]Gerald Carter.LDAP system administrator[M].Sebastopol:O'Reillyan dAssociatesInc,2003.

上一篇:4A安全管理系统的研究与设计 下一篇:基于网络的中职基础会计教学的探索