单点登录在校园身份管理系统中的实现文档格式.docx
- 文档编号:21523540
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:36
- 大小:1.31MB
单点登录在校园身份管理系统中的实现文档格式.docx
《单点登录在校园身份管理系统中的实现文档格式.docx》由会员分享,可在线阅读,更多相关《单点登录在校园身份管理系统中的实现文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
NetworkIdentity
LDAP(LightweightDirectoryAccessProtocol)
IdentityServer
DirectoryServer
目录
第一章绪论1
1.1项目背景1
1.2系统介绍1
1.3本文的工作2
第二章网络身份管理策略3
2.1网络身份的内容3
2.2身份管理的发展4
2.3Sun开放网络环境概述9
第三章系统结构11
3.1系统环境11
3.2功能设计12
第四章SunONEIdentityServer应用分析14
4.1SunONEIdentityServer简介14
4.2SunONEIdentityServer的基本组件14
4.3SunONEIdentityServerAPI分析16
4.4SunONEIdentityServer特点以及扩展18
第五章SSO在校园身份管理系统中的实现20
5.1单点登录(SSO)的实现20
5.2跨域单点登录(CDSSO)的实现22
5.3Web服务的部署23
5.4校园身份管理系统中单点登录的具体实现24
5.5校园身份管理系统中单点登录的测试32
第六章总结与展望36
6.1总结36
6.2系统的不足与展望36
致谢37
参考文献38
第一章绪论
1.1项目背景
近年来,Web技术在政府、公司、学校中的使用已经出现了爆炸性的增长,通过Web提供的信息和应用越来越多。
随着Web的使用进入成熟阶段,成功地管理和保护部门的Web资源已经成为一个越来越复杂的挑战。
身份认证管理是保护部门Web资源的核心部分。
如今,内部网络登录服务、各种组织、商业服务等要求身份认证的需求者将一个人在网络上的身份分割成许多独立的碎片。
这些碎片构成了繁多的一对一的客户服务关系,导致了更多的安全风险。
以学校为例,一个学校的内部有很多的信息系统,如学籍管理系统、电子邮件系统、文件共享服务器、成绩管理系统、图书馆信息系统等,每个用户在这些系统上都有账号,以前他们需要在每个系统上配置为各个账号分配的权限,由于系统过多,很容易出现遗忘,出现过用户被分配过高权限后没有及时修改的现象,发生了信息泄露的问题,影响了系统的安全。
同时每个用户都需要记住自己在各个系统上的用户名和密码,众多用户同时面对多个系统要重复输入账号、口令等信息,不仅烦琐,更重要的是容易出现口令丢失,给系统和用户造成损失。
因此,信息系统急需有一个统一的、具有较高安全控制的身份验证和授权系统,以保证数据安全和用户操作方便。
1.2系统介绍
基于SunONE的校园身份管理系统很好的解决了上述问题,它使用SunONE的身份认证服务器,目录服务器,采用单点登录(singlesign-on,SSO)的策略。
当用户访问多个需要认证的系统应用时,只需要初始进行一次登录和身份认证,就可以访问具有权限的任何系统,而不需要再次登录,后续系统会自动获取用户信息,从而识别出用户的身份。
这样,无论用户要访问多少个应用,他只需要进行一次登录,而不需要用户重复输入认证信息。
单点登录技术可以简化用户访问多种系统应用,避免用户由于需记忆众多账号信息而出现的遗忘,而且可以减少口令等重要信息在网络传播时被截获的危险。
该系统有很好的用户权限控制粒度,可以整合学校的各种系统,如学籍管理系统、电子邮件系统、文件共享服务器、成绩管理系统、图书馆信息系统等的各种认证信息存放于单一的身份认证服务器中,实现单点认证,全局应用。
用户在一点认证就可以根据权限访问整个学校的所有资源。
比如用户在登录图书管理服务器时进行了认证,整个系统就知道了给用户的身份,该用户在使用电子邮件服务和文件共享服务时就不需要再认证了,系统会根据他的身份赋予相应的权限;
管理员可以在一点改变所有系统上用户的权限,例如管理员通过统一的管理终端将某用户分配特定系统的权限,不用再到各个系统分别配置。
1.3本文的工作
本文分几个部分介绍了单点登录(SSO)在基于SunONE的校园身份管理系统中的实现。
第一章,绪论,介绍了项目背景和系统所解决的问题;
第二章,介绍了网络身份管理策略和身份管理的发展情况;
第三章介绍了基于SunONE的校园身份管理系统的系统结构;
第四章分析了SunONEIdentityServer的特点及扩展;
第五章详细描述了单点登录在基于SunONE的校园身份管理系统中的具体实现;
第六章,总结与展望,总结了系统的优缺点,以及今后的改进方向。
第二章网络身份管理策略
2.1网络身份的内容
身份管理是一个发展很久的名词,在以前的描述中,身份管理曾经被简单地认为是目录管理,或者简单地对用户身份进行数据库式的线性管理。
现在,真正的身份管理,已经发展为包含认证机制、密码管理、Web和企业网上的一次性登录(SSO)、账号管理、集成身份访问控制等非常全面的企业安全技术。
身份管理包括两部分内容:
身份识别和访问控制。
身份识别管理需要集中并自动实现用户账号和批准工作流的创建,从整体角度设置IT和非IT资源,并通过流程自动地降低成本。
借助集成化的一次登录和个性化的门户自服务(包括密码重置),也提升了用户的生产效率。
由于有了能够满足当前及未来企业需求的功能强大的身份鉴别和识别存储支持,身份识别管理可以管理企业身份识别的各个环节。
从员工工作、合作伙伴签约或客户访问系统开始,它就追踪和管理并自动实现所要求的系统访问变更,并且启动所有的工作流和批准过程。
通过提供一次登录,可自动实现安全地访问基于浏览器、客户机/服务器以及传统设备的应用程序,并且可消除当今IT安全领域最大的、造成高额成本支出的安全难题——持有多个ID的密码问题。
实现网络身份的有效识别何管理需要有强大的存储库,并借助接近实时的查找功能来管理成千上万的用户。
管理用户合理的访问企业当前庞杂的资源是一项复杂工作,员工、企业合作伙伴及客户通常跨不同平台和操作系统,需要安全地访问关键业务应用。
管理访问意味着对被认证的用户访问的所有类型资源进行控制,确保强大的安全策略始终如一地应用到所有相关人员。
访问管理解决方案通过集中和强化端到端的安全性,确保业务关键型资源的安全,而无需受限于操作系统、平台和业务应用以及是否是Web资源。
借助主动的动态安全措施,解决方案能提供最强大的保护,在防止内部破坏和外部攻击的同时,全面监控IT和物理访问设备的访问违规。
2.2身份管理的发展
身份管理系统近些年发展很快,现在有扩大范围的趋势。
身份认证技术已经逐渐由传统的多点登录向集中式单点登录方向发展,同时身份也不只局限在一个公司内部,公司之间联合身份认证已很热门。
联合身份认证解决如何在公司之间实现单点认证,涉及到多个身份管理服务器互相交互,建立信任管理的问题。
身份管理的发展趋势如图2-1所示:
图2-1:
身份管理的发展
在解决认证和单点登录(SSO)问题方面,很多流行的新技术被采用,这其中包含Kerberos、公用密钥基础结构(PKI),结合了XML标准以及WebService安全规范的标准也正在被制定,这是未来发展的一个方向。
2.2.1传统的用户登录模式
传统的认证机制是基于用户名和密码的,每一个系统都建立有自己的用户信息数据库,用以验证用户的身份。
用户要访问n个系统就需要在n个系统中建立n个帐号。
当其要访问一个系统中的资源时,用户首先要登录进入该系统,如果他同时要访问处于多个系统中的资源,用户就不得不按照各个系统的要求分别登录进入相应的系统。
这种情况在网络广泛应用的单位中更为明显。
例如在一个大型的公司里,职员要访问技术文档、查看个人工资情况、使用邮件服务等就要分别登录到技术文档服务器、企业员工工资管理系统、邮件服务器等。
用户会输入相应的帐号来登录进入这些系统。
对于繁多的用户帐号,大多数用户会选择简单易一记的用户名和密码,甚至有人把用户帐号写在字条上,以防忘记;
更有人为了避免重复登录系统,干脆在不使用服务的情况下也不退出系统。
这样的系统既增加了用户的负担,也容易导致违反基本安全策略的事件发生,使系统更容易受到攻击,降低了系统的安全性。
有资料显示,典型的网络用户一般每年在登录到网络应用程序上要花费44小时。
更有甚之,70%的帮助小组电话都与密码遗忘有关,可见,传统的认证机制耗费了大量的人力物力,仍然不能很好地满足人们的对网络应用高效、安全的需要。
从技术上分析,传统的认证机制有着严重的安全问题。
首先,用户名和密码信息会在网络上传送,且常常为明文传送,这就很容易被攻击者截取到,假扮合法用户来攻击系统。
另外,在一般的系统中,密码一般由长度不长的字符组成,用户为了方便记忆往往会选用一些更为简便的密码形式,这很容易遭受到密码猜测的攻击,尤其是基于字典方式的攻击往往非常有效。
如果强迫用户使用复杂的密码,则用户很可能将密码写在便条上,以便查阅,这样更大大增加了密码泄露的可能性,安全仍然难以得到保障。
由于用户账号是不断重用的,这样为重播攻击提供了条件,攻击者只要记录下上一次用户的登录数据,以后他就可以原封不动的使用该数据来假扮合法用户通过系统的认一证,破坏系统。
同样对网络管理员来说,这样的系统会使他们的工作量大大增加。
因为每个系统都保存有自己的用户信息数据库。
例如当公司新增了一名员工,管理员就要在该员工有权访问的所有系统中逐个为该员工建立账号。
当该员工离开公司后,管理员又要在各个系统中将其账号删除,工作量无疑是巨大的,而且很难避免某些遗漏。
因为网络管理员并不知道用户到底在多少个系统中建立了自己的账号,只能逐个检查,很容易忘记在某个系统中删除该员工账号,这样就会留下安全隐患。
分析其原因,这一切都是由于分散的用户管理造成的,各个系统间没有联系。
用户在现实世界中的身份通过账号映射成为网络世界中的用户身份标识,但用户的这种身份标识是分别被每个系统分别保存的,无法互相传递。
这就迫使用户在进入每一个系统时都要重新提交自己的身份标识,来通过系统的认证。
其概念结构如图2-2所示:
图2-2:
目前使用的多点登录的示意图
总之,基于效率和安全的因素,人们必须改变传统的认证机制,设计出一个更为高效、安全的网络认证机制,来简化人们访问网络中各种资源的过程。
2.2.2单点登录模式
单点登录,即SSO(SingleSign-On),SSO的机制就是在企业网络用户访问企业网站时作一次身份认证,随后就可以对所有被授权的网络资源进行无缝的访问,SSO可以提高网络用户的工作效率,降低了系统出错的几率,但是比较难于实现。
单点登录系统就是用户只需要在网络中主动地进行一次身份认证过程,然后就可以访问其被授权使用的所有处在网络上的资源而不需要其主动参与其后的身份认证过程。
这些服务资源可能处在不同的计算机环境中,用户以后的身份认证是系统自动完成的。
在此系统中,管理员无需修改或干涉用户登录就能方便的实施希望得到的安全控制。
这是一个为了能够在分布式计算机环境中,安全和方便地鉴别用户而产生的课题。
在这里,网络的资源可以是打印机或其它硬件设备,也可以是各种厂创利程序和文档数据等等,这些资源可能处于不同的计算机环境中。
单点登录系统从根本上不再使用基于用户名和密码的身份认证机制,而是采用结合了密码学技术的新的身份认证机制。
新的身份认证机制可以大大提高系统的安全性,同时也可以保证用户的电子身份标识可以安全、高效地在网络之间传递。
其次,单点登录系统把原来分散的用户管理,集中起来了。
各个系统之间依靠相互信赖的关系来进行用户身份的自动认证。
用户的账号信息是集中保存和管理的,管理员只需要在统一的用户信息库中添加、删除用户账号,不必在多个系统中分别设置用户信息库。
由此可见单点登录系统的优点有:
1.提高工作效率。
用户不再需要每访问一个服务资源就进行一次身份认证过程,从而使用户有更多的时间从事有益的工作。
同时这样也可以使帮助人员从为用户找回密码的繁重工作中解脱出来。
2.更好的网络安全性。
系统中使用的身份认证机制使用了加密等多种方法,可以防止大部分的网络攻击。
同时由于新的身份认证机制使用户的账号信息记忆量减少,使系统由于用户机密信息的泄露而导致安全事故出现的机会大大减少。
3.更有效的管理。
用户的账号数据统一保存,网络管理员只需要在一个用户信息库中对用户的账号信息进行操作,减少了他的工作量和由于马虎造成的安全漏洞,提高其工作效率。
其概念结构如图2-3所示:
图2-3:
SSO的认证示意图
单点登录分为域内单点登录和跨域单点登录(CrossDomainSSO)。
同一个企业可能有不同的域名,如微软有、、等不同的域名,如果需要要在多个不同的域之间实现单点登录,就会用到跨域单点登录。
2.2.3联合身份认证
身份不只局限在一个公司内部,公司之间联合身份认证解决如何在公司之间实现单点认证现已很热门。
为了促进网络身份认证项目的顺利推广,2001年9月,由HP、Cisco等十多家IT知名企业以及美国30多家著名大企业发起组成了自由联盟(www.projectliberty.org),自由联盟旨在开发和部署开放的、客户操作的网络身份认证标准。
该联盟在征求各方意见的前提下,于2002年7月推出了Liberty
1.0
版规范,这是这个成立不到一年的跨行业共同体制定的第一套开放性联合身份认证规范。
在这种联盟下,用户只用登录过任何一个联盟参与者的服务网站或终端,并许可联盟内的其他参与者可以获得自己信息,就可以按照系统返回的ID号码,在联盟企业中任意访问,而不用重新登录。
这样,很多重复的工作就由联盟在后台完成了,给用户带来了真正的方便。
举一个简单的例子。
美联航和花旗银行都是自由联盟的发起者。
如果某个用户希望用花旗银行的信用卡购买美联航的机票,那么他只用登录过一次美联航的网站或者电话通知他的个人信息及所需机票要求,美联航就会为他出票并按照自由联盟协议,自动到花旗银行该用户信用卡上将机票费用划走。
联合身份认证将成为今后网络身份认证的一种必然趋势。
联合身份认证解决如何在公司之间实现单点认证,涉及到多个身份管理服务器互相交互,建立信任关系的问题。
2.3Sun开放网络环境概述
在网络身份认证领域,支持单点登录的产品很多,有Microsoft公司的Passport解决方案,有Sun公司的SunONE解决方案,有IBM公司的WebSphere解决方案。
在这个校园身份管理系统中,我们选择SunONE,因为SunONE遵循而自由联盟提出的Liberty
版规范,这是一套开放性联合身份认证规范。
Sun
ONE
网络身份认证平台便利于提供开放和安全的授权和身份验证服务、简化访问方式以及提高生产效率。
SunONE的全称是SunOpenNetEnvironment,也就是Sun开放网络环境,它是Sun整合了其门下所有软件产品后的成果。
SunONE是SunMicrosystems的标准软件理念、体系结构、平台和专业技术,用于开发和部署定制服务。
SunONE体系结构支持定制服务应用及服务的创建和交付。
ONE网络身份认证平台包含支持自由规范的
Identity
Server、Sun
Directory
Server以及
Solaris
9
操作环境。
它还包含
公司硬件以及新合作伙伴提供的服务。
图2-3SunONE平台
所谓的开放,就是无论运行在何种硬件平台下,都可以按照统一的标准进行整合和规划。
SunONE品牌下面有从基础的操作系统环境到高端的门户服务、目录服务等全线产品,为传统企业信息化提供全套工具。
企业原有资源、系统经过SunONE延伸,有了良好的集成和统一的接口。
SunONE强调的是开发与配置按需服务,它为企业量身搭建符合他们需求的信息系统架构,帮助他们实现内部的有效管理,实现对外与合作伙伴及用户的沟通。
在这样一种结构下,企业可以降低成本,降低复杂性,提高资产回报率。
该平台支持且适用于由自由联盟计划(LibertyAllianceProject)推出的联合网络身份认证的LibertyAlliance1.0技术规范。
以支持LibertyAlliance1.0技术规范为特色,SunONE不仅有助于商业机构和非商业机构维护其重要身份信息的保密性,同时还从经济上受益于网络联合身份认证的业务合作伙伴。
第三章系统结构
3.1系统环境
3.1.1前端系统
(1)开发环境:
(a)硬件环境:
普通PC机:
奔腾2.4GHzCPU,512MDDR内存,17寸纯平显示器、显存64M,80G硬盘
(b)软件环境:
操作系统:
Windows2000ServerSP4,IE6.0SP1
(2)运行环境:
CPU主频500MHz以上、内存频率128MHz以上
WINDOWS系列操作系统IE5.0以上
3.1.2后台系统
(b)软件环境:
Windows2000ServerSP4
服务器:
SunONEApplicationServer7.0,SunONEDirectoryServer5.1,SunONEIdentityServer6.0
数据库:
PointBase,MySql
开发语言:
Java(JSP,Servlet,JavaBean),HTML,JavaScript,SQL
开发工具和编译器:
SunONEStudio5.0,JDK1.4.2
(2)运行环境:
CPU主频2GHz以上,内存512M以上
Windows2000Server系列
SunONEApplicationServer7.0,SunONEDirectoryServer5.01,SunONEIdentityServer6.0
3.2功能设计
3.2.1系统拓扑结构:
系统采用当今流行的B/S结构,使用SunONEApplicationServer作为应用程序服务器,SunONEIdentityServer作为身份管理服务器,SunONEDirectoryServer作为身份存储库。
如图3-1所示:
图3-1系统总体结构示意图
3.2.2功能设计:
基于SunONE的校园身份管理系统的功能模块如图3-2所示:
图3-2系统功能模块示意图
该校园身份管理系统包括3个子系统:
●身份管理子系统:
具有用户信息管理、身份认证、权限分配等功能
●图书管理子系统:
配合实现单点登录的子系统
图书管理系统中有两种用户:
图书馆管理员和普通读者
图书馆管理员具有:
图书管理、借书管理、还书管理、罚金管理、读者管理、基本代码维护、查询等权限
普通读者具有:
读者信息查询、图书信息查询、已借图书信息查询等权限
●校园邮件子系统:
邮件系统具有:
收信、发信、管理信件等功能。
每个用户有四个个人文件夹,分别是收件箱、发件箱、草稿箱、回收站,用于邮件的管理。
第四章SunONEIdentityServer应用分析
4.1SunONEIdentityServer简介
SunONEIdentityServer6.0是业界第一个基于开放性标准的网络认证解决方案。
它采用了Jav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单点 登录 校园 身份 管理 系统 中的 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)