校园网统一身份认证系统.docx
- 文档编号:10723695
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:38
- 大小:449.68KB
校园网统一身份认证系统.docx
《校园网统一身份认证系统.docx》由会员分享,可在线阅读,更多相关《校园网统一身份认证系统.docx(38页珍藏版)》请在冰豆网上搜索。
校园网统一身份认证系统
摘要
身份认证是网络安全技术的一个重要方面,在各高校的各种应用系统中身份认证技术都得到了很好的应用。
但是,随着高校中各种应用系统使用越来越多,随之而来的问题是:
在校园应用系统中有太多的密码需要记忆;住在院外的老师因没有合法的身份而无法浏览和使用院内的一些重要应用系统;教职工和学生的与身份相关的详细信息在各个应用系统中不一致;添加新的应用系统时没有一致的认证和授权框架可以使用等等。
建立数字校园系统是解决上述问题也是近年来各高校校园网应用建设的一个新的方向,它涉及数据集成、单点登录、授权管理等多方面的内容,而统一身份认证方案是首先需要解决的问题,其中包括单点登录和授权管理。
本文介绍了在进行数字校园信息系统的建设过程中,采用LDAP作用户信息存储,实现了基于LDAP服务的统一认证服务。
系统的各个层次相对独立,保证了系统的松散耦合,同时,系统易于集成,新的应用系统可以不带自己的用户系统,依靠统一认证系统实现对用户的认证和授权,降低了开发难度。
系统采用JAVA编程,说明了各主要模块的实现方法和步骤。
随着统一身份认证系统的逐步完善,将在信息安全体系中发挥重要的作用。
关键词:
数字校园;身份认证方案;LDAP;单点登录;授权管理
Abstract
Identityauthentieationisaveryimportantfactoronnetworksecuritytechnology,whichbeusedondifferentapplicationsystemsbyalotofuniversities.However,withthemoreusingofapplicationsystems,themoreproblembeappeared.Wehavetorememberlotsofpasswords.Someteaeherslivingoutofcampusdonotbrowseandloginsomeusefulwebpagebecausetheyhavenotalegitimateidentity.Thebasicinformationaboutteaehersandstudentshavesagreatdealofvarianceindifferentapplicationsystems.TherehavenotUnifiedAuthenticationandAuthorizedArchitecturewhenyouappendanewapplication.
Digitalcampussystemissetuptoresolvetheproblemsaboveanditisalsoanewdirectionthatleadstheapplicationofthecampusnetworkconstructioninrecentyears.Itinvolvesdataintegration,singlesign-on,authorizationmanagement,etc.Whatisfirsttoberesolvedistheprogramofuniformidentityauthentication,includingsinglesign-onandauthorizationmanagement.
ThisarticleintroducedtheDigitalCampusconstruction,wechooseLDAPtosavetheusersinformationabouttheDigitalCampusSystem,atthemeantimerealizetheUnifyIdentityAuthenticationServicebaseonLDAP.Thesystemrelativelyindependent,whichguaranteestheloosecouplingofthesystem.Inadditional,thesystemcanbeintegratedeasily.So,newapplicationsystemneednotrelyonit'sownauthenticationsystembutunifiedauthenticationtocompletetheauthenticationandauthorizationofusers,andreducesthedegreeofdificulofsystemdeveloping.Javalanguagewasusedforprogrammingatthispaper.Thispaperindicatestheeachkeyfanctionimplementationmethod.Withtheunifiedidentityauthenticationsystembeingperfected.Itwillplayanimportantroleamongtheinformationsafesystemofcampusnetwork.
KEYWORDS:
DigitalCampus;IdentityAuthenticationScheme;LDAP;SingleSign-on;PrivilegeManagement
目录
摘要I
AbstractII
第1章引言1
1.1论文的背景1
1.1.1数字化校园出现的必然性1
1.1.2传统身份认证的局限性2
1.1.3统一身份认证的重要性3
1.2基于目录服务的统一身份认证3
1.2.1目录服务在校园网建设中的作用3
1.2.2统一身份认证的现状4
1.3研究目标与意义4
第2章系统开发环境及工具介绍6
2.1LDAP简介6
2.1.1LDAP协议概述6
2.1.2LDAP的安全模型6
2.2STRUTS简介7
2.3Tomcat简介8
2.4Eclipse和MyEclipse简介8
2.5SQLSERVER2000简介9
第3章总体设计11
3.1总体设计11
3.2功能设计11
3.2.1用户注册12
3.2.2账号关联12
3.2.3用户认证12
3.2.4用户管理13
3.3数据库设计13
第4章详细设计16
4.1主界面设计16
4.2系统首页设计20
4.3用户注册20
4.4关联注册24
4.5用户管理24
4.6数据库连接29
4.7LDAP服务器连接30
第5章结论32
参考文献33
致谢35
引言
论文的背景
数字化校园出现的必然性
随着计算机的普及,人们己迈入信息化的社会,互连网技术的大力推广和快速发展,更使得社会信息化的程度不断提高。
目前,网络已经成为人们交换信息的主要手段。
社会的信息化,必定会带动校园的信息化。
在校园网中,用户的数量在迅速的增长,网络的使用由简单的上网,发展到现在的各种应用和服务,如:
网上教学、视频会议等。
在校园网中,除了有大量的信息资源,同时还存在着各种应用系统。
随着校园网络信息的逐渐增加和网络规模的日益扩大,每种应用系统都需要进行身份的识别和认证,并且对不同身份所拥有的操作权限进行授权。
通常的做法是在每一个应用系统中建立独立的身份认证模块,使用独立的认证机制在各自的身份认证文件或数据库中认证。
这种管理模式和方法虽然可行,但是,这种传统的访问控制,都是单个应用系统,各自独立,各个用户之间数据不能共享地访问控制。
这样,使网络信息的查询及网络管理都变得很不方便,还会造成数据的不一致性。
除此之外,这种认证方式存在很多的弊端:
消耗开发成本和延缓应用开发进度;无法统一认证和授权策略;无法统一分析用户的应用行为;数据冗余度大,管理维护工作麻烦等等。
另外,传统的开发模式都是基于关系型数据库的用户认证信息管理模型,读取速度慢,可移植性差。
由此可见,我们迫切需要一个统一的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的校园网用户身份管理系统[1]。
“数字化校园”的概念就在这样的背景下出台了。
“数字化校园”是以校园网为硬件基础,利用先进的信息化手段和工具,实现校园的资源数字化,形成一个数字空间,使得现实校园在时间和空间上延伸开来。
校园网络及其应用系统构成整个园的神经系统,完成现实校园的信息传递和服务。
在数字化校园里,可以方便的实现学校的教学、科研、管理、服务等活动的全部过程,从而达到提高教学质量、科研水平、管理水平的目的[1]。
可以说,“数字化校园”是目前现代化学校建设的主要目标,是传统信息化管理系统的进一步深化和延伸。
这一理念的提出,意味着以信息化为标志的现代教学管理模式在教育行业已经确立,也意味着更先进的学校管理理念向信息化系统的建设工作提出更高的要求[2]。
传统身份认证的局限性
传统的独立身份认证方式存在着很多弊端,给用户的使用带来诸多不便。
(1)从信息的角度来说:
信息缺乏有效共享:
由于缺乏全局统一的系统规划,应用系统建设容易各自独立,信息难以交换,更难以在更高的层次上进行信息的处理。
用户信息无法统一更新:
当一个用户的属性发生改变时,他的身份信息只在有限系统中被更改,其他系统无法自动更新,最终造成用户信息无法统一。
信息重复情况严重:
在整个系统中,同一个用户的信息反复存放,数据冗余量过大,最终会造成所有系统信息存储成本上升,性能下降,影响系统正常运行。
(2)从管理的角度来说:
系统信息的管理难度增加:
由于信息无法统一进行更新,以及大量的信息严重重复,使得系统信息的管理的难度大大增加。
用户身份严重不一致:
同一个用户在不同的应用系统中可能存在完全不同的属性,造成同一个用户同时有多个不同身份。
[14]
(3)从用户使用的角度来看:
用户操作复杂:
用户在使用不同应用系统时,必须反复登录,操作极其麻烦。
用户缺乏统一的界面:
对于不同的应用系统,用户需要在不同的位置逐个进入访问,缺乏统一的访问资源和应用的接口。
(4)从开发和维护的成本角度来说:
增加系统的开发和管理成本:
众多应用系统,相互独立,信息重复性大,共享程度低,更新困难,管理不便,都造成了成本的大幅度提高。
增加用户信息的维护难度:
当用户状况变更时,需要同时修改不同应用系统中的大量条目,增加了维护管理的难度。
[15]
(5)从安全的角度来说:
严重破坏了系统的安全性:
同一个用户为进入众多应用系统,必须记忆和采用大量不同的密码和身份信息,为了防止遗忘密码,必定会大量使用重复的密码和身份信息,而这些信息又分散在各个应用系统的数据库中,一旦泄密,系统安全荡然无存。
[3]
由此可见,传统的身份认证存在着很多弊端。
为了解决以上问题,现在各个学校纷纷提供各种解决方案,向数字化校园的目标不断探索。
单点登录,统一身份认证就是实现了数字化校园重要的基础框架。
统一身份认证的重要性
在校园网中,存在着各种应用系统,每一个应用系统,我们都可以把它看成是现实的校园在数字空间上的一个映射。
多个应用系统组成了整个校园在数字空间上的多个映射,我们可以把它称之为数字校园。
在现实校园中,每一个成员都有一个固定的身份,用户的身份决定了用户在校园空间所享有的权限。
[4]数字校园是现实校园在数字空间的反映,因此对于数字校园中的每一个成员,在数字空间也相应地需要有一个固定的身份,即电子身份。
对于数字校园来说,就是要建立一套统一的身份管理系统,学校的每一个成员都有一个与其身份相应的电子身份,用户可以使用自己的电子身份访问数字校园中有权访问的任何系统。
电子身份的确认需要身份认证技术。
[16]身份认证一般与授权控制是相互联系的。
授权控制是指一旦用户的身份通过认证以后,具体负责确定该用户可以访问哪些资源,有什么样的操作权限等。
因此,在数字校园中,应该有一个统一的身份认证系统供各应用系统使用,并且有单一的注册中心统一为各部门服务。
建立统一身份认证系统后,用户每次要访问网络资源之前,必须先到认证系统认证身份,经确认后才能使用相应的网络资源。
这样,可以方便地实现对用户的统一管理。
基于目录服务的统一身份认证
目录服务在校园网建设中的作用
目录服务是指网络系统将网络中的各种资源信息集中管理起来,为用户提供一个统一的服务系统。
目录服务在某种程度上讲就是代表网络用户及资源在基于对象的数据库上的网络应用服务,每个对象中都存储着与特定用户和网络资源有关的信息。
对象可以在目录的树状结构中分层存储,便于用户建立一个与校园组织结构一致的网络结构。
网络上的每个用户及资源均与其它用户和资源有关联,目录能够通过鉴定和授权来管理和控制人和计算机、计算机和计算机之间的关系[5]。
我们可以说,目录是用于保存资源信息的,其中资源信息包括用户和各类软硬件设施、用户的帐号和口令信息等。
相对于关系型数据库,应用目录服务管理用户信息的优点在于:
目录数据库以树状的层次结构描述数据信息,其数据模型与现实生活中的组织基本一致,在资源信息管理方面有很大的优势,能够较好的解决信息的分布管理和集中使用的问题。
概括而言,目录数据库有如下特点:
分布性:
目录信息能够自然地分布在各地的服务器中,并由各地组织管理,既保证了目录信息总体结构一致,又满足了分级管理的需要;易扩展性:
规模可大可小,大到全球,小到只有一台目录服务器的单位,目录系统都能胜任,并且很容易扩展;[17]
查询快速灵活:
目录国际标准定义的检索操作提供了非常灵活的查询条件,并且还可根据需要扩充,可满足复杂的模糊查询需求,其面向查询优化的算法使得其检索速度比关系数据库快一个数量级;[18]
平台无关:
作为国际标准,目录系统所使用的通信协议框架是OSI网络七层结构模型,完全与平台无关,保证了目录系统的开放性和各种类型计算机在目录服务中的互操作性,从而保证了用户投资的长期有效性;
安全性:
目录系统规定了一个精密的存取控制方案,充分保证条目信息的安全,同时又便于管理者对用户的存取权限进行控制。
因此目录服务可以用来为其他应用提供完善的身份认证及权限控制服务。
统一身份认证的现状
基于目录服务的上述特点,我们可以采用目录服务技术来实现统一身份认证。
现有的一些统一身份认证的系统,就是利用目录服务技术实现部分系统的统一认证的。
[11]我们使用目录服务器来集中存储用户的个人身份信息和权限信息,在应用服务器遵从统一的目录服务标准的情况下,和目录服务器通信,进行统一认证。
[19]
研究目标与意义
随着通信技术、网络技术的不断发展,网络已经成为我们学习和生活中重要的基础设施。
而校园网作为学校教育信息化建设的基础,在教学、科研、管理等方面发挥着越来越重要的作用。
同时校园网是一类复杂而很有代表性的网络,具有用户数量大,网络应用与服务繁多等特点。
在校园网中,通常是由各个应用程序和服务使用各自特定的数据库来存储用户信息,并使用各自特定的协议实现用户信息的访问。
因此产生了各类用户信息重复和不一致等问题,给管理员和用户带来了麻烦,同时也存在网络安全隐患。
因此,迫切需要实现校园网用户的统一身份管理和认证。
校园网统一身份认证系统能够实现校园网上各种应用系统和服务的统一用户管理和身份认证,可让用户只使用一套用户账户,就可以登录校园内所有的采用统一身份认证的应用系统和服务。
从而实现集中的用户管理、统一的身份认证和统一的访问控制。
从一定意义上讲,校园网的建设是衡量一个高校综合实力的重要标志。
开发本系统的目的就是充分利用现代信息技术,提高信息利用效率,提高学校教学、办公管理的水平,实现学校信息化管理,为此在数字化校园的建设中使用统一接口、统一信息服务平台、统一身份认证系统的结合的显得尤为重要。
建立统一身份认证系统,对用户的身份集中集中管理,保证用户电子身份的惟一性、真实性与权威性,大大提高了校园应用系统的安全性。
系统开发环境及工具介绍
LDAP简介
LDAP协议概述
LDAP(LightweightDirectoryAccessProtocol)即轻量级目录访问协议,直接运行于TCP/IP或者其他可靠传输协议之上,是目录服务的前端访问协议。
LDAP基本工作方式为LDAP客户端向LDAP服务器发送请求,服务器发回应答信息,LDAP协议定义的便是客户机与服务器之间请求、应答的格式和约定,即LDAP客户机访问服务器的前端访问协议。
[5]
目录服务就是按照树状信息组织模式,实现信息管理和服务接口的一种方法,是一种特殊的逻辑数据库,具有强大的检索功能和完善的安全机制,并有良好的跨平台性。
LDAP以目录信息树结构的形式存储信息,目录信息树中的一个节点即为一个条目(Entry),每个条目包含属性(Attribute)和属性值。
[6]属性由对象类(objectclass)确定,每个对象类包含多个必须或可选属性。
条目信息通过LDAP数据交换格式文件(LDIF)以文本的形式进行描述。
LDAP的安全模型
LDAP中的安全模型是为了保护存储在LDAP中信息的安全性,主要通过身份认证、安全通道和访问控制来实现[7]。
身份认证有匿名、基本认证和SASL(SimpleAuthenticationandSecureLayer)认证。
匿名认证即不对用户进行认证,该方法仅对完全公开的方式适用;基本认证是通过用户名和密码进行身份识别,又分为简单密码和摘要密码认证;SASL认证即LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证。
LDAP中提供了基于SSL/TLS的通讯安全保障,SSL/TLS是基于PKI信息安全的技术,是目前工nternet上广泛采用的安全服务。
[8]
在LDAP中是基于访问控制策略语句来实现访问控制的,这不同于现有的关系型数据库系统和应用系统,它是通过基于访问控制列表(ACL,AccessControlLists)来实现,在通过目录认证后,对目录的访问操作权限按ACL的定义来分配。
[9],[10],[11]无论是基于组织模式或角色模式,都摆脱不了这种限制。
对于LDAP,用户数据管理和访问标识是一体的,应用不需要关心访问控制的实现。
无论是访问控制的数据对象,还是访问控制的主体对象,均是与这些对象在树中的位置和对象本身的数据特征相关。
在LDAP中,可以把整个目录、目录的子树、制定条目、特定条目属性集或符合某过滤条件的条目作为控制对象进行授权;可以把特定用户、属于特定组或所有目录用户作为授权主体进行授权;最后,还可以定义对特定位置(例如IP地址或DNS名称)的访问权。
STRUTS简介
Struts只是一个MVC框架(Framework),用于快速开发JavaWeb应用。
Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(CustomTag)。
但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。
优点:
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。
使开发者能更深入的了解其内部实现机制。
Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰[12]。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
[8]尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
缺点:
Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。
虽然它现在还有不少缺点,但它是一种非常优秀的J2EEMVC实现方式。
Struts最早是作为ApacheJakarta项目的组成部分问世运作。
项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
基于以上分析,本系统采用Struts框架。
Tomcat简介
自从JSP发布之后,推出了各式各样的JSP引擎。
ApacheGroup在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet,这样Tomcat就诞生了。
Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。
servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。
其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。
Tomcat与Apache的组合相当完美。
Tomcat服务器的使用也非常简单,将打包好的工程(.var)拷贝到目录webapps下,然后启动Tomcat服务器即可。
Eclipse和MyEclipse简介
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于Eclipse的应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园网 统一 身份 认证 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)