APP下载

统一身份认证系统的设计与实现

2014-09-17

天津职业院校联合学报 2014年4期
关键词:单点客户端统一

(天津现代职业技术学院,天津 300350)

近几年,我国经济迅速发展,教育部门对高等院校的建设和规划也越来越重视,现今的大学、高等院校可谓整合了多方资源,逐渐成为了具有一定规模的专业化和信息化程度较高的综合性高等院校。但现阶段我国的高校信息化基础设施以及技术建设并不完善,各个系统缺乏有效串联,要保证学校内部系统,还要基于差异权限、信息类别,仍能保证校园内任何链接的应用系统,能够实现目录访问过程以及最大限度的节省网络资源。所以,要将校园内部进行统一的、便捷的身份认证已势在必行。

高等院校本身就是网络技术发展的前沿,网络技术的迅猛发展,也促进了高校内部应用系统的发展,但在建设初期由于校园建筑面积、学生数量以及计算机硬件等等方面的限制,将各个网络应用系统有效的规划与整合几乎是不可能的,各种管理系统、应用网站每个都有着一定的效能,甚至有的代替了原有的工作人员以及工作方式,为师生提供了便利。但是,随着我们所需要的这些系统、网站的层出不穷,导致了系统之间子功能重复、用户密码太多容易混淆,以及信息资源无法共享等等。由于在高校内部各院、系负责本部门的系统维护和管理,这样就会导致系统之间登录方式无法“标准化”。而管理员维护本部门的多个系统、网站时,也无可避免要地维护大量部分信息重复或格式不统一的数据。在这样的情况下,只有通过建立统一身份认证系统,才能对用户信息实行统一管理、配置以及访问控制,从而避免因各系统之间信息重复或者数据冗余而产生的一系列问题,实现校园内部网络新功能的拓展。

一、身份认证技术分析

身份认证方式是统一认证系统中最为重要的部分。通信过程分为:服务器——用户和用户——用户两种情况,但必须对客户的身份以及权限进行核查,而后根据不同类型的用户进行权限释放。身份认证是通过系统对用户的身份信息对网络数据库进行核对,并进行有效性认证的过程。

1.单点登录实现机制

单点登录机制就是对系统已经赋予权限的用户进行首次验证后,用户即可随意登陆系统中的任意模块。如图所示,用户开始首次访问时,用户状态属于未登陆状态,所以要通过认证系统进行认证;认证系统对用户登录信息进行审核,符合条件后,将Ticket发放给用户;用户在访问其他应用系统时,认证系统只需验证用户携带的Ticket。如果通过验证,用户再非登陆状态下,即可登录其他应用系统。

图1.1 单点登录机制图

2.单点登录的信息安全相关技术

信息安全就是要保证信息的安全,也就说信息资源在系统中或信息网络传输、运算等过程中不遭受干扰和破坏。根据国际标准化组织的定义,信息安全主要是指信息的可用性、完整性、可靠性和保密性,安全技术是实现信息安全服务的主要手段,安全技术主要有认证技术、网络安全协议和加密技术等。

MD5(Message Digest Algorithm 5)加密技术就是按照某一运算方式将任意长度的数据转换为一个固定长度且不可逆运算的数字,且能够使数据具有完整性和一致性。MD5具有较高的安全性,每个信息产生的摘要具有唯一性,不同的信息绝对不会产生同样的摘要;只能进行单向运算,进行加密的信息摘要,一般情况下是无法返回到原信息的;信息在进行加密后,信息排列无规律且随机生成,以防止非法用户的攻击。在统一身份认证系统中,为了提高整体系统的安全性,我们经常采用MD5加密算法,改变了原有的客户端与服务器之间密码的明文传递方式,使用户和系统之间的信息传递变成了信息加密的过程。

二、统一身份认证分析与设计

统一身份认证系统就是将应用系统中的各种认证方式结合在一起,使整个系统中登录方式实现便捷化与稳定化,使资源信息更加层次化与整体化,保证服务与管理的资源统一化。

1.系统构架设计

整个认证系统的构架中包括:认证服务、应用服务、目录服务等模块,认证服务是整个体系中的核心部分,可以实现集中认证和单点登录两部分功能。当对用户信息进行验证时,如果成功的话将会生成通行票据赋予用户,而且此票据将通过Cookie保存后转载至浏览器,而证明用户身份的有效性就依靠这枚票据;用户访问应用系统时,由认证功能模块对用户携带的票据进行有效性检查,假设票据合法,则用户可以访问被授权的应用系统。用户退出系统时,必须注销统一身份认证系统,注销功能模块将用户与应用之间的访问依次断开,用户浏览器中票据和Cookies也将被清除。

2.票据设计

Cookie作为HTTP的通用票据,服务器可通过获取、保存客户端的信息从而将cookie产生,并通过客户端请求服务器响应的回执发送至客户端,从而通过某种格式在客户端浏览器进行存储。由此看出,cookie本质就是服务器和客户端的对话信息文件,而这些是通过服务器回应客户端时发送的,客户端将cookie接收后进行解析,将它保存至本地文件夹内。客户端下次再访问该服务器时,仅通过访问、解析已被保存cookie,再对用户信息是否合法进行判断,而不必进行重复的认证操作。

3.LDAP设计

统一身份认证系统中单点登录模块最为重要,它保证了用户对身份信息的统一认证、管理和授权。本系统为了进一步方便用户访问所有应用系统,通过LDAP功能实现对用户身份的甄别,并将应用系统进行集成管理,将权限管理、信息识别和统一认证一一实现。为了更好地解决快速读取系统信息,从而减少因系统性能下降导致的一系列问题,LDAP的目录服务功能具有安全性和合理性,使统一身份认证系统具有良好的可操作性。 LDAP的设计要从以下几个方面考虑:(1)LDAP目录服务通过对信息对象中的属性、类型及关系进行规范,从而使文件信息按树形排列且更为有序。(2)LDAP目录服务为了保证各个应用系统能够合理进行信息、数据融合以及同步操作,通过动态方式将新的操作内容在各个应用系统内进行分布存储。(3)LDAP目录服务要对服务器上的用户信息的读取要进行严格的控制,目录服务器中存储了大量的私人信息,只有在安全的环境下,各个应用系统中的信息才可以保障。

三、统一身份认证的实现和测试

1.系统开发环境

本系统采用的是Java语言进行的开发,相比较来说,Java语言在面向对象的设计语言中存在一定的技术优势,能够在占用很少的内存基础上完成功能强大且复杂系统的编写。在Java的代码编写结构中,还增加了一个安全方式保证系统,以不被恶意代码攻击。Java是一种跨平台的语言,并不依靠操作系统,真正做到“编写一次,随处运行”,最大限度地保证了系统可移植性。同时,Java可分配字段空间来防止用替代的方法来建立一个安全防范机制,可有效避免非法代码,减少病毒入侵。

Openldap(轻量级目录访问协议)是一个开放源码的软件,截至目前,诸多版本的Linux系统中都会植入相关协议,统一身份认证系统对目录服务功能需求是极为重要的。同时,我们会考虑到Openldap在Linu和windows平台具有不错的表现,LDAP是目录服务中的首选,为了保证系统的兼容性和扩展性,我们还应该注意到LDAPv3中大部分功能Openldap也具有。

2.LDAP的配置与运行

各个用户的角色不同,管理员赋予的功能也不同。假设管理员分别通过老师账号和财务账号进行登录后,进入统一身份认证系统,即可在用户管理菜单下用户列表对注册用户进行详细查看,管理员可通过用户列表功能将选项里已经注册的所有用户在安全的情况下进行角色划分,来保证注册权限由管理员直接对用户进行注册。用户进入统一的教学管理系统,会发现不同角色进入相同系统中会拥有不同的功能与权限,如具有教学管理角色权限的老师账号,进行统一认证并登录后可发现,用户不但可以查看需要添加的课程,还可以对课程进行授权,而另一个不具有其他功能权限的财务账号只能简单浏览该系统。

3.系统测试

本系统在进行初步实现后需要进行一个全方位的测试,测试是为了更好地保证系统能够良好运行,同时也为系统二次开发做积极的准备。系统测试一方面能够对系统本身是否符合需求分析中的要求作出判定,另一方面会对系统的性能、界面以及数据中的错误进行校验,保证系统能够正常甚至在一定压力下运行。所以系统各个模块正常运行后,我们会关注系统的稳定性,通过简单的压力测试,通过大量用户对该系统的随机访问,来观察系统是否能在繁多的响应中正常运行,测试的参数包括响应的时间、内存占用情况、CPU使用率等指标。在进行测试之前应对本次测试的方法和内容以及环境等进行了解,得到并发用户数和相应时间等测试的主要指标。本系统的测试通过Webserver Stress Tool测试平台服务器来完成,掌握CPU使用率、内存占用情况、磁盘队列长度以及网络流量等。

使用Webserver Stress来进行压力测试,便于我们在不通过多台机器同时访问的情况下,即可对系统进行测试,该工具就是通过创建脚本来实现并发多用户自动执行并单点访问,模拟大量用户对服务器进行访问的方法,对登录本系统的URL网址和模拟人数等参数进行设置,就能掌握在该压力测试下服务器运行情况,系统的运行状态,更能以图表的形式对服务器的信息传递和反应时间等数据进行描绘。

四、结论

通过查阅大量的国内外文献资料和相关技术标准,通过对统一认证系统进行架构设计以及模块设计,进一步阐述了票据的概念,然后重点描述了统一身份认证系统的流程设计,通过 LDAP目录服务的设计,使票据思想结合cookie保证了单点登录技术的实现。为了更好地适应校网系统的安全性和管理性,将本系统中的关键技术进行了详细设计,在搭建统一身份认证平台时,充分考虑到传统身份认证中存在的问题,通过采用LDAP目录协议,并使用开放的OpenLDAP服务器软件构建本系统,按照需求分析,本系统使用了Struts和Spring的MVC框架并采用拥有良好兼容性和跨平台性的JAVA语言进行开发,然后对完成的系统进行了相应的测试,展示了相关部分运行效果。

参考文献:

[1]Thomas H.Cormen, Charles E.Lerserson, Ronald L.Rivest, Clifford Stein. 算法导论[M].北京:机械工业出版社,2005.

猜你喜欢

单点客户端统一
坚持严管和厚爱相统一的着力点
碑和帖的统一,心和形的统一,人和艺的统一
历元间载波相位差分的GPS/BDS精密单点测速算法
如何看待传统媒体新闻客户端的“断舍离”?
统一数量再比较
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
数字电视地面传输用单频网与单点发射的效果比较
企业信息门户单点登录方案设计