(计算机应用技术专业论文)单点登陆技术的研究与实现.pdf_第1页
(计算机应用技术专业论文)单点登陆技术的研究与实现.pdf_第2页
(计算机应用技术专业论文)单点登陆技术的研究与实现.pdf_第3页
(计算机应用技术专业论文)单点登陆技术的研究与实现.pdf_第4页
(计算机应用技术专业论文)单点登陆技术的研究与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 用户身份验证是网络安全中最直接也是最前沿的一道防线。当用户访问一个 系统的时候,首先要向系统表明自己的身份,然后才能进行下一步的访问和控制。 单点登录系统是将多个不同应用的身份认证和登录系统迸行集中管理的系统。对 于目前网络应用不断增多的现代企业、政府等单位中,实现多个应用的单点登录 是非常有现实意义的,这将大大的方便用户的使用,并在一定的程度上提高系统 的安全级别。 本文在分析了国内、外各种单点登录系统的实现模型及其优缺点的基础上, 提出了一套适用于目前多种企业应用的单点登录系统模型。该模型采用l d a p 信息 库存储用户认证信息,可以支持多种身份认证方式。并对此系统的系统框架和具 体流程进行了介绍,同时详细论述了系统各个模块所采用的设计思想和具体技术, 列举了具有代表性模块的具体设计。文章在最后对此系统进行了分析,指出了该 系统的优缺点以及今后的研究方向。该系统具有良好的可部署性、扩展性和安全 性。 论文的主要研究工作如下: 1 对单点登陆技术进行研究,介绍i d a p 及其在s s o 系统中的应用,对已 有的单点登陆系统的设计模型进行了描述和分析。 2 提出了一种单点登录系统的实现方案,重点对基于w e b 请求代理的s s o 系统的整体模型及各功能模块进行设计与分析。 3 详细介绍了单点登录系统的实现方案中主要模块的具体实现过程。 4 对单点登录系统的实现方案进行综合性能分析。 本文提到的单点登录系统的课题来源于与企业的合作项目。 关键词:单点登录,双因素身份认证,l d a p ,过滤器 a b s t r a c t a u t l l e m i c a t i o ni st h ef i r s ts t r a t e g i ca i l di 驴n a 毗s t c pf o fl o g 百n gi n 也es e c 埘哆 s y s t e m f i r s t l y ,u s c rs h o u l dp r e s e mi t si d e n t i 锣w h e nh ea c c e s s e sas e c u r i 哆s y s t e m ( e g m a i l ,d a t a _ b a s e 锄d o n ) ,m c nh ec a i lc o n t i i l u et od 0n e ) c ts t 印o fv i s i t i n ga n d c o n 虹o l l i l l g s i n 西es i 弘一i st l l es y s t e l i l ,砌c hc e n 仃a l i z e d ,m a i l a g e sag r e a td e a lo f d 疆硫ti da u t h e 而c a t i o 觚ds i 眇o ns y s t c i n s ni sm e a n i n g f l l lt o 璐en o n s i n g l e s i g n - o nm e m o d ,e s p e c i a l l yt 0m o d e mc o r p o r a 蛀o n s 卸dg o v e m m e n t s ,w b j c hi se yf o r u rt ol l a i l dc o n 缸o l ,a n dc a ni m p f o v et h es y s f t e m c u r i t yl e v e li ns o i n ed e g r e e o n t 量峙b a s i so f 锄a l y s i so f a d v a n t a g e sa n ds h o f t c o i n i r q g so f a p p l i e ds i n g l es i 弘- o n s y s t e mm o d e l sm a ta r ep o p u l a rm h o m ea i l df o r e i g nc o u n l 矗e s ,t l l i sa r t i c l ei l l 协) d u c e sa k i l l do fs i n 甜es i l l g o ns y s t e mm o d e ln mi sm o a p p p r i a c et 0d i 虢r e n tl 【i n d so f c o o p e 珀虹o n t h em o d c lm 矗k e su s eo f l d a pr e p o s i t o r i e so f a u 也翩1 t i c a t i o ni n f b h n a t i o n t h a tc a ns u p p o nav 越e t yo fa u t h e m i c a t i o nm e t h o 幽t 拉sa f t i d ei 曲_ o d u c e st l l e s y s 钯m a t i c 向i i n eo f t h j ss y s t e ma n dc o n c r e t ep r o c e d u r e a tt h es 锄et i m e ,a n dd e r i b e s t h ed e s i g np h 丑o s o p h ya d o p t e do fe a c hm o d u l eo ft l l e 町蜘锄dc o n c r e t et c c h n o l o g y a d o p t e di nd “1 t h ec o n c r e t ed e s i 孚塔谢t l lr 印r e n t a t i o r l a lm o d l l l ea e n 啪吲锄 t o o t h ea n i d e 柚a l y z et ot h i ss y s t e ma tt h e 豇1 d ,p o i n t e do mt h ep l u s c s 锄dm i n _ 啷e so f m i ss y s t e r na n dr e s e a r c hd i r e c t i o ni nt h cf h n 聆t h i ss y s t 嘲i sag o o do n ew i t h a r r 锄g e m e n t ,m 黝g 锄e ma l l ds e 砌何 t 1 l em a i nc o m 即旧a r e 船f o l l o 、s : l 、i n 仃o d u c es i n g l es i g 删la n dl d a pt c c h n o l o g y 2 、i n n o d u c cr e s e a “ h 如dd e s i 弘o fs i n g l es i 即加ns y s 劬 3 、d e s c sm ed e s i 虮p l l i l o s o p h ya d o p t e do fe a c hm o d u l eo ft h es y s 僦n 锄d c o n c r e t ct c c h n o l o g ya d o p t c di i ld 砌l 4 、a 【l a l y s i ss y s t c mp c r f b 蛐a n c e t h es j l l g l es i g n - o nt o p i c ,m 砌o n e di nt 1 1 i s 缸氐k ,c o m 鹄矗o mt h ec o o p e r a :【i o n w i t he n 杞r p d & k e yw o r d s : s i n g l es i n 哥o tt o w f a c t o ra u t h e n t i c a t i o n ,u a p ,f n 衄 西北工业大学 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属于西北工业大学。学校有权保留并向国家有关部门或机构送交论文的复印件 和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时本人 保证,毕业后结合学位论文研究课题再撰写的文章一律注明作者单位为西北工业大学。 保密论文待解密后适用本声明。 学位论文作者签名:丝 唧年,月v 目 指导教师签名 川年5 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优鑫的科学道德,本人郑重声明:所呈交的学位论文,是本 人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果, 不包含本人或其他己申请学位或其他用途使用过的成果。对本文的研究做出重要贡献的 个人和集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名l j 心些丫 w 叩3 w 西北工业大学硕士学位论文 第一章绪论 1 1 课题研究背景 第一章绪论 近年来,随着计算机技术的发展,h t e 玎娥已经被广大计算机用户所认识和接 受。网络技术走出实验室,逐渐应用到公司、政府机关等大型办公场所,甚至于 普通家庭。可以说计算机网络特别是m 咖e t 成为2 1 世纪知识经济社会运行的必 要条件,是一个国家政治、军事、经济以及社会生活正常运行的基础。 网络系统遭受的攻击,大部分是建立在入侵者获得已经存在的通信通道或伪 装身份与用户建立通讯通道的基础上,使用包括消息窃听,身份伪装、消息伪造 与篡改、消息重放等手段。为了实施这些攻击手段,入侵者必须能够进入系统中。 在很多情况下,入侵者是系统的合法用户之一;而对于那些非法用户,最简单直 接的方法便是破解合法用户的密码,尔后伪装成合法用户进入到系统中。因此, 用户身份验证是网络安全中最直接也是最前沿的一道防线。 随着应用系统开发的迅速发展,各应用系统都有了自己的身份认证机制,采 用了各种不同的身份认证技术,这给用户的使用和管理都带来了很大的难题。比 如像办公自动化系统、财务管理系统、人事管理系统等等应用系统都需要验证用 户的用户名及密码,如果用户需要注册或更改自己的认证信息,就必须在所有的 应用系统中逐个注册或更改:用户在不同应用系统之间切换对,必须重复登录。 这样,一方面会造成用户认证信息在多个应用系统的数据库中的重复放景,带来 大量的数据冗余,也造成了各个应用系统的重复开发,另外也给系统的用户认证 信息管理和用户的使用造成诸多不便。而采用记忆口令的方式,为了保证口令的一 安全性,必须经常更改口令,每次口令的更改又要耗费大量的人力和时问:同时 由于记忆口令不可能频繁更改,那么口令就存在着被窃听、盗用、滥用的危险, 给企业的安全带来巨大的威胁。而且,由于各个系统各自为政,缺乏集中的授权 和审计的功能,无法根据用户级别进行分级授权,也无法记录用户访问的详细审 计信息,给安全管理留下了很多隐患。因此,在市场上提出了这样的需求:网络 用户可以基于最初访问网络时的一次身份验证,对所有被授权的网络资源进行无 缝的访问,从而提高网络用户的工作效率,降低网络操作的费用,并提高网络的 安全性。 解决这个问题的方法就是单点登录s i n g l es i g n _ o n ( s s 0 ) 魄删。 “单点登录”简单说,就是通过用户的一次性鉴别登录,即可获得要访问的 系统和应用软件的授权,在此条件下,管理员无需修改或干涉用户登录就能方便 的实旖希望得到的安全控制。这是一个为了能够在分布式计算机环境中,安全和 西北工业大学硕士学位论文 第一章绪论 方便的鉴别用户而产生的课题。 身份认证和萃点登录是密切相关的,单点登录是对同时要访问多个系统的用 户的一种登录管理。而在技术实现上,单点登录系统的实现,也要依靠加密技术 和身份认证技术a 本文将对单点登录s i n 9 1 es i g n o n ( s s o ) 的实现技术作详细 地探讨和研究。 1 2 国内外研究现状 正如上面提到的,单点登录的概念是随着网络应用的不断增多,为了解决多 个应用的登录问题才出现的。单点登录系统虽然发展时间不长,但是现在市场上 已经有了非常丰富的单点登录产鼎。在这些单点登录系统中,有一部分是实现了 个别产品的单点登录,比如说,当登录了微软的w i n d o w s 系统后,就可以不再经 过认证,直接可以访问本地的s q l 数据库;还有一部分是实现了单个应用内部的 单点登录,这种类型不是本文所涉及的内容;另外一部分实现了多个应用的单点 登录,这种类型是本文重点讨论的内容。 现在的很多大型的企业应用都是基于j 2 e e 规范的,是基于应用服务器的。 j 2 e e i l 3 也在规范中建议j 2 e e 产品应为应用系统提供单点登录的能力。因此,目 前国内外的应用服务器提供商也纷纷推出自己的单点登录系统。但j 2 e b1 3 规范 并没有规定j 2 e e 产品应遵循何种标准,因此不同的厂商的产品在单点登录上的 实现和应用各不相同。有的j 2 e e 产品实现了在本产品环境范围内的单点登录, 也就是当用户一次登录该应用系统后,可以维持相应的生命周期,在这个生命周 期范围内,无需再次登录。有的实现了特定系统环境之间的单点登录,如m m w e b s p h e r ea p p l i c a t i o n 实现了w e b s p h e r ea p p l i c a t i o ns e f v e r 与w e b s p h e r e a p p l i c a t i o ns e r v 盱、w 如s p h e f ea p p l i c a t i o ns e r 、,e r 与l o t l l sd o m i n o r v e r 之间的单 点登录能力。 在j 2 e e 中单点登录是通过传递凭证( c d c n c i 雒) 来实现的。当用户进行系 统登录时,客户端容器( 包括w e b 客户端和应用程序客户端) 根据用户的凭证 ( c r 酣e r n i a l ) 为用户建立一个安全上下文( s e c u r 时c o n t e x t ) ,安全上下文包含用 于验证用户的安全信息,系统用这个安全上下文和安全策略来判断用户是否有访 问系统资源的权限。但遗憾的是j 2 e e 规范并没有规定安全上下文的格式,因此 不能在不同厂商的j 2 e e 产品之间传递安全上下文。到目前为止还很少有在不同 的j 2 e e 产品间互相共享安全上下文的产品,因此在不同j 2 e e 产品间实现单点登 录只能通过与第三方产品( 如l d a ps e r v e r 等) 集成的方式。 p o r t a l 门户网站是下一代桌面,它通过w 曲把电子商务应用程序传送到各类 2 西北工业大学硕士学位论文第一章绪论 客户机设备。门户网站为站点用户提供了到多种类型的信息和应用程序的单点访 问。不管这些信息驻留在哪里,也不管它们是什么格式的,门户网站都以一种令 人满意的、适应用户的方式聚集所有的信息。一个完整的门户网站解决方案应当 使用户方便安全地访问他们需要的信息。在p o r t a l 户网站中,很重要的一部分 就是单点登录。e n 讹s t 公司的g e t a c c e s s 就是一个单点登录产品,它是专门为 p o n a l 门户网站开发的一个关键部件,实现身份的集中登录管理。o c 认c c e s s 支持 多种身份认证方式,并有灵活的基于角色和基于规则的访问控制策略。它是通过 一个简单的p o r 吼来实现的。 m _ m 公司的砸v 0 1 i g l o b a l s i 黔o n 也是一个实现单点登录的应用程序。 豇v o l ig i o b a ls i 缈o n 提供灵活可靠的管理能力来管理本地用户和远程电话拨入 用户的登录。 吉大正元的j i ts s 0 系统是国内的一个单点登录产品,该产品通过s s l 协议 中的握手协议和融曲e r o s 协议相结合的方式来实现,它实现了对信息资源访问权 限的集中控制,并且采用了基于角色的权限管理模型,使得企业对权限的管理更 加合理方便。系统的另一个重要功能是集中的身份认证。如果用户通过了对s s o 系统的登录,系统就能够为用户提供自动登录应用系统的功能。由于用户登录s s o 系统采用的是s s l 协议中的握手协议和k e i b e r o s 协议相结合的方式,大大提高了 系统的安全性。金碟软件公司的b 0 s 系统实现了多个业务系统的集中统一管理, 其中也有单点登录的部分。 1 3 论文组织与研究工作 本文共分五章,从网络与信息安全的含义与重要性讲起,在介绍了单点登录 系统在网络与信息安全中的重要作用之后,本文详细地阐述了一种单点登录系统 ( s s o ) 的发展状况和主要技术。单点登录( s s o ) 技术是本文的重点,本文设 计了一个可行的单点登录( s s 0 ) 系统,并对l d a p 、过滤器技术在单点登录( s s o ) 的实现方案中的应用作具体的介绍。最后对该方案做出详细地分析。具体结构如 下: 第一章,对于企业级应用的网络与信息安全作总体的阐述,并阐述了单点登 录系统( s s o ) 在其中的重要作用。还讲述了本文的组织; 第二章,对单点登陆技术进行研究,介绍u ) a p 及其在s s 0 系统中的应用, 还分析了已有的s s o 系统的设计模型; 第三章,提出并详细地介绍了一种单点登录系统( s s 0 ) 的实现方案,对单 点登陆系统的整体模型及各功能模块进行设计与分析; 西北工业大学硕士学位论文第一章绪论 第四章,详细介绍了上一章中提出的单点登录系统( s s 0 ) 的实现方案中的 主要模块的具体实现过程;j 第五章,对前两章中提出来的方案进行了综合的性能分析,内容涉及到安全 性、运行可靠性、可实施性和管理等方面。 最后总结所做的工作,结束论文。 4 西北工业大学硕士学位论文 第二章单点登录技术研究 第二章单点登录技术研究 2 1 单点登录系统概述 2 1 1 传统认证机制 传统的身份认证机制是基于用户名密码的,采用分散的用户管理,即用户在 现实世界中的身份通过帐号映射成为网络世界中的用户标识时,这种身份标识是 分别被每个系统保存的,无法相互传递。这就迫使用户必须在每个系统中都有一 组独立的用户名和密码,在进入不同系统时都要重新提交自己的身份标识,来通 过系统的认证。 大量的口令密码给用户带来了不小的麻烦,为了记住它们,用户不锝不选择 一些简单的信息作为口令,这样一来大大降低了安全性,特别是在企业级的应用 中,简单的口令将带来巨大的安全隐患。对管理者而言,则有多个用户数据库需 要被管理。不仅在账户建立时,尤其在用户离开组织时,没人知道一个用户到底 在多少地方建立了账户,要搜索整个系统,并逐一删除。管理显得很困难。 除此以外,采用用户名密码的认证方式是极不安全的,用户名和密码在网络 上以明文的方式传输,很容易被攻击者截取到,从而给合法用户带来巨大的损失。 分析其原因,这一切都是由于分散的用户管理造成的,各个系统阋没有联系。 用户在现实世界中的身份通过帐号映射成为网络世界中的用户身份标识,但用户 的这种身份标识是分嗣被每个系统分别保存的,无法互相传递。这就追使用户在 进入每一个系统时都要重新提交自己的身份标识,来通过系统的认证。 基于效率和安全的因素,人们迫切需要改变传统的认证方式,设计出一种更 为高效、安全的网络认证机制,从而简化访问网络资源的过程,单点登录的概念 由此产生。 2 1 2 单点登陆系统 单点登录就是用户只需在网络中主动地进行一次身份认证,随后便可以访问 其被授权的所有网络资源,面不需要再主动参与其它的身份认证过程。这里所指 的网络资源可以是打印机或其它硬件设备,也可以是各种应用程序和文档数据等, 这些资源可能处于不同的计算机环境中。 单点登录系统把原来分散的用户管理集中起来,各系统之间依靠相互信任的 关系来进行用户身份的自动认证。由于用户的信息是集中保存和管理的,管理员 只需在一个统一的用户信息数据库中添加、删除用户帐号,不必在多个系统中分 西北工业大学硕士学位论文第二章单点登录技术研究 别设置用户信息数据库。除此以外,单点登录系统从根本上抛弃了传统认证中用 户名密码以明文传输的方式,而是采用了结合密码学技术的新的认证机制,从而 提高了整个系统韵安全性。其概念结构如图2 1 所示。 信 图2 1 单点登陆系统的概念结构 系统管理员 单点登录方法的优势是很明显的,其中主要优点有如下几个1 : 1 、对s s 0 服务器中底层潜在的安全体系结构,实现、配置和维护变得 更加容易。分布式系统中的所有通信实体就没有必要单独实现所有的 安全功能和机制。 2 、s o a p 对于s s 0 服务器的接口使s s o 体系结构变得非常通用。正如 在前面所提到的,s s 0 本身也是一个w 曲s e r v i c e 。如果s s o 服务 器能够显示其接口的w s d l ,s s oa p i 就可以即刻产生并加以利用。 3 、由于不必到处传递安全信用信息,s s o 服务器增强了整个系统的安 全性。s s o 服务器成为唯一可以接受安全信用信息的场所。而且, s s 0 的解决方案经常将联合性考虑在内,所以就可以在一个广阔的 范围里进行鉴别( 超出特定的安全域) ,而安全信用信息却仍然位于特 定的安全域中。 4 、在跨域的系统中,用户不得不维护多个用户名和口令,而且口令的安 全性很容易受到威胁。当用户数量很多时,用户口令的维护会给i t 支持部门造成很大的工作量。通过采用基于身份认证的s s o ,用户 支持的成本将显著降低。 6 西北工业大学硕士学位论文 第二章单点登录技术研究 5 、 在s s o 体系结构中,在单个s s o 服务器上可以找到所有的安全算法, 该服务器是对所定义域进行鉴别的唯一场所。用户的身份验证由s s o 服务器来实现,因而使得系统的其他部分无须承担任何的安全职责, 便于实现集中、统一的身份管理。 2 2 单点登陆相关技术研究 2 2 1 口令同步 严格地讲,口令同步不是一个真正意义上的单点登录解决方案,因为它是通 过对所有的应用系统设置相同的口令来实现的,而这过程对用户是透明的。这 种实现方式要求有一台口令同步服务器,该服务器与部署在各个应用系统上的代 理模块通信,负责对用户的登录口令进行同步;同时需要为每个应用系统编写相 应的代理模块,代理模块可以跟口令同步服务器进行通信,并执行口令同步服务 器发出的命令。在该系统中,用户的认证授权由登录的目标服务来管理。 图2 - 2 口令同步示意图 如图2 2 所示,用户登录一个应用系统后,褥到了该服务的认证。如果他向 已经登录的系统发出修改用户口令的请求,此时,运行在该系统上的代理模块可 以检测到这一请求,并将用户修改后的口令以消息的形式发送给口令同步服务器。 口令同步服务器在收到该消息后,分别向运行在其它系统上的代理模块发出命令, 令其修改该用户所在系统上的登录口令。这一过程被称之为口令同步。用户在下 次登录任何应用系统时,都可以使用修改后的口令进行认证。 使用口令同步技术,基本上不需要对现有系统做过多的调整。对于那些不想 7 西北工业大学硕士学位论文第二章单点登录技术研究 部署复杂的单点登录系统,同时对安全性要求不是很高的情况比较适用。并且, 由于其部署的简单性,整个系统的开销很小,可以选择廉价的服务器作为口令同 步服务器。因为即使服务器不能正常工作,也不会影响用户的正常登录。并且, 只要不改变登录口令,就可以一直使用下去。但是,由于所有服务的口令都相同, 一旦攻击者知道了一个服务的口令,对于用户来说,所有服务的安全都受到了威 胁。此外,口令可能会频繁的在网络上传输,也会给这个系统的安全性带来隐患。 2 2 2 脚本 脚本技术是一个比较成熟的技术,其思想来源子批处理系统。早在u n d 【操 作系统上,就已经被用来在启动系统时完成一些简单的操作系统管理员可以用 它对系统做一些常规的管理和维护,如定期备份数据、定时关机等。后来一些编 译器也采用了此技术,如g c c 可以通过读取m a k e f i l e 文件里的配置信息自动完成 对程序的编译,a 越可以通过解析存放在b i l i l d x f n l 文件中的x m l 配置信息,对指 定的语音进行编译和调试。 在单点登录中使用脚本技术时,通过把本来由用户完成的登录步骤写入脚本 文件中,然后让一个专门的脚本文件解释执行程序替用户完成单点登录的动作。 在用户看来,池只执行了一次登录。此时,该脚本解释执行程序与认证授权服务 进行通信。在认证服务看来,就像真正的用户通过键盘输入用户名和密码一样。 这一过程对于用户是透明的。 采用脚本技术实际上给用户造成一个假相,它通过自动执行的脚本程序把实 际的多点登录模拟成单点登录。它的安全性是完全建立在已有系统的安全性和对 脚本执行程序的安全使用的基础上的。此外,不会给现有系统带来什么改变。可 是,作为从原有的多个独立登录系统到真正的单点登录系统的一个过渡,脚本技 术还是一个不错的选择。由于使用脚本技术不要求对已有系统做任何的修改,所 以它可以使我们快速而安全的过渡到真正意义上的单点登录系统。 2 2 3 凭证 凭证是一个用来表示用户当前状态信息并证实其身份的数据单元,它可以表 示为令牌( t o k e n ) 、票据( t i c k e t ) 或者证书( c e r c i f i c a t e ) 。在采用此类技术的单 点登录系统中,用户首先向认证服务器提交自己的主体信息,最简单的方法是提 交用户名和密码。然后认证服务器会根据这个主体信息对用户的身份进行认证。 如果认证成功,认证服务将用户的认证信息以凭证的方式发送给用户。有些服务 器在对用户完成认证后,还可以申请授权服务,并将用户的授权信息( 表示为一 系列属性的名值对) 记入凭证中一并发给用户。用户收到凭证后,将它保存在 8 西北工业大学硕士学位论文 第二章单点登录技术研究 本地。待使用其它目标服务时,只需提交该凭证,目标服务通过对该凭证的真伪 和有效性进行判断,最后用来决定是否向该用户提供服务。 不同的服务可以使用相同的凭证,也可以使用不同的凭证。当使用不同的凭 证时,用户首先需要得到认证服务器的凭证,然后通过认证服务器再向目标服务 器申请该目标服务的凭证。在k e r b e r o s 中,将认证服务器的凭证叫做票据授权票 ( t g t ) ,通过向认证服务器提交这个票据授权票,用户可以向认证服务器申请使 用目标服务所需的服务的票据。同时,服务的票据里面还包含有用于和目标服务 通信的会话密钥。此时,系统的安全性,很大程度上决定于对这些凭证的保护。 使用凭证,可以很好地实现一个单点登录系统。k e r b e r o s 和微软的p a s s p o r t 都是采用这种技术的,但是这种技术也存在着一些不足。首先,对现有服务的改 造是很困难的。因为每个服务使用不同的架构,不同的编程语言。为了部署这样 的一个单点登录系统,每个现有服务都需要进行改造,加入新的模块,使其可以 解释凭证信息,并完成登录。 另外,还有一个很重要的河题需要考虑。在使用凭证时,需要建立一个中央 数据库对用户进行集中管理。这个中央服务器,和其它的服务一起,共同构成了 一个可信的安全域。所有其它的服务都必须信任这个中心服务器,才能实行单点 登录。这样一来,对安全域中的其它的服务明显有失公平。 2 2 4c o o e 技术及其安全性 随着技术的发展,人们希望使用一种更方便的方式来访问服务。因此,提出 了基于浏览器的b s 模式服务框架。但是,在设计h r f p 协议之初,由于仅仅考 虑的是请求响应模型,因此唧是一个无状态的协议。c o o l 【i e 技术就是为了 解决这一问题而由n e t sc a _ p e 公司提出的,最终被写进标准。在使用w 曲模式的 单点登录系统中,使用c o o k i e 来保存用户的认证信息。当用户通过测览器向一 个w 曲服务器发出请求时,该请求首先被部署在w - e b 服务器上的代理程序截 获,并将它重定向到认证授权服务器。 认证授权服务器通过用户输入的用户名和口令( 或者使用其它方式) 对用户 进行验证。如果验证成功,认证授权服务器将发送一个身份标识给用户并将其存 放在用户浏览器的c o o 姒e 里面,然后将用户重定向到所请求的服务上。当用户 再申请其它目标服务时,被部署在该目标服务器上的代理程序首先从用户的浏览 器c o o 姑e 中读取用户标识,对用户进行认证。如果成功,用户可以直接使用该 服务。上述过程( 如图2 3 所示) 对用户是透明的,从而实现了单点登录。 9 西北工业大学硕士学位论文第二章单点登录技术研究 鞲求 l 盈定肉 认谜请求 饭证港患 囊定阿 。 提供强务 1 l i i 一 请求服务( 提供凭 芷 i 提供服务 l 图2 3 使用c o o 】( i e 技术的示意图 c o o k i e 的使用带来了不安全性,这主要是因为c o o h e 本身就是w 曲s e r v e r 与w 曲浏览器之间保持状态的一种机制,所以在使用c o o k i e 过程中往往能带来 安全威胁。这种安全威胁主要体现在三方面【8 】【9 】:网络威胁、终端威胁、非法收 集威胁。 c o o 虹e 是以纯文本的形式在浏览器和服务器之间传送的,任何可以截取w 曲 通信的人都可以读取或者修改c 0 0 l ( i e 。这就是c o o k i e 面i 临的网络威胁。通常使 用安全套接字层( s s l ,又称h t t p s :的传输协议能很好的解决这个问题。s s l 只能 保证c 0 0 h e 在网络中传输是安全的【1 0 】。一旦c o o 虹e 被保存到浏览器缓存中或者 用户硬盘中,那么c o 砌e 还是被还原为明文。对于这样的c o o l 【i e 还是很容易被 用户修改或者拷贝到其他计算机上。这种行为有可能就是用户本人,也有可能是 非法使用用户计算机的人,这就是终端威胁。 另外要考虑的就是非法收集威胁。非法收集威胁是指非法用户伪造站点从用 户端接收c o o l ( i e 信息,而用户此时以为这个站点,在获取c o o 虹e 后,非法用户 冒充该合法用户就能够使用这些c o o k i e 信息访问那些接受c o o l 【i e 的站点了。为 了防止这种欺骗威胁,站点要对从c o o k i e 中得到的任何信息都持怀疑态度。处理 1 0 西北工业大学硕士学位论文第二章单点登录技术研究 c o o 虹e 值时采用的安全措施应该与处理w - c b 页面中用户键入的数据时采用的安 全措施相同。例如,在页面中显示值之前,对c o o k i c 中的内容进行h 撇l 编码。 这是种标准的方法,可以在显示之前净化从用户处得到的信息,对c o o l d e 的处 理与此相同。其他就是站点获取c o o k i e 以后,判断该c o o k i e 是否是由c o o k i e 最 初的用户发送来的。 2 3l d a p 及其在s s o 系统中的应用 2 3 1 目录服务的概念 计算机网络经过长期的发展,不同的操作系统和应用程序均以不同的格式在 网络上存储了大量的信息,对于网络管理人员来说,对一个信息库中的所有网络 信息资源用简单方便的方法进行管理是十分困难的,用户也必须使用不同的程序 才能获取不同的信息和资源,因此大大增加了网络管理人员和用户的负担,也使 许多信息资源难于共享,在一定程度上制约了网络的发展。为了解决这个问题, 需要有一种新的技术,能够以通用的格式和方式来实现信息的贮存和共享以及实 现网络资源的共享等。 目录服务( d i r e 咖r ys e r 、,i c e ) 技术,可以通过命名、描述和指定一个企业范围 内的用户和资源,来简化通信与管理,使用户可以用简单的方法就可以查找、检 索到所需要的资源或其他用户信息,可以帮助管理人员收集和控制散布在企业计 算机网络中的信息。利用目录服务,客户计算机可以通过信息资源的名字快速查 询和定位资源,而不必关心资源的具体位置,实现对信息资源的透明访问。 目录服务与通常所说的目录i r e c 卿) 是两个密切相关的概念。目录是一些开 放系统的集合,这些系统相互合作容纳有关现实世界对象的信息,形成一个逻辑 信息数据库。目录的用户( 人和机器) 在许可的条件下,访问和操作目录中的信息。 目录提供用户友好的命名及名字到地址的映射,使得对象位置的改变不影响网络 的操作。用户在目录的某个访问点上与目录绑定在一起,在此期问,他们可以互 相验证对方的身份。轻量级目录访问协议( “g h t w c i g h td i r e c 锄= ya c c e s sp f o t o c o l , 简称l d a p ) 是一种目录访问协议,是跨平台的标准i n :t e l i 俄协议。u ) a _ p 协议由 x 5 0 0 目录服务协议发展而来。 总的来讲,目录服务是一个信息管理工具,同时也是一个面向最终用户的工 具。目录服务集中化和统一化的资源访闯方式不仅简化了网络的管理,也提高了 系统的安全特性,在网络上各种各样的信息资源迅速增长的今天,目录技术得到 了越来越广泛的应用,支持目录访问协议已成为许多商业软件的标准特性。许多 系统软件厂商开始提供目录服务技术产品,例如s u n 的i p l a n dd i r c i 细r ys e f v e r 、 l l 西北工业大学硕士学位论文第二章单点登录技术研究 m i c r o s o f t 公司的m i c r o s o 矗e x c h a n g es e r v 盯和a c t i v cd i r e c t o r y 、i b m 的i 舳l s d o m i n o 小f o t e s 等。 。 2 3 2 l d a p 的工作原理 l d a _ p 目录服务基于客户服务器方式实现。一个或者多个l d a p 服务器包含 了组成目录信息树( d i t ) 的数据。客户连接到服务器并提问,服务器返回答案 或者一个指向其他信息的指针( 通常是另外一个l d a p 服务器) ,无论客户首先 连接到哪一个l ,d a p 服务器,它看到相同的目录视图。 u ) a _ p 目录服务通常由一个u ) a p 服务器和若干l d a p 客户组成,个l d a p 目录服务器由目录服务模块、复制服务模块和管理模块3 个模块组成,如图2 - 4 所示。 图2 - 4 l d a p 结构图 客户端是直接面对一般开发者和用户的;服务端是用于接受和解释客户请求, 然后以客户的身份完成请求,并将完成结果返回给用户;数据库则是真正存储信 息的地方。在u ) a p 中,服务端和数据库之间的连接采用了o d b c 机制,所以可 以使用任何支持和具有0 d b c 驱动程序的数据库软件,简单的可以是l i m 系统 自带的g d b m 或a l p l l a 中的n d b m 等数据库管理系统;也可以选用在功能和性 能上更优越的o m c l e 和s y b 船e 等系统。这样,可以提高系统的可移植性。 现在己经有了许多基于l d a p 协议开发出的资源管理系统和工具,如 o p e n l d a p 、n d s ( n o v e l ld i r 咖s e n ,i c e ) 和a d s ( a c t i v ed i r e c t o r ys e r v i c e ) 等。它 们己经逐渐的被使用在了各个需要目录服务的领域,并且应用的趋势在增强。 0 p e n l d a p 是m i 幽g a i l 大学发布的免费软件,实现了l d a pv 2 的功能,并部分支 持l d a pv 3 。开发者能够直接利用它所附带的一些s h e l l 工具开发简单的应用, 这些s h e l l 包括了查询( 1 d 印a r c h ) 、修改( 1 d a p m o d i 匆) 、删除( 1 d a p d e l e t e ) 。增加 ( i d a p a d d ) 等,关于他们的使用方法可以参照帮助文件;也可以调用它提供的程序 1 2 西北工业大学硕士学位论文第二章单点登录技术研究 接口( a p d 来开发应用,接口包括了查询( 1 d a ps r c h ) 、修改( 1 d a pm o d i 母) ,增 加( 1 d a p a d d ) 、删除( 1 d a 乳d e l e 呦等。从模舨的定制到资源信息的组织和输入都可 以按照用户的要求进行,开发出满足用户要求的应用软件。 2 3 3 l d a p 的优势 ( 1 ) 对跨平台的支持。l d a p 用户数据库和访问资源在物理上是位于不同主机 的,t d a p 服务可以建立在i 佃、u n 或w 矾o w s 平台上。这样,企业可以 根据用户数量的大小和自身情况对l d a p 服务器进行管理。 ( 2 ) l d a p 的开源性。因为l d a p 是标准使用协议,无论是定制客户端还是 使用第三方客户端都可以容易的获得,并且程序通用性强,便于开发、维护费用 低。 f 3 ) l d a p 服务器可以用“推”或“拉”的方法复制部分或全部数据,例如: 可以把用户数据“推”到远程的备份服务器,以备份用户数据。复制技术是内置在 l d a p 服务器中的而且很容易配置。如果要在关系数据库中使用相同的复制功 能,数据库厂商就会要用户支付额外的费用,而且也很难管理。 ( 4 ) l d a p 允许根据需要使用a c l ( 访问控制列表) 控制对数据读和写的权限。 例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变 记录中其它的域。a c l 可以根据谁访问数据、访问什么数据、数据存在什么地方 以及其它对数据进行访问控制。因为这些都是由l d a p 目录服务器完成的,所以 不用担心在客户端的应用程序上是否要进行安全检查。 r 5 1 u ) a p 对于这样存储用户数据这样的信息最为有用,也就是数据需要从不 同的地点读取,但是不需要经常更新。u ) a p 专门为读取操作做出了优化,对于 用户数据的存储极为有利。 ( 6 ) l d a p 目录以树状的层次结构来存储数据。有利于大型企业对全体员工的 组织和管理。所有员工都可以按所在部门层层划分,更好地结合访问控制和授权 操作。 2 3 4l d a p 的应用 由于目录服务主要用于一定范围内的资源管理工作,所以第一类应用是全球 性的目录服务,例如y a h o o c o m 上的p e o p l es e a r c h 服务、u s s e a r c h c o m 的p e o p l e s 锄h 服务、b i g f 0 0 t c o m 的目录服务。对于这一类应用而言,最为重要门户网站 或者邮件服务提供商们也会提供这样的服务,在用户注册账户的时候收集他们的 信息,以后其他的用户就可以查询目录信息了。有的提供商也支持l d a p 协议, 例如b i g f b o t c o m 提供的“b i 蜘o ti n t e m e td i r 优t o r ys e r v i c e ”。 西北工业大学硕士学位论文 第二章单点登录技术研究 第二类目录服务应用是企业应用。在企业范围内提供目录服务最为有效,同 时也便于实施。设想一个在全国有多个分支机构的企业。该企业已经有了一个内 部网络系统:每一个分支机构都有一个局域网,局域网之间通过专线或者) n 通道连接在一起。所以,企业内部的员工可以跨越物理界限,直接访问其他区域 的网络资源。现在的问题是,如何将网络中的资源和信息有效地管理起来呢? 最 可行的途径是目录服务,企业可以在每一个分支机构或者每个城市建立一个目录 服务器,任何地方的员工连接到本地目录服务器就可以访问到目录树中所有的信 息,目录服务器之间复制目录信息,以保持同步。对于企业内部的每名员工而言, 他们所面对的是同一个目录逻辑视图,与所在的物理位置无关。每一个目录对象 的属性信息可多可少,取决于企业的管理规范以及信息化程度。例如,对应于每 名员工的目录对象可以有电子邮件地址、电话号码、家庭住址、公钥证书等一些 属性信息。x 5 0 0 和l d a p 的目录对象的属性类型和对象类都是可以扩展的,而 且许多目录服务产品也提供了扩展的机制,所以实现一套定制的目录服务系统并 不困难。 目录服务带给企业带来的好处是,不同的管理部门共享同一套目录结构。比 如,人事部门看到的人员目录与财务部门、设备管理部门看到的人员目录是完全 一致的,他们所使用的应用系统无须再建立另一套目录结构。当然,在企业内部 的目录系统中,安全性是非常重要的。一个没有安全保护的目录系统是难以担当 起企业管理重任的,好在现在主流的目录服务产品都提供了安全性支持,甚至跟 网络操作系统本身的安全机制紧密地集成在一起了。 目录服务还有一种应用,即专业目录服务,例如,视频目录服务可以用于视 频会议、网络可视聊天等。 本单点登录系统u ) a p 用户条目的设计的主要依据是单点登录系统中用户的 身份信息和授权信息,如下是n w p u 的员工g u o y i 的u ) a p 记录。这含记录项 的格式是l d i f ,用来导入和导出u ) a p 目录的记录项。 d n : l l i d = g u o y i ,o u = s t i l d e m s ,d c 刁l v 巾u ,d c = e d i l , d o = 钮l o b j e c t c l a s s :p e r s o n o b j e c t c l a s s : o r g a r l i z a t i o n a m e r s o n o b j c c 位l 豁s :i n e t ( 柚妒e r s o n o b j e c t c l 雒s :n w p l l p e f s o n m d :g u o y i g i v 湖锄c :) ,i 姐:g u o c n :g u o y i t e i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论