王小娟,黄 协,张 成
(延安大学 网络信息中心,陕西 延安716000)
统一身份认证下单点登录系统与数字化校园平台的无缝连接
王小娟,黄 协,张 成
(延安大学 网络信息中心,陕西 延安716000)
目前许多高校信息化方面缺少数据集中统一管理,难于实现数据个性化服务,降低用户工作学习效率,对此,提出数字化校园建设系统中统一身份认证和单点登录认证机制,论述LDAP协议认证过程,结合学校现有系统和预新建系统,通过LDAP目标服务技术实现数据集中,完成统一身份认证,通过 CAS服务接口认证实现单点登录,描述数据抽取和推送方式,各个子系统通过权限控制共享中间表数据,最优化整合各个业务系统的用户认证信息,实现多个不同应用系统集中统一管理模式,实现资源信息共享,达到事半功倍的效果。
数字化校园;统一身份认证;LDAP;单点登录;CAS;中间表
随着信息技术及计算机网络技术的飞快发展,数字化校园建设已成为学校基础建设的目标之一。数字化校园[1][2]中集成了各个业务职能部门的多个子系统,各个系统有自己的身份认证机构,且相互独立,本校目前有些教工认证信息应用系统采用一卡通工号登录,有些采用身份证号登录,还有一些自己设定登录认证账号,导致多账号密码现象,加之一些子系统使用率很低,使用时间间隔较长,许多老师存在忘记密码情况。增大了负责该系统的管理员工作量,为了涉密起见,许多忘记用户名密码的师生必须携带本人有效证件前往相关部门修改信息,这样即浪费了师生的时间,又增加了工作人员的工作量。因此,提出统一身份认证[3]与单点登录机制来克服上述存在问题。即用户只需记住一个用户名密码即可享用各个系统资源且实现身份自助服务。整体架构如图1所示。
图1 数字化校园整体架构图
本文所使用的判断用户是否合法方式为用户和密码验证法,在用户与服务器的通信过程中,采用一种方式去确认对方用户的身份或权限,然后再对用户的不同身份进行分配其访问控制权限[4]。结合我校现有系统,用LDAP技术可以解决不同子系统统一身份认证的问题,利用LDAP目录服务集中存储用户身份数据,实现VPN、上网、门户以及应用等认证。
1.LDAP协议认证过程
LDAP(Lightweight Directory Access Protocol)目录访问协议[5],支持TCP/IP协议,可以跨越平台使用,基于树形结构,安全性能良好,主要实现数据的读/查询功能,用户认证信息均集中存储在LDAP目录服务与数据库中,并实现目录服务访问与快速定位目标信息两者同步[6]。用户使用认证服务系统输入注册好的用户信息,子系统响应认证后将用户信息以特定的方式传给LDAP服务器,LDAP服务器搜索对应的数据库,比对子系统用户信息有效关系,直至用户退出后超时断开,本次认证结束。
2.LDAP结构设计
LDAP目录主要实现用户信息检索,设计过程遵循用户名(Uid)验证信息唯一,保持全局角色访问唯一性。Uid在运行中不会自动有序增加,为解决此问题,对新加入用户采用根目录下增加整数型字段方式增加路径,添加验证有效性完毕后,字段值加1。不但实现自动递增功能,而且解决用户名(Uid)的一致性。
本次设计采用用户名/密码的 LDAP认证机制,LDAP通过设置合理的参数实现有效性验证,对满足权限的用户提供统一的信息访问,虽然各个子系统配置文件格式有所差异,但都遵循请求/响应模式,权限控制由各自的应用子系统完成,对于Web系统的实现采用Apache Web服务器,完整的认证主要由认证类型和授权模块组成,系统使用认证授权模块和认证支持模块主要完成接口验证及授权功能,输入认证信息进行认证。认证通过后即可授权访问相关系统。
用户通过了统一认证系统的认证以后,将会获得portal服务器从用户基本数据信息库中获取的用户授权信息,实现用户一次登录便可以访问其他应用系统,本文数字化校园建设中服务门户平台采用基于portal开发平台的CMstar信息门户平台软件,基于J2EE技术,实现个性化功能及界面定制。其中CMstar的权限控制、用户管理、以及用户登录相关功能采用的是IDstar提供的接口,其中用户登录采用SSO功能接口。单点登录SSO(Single Sign On)[7]即用户的一次登录后不需要在其他系统再次登录即可得到信任,实现对各个系统的无缝访问,用户不需要像之前那样每登录一个系统就需要输入一次用户名和密码。SSO是目前比较流行的业务整合解决方案[8],认证过程如图2所示。
图2 单点登录认证过程
根据学校校情况,通过服务门户平台与校内统一身份认证平台对校内已建系统,主要对校园一卡通,学工管理系统,教务系统,资产管理系统、科研管理系统公寓管理科以及OA系统以及新建人事系统系统进行对接级联,并在服务门户平台中实现校内用户的单点登录。通过校园CAS服务接口进行单点登录接口认证集成。单点登录平台支持B/S模式登陆,基于C/S结构下的账户统一认证,涉及开发语言包括Java、.NET、PHP。
1.CAS认证
CAS[9]是有耶鲁大学研发的单点登录服务器,包括两部分:服务器端(CAS Server)和客户端(CAS Client),服务器端用于统一认证用户的账号密码,而客户端通常是指提供相应业务的 WEB应用程序,用户访问客户端Web应用程序时,客户端将请求重定向到服务器端进行认证,而客户端不再提供用户认证模块。为确保用户信息安全可靠,CAS服务器采用基于 SSL(Secure Sockets Layer,安全套接层)协议,提高了数据传输的安全性,于系统开发而言,无需开发登录模块,只需要调用单点登录系统提供的接口,即可将新系统整合到单点登录系统中,提高了应用系统开发的效率。
CAS基本的架构过程如图3所示。首先,CAS Client会比对验证用户所要访问的每一个HTTP请求(Step1)是否为Service Ticket中有效的信息,如果服务器端未能找到信息,则此次验证未能通过;于是CAS Client会重定向用户请求到CAS Server(Step 2),并传递访问地址,进入user认证过程(Step 3),如果用户提供了正确的认证信息,Service Ticket会受到来自 CAS Server的授权信息(Step 4),重新定向服务器端地址信息,并为客户端浏览器设置一个Ticket;CAS Client在拿到Service和新产生的Ticket过后,CAS Server进行身份核实(Step5、Step6),服务器与客户端采用 SSL完成信息采集传输。
图3 CAS基本架构
为了实现各个系统数据共享以及整合,本文所涉及的各个系统数据之间的抽取和推送是基于中间表的方式实现,采用Oracle ODI工具实现各个业务子系统间抽取、转换以及加载过程,各个应用子系统可在系统数据库中建立中间库,将其他业务部门所需要的共享数据放入其中,同样,共享数据中心也向应用系统推送数据,需要建立相应中间库,推送有用数据给其各个子应用系统。如果子业务数据发生变化的话,也可以基于中间表实现数据转化、同步,图4为中间表的逻辑设计图。
如图4所示,如果子系统数据发生变化,通知中间表,数据交换平台抽取中间表中变化的数据并更新到数据中心库中;同理,当数据中心库数据发生变化后,通过数据交换平台推送给中间表,子业务数据库提取中间表中变化的数据,完成更新,实现双向共享更新数据。
图4 中间表逻辑图
本文解决了高校数字化校园中多个应用系统用户身份不统一、用户帐号管理分散复杂问题,结合本校校情重点介绍了单点登录,LDAP接口,CAS认证的架构原理以及中间表的实现方式,无缝的实现了数字化校园用户管理[10]和使用一站式服务。
[1]龙新征,邢承杰,欧阳荣彬,王倩宜,李丽,刘云峰.数字化校园中管理信息系统安全体系结构设计与应用研究[J].通信学报,2014,35(Z1):178-184.
[2]刘邦奇,孙曙辉.数字化校园理念、设计与实现[D].合肥:中国科学技术大学出版社,2014.1.
[3]陈鸿,数字校园统一身份认证系统的研究与实现[D].成都:电子科技大学,2013.
[4]Ying Zhang.A Network Topology Control and Identity Authentication Protocol with Support for Movable Sensor Nodes.Sensors,2015,15(12):29958-29960.
[5]陈宇翔.LDAP详解-IBM Tivoli Directory Server从入门到精通[M].北京:机械工业出版社,2012.
[6]Charlie Obimbo,Benjamin Ferriman.Vulnerabilities of LDAP as an Authentication Service.Computational Mathematics,2014,2(4):151-157.
[7]李蔷,陈钢.基于AM的单点登录(SSO)解决方案[J].软件设计开发.2010,27(4):149-151.
[8]Daniel Fett,Ralf Küsters,and Guido Schmitz.Analyzing the BrowserID SSO System with Primary Identity Providers Using an Expressive Model of the Web,University of Trier,2015.1.
[9]范围.基于CAS的单点登录系统应用研究[J].电子测量.2016(8):63-64.
[10]胥晓鹏.上海市城市建设工程学校数字化校园建设项目的进度管理[D].复旦大学,2016.3.
(编辑:王晓明)
TP393
:A
:1673-8454(2017)07-0058-03