(计算机应用技术专业论文)基于jaas的统一身份认证系统研究与实现.pdf_第1页
(计算机应用技术专业论文)基于jaas的统一身份认证系统研究与实现.pdf_第2页
(计算机应用技术专业论文)基于jaas的统一身份认证系统研究与实现.pdf_第3页
(计算机应用技术专业论文)基于jaas的统一身份认证系统研究与实现.pdf_第4页
(计算机应用技术专业论文)基于jaas的统一身份认证系统研究与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机应用技术专业论文)基于jaas的统一身份认证系统研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着网络门户技术的飞速发展,门户中的应用系统越来越多,而每个应用系 统往往都有自己的一套用户认证方法,用户管理往往非常困难。为了对用户进行 统一的管理,有必要将不同系统的各种认证方法集中到一个框架中,来完成对整 个系统用户的身份认证管理,因此,建立统一的身份认证管理系统,对各个应用 系统的用户实现统一管理,成为门户信息安全系统建设中的重要环节。 为了解决传统集成系统效率不高,用户信息不能实现跨平台共享,使用复杂 等缺点,本文结合j 从s ,l d a p 和单点登录( s s o ) 等技术特点,提出了一个基于 j a a s 的身份认证和授权框架,在此框架上实现的基于j 从s 的统一身份认证系统 可以较好的解决对身份认证和访问控制的统一管理问题,克服传统的开发模式下 身份认证的诸多弊端。首先,系统实现了用户信息的统一管理,保证了数据的完 整性,同时避免了各个应用系统的重复开发;其次,系统实现了基于多个应用系 统的单点登录,这将极大的方便用户使用,提高系统的易用性。另外,系统采用 分布式的l d a p 目录信息树结构存储用户和应用信息,对用户认证信息进行有效 组织和管理,提供高效安全的目录访问。 总之,基于j a a s 的统一身份认证系统是一种较为通用的统一用户身份认证 模型,创新之处在于: 1 采用j a v a 语言,将统一身份认证模块封装为w e b 服务,向客户端提供统 一的接口,具有通用、跨平台、易扩展以及安全认证可插拔式等优点,有效的实 现了应用系统的集成。 2 基于j a a s 框架,采用改进的单点登录模型,把原来分散的用户集中管理, 通过一次身份验证,自动完成用户对所有授权应用的登录,提高用户登录效率。 3 运用l d a p 目录服务器存储用户的信息,对用户认证信息进行有效组织和 管理,可以提供高效安全的目录访问,为系统的实现提供了便利的条件。 本文设计的统一身份认证系统已经在河北科技基础条件网络平台上得到了 很好的实践和应用,目前运行良好。 关键字:j 从s ;统一身份认证;单点登录;轻量级目录访问协议 i i a b s t r a c t a 1 0 n gw i mm ep o n a lr a p i dd e v e l o p m e i l t ,m e 印p l i c a t i o ns y s t 锄w h i c ht h eu s e r n e e d st ou s em o r ea i l dm o r e ,b u te a c ha p p l i c a t i o ns y s t e mo r e i lh a sa no w ns e to fu s e r s a u t b e r l t i c a t i o n 觚dt l l ea u m o r i z e dm e t l l o d i no r d e rt oc 枷e so nt l l eu n i 6 c a t i o nt om e u s e rn l ea u t h 黜l t i c a t i o nt 0m a i l a g e ,t l l e r e f o r eh a st l l en e c e s s i t yt 0c o n ce i l 仃a t et l l e d i 行e 啪ts y s t e me a c ha u t h 铋t i c a t i o nm e t h o dt oa 丘锄ei n ,a l s oi sn e o d st oh a v et 0b e i i l d 印e i l d e 咄t l l el l i 曲s 删t y 锄dm er e l i a b l e s t a t l l sa u m 饥t i c a t i o na n dt l l e j u r i s d i 嘶o nm 趾a g e m e n ts y s t e m ,c 0 m p l e t 器 t om ee n t i r e p o r t a lu s d s s t a t i l s a u m e n t i c a t i o na i l dj u r i s d i c t i o nm a n a g e m e n t t h e r e f o r ce s t a b l i s h 骼au i l i f i e ds t a _ t u s a l i t b 咖i c a t i o nm a n a g e m 铋ts y s t e m ,t oe a c h 印p l i c a t i o ns y s t e mu s e rr e a l i z a t i o nu m f i e d 砒饥t i c a t i o 玛t l l eu 】【l i f i c a t i o nm a n a g 锄e n ta n dt 1 1 e _ l i 矗训o na l l m o r i z a t i o na l s o b e c o m e si nm ep o r t a li n f o r m a t i o ns e c u d t ys y s t e mc 0 m 灯喇o nt l l ci l l 删a n t1 i i 】k t bs o l v em ep r o b l c r i l sd i s 饥i s s e da b o v e ,t h i sp 印e rp u t sf o r w a r dau n i v e r s a l l l l l i f o mi d 咖时砒e n t i c a t i o ns y s t c i i lb a s e do nj a a sm o d e lw i t l lj a a s ,l d a p 锄d s s ot e c l l i l o l o 酉e s ,觚di m p l e m e n t sm ej a a s s s oc o m p o n e n tb ym em o d e l u s e st l l e 蛋b m ew h ic _ h 仳s 枷c l ep 1 o p o s e dt 0b ep o s s i b l et l l eg o o ds o l u t i o nt om es t a _ 吣 a u m t i c a t i o n 舡1 d 1 ea c c e s sc o n l lu i l i 6 c a t i o nm a n a g e m e n tq u e s t i o n f i r s to fa 1 1 , n l es y s t e mh 嬲r e a l i z em eu 1 1 i f i e dm 锄a g e m e n to fu s d si i l f o m a t i o n ,h a sg i l 跏t e e d l e 血e 黟a l 蚵o ft 1 1 ed a t a a v o i d e dm er e p e a t e dd e v e l o p m e n to fe a c ha p p l i c a t i o n s y s t 锄a tm es 锄et i m e s e c o n d l 弘m es y s t e i i lh 弱r e a l i z e dn l es i 时es i 班o i lb 嬲c d o nn l em m l b e ro fa p p l i c a t i o n s ,w l l i c hw i l lf a c i l i t a t et l l e 瑚e rt 0u s em i ss y s t e m , i i l l p r o v e d 也ee 伍c i 肌c yo fu s 堍m o r e o v t h es y s t 锄u s e sd i s 劬u t e dl d a p d i r e 咖r y 灯e e s 伽l c t i l r ct 0 m e m o d ,a u m 肌t i c a t i o ni 1 1 f o 肌a t i o n o fu s e r s 觚d a p p l i c a t i o n s f o re f f e c t i v eo 玛撕z a t i o na n dm a n a g e m e n t ,、) l ,_ m c hp r o v i d el l i g l l l y e 伍c i e n t 锄ds a f ei na o c e s s i n gi n f o m a t i o n 1 1 1s h o i r tm eu n i f o n i li d e n t i t ya u t h e n t i c a t i o ns y s t 锄b a s e do nj a a si sam o r e c o m m o nu s e ra u m e n t i c a t i o nm o d e l s e v e r a l i m l o v a t i o n sa r em ef 0 1 l o w i n g : f i r s t ,u s i n gj a v ap r o 铲砌m i n gl a n g u a g e ,t h eu n i f o 加i d e i l t i t ya u t h e n t i c a t i o n h l m o d u l ep a c k a g e di nw r e bs e r v i c e sf o rt h ec l i e n tt op r o v i d eau m f i e di n t e r f a c e m e p l a t f o mh a v em a n ym 嘶ts u c ha u sc o 彻【i l o n ,c r o s s - p l a t f o 肌,e x t e i l s i b l e ,p l u g g a b l e 柚d s e c u r i t ya u t h e n t i c a t i o ne t c s e c o n d ,b a s e do nj a a s 仔锄e w o r k ,m es y s t e n la d o p ts s om o d e lm a ti m p m v e d , m a l ( em eo r i 垂n a ld i s p e r s e du s e r sc o m et o g e t h e rt oe x e c u t eu i l i 母m a i l a g 锄e n t , a c c o m p l i s h e sa u t o m a t i c a l l y1 0 9 西n go 玛i r n p r o v eu s i r 玛e 伍c i e i l c y t t l i r d ,t l l i ss 仃a t e g ym a k e l l s eo ft l l ec a t a l o g u e si n f o m l a t i o nn e es 伽j c t u r eo f l e l d a pd i s 仃i b u t et y p e ,c a r 巧o nm ev a l i do 唱a i l i z a t i o na n dm a n a g e m e i 】临t 0 肌 i n f o m a t i o no f l e 邮t o 】= i l e rb o d ya 1 1 ds y s t e mc o n 乜o l i n f - 0 m a t i o l l ,c 趾p r o d en l e e m c i e i l u ys a f ec a t a l o g u ei n t e r v i e w t h ed e s i 印o ft l l es y s t 锄h 硒b e e i lp r a c t i c e da 1 1 da p p l i e do nn l es i l _ b j e c to fh e b e i s c i 锄c c 孤dt 池o l o g yf 0 u i l d a t i o nc o n d i t i o nn e 铆o r kp l a t f o m ,a n dr 1 l m l i i l gw e l l k e yw o r d s :j a a s ;u i l i f 0 皿i d e n t 时a u t h e i l t i c a t i o n ;s s o ;l d a p 学位论文原创性声明 本人所提交的学位论文基于j a a s 的统一身份认证系统研究与实现,是在 导师的指导下,独立进行研究工作所取得的原创性成果。除文中已经注明引用的 内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本 文的研究做出重要贡献的个人和集体,均已在文中标明。 本声明的法律后果由本人承担。 论文作妻c 签号,:阢芝莩 硼年 月6 日 指导教师确认( 签名 h 亨年y 具【 学位论文版权使用授权书 日 本学位论文作者完全了解河北师范大学有权保留并向国家有关部门或机构 送交学位论文的复印件和磁盘,允许论文被查阅和借阅。本人授权河北师范大学 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在年解密后适用本授权书) 论文作者( 签名声确悉善 夕伊孑年,月日 指导教师( 签名) : p 可年孓窍 日 1绪论 1 1课题的研究背景 随着网络信息化建设的不断深入,网络应用日益丰富,各种应用系统集成越 来越频繁,使得网络管理特别是用户管理越来越复杂,用户面对多个应用系统需 要输入不同的帐号和口令,不仅烦琐,而且容易出现安全隐患,这给用户带来了 极大的不便,因此,有必要将这些认证方法统一集中到一个框架中,建立一个完 善的、安全的、易于管理的、有良好的可移植性和扩展性的用户统一身份认证管 理系统。 河北科技基础条件网络平台作为我省重要的科技资源信息平台,是服务于全 省科技进步与创新的开放的服务性网络平台。集成了网络平台门户子系统、科技 文献子系统、自然科技资源信息子系统、科学数据共享子系统、重点实验室子系 统、大型科学仪器协作共用子系统、实验动物信息子系统、科技成果转化服务子 系统等多个子系统,各个子系统集中于平台门户中,但是每个子应用系统都各自 拥有一套独立的用户认证方法,多个认证系统的出现使管理成本增加;而且每个 系统都有自己的帐户和口令,用户访问每一个系统都要重新登录,使得用户过于 分散,管理复杂,也给系统安全带来隐患。为了实现整个条件平台用户的统一管 理,提高用户使用的效率,增强系统集成度,迫切要求建立一个通用、安全、跨 平台的统一身份认证系统,来实现对用户的统一管理。基于j a a s 的统一身份认 证系统正是基于此而提出的认证模式。 j a a s 是能够实现这种框架的j a v a 版本,这个框架中定义了良好的接口,使 得无需改变或者干扰任何现有的登录服务就可以加入多种认证技术和授权机制, 应用程序可以通过应用编程接口a p i ( a p p l i c a t i o np r o g r 锄i n gi n t e r f a c e ) 方 便地使用框架提供的各种认证功能,而不必了解太多的底层细节。访问控制就是 通过某种途径显式地准许或限制访问权力及范围的一种方法。它通过角色控制分 配用户可以访问的范围、功能、模块等,使系统提供的服务不被非法使用乜1 。 1 2国内外研究的现状 在国外,与统一身份认证相关的一些工作已经在业界巨头之间有效展开,对 之间支持单点登录操作。s i t e m i n d e ra g e n t 作为插件能够安装在各种w e b 服务 器上,它作为g a t e k e e p e r 拦截用户的h t t p 请求。 在国内来讲,各个高校都提出了建设数字化校园的目标,数字化校园就是在 “传统校园”的基础上,利用先进的信息化手段和工具,将现实校园的各项资源 信息化而形成的一个数字的虚拟空间。统一身份认证服务作为一项基础服务得到 了越来越多的关注,各高校也都开展了相应的研究工作,取得了一些成果。目前 国内的身份认证技术许多都是采用的l d a p + p k i 作为统一身份认证系统的解决 方案,下面列举两个比较典型的解决方案。 南京大学就是基于上述基础提出了自己的数字化校园解决方案,采用了信息 平台服务器负责所有信息的展示,它集成了校园网内各个服务器的入口,使用 w e b 浏览器作为访问数字化校园的信息入口,这样用户无需安装任何特殊的客户 端程序,利用浏览器便可以方便的进行各种活动,对于身份认证技术采用的是数 字证书,因为l d a p 本身就内置支持存放证书,作为一种良好的证书库也已经广 为使用,对于各个为信息平台提供的接口子系统来说,他们只要提供一个标准的 p o r t l e t 程序就可以无缝的接入信息平台。 清华大学的综合信息服务系统为师生提供的单一访问点,大大地方便了师生 网上交流和网上管理工作,其远程教育系统和网络教学系统的应用都用到了统一 身份认证的功能,每个学生入学时都提供了一个i c 卡、一个用户名和密码,用 来表示该同学的电子身份,通过i c 卡可以完成与身份相关的一切活动,如:就 餐,借还书等对于校园用户来说,则使用用户名和密码表明自己的身份,然后 可以访问校园网中有权访问的系统和信息。 由于我国w e b 应用技术相对落后,起步较晚,发展程度低,目前尚停留在对 保密、认证、访问控制等技术手段和标准规范是否成熟可靠的讨论上,实际应用 较少。运用j 从s 技术来实现一个具有灵活性和扩展性的身份认证和授权的案例 同样很少见,即使有一些公司做了一些研究和应用,但作为一种安全产品,我们 也无法接触到此类产品的具体技术细节h 1 。 1 3研究的内容及意义 本课题在结合j a a s ,l d a p 和单点登录( s s o ) 等技术特点,提出了一个基于 j a a s 的身份认证和授权框架,在此框架上实现的基于j a a s 的统一身份认证系统 。 可以较好的解决对身份认证和访问控制的统一管理问题,克服传统的开发模式下 身份认证的诸多弊端。 基于j 从s 的统一身份认证系统,将l d a p 目录服务器作为身份管理的核心数 据库,存储多个应用服务器用户帐号信息、身份信息、角色和访问控制信息;嵌 入了k e r b e r o s 身份认证机制,解决了通信双方的相互认证,最终实现用户透明 的、集成的和高性能的安全服务;客户端通过中间层j 从s 获得访问应用服务器 资源的电子凭证,使用中间服务器来管理用户身份、权限、密钥相关的信息,减 少了应用服务器方管理的代价,并为认证提供一个公共和独立的“第三方 。通 过j 从s 提供动态的、可配置的、插件化的架构来实现单点登录,实现不同应用 服务器的用户身份认证的多证合一,即同一用户使用唯一的帐户和密码就可以访 问不同的服务。 基于j 从s 实现的统一身份认证系统,首先,实现了用户信息的统一管理, 保证了数据的完整性,同时避免了各个应用系统的重复开发;其次,实现了基于 多个应用系统的单点登录,这将极大的方便用户使用,提高系统的易用性;另外, 系统采用分布式的l d a p 目录信息树结构存储用户和应用信息,对用户认证信息 进行有效组织和管理,提供高效安全的目录访问。 河北科技基础条件平台门户是多个应用的统一访问点,其用户界面呈现出多 个频道、多个导航链接、个性化服务等多种形式。用户统一身份认证系统是河北 科技基础条件平台的重要组成部分之一,是整个门户系统安全的保证,实现对用 户身份的合法性验证及访问控制权限的管理,并屏蔽服务层、基础设施层的各种 细节,这将极大地提高用户对科技基础条件平台的访问率,同时也促进科技基础 条件平台海量、分布、动态变化、异构的科技资源的合理整合、优化调度等。科 技基础条件平台门户的开发和应用,对我国的国防、科技、教育、经济以及各项 基础设施的建设和发展,无疑具有重大实际应用价值和意义。 1 4 论文各章的安排 全文共分六章,各章内容如下: 第一章绪论。介绍了本文研究背景、研究现状、研究内容及意义。 第二章身份认证技术理论研究。分析了常用的几种身份认证机制的结构原 理,指明了各自的优点及存在的问题,对单点登录技术进行了分类介绍,在次基 4 2 身份认证技术理论研究 2 1 常见的身份认证机制分析 身份认证又叫身份识别,是指计算机及网络系统确认操作者身份的过程,它 是通信和数据系统的正确识别通信用户或终端个人身份的重要途径。身份认证机 制畸1 是安全系统中的第一道关卡,用户在访问安全系统之前,首先经过身份认证 系统识别身份,实质上是查明用户是否具有对他所请求的资源的使用权,是保证 系统安全的重要措施之一,同时也是授权控制的基础。身份认证必须做到准确地 将对方辨认出来,同时还应该提供双向的认证,即相互证明自己的身份。 2 1 1 基于口令的认证机制 鉴别用户身份最常见也是最简单的方法就是基于口令的认证机制m 1 :系统为 每一个合法用户建立一个用户名口令对,当用户登录系统或使用某项功能时, 提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名、口令与系 统内已有的合法用户的用户名口令对( 加密存储) 是否匹配,如与某一项用户名 口令对匹配,则该用户的身份得到了认证。最常用的身份认证技术是依靠静态口 令字来鉴别用户身份的合法性。这种机制虽然能够为系统提供一定的安全保护, 但为了便于记忆,大多数网络用户选择常用词作口令,一个口令多次使用,容易 造成泄露和被黑客猜测到。 动态口令技术是一种让用户的密码按照时间或使用次数不断动态变化,每个 密码只使用一次的技术。它采用一种称之为动态令牌的专用硬件,由于每次使用 的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要密码验证 通过就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使 黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。 动态口令技术采用一次一密的方法,有效地保证了用户身份的安全性。但是 如果客户端硬件与服务器端程序的时间或次数不能保持良好的同步,就可能发生 合法用户无法登陆的问题。并且用户每次登录时还需要通过键盘输入一长串无规 律的密码,一旦看错或输错就要重新来过,用户的使用非常不方便。 2 1 2 基于数字证书的身份认证机制 数字证书是一个经证书授权中心( 也叫认证中心,简称c a ) 数字签名的包含 6 公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名 称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发 证机关( 证书授权中心) 的名称,该证书的序列号等信息,证书的格式遵循 i t u x 5 0 9 国际标准。一个标准的x 5 0 9 数字证书包含证书的版本信息、唯一序 列号、证书所使用的签名算法、发行机构名称,有效期,证书所有人的名称、证 书所有人的公开密钥、证书发行者对证书的签名。 当用户向某一服务器提出访问请求时,服务器要求用户提交数字证书。收到 用户的证书后,服务器利用c a 的公开密钥对c a 的签名进行解密,获得信息的散 列码。然后服务器用与c a 相同的散列算法对证书的信息部分进行处理,得到一 个散列码,将此散列码与对签名解密所得到的散列码进行比较,若相等则表明此 证书确实是c a 签发的,而且是完整的未被篡改的证书。这样,用户便通过了身 份认证。服务器从证书的信息部分取出用户的公钥,以后向用户传送数据时,便 以此公钥加密,对该信息只有用户可以进行解密。由于这种认证技术中采用了非 对称密码体制,c a 和用户的私钥都不会在网络上传输,避免了基于口令的认证 中传输口令所带来的问题。攻击者即使截获了用户的证书,但由于无法获得用户 的私钥,也就无法解读服务器传给用户的信息。口1 2 1 3 基于k e r b e m s 的身份认证机制 k e r b e r o s 是由美国麻省理工学院( m i t ) 提出的基于可信赖的第三方的认证 系统。k e r b e r o s 提供了一种在开放式网络环境下进行身份认证的方法,它使网 络上的用户可以相互证明自己的身份。 k e r b e r o s 采用对称密钥体制对信息进行加密。其基本思想是:能正确对信 息进行解密的用户就是合法用户。用户在对应用服务器进行访问之前,必须先从 第三方( k e r b e r o s 服务器) 获取该应用服务器的访问许可证( tic k e t ) 。k e r b e r o s 密钥分配中心k d c ( 即k e r b e r o s 服务器) 由认证服务器a s 和许可证颁发服务器 t g s 构成,是负责发行票据和会话密钥的可信网络服务中心。k d c 同时为初始票 据和票据授予t g t 请求提供服务。a s 和t g s 两个服务器为认证提供服务,应用 服务器则是为用户提供最终请求的资源,在k e r b e r o s 协议中扮演验证者的角色。 用户和每个验证者之间是通过一个含会话密钥的票据来进行通信的,会话密 钥( s e s s i o nk e y ) 是由认证服务器生成的并安全地分发给双方的一个新加密密 7 钥,它只在一次会话中有效,会话结束即作废。k e r b e r o s 也存在一些问题: k e r b e r o s 服务器的损坏将使得整个安全系统无法工作:另外,k e r b e r o s 协议本 身并不是无限安全的,而且也不能自动地提供安全,它是建立在一些假定条件之 上的,只有在满足这些条件的环境中才能正常运行1 。 2 1 4 基于生物特征识别的身份认证机制 生物特征认证是指采用每个人独一无二的生物特征来验证用户身份的技术。 常见的有指纹识别、虹膜识别等。从理论上说,生物特征认证是最可靠的身份认 证方式,因为它直接使用人的物理特征来表示每一个人的数字身份,不同的人具 有相同生物特征的可能性可以忽略不计,因此几乎不可能被仿冒。 生物特征认证基于生物特征识别技术,受到现在的生物特征识别技术成熟度 的影响,采用生物特征认证具有较大的局限性。首先,生物特征识别的准确性和 稳定性还有待提高,特别是如果用户身体受到伤病或污渍的影响,往往导致无法 正常识别,造成合法用户无法登陆的情况。其次,由于研发投入较大和产量较小 的原因,生物特征认证系统的成本非常高,目前只适合于一些安全性要求非常高 的场合如银行、部队等使用,还无法做到大面积推广。 2 2 单点登录技术 单点登录( s i n g l es i g no n ,s s o ) 9 l ,简单地说,就是用户在一个登录点 进行身份验证后,便可以根据该身份对一组与该登录点相关的应用进行访问,即 “一次验证,多次登录。 2 2 1 单点登录介绍 单点登录即用户在多个应用系统中,只需要登录一次就可以访问所有相互信 任的应用系统,它包括可以将这次主要的登录映射到其他应用中用于同一个用户 的登录的机制。当用户第一次访问应用系统的时候,因为还没有登录,会被引导 到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如 果通过效验,应该返回给用户一个认证的凭据一一t i c k e t ;用户再访问别的应用 的时候就会将这个t i c k e t 带上,作为自己认证的凭据,应用系统接受到请求之后 会把t i c k e t 送到认证系统进行效验,检查t i c k e t 的合法性。如果通过效验,用户 就可以在不用再次登录的情况下访问其他应用系统了。 首先,单点登录系统采用结合了密码学技术的身份认证机制,可以大大提高 系统的安全性,同时也可以保证用户的电子身份标识可以安全、高效地在网络上 传输。所有授权的应用以列表的形式呈现给用户,用户直接双击相应的列表项就 可以自动登录授权的应用;其次,单点登录系统把原来分散的用户管理改为集中 管理,各个系统之问依靠相互信赖的关系来进行用户身份的自动认证,用户通过 一次登录后,便可自动访问所有已授权的应用和系统;避免了重复登录,提高了 用户的工作效率。 目前一些软件公司都研发了自己的单点登录软件产品,例如c a 公司的 e t r u s ts s o ,n o v e l l 公司的s e c u r e l o g i n 等,但这些产品都是基于c s 架构的。 2 2 2 单点登录模型分类 按照网络布局的不同,目前单点登录技术主要分为以下几类【1 0 】: i 基于经纪人的单点登录模型( b r o k e r b a s e ds s 0 ) 在一个基于经纪人的单点登录模型中,都有一个集中的认证和用户账号管理 的服务器。中央认证服务器和中央数据库的使用减少了管理的代价,并为认证提 供一个公共和独立的“第三方,就像一个“经纪人一一样。该方案模型由三部 分组成支持认证服务的客户端、认证服务器、支持认证服务的应用服务器。其中, 认证服务器扮演着经纪人的角色,所有的认证都是由它来完成的。其工作流程是 所有的客户机在访问系统资源之前向认证服务器进行身份验证,采用相互认证方 式。当用户通过身份验证后,认证服务器返回给用户一个电子身份标识,用户通 过该电子身份标识去访问其它应用服务器,从而实现单点登录。如图2 1 应用服务器3 图2 1 基于经纪人的单点登录模型 基于这种机制实现单点登录最典型的例子是k e r b e r o s m 2 1 。美国麻省理工学 院( m i t ) 为自己开发的安全认证协议起名为“k e r b e r o s ”,协议的目的是解决在不 安全的开放网络( ( o p e nn e t w o r k ) 上安全传输数据的问题。k e r b e r o s 最大好处是 9 通过对实体和服务的统一管理实现单一注册,k e r b e r o s 协议的基础是基于信任 第三方,如同一个经纪人( ( b r o k e r ) 集中的进行用户认证和发放电子身份凭证, 它提供了在开放型网络中进行身份认证的方法,认证实体可以是用户或用户服 务。这种认证不依赖主机的操作系统或主机的i p 地址,不需要保证网络上所有 主机的物理安全性,并且假定数据包在传输中可被随机窃取篡改。 基于经纪人的单点登录模型主要优点是有一个中央用户数据库,易于对用户 数据进行集中管理和信息的维护。但是,它也存在着一些不足:在这种模型中, 所有用户的登录信息都被系统接管,所以每次登录都要提供注册的i d 和口令, 否则匿名用户无法登录;同时需要修改原有应用,来适应所采用的认证机制,而 对于旧系统的改造,是项艰巨的工作。 i i 基于代理的单点登录模型( a g e n t b a s e ds s 0 ) 这是一种软件实现方式( 如图2 2 ) ,被称为“代理的程序可以运行在客户 端或者服务器上,作为用户与应用服务器之间的通信中转站;若a g e n t 部署在客 户端,它能装载获得用户名口令列表,自动替用户完成登录过程,减轻客户端 程序的认证负担。若a g e n t 部署在服务器端,它就是服务器的认证系统和客户端 认证方法之间的“翻译 。它可以使用口令表或加密密钥来自动地将认证的负担 从用户移开。 客户端 胜用服务器3 图2 2 基于代理的单点登录模型 例如s s h ( s e c u r es h e l l ) 。通过使用s s h ,你可以把所有传输的数据进行加密, 这样就能够防止d n s 和i p 欺骗。这是一个为在网上进行安全连接设计的客户 服务器类型加密软件,实现了一个密钥交换协议,以及主机及客户端认证协议。 s s h 的用户可以使用包括r s a 算法等不同认证方法。 基于代理的单点登录模型( a g e n t b a s e ds s o ) 保证了通道的安全和单点登录, 具有比较好的可实施性和灵活性。但是基于代理的单点登录模型( ( a g e n t b a s e d 1 0 基于a g e n t b r o k e r 的s s o 方案,综合利用了a g e n t - b a s e ds s 0 方案和 b r o k e r - b a s e ds s o 方案。充分利用了前者的灵活性和后者的集中管理两方而的 优势。其架构如图2 4 所示口3 1 : 客户端 匣用服务器3 图2 4 基于a g e n t b r o k e r 的单点登录模型 通过对以上方案的分析,不难看出:a g e n t & b r o k e r _ b a s e ds s o 方案比较适合 大多数企业的情况。它一方面可以利用b r o k e r - b a s e ds s o 方案的集中管理机制。 建立一个中央数据库对用户进行统一的身份认证管理:另一方面,又可利用 a g e n t - b a s e ds s o 方案的灵活性。使企业不需要对原有应用进行改动。但 a g e n t b r o k e 的s s o 方案仍然具有以下缺点: ( 1 ) a g e n t - b a s e ds s o 方案中,必须有一个统一的中央用户数据库。企业必 须将已有的多个用户库中的数据迁移到中央数据库中。用户库迁移使系 统解决方案的成本上升。 ( 2 ) 对于部门较多和地域范围广的系统,迁移后的中央用户数据库管理比较 困难,留下安全隐患。而且方案只考虑了统一认证。 2 2 3 单点登录系统结构分类 根据单点登录系统的设计结构与应用环境将s s o 分为两大类n 4 m 引。第一种类 型是基于b s 结构的系统,这样的系统我们称为b s s s 0 。第二种类型是基于c s 结构的系统,这样的单点登录系统我们称它为c s s s o 。下面分别进行介绍 i 基于b s 结构的单点登录系统 b s s s o 系统是指用户的客户端就是标准的浏览器,而且用户在访问应用过 程中,也不需要特地为浏览器安装插件。由于b s 结构的系统现在越来越受欢迎, 所以这方面的单点登录系统研究也比较广泛,现在主要存在两方面的研究。其一, 单点登录基于p o r t a l 技术( 一个基于w e b 的应用程序,它主要提供个性化、单点 1 2 登录、不同来源的内容整合以及存放信息系统的表示层) ,这样的b s s s o 我们 称它为b s p o r t a l s s o 。这种系统是将第三方应用以p o n l e t ( 基于j a v a 技术的w e b 组件,它由p o n l e t 容器管理、处理请求,并动态生成输出内容) 的形式集成到 p o n a l 页面中。其中p o n l c t 规范中规定了p o r t l e t 与p o r t a l 之间的通信规则。在 p o r t a l 中,p o n l e t 是最基本的组件,每个集成的应用不再直接向用户提供访问接 口,而是以p o r t l e t 的方式出现并提供服务,应用间的数据共享和通信必须通过 相应p o m e t 之间的交互间接实现。整个系统的交互过程为用户首先登录p o r t a l , p o r t a l 后台验证通过则返回一个p o n a l 页面,该页面以p 硎e t 的形式集成了用户 可以访问的应用。用户与第三方应用交互在p o m c t 中完成,第三方应用就不再 对用户进行认证了。 另外一种就是非p o n a l 类型,我们称其为b s n p 嘶a 1 s s o 系统。这种系统 不是使用p 嘣a l 技术实现。这方面的研究主要包括两个方面。其一是企业与企业 之间的单点登录,这方面相对来说比较复杂。典型代表是m i c r o s o f i 的p 弱s p i d n 与s 1 1 n 的i d 酬t ) rs e r v e r ;其二是面向企业内部。对于企业内部,用户的信息数据 可以避免被非法使用,不存在用户数据安全性问题。【1 6 】 优点:无需安装特定的插件,对原有应用系统改造小。增加了全局退出的功 能。采用h 1 口提高了系统扩展性。 缺点:基于b s 结构的单点登录中,认证服务器和服务提供者之间是通过应 用层h t t p 协议建立通信管道的,一般要使用h 1 限重定向来完成通信,而单点 登录一般都采用不太安全的c o o b e 技术来实现,此类模型没有一个统一的规范 协议,本身技术的简单性,在应用中暴露出了很多安全问题。 工i 基于c s 结构的单点登录系统 这种系统要求用户安装相应的客户端程序刁能访问某些服务。通常,用户需 要安装一些为了实现登录所需要的加密解密模块或者在浏览器安装插件的方式。 整个系统是在一个互联网或者企业网上运行,其中包括用户、各种应用服务与一 个单点登录服务器s s o 服务,如图2 5c s s s o 系统结构图。其中的加密解密模 块就是要实现单点登录的系统在客户端所必需安装的。这种系统的工作原理是: 用户、s s o 服务与s p 之间的通信的数据由一方到另外一方,首先经过加密,到 达另外一方再对数据进行解密。那么加密解密模块负责数据的安全性。这方面的 3j a a s 禾口l d a p 3 1 j a a s 架构 j a a s ( j a v aa u t h e n t i c a t i o na n da u t h o r i z a t i o ns e r v i c e ) 是实现了标准p a m 框架的j a v a 版本,是s u n 公司为了进一步增强j a v a 2 安全框架的功能而提供的 编程接口n 引。 j 从s 是一个能让您在j a v a 中验证用户和给用户授权的可移植性接口,主要 由认证和授权两大部分构成。j 从s 认证通过插件的形式工作,这可以使j a v a 应 用程序独立于底层的认证技术,应用程序可以使用新的或经过修改的认证技术而、 不需要修改应用程序本身。应用程序通过实例化一个登录上下文对象来开始认证 过程,这个对象根据配置决定采用哪个登录模块,而登录模块决定了认证技术和 登录方式,比较典型的登录方式可能是提示输入用户名和口令,还有的可能是读 入并核实声音或指纹样本。 代码执行者被认证后,j 从s 的授权部分就和j a v a 2 存取控制模型一起保护对 敏感资源的访问。j 从s 的存取控制既基于代码源,也基于代码的运行者,它们 在逻辑上构成了同一个策略。图3 1 给出了改进过的j 从s 结构。应用程序层的 代码只需要和l o g i n c o n t e x t 打交道。在l o g i n c o n t e x t 之下是一组动态配置的 l o g i n m o d u l e 对象,这些对象使用相关的安全基础结构进行验证操作n 钔。 竺呈坚:苎:1o _ _ 图3 一l 改进的j a a s 结构 3 1 1 登录模块 l o 西n c o n t e x t 对象通过l o 昏n m o d u l e 接口操作登录模块,自动读取并加载登 录配置文件中指定的登录模块,创建登录模块的对象。登录模块对象创建后,会 马上执行i n t i a l i z e ( ) 方法进行各种初始化操作。 l o 酉n c o n t e x t 对象执行l o 西n ( ) 方法进行登录时,其验证过程包括两步,首先 会自动调用各个登录模块的l o 西n ( ) 方法进行登录,若登录模块的1 0 百n ( ) 方法登录 成功,则第二步为执行各个登录模块的c o r 啪i t ( ) 方法更新主体。如果登录失败( 登 录模块的l o 百n ( ) 方法或c o m m i “) 方法抛出l o 西n e x c e p t i o n 异常) ,则执行登录模 块的a b o r t ( ) 方法。因此只有两步验证都成功了,整个验证过程才成功。如果执行 l o 西n c o m e x t 对象执行l o g o u t ( ) 方法退出登录,则会执行登录模块的l o g o u t ( ) 方法 完成此操作。 编写自己的登录模块只要实现l o 百n m o d u l e 接口中的i i l i t i a l i z e ( ) ,1 0 百n ( ) , c o 彻嘶t ( ) ,a b o r t ( ) 和l o g o u t u 方法即可。 ( 1 ) 实现i i l i t i a l i z e ( ) 方法 在i n i t i a l i z e ( s u b j e c ts u b i e c t ,c a l l b a c k h a n d l e rc a l l b a c k h a n d l m 印s h 鲫e d s t a t e , m a po p t i o n s ) 方法中有4 个参数,其中m 印类型的s h a r e d s t a t e 参数可用于登录模 块的信息传递( 如传递口令) 。 i i l i t i a l i z ) 方法将参数中的各个对象传递给登录模块的成员变量。创建 l o 咖c o n t i 烈对象可以使用两个参数的构造器,分别传入配置文件中的条目名称 和回调处理器。在需要时也可使用3 个参数的构造器,由第3 个参数传入 s u b j e c t 类型的对象,并在这里通过l o 曲姐订o d u l e 对象的i n i t i a l i z e ( ) 方法传入登 录模块。如果在创建l o 西n c o n t e x t 对象时没有指定s u 功e c t 对象,则执行 l o 酉n c o n t e x t 对象的l o 西n ( ) 方法时会自行创建一个。c a l l b a c k h 趾d l e r 对象也是 由l 0 百n c o n t e x t 对象的构造器传入。其它两个参数:s h a r c s t a t e 主要用于不

温馨提示

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

评论

0/150

提交评论