(模式识别与智能系统专业论文)基于saml的集成身份认证机制.pdf_第1页
(模式识别与智能系统专业论文)基于saml的集成身份认证机制.pdf_第2页
(模式识别与智能系统专业论文)基于saml的集成身份认证机制.pdf_第3页
(模式识别与智能系统专业论文)基于saml的集成身份认证机制.pdf_第4页
(模式识别与智能系统专业论文)基于saml的集成身份认证机制.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(模式识别与智能系统专业论文)基于saml的集成身份认证机制.pdf.pdf 免费下载

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

文档简介

摘要 y 6 2 4 3 6 3 身份认证是当前分布式资源系统建设的热点,但目前国内此方面的发展仍处于比 较低的层次,一个最主要的问题就是多个系统身份认证机制的集成化。为了寻求一种 安全、高效的解决方案,本文提出了一种新的集成身份认证机制,该机制采用s a m l ( 安全声明标记语言) 技术和单点登录技术。 s a m l 是一种基于x m l 开发的用来在互联网上交换安全信息的描述语言,它定 义了不同系统间安全信息的交换机制。单点登录技术是实现集成身份认证的有效方 法。 本文研究的重点放在建设基于s a m l 的安全数据交换引擎和提供单点登录服务 中,同时结合目前网络集成开发最具开发潜力的j a v a 、x m l 、s o a p 等技术,设计和 实现了一套能支持资源系统间认证信息共享,支持网络用户基于最初访问网络时的一 次身份验证,对所有被授权的网络资源进行无缝访问的集成身份认证机制。 该机制科技含量高,社会和经济效益大,在数字图书馆、电子商务领域有着广阔 的应用前景。 关键词: 安全声明标记语言单点登录集成身份认证数字签名简单对象访问 协议 a b s t r a c t i d e n t i t ya u t h e n t i c a t i o ni st h eh o t s p o to f t h e c o n s t r u c t i o no f d i s t r i b u t e dr e s o u r c es y s t e m n o w b u tt h ed o m e s t i cd e v e l o p m e n ti nt h i ss i d ei sb e i n ga tal o wl e v e l i tc o n i e st ob ea l l i m p o r t a n tp r o b l e m i st h a th o wt o i n t e g r a t e s o m e i d e n t i t y a u t h e n t i c a t i o n so fd i f f e r e n t s y s t e m si n t oa c o n s o l i d a t e da u t h e n t i c a t i o nm e c h a n i s m i nt h i sp a p e r , an e w , h i g h l ys e c u r e a n de f f e c t i v ec o n s o l i d a t e da u t h e n t i c a t i o nm e c h a n i s mw a sp r o p o s e d s a m la n ds i n g l e s i g n o nt e c h n o l o g y a r e b e i n ga d o p t e d s a m li sab a s e do nx m l d e v e l o p m e n td e s c r i b a b l el a n g u a g et h a t i st o e x c h a n g e s e c u r ei n f o r m a t i o ni ni n t e r n e t i td e f i n e st h ee x c h a n g em e c h a n i s mo fs e c u r ei n f o r m a t i o ni n d i f f e r e n t s y s t e m s s i n g l es i g n - o nt e c h n o l o g y i st h ee f f e c t i v em e a s u r et or e a l i z e c o n s o l i d a t e da u t h e n t i c a t i o n t l er e s e a r c hf o c u so ft h i sp a p e ri st h ec o n s t r u c t i o no fs a m lb a s e ds e c u r ed a t a e x c h a n g ee n g i n e e ra n dt h es e r v e ro fp r o v i d i n gs i n gs i g n o nt e c h n o l o g y c o m b i n i n gt h e p o t e n t i a lt e c h n o l o g i e s - - j a v a 、x m l 、s o a pa n ds o o n ac o n s o l i d a t e da u t h e n t i c a t i o n m e c h a n i s mw h i c hs u s t a i n st h es h a r i n go fa u t h e n t i c a t e di n f o r m a t i o ni nd i f f e r e n ts y s t e m s , a n dt h es e a m l e s sa c c e s so fa u t h o r i z e dn e tr e s o u r c eb a s e do nt h ef i r s ta u t h e n t i c a t i o no ft h e u s e t h i sm e c h a n i s mh a sg r e a ts o c i ma n de c o n o m i cb e n e f i t ,a n da m p l i t u d ea p p l i c a t i o n f o r e g r o u n di nt h ef i e l d so f d i g i t a ll i b r a r ya n de l e c t r o n i cc o m m e r c e k e y w o r d s s e c u r i t ya s s e r t i o nm a r k u pl a n g u a g e a u t h e n t i c a t i o n d i g i t a ls i g n a t u r e s i n g l es i g n o nc o n s o l i d a t e d s i m p l eo b j e c t a c c e s sp r o t o c o l l i 硕士论文基于s a m l 的集成身份认证机制 1 1 课题来源背景 第一章绪论 1 1 1 数字图书馆中新的身份认证机制的需要 课题源于中科院图书馆分布移动用户使用管理技术平台研究与建设工 程实际项目。中国科学院文献情报系统和有关机构购买或自建了大量分布的数 字化信息资源,其中许多资源由于版权限制、许可限制、费用约束或管理要求, 对使用的用户对象有限制,需要对用户进行身份认证和使用授权后,才能允许 合法用户按照特定授权使用特定资源。目前,在身份认证上普遍的采用控制方 法有:i p 地址过滤( 1 p a d d r e s s f i l t e r i n g ) 、通行词控制( p a s s w o r d ) 、代理服务 ( p r o x y s e r v e r ) 等。i p 地址过滤虽然在技术上方便易行,安全保障相对容易, 但其限制了用户的物理使用范围,不支持在i p 地址外的用户和移动用户;通行 词控制的技术简单,且不受地理位置的限制,但此种方式存在较大安全隐患, 同时,在面对不同机构拥有或管理的不同资源,大幅度增加用户使用困难;代 理服务方法中代理服务主要有两种:物理代理、应用代理。该方式易与授权管 理系统相结合,具有提供集成接口、支持复杂授权等方面的优势,但该方式对 于代理服务器的性能要求很高,从而会增加费用开销。由此可见:上述常用的 控制方法都在一定程度上存在不能适应中国科学院文献情报系统和有关机构需 求的地方。 对于中国科学院文献情报系统和有关机构的用户而言,每天需要登录的信 息系统很多,用户的频繁登录,会从一定程度上加重用户的负担。而对管理员 而言,对每一信息系统进行管理并保证其安全性也是一项繁重的负担。 综合上述几方面的原因:需要建立一种新的方便灵活的新的身份认证机制 来满足用户、管理员、分布资源和服务提供者的要求。 1 促进对分布资源的方便、有效使用。从用户角度而言。此种新的机制应 该基于通用的网络环境,尽量避免特殊技术、设置、地域等操作,操作简单, 稳定可靠。除此之外,还应减少自己的登录次数,最好能做到通过一次登录, 集中的身份验证,对所有被授权的网络资源进行无缝的访问;从资源和服务提 供角度而言,它不能过分增加运行和维护负担,而且能使自己方便的设置用户 群,支持多种通信协议,使用平台等。 硕士论文基于s a m l 的集成身份认证机制 2 保障认证的强度。即要求身份不易伪造和假冒,身份数据不易丢失,从 管理员角度,整个管理系统的安全性能比较高,管理系统不易受攻击,或在受 到攻击时不出现重大的安全损害。 3 保护用户的隐私。 1 1 2 国内外研究现状 在集成身份认证解决方案的研究中,有一很重要的课题,即能够在分布式 计算机环境中,安全和方便的鉴别用户而产生的新课题单点登录( s i n g l e s i g n o n ,简称s s o ) 。现今所存在的所谓实现了s s o 技术或正将实现s s o 技 术的集成身份认证系统有:e v i d i a n 公司的a c c e s s m a s t e r ,英国高等教育组织之 间的a t h e n s ,e n t r u s t 公司的g e t a c c e s s ,n e t e g r i t y 的s i t e m i n d e r i l # ,j 州等。 a c c e s s m a s t e r 是e v i d i a n 公司推出的一项密码集中管理的安全产品【lj 。它的 实现原理如下:在一个集中的站点为每一个用户建立一个映射表,表中记录了 该用户登录不同站点时使用的标识和密码。用户登录这个负责映射关系维护的 站后,系统返回的一个页面,其中包括了用户脚本中预定制的多个站点的图标。 当用户点击这些图标后,服务端程序根据映射表中的给站点所对应的用户标识、 密码和登录方式等信息,完成登录工作。这样,一个用户每天只需一次登录这 个负责映射关系的站点一次,就可以通过它自动地登录到所有预定制的站点。 这种系统的优点在于简单易行。缺点在于用户的身份信息没有在多站点间传递, 不具有互操作性,难以实现多个站点协同完成一个操作的能力。 a t h e n s 通过数据库复制技术来保证所有数据服务提供者d s p ( d a t a s e r v i c ep r o v i d e r ) 用户信息的一致性 2 1 。在a t h e n s 的站点上,保存着一个记 录所有用户数据库。每个d s p 上也有一个用户信息数据库。通过数据库复制技 术来保证各个d s p 用户信息数据库与a t h e n s 用户数据库的同步。在2 0 0 2 年 2 月,a t h e n s 通过对d s p 接口的扩展实现了s s o 。它保证了一个用户在所有 的资源上认证信息的统一,并能够统一进行更新。a t h e n s 的优点在于实现简 单,有一定的互操作性,缺点在于d s pg e t a c c e s s 和s i t e m i n d e r 在实现上有所 不同,但其解决问题的思路大致相同,即将具有合作关系的企业同一为一个“门 户”( p o r t a l ) ,又集中的安全服务器负责用户身份认证,用户及其权限管理等。 各合作站点通过安装专用软件与安全服务器进行通信,具有跨企业边界的安全 信息传递、单点登录服务( 含集成身份认证) 服务等优点。但存在以下缺陷: 1 单纯的一对多结构,合作站点间缺乏通信灵活性。 2 专用的通信软件,会增加系统的复杂性,使系统不易维护和扩展,同时 增加了应用维护与升级等的成本。 硕士论文 基于s a m l 的集成身份认证机制 3 缺乏统一的数据表示和通信机制,容易造成安全信息的冗余和资源的浪 费。 为了解决上述问题,国际标准化组织o a s i s 的安全服务协会( s e c u r i t y s e r v i c e t e c h n o l o g y c o n t m i t t e e ,简称s s t c ) 于2 0 0 0 年1 1 月提出了安全声明标 记语言( s e c u r i t ya s s e r t i o nm a r k u pl a n g u a g e ,简称s a m l ) 参考标准。其主要 的设计目的是为认证和授权服务提供标准的安全信息描述和共享机制,使得不 同企业间可以共享有关用户的信息,实现互操作。 该标准一经提出,即得到业界的广泛支持。如2 0 0 3 年1 月发布的s u no n e i d e n t i t ys e r v e r6 0 即是个基于s a m l 的支持集成身份认证商业级解决方案1 5 j 。 o n e n a m e 公司提供了基于s a m l 的o n e n a m ei d e n t i t ys e r v e r 来实现s s o ,从而 实现集成身份认证。 如何将s a m l 规范与传统安全技术相结合,开发出适应不同场景的集成认 证系统,以及如何在此基础上开发w e b 应用都是很值得研究的主题。 1 2 研究意义和内容 1 2 1 研究的意义 s a m l 标准是一种完全基于x m l i 0 的描述语言,继承了x m l 跨平台数 据表述的特征,并且为认证服务提供标准的安全信息描述和共享机制。利用 s a m l 技术实现不同企业的安全系统间的互操作性,是x m l 技术的不断发展, s a m l 标准的不断完善的必然趋势,可以从以下几方面看出: 一、m l 技术作为一种数据表示语言,已经得到广泛得应用,成为w e b 应用中新得数据描述规范。s a m l 继承了x m l 这一描述特征,可以满足 安全信息描述得功能。 二、a m l 消息可以与任意标准的消息处理架构或传输协议进行绑定。 基于s a m l 的集成身份认证机制技术将使其用户在信任域f 6 】内只需作一次 身份认证,就可以访问信任域内所有的具有访问权限的资源。并且它具有以下优 点: 1 为用户的标识和参数信息,提供简单的执行和强大的控制功能,传送无争 议的商标和信息机会,减少安全和机密方面的危机。 2 确保信任域内的每一成员有能力管理控制他们自己用户的标识和参数信 息,确保每一分布的计算环境都拥有统一认证的能力,使同一信任域内的w e b 站 点拥有单点登录处理的功能。 硕士论文 基于s a m l 的集成身份认证机制 总而言之,研究和实现基于s a m l 的集成身份认证机制是非常有意义的。 随着s a m l 规范,s s o 技术的日渐完善,集成身份认证技术也越来越完善,它 将产生客观的经济效益,将会在很多领域广泛使用,如:数字图书馆,电子商 务等。除此之外,作为我们正在进行的国家数字图书馆中科院数字图书馆分 布移动用户使用管理技术平台研究与建设工程实际项目的一部分,该工作为 进一步研究w e bs e r v i c e 安全机制和分布式资源协同工作打下了基础。 1 2 2 本文的研究内容和主要工作 本课题主要是分析当前存在的身份认证应用需求与实际安全需求,研究如 何将s a m l 标准与单点登录需求技术相结合,实现能够满足中科院数字图书馆 及其分布资源或服务提供商共同需求的集成身份认证机制。 本论文的主要研究与开发工作总结为下面几个方面: 1 对现有集成身份认证系统或解决方案进行分析,总结其优、缺点,结合 项目实际需要,为设计科图分布移动用户管理集成身份认证机制的整体结构提 供现实依据。 2 在分析s a m l 规范和s s o 技术的基础上,以集成身份认证安全需求为中 心,给出了一种基于s a m l 的集成身份认证机制( as a m lb a s e dc o n s o l i d a t e d a u t h e n t i c a t i o nm e c h a n i s m ) 的体系结构,该机制支持面向数字图书馆内及其分 布资源间的应用协作。它包括两个部分:基于s a m l 的安全数据交换引擎 ( s a m lb a s e ds e c u r i t yi n f o r m a t i o ne x c h a n g ee n g i n e ,简称s i e e ) 和单点登录 服务( s s os e r v i c e ,简称s s o 服务) ,来解决用户一次登录,用户身份的集成 认证,和用户信息的安全共享问题。 3 给出了本套机制的主要组成部分s i e e ,s s o 服务的设计与实现。 s i e e 服务是实现中科院数字图书馆与其同一信任域1 6 j 内各资源的安全系统 的互操作的基础,其设计与实现是本文的重点。该服务是在对s a m l 规范详细 分析和总结基础上提出的,以j a v a 类库和w e b 服务方式实现。即可为中科院数 字图书馆及不同资源的安全系统提供安全的认证信息交换和共享服务。s s o 服 务是实现中科院数字图书馆的分布、移动用户一次登录,集成身份认证的基础。 其设计与实现也是本文的重点。该服务是适应项目的确实需求提出的,也以 j 2 e e 三层架构方式和w e b 服务方式实现。 文中介绍了s i e e 服务的设计和具体实现。给出了一个相关实例,以期抛 砖引玉,为进一步研究集成身份认证服务打下了基础。 硕士论文基于s a m l 的集成身份认证机制 1 3 本文的组织 本文共分为六个部分: 第一章,绪论。阐述课题来源背景、国内外研究现状、本文的主要研究工 作和研究意义,以及本文的组织。 第二章,相关技术综述。本章首先介绍了单点登录技术( s s o ) ,认证技术, 然后对安全声明标记语言( s a m l ) 进行了详细介绍,并对该规范与安全技术 的结合以及在安全系统中的应用进行了分析,最后介绍了集成身份认证机制实 现中用到的其他相关技术,如简单对象访问协议( s o a p ) ,x 5 0 9 证书,x m l 签名等。 第三章,集成身份认证模型。本章介绍了现今己提出的集成身份认证解决 方案或足已实现的模型。分析了l i b r e t y a l l i a n c e 与p a s s p o r t 的优缺点,从而提 出了自己的集成身份认证解决方案,其借鉴并改进l i b e r t ya l l i a n c e 的部分和其 优越于p a s s p o r t 的部分。 第四章,科图分布移动用户管理集成身份认证机制的设计。本章首先根据 实际项目分析了整个机制的用况,给出了机制对应不同用况的流程。介绍了整 个机制的总体结构,讨论了各部分的功能模块。 第五章,机制的实现。本章介绍了实现中用到的主要技术和各功能模块的 具体实现。 第六章,应用实例及其分析。本章根据前述的设计与实现给出了一个应用 实例,并对其进行了分析。 结论部分,对本文的工作进行了总结与展望。列出了本文较有特点的工作, 提出了进一步的研究方向。 硕士论文 基于s a m l 的集成身份认证机制 第二章相关技术综述 2 1 s i n g l es i g n o n ( s s 0 - 单点登录技术) 2 1 1 提出s i n g l es i g n - o n 的必要性 随着信息技术和网络技术的发展,各种应用服务的不断普及,用户每天需 要登录到许多不同的信息系统,同时还得适应不同应用服务系统的不同安全策 率。 当各企业实体开始用w e b 服务技术改造内部的信息系统以实现企业内部、 企业之间的广泛应用互联时,由于每个信息系统都有其自身的用户系统和认证 方式,因而采用何种确实可行的解决方案来解决信息系统间的相接问题变的尤 为重要。 基于上述原因,提出了s i n g l es i g n o n 技术。 2 1 2s i n g l es i g n - o n 一、定义: 指网络用户可以基于最初访问网络时的一次身份验证,对所有被授权的网 络资源进行无缝的访问。s i n g l es i g n o n 已发展成为一种减少成本开支的解决方 案减少支持调用,同时简化认证的管理过程。 二、类型: s i n g l es i g n o n 有两种主要的体系结构类型【7 】: 基于w e b 的s i n g l es i g n o n 和传统的s i n g l es i g n o n 。 ( 一) 基于w e b 的s i n g l es i g n o n 在w e b 技术的发展初期,由于w e b 安全主要表现为保护u r l s ,因而s e c u r e s o c k e t sl a y e r ( s s l :加密套接字协议层) 能够保证通过浏览器传递密文口令的安 全性。随着w e b 技术的发展,w e b 应用和数据库技术渐被u r l s 支持者所接受, s s l 已不能满足w e b 安全的需求。虽然服务器能支持一定数量的s s l 握手,能 在接受数据之前进行双向认证。但s s l 不能创建一个用户经历在前端门户, 用户输入一口令后,门户支持的所有应用都能获得该用户的认证信息。一个适 当的可执行的基于w 曲的s i n g l es i g n - 0 n 解决方案将通过一个中央管理控制台 将前端门户认证信息写入后端,并在该用户对话允许范围内,让各应用分享此 6 硕士论文 基于s a m l 的集成身份认证机制 信息。除此之外,基于w e b 的s i n g l es i g n o n 还能支持多系统之间的信息交换。 传统的s i n g l es i g n o n 传统的s i n g l es i g n o n 与基于w e b 的s i n g l es i g n o n 共享同样的认证体系结 构,唯一不同的是传统的s i n g l es i g n o n 不拥有前端门户。传统的s i n g l es i g n o n 通过一个认证对话来完成同一内网中不同应用问的信息交换。 三、s i n g l es i g n - o n 与同一口令的区别1 7 1 s i n g l es i g n o n 允许用户拥有不同的口令相对于不同的应用系统。这些口令 被保存在s s o 服务器的数据库中,当用户登录某一应用系统时,对应该用户标 识的口令将被从数据库中取出,来验证该用户的合法性。一旦验证了该用户为 合法用户,当此用户访问在他对话范围内的另应用系统对,无需再登录。 s i n g l es i g n o n 相较于同一v i 令更安全。当用户对不同的应用系统,采用同 一口令时,就会存在如下的风险:当口令被一黑客窃取后,黑客就能访问对话 范围内的所有的应用系统。 四、s i n g l es i g n o n 的优点 1 存在的中央管理控制平台使得集成的身份认证可行。 2 支持多种的登录方式:h t t p 认证、摘要认证、f o r m 认证、在s s l 通道上实现的h t t p 认证、在s s l 通道上实现的摘要认证、在s s l 通道上 实现的f o r m 认证、数字证书认证。 3 通过数字签名,数据加密等技术保证数据的安全性。 2 2 认证技术 认证技术是信息安全理论和技术的一个重要的方面,用于保证信息传递安 全性的主要手段之一,以保证所要交换的信息是在互相信任的双方问进行。下 面将介绍该技术及相关的概念。 首先介绍“安全域( s e c u r i t yd o m a i n ) ”和“主体( p r i n c i p a l ) ”两个概念1 6 。 “安全域”又名信任域,是具有相同访问控制策略的主机或资源组成的一个受 保护的区域。可以对安全区域内的资源按照一定的规则进行组织,划分为不同 的子安全区域,以便于安全策略的制定和执行。“主体”指的是一个最终用户, 可以是一个单独的人、组织或者是一个应用、服务、设备( 如:客户机、服务器、 交换机、路由器等) ,主体是相对于某一安全域而言的。主体拥有一个或多个身 份,身份代表了主体所具有对某种资源的访问权利。因此,当主体要访问某种 关键资源的时候,他必须先表明自己的身份,并且证明他的确具有该身份。 认证指的是主体向安全域证明自己身份的过程,主体向认证系统提供一些 只有该主体才知道或可能产生的一些信息。认证系统根据这些信息来确定主体 硕士论文基于s a m l 的集成身份认证机制 身份,因此认证业务即提供关于某个主体身份的保证。 2 2 1 身份认证 身份认证是信息认证技术中一个十分重要的内容,它涉及两方面的内容: 识别和认证。所谓识别指的是确定用户是谁? 这就要求对每个合法用户都要有 识别能力。要保证识别的有效性,就需要保证任意两个不同的用户都具有不同 的识别符,所谓验证就是指在用户声称自己的身份后,认证方还要对它所声称 的身份进行验证,以防假冒。 一、身份认证的定义: 证实用户的真实身份与其所声称的身份是否相符的过程【9 】。 二、身份认证的依据: 所知( s o m e t h i n g t h eu s e rk n o w ) ,如密码、口令等。 拥有( s o m e t h i n g t h eu s e r p o s s e s s e s ) ,如身份证、护照、密钥盘等。 特征( s o m e t h i n g t h eu s e ri s ) ,如指纹、笔迹、声纹、虹膜、d n a 等。 三、认证协议 双向认证( m u t u a la u t h e n t i c a t i o n ) 单向认证( o n e w a ya u t h e n t i c a t i o n ) 由于本机制中采用的是x 5 0 9 证书,它是一个双向认证的协议,下面将介 绍双向认证的过程。安全服务器s ,主体a : 1 s 把自己的数字证书传给a 。 2 a 收到s 的证书后,通过下列步骤验证s 的证书。 i 、首先查看当前时间是否在s 证书的有效期内,如果不是说明该证书 已经过期,验证失败,否则进行第二步。 i i 、查看为s 发行证书的证书管理中心( c a ) 是否为a 可信的c a 。a 从 s 的证书中取得该证书发行者,然后遍历客户方客信任的c a 证书链进行 匹配,如果a 找不到与之匹配者,则a 无法验证服务器证书,验证过程 失败,否则进行第三步。 i i i 、从上一步骤的匹配的c a 中取得公开密钥,验证s 的证书中所包含的 该证书的签名是否有效。如果验证成功,说明s 方已经成功地通过了a 的 身份验证。 3 s 验证a 身份。 主体a 在向服务器s 发送完自己的证书之后,再发送一条证书验证消息。 i 、s 收到验证消息后,用从a 证书中取得的公开密钥对该消息中的数据 进行解密,如果成功,表示a 证书中的公、私密钥匹配。s 再对a 签名 硕士论文 基于s a m l 的集成身份认证机制 的数据进行计算,与解密后的数据进行比较,如相等,说明传输过程中没 有遭到破坏。 i i 、s 查看当前时间是否在客户方证书的有效期内。如果不是,说明该证 书已经过期,否则进行第三步: i i i 、查看a 发行证书的c a 是否为s 的可信任的c a 。 i v 、从上一步骤的c a 证书中得到公开密钥,验证a 证书中所包含得该证 书的发行者的数字签名是否有效。如验证成功,说明a 方通过了s 方的 身份验证。 2 3 安全声明标记语言( s a m l ) s a m l 是一种基于x m l 开发的用来在互联网上交换安全信息的描述语言。 s a m l i 0 规范是由o a s i s ( o r g a n i z a t i o nf o rt h ea d v a n c e m e n to fs t r u c t u r e d i n f o r m a t i o ns t a n d a r d s ) 在s 2 m l 和a u t h m l 规范的基础上提出的,并得到众多 的大公司的支持。 s a m i 。可以实现不同的安全服务系统之间的互操作性,它提供了一种机制使 得可以在不同的安全服务系统之间交换认证和授权信息。但它本身并不定义新 的认证与授权的机制,它只是定义了用于安全服务之间传输安全信息的交换机 制。其关注的重点不仅局限于信息得描述,而且还在于如何用x m l 实现安全信 息得共享,使得在i n t e r n e t 环境下,用标准的方式描述和使用己广泛采用的安 全技术。s a m l 规范体系主要由三个部分构成:安全声明( a s s e r t i o n ) 、请求 响应协议( p r o t o c 0 1 ) 、和绑定( b i n d i n g ) ,如下图所示“”: s a m l 规范 l l声明( a s s e r t i o n s ) ( 描述认证、属性和授权信息) j f l协议( p r o t o c 0 1 ) ( 用于对声明进行处理t h 请求和响应对应) 1 f l 绑定( b i n d i n g ) ( 如何在标准传输协议和消息架构上实现声明的传递) 图2 3 1s a m l 规范体系 9 硕士论文 基于s a m l 的集成身份认证机制 2 3 1 安全声明 声明( a s s e r t i o n ) 是s a m l 的基本数据对象。它是对主体的身份、属性、 权限信息的x m l 描述。它是由专门的s a m l 机构( s a m la u t h o r i t y :n a m e l y a u t h o r i t i e s ,a u t h e n t i c a t i o na u t h o r i t i e s ,p o l i c yd e c i s i o na u t h o r i t i e s ) 生成和发布的。图 2 3 1 、1 描述的是s a m l 机构生成和发布声明的过程j 。 图2 3 1 1a s s e r t i o n 生成与发布 s a m l 规范中定义了声明的三种类型,分别是认证声明( a u t h e n t i c a t i o n a s s e r t i o n ) ,属性声明( a t t r i b u t e a s s e r t i o n ) ,授权决议声明( a u t h o r i z a t i o n d e c i s i o n a s s e r t i o n ) t i l l 。 、认证声明:声明了在某一时间,认证系统通过某种认证方式完成了对主体 的认证这一事实,它被其他信任域参考,用于对主体进行识别。在认证声明中 详细说明了声明的标识,声明的发行者( 机构) ,声明发行的时间,声明的有 效期,以及与具体认证类型相关的属性。 属性声明:描述了与主体相关的属性信息。代表主体拥有的权幂1 ( p r i v i l e g e ) 。 属性信息与具体的行业或应用领域相关。如:分步移动用户使用管理技术平台 研究与建设项目( 本文的来源项目) 中用于表示用户权限的角色。主体在信 任域中所具有的属性在整个信任域中可以得到解释,这是整个信任域成员事先 达成共识的结果。在多个信息系统与中科院图书关共同组成的信任域中,拥有 不同角色的用户在该信任域中可以访问不同的信息资源,并对其进行不同的操 硕士论文基于s a m l 的集成身份认证机制 作。如:拥有院士角色的用户可以访问所有的信息资源,而对于拥有学生角色 的用户只能访问某些信息资源。 授权决议声明:描述授权服务对某一已认证的主体访问关键资源的权限进 行检查的结果。根据授权请求的种类,可以分为下列两种方式:二值授权决议 信息或用户许可权的描述。许可权的描述采用 三元组的方 式进行。 所有声明都由下列四类要素组成。 基本信息( b a s i ci n f o r m a t i o n ) :与声明构造相关的信息,s a m l 规范的版 本号,声明的唯一标识,声明发行者的唯一标识,声明的发行时间及声明的有 效期。 主张( c l a i m s ) :一个或多个由声明发行者生成的陈述( s t a t e m e n t ) 。陈述 有如下几种:主题陈述( s u b j e c ts t a t e m e n t ) ,认证陈述( a u t h e n t i c a t i o n s t a t e m e n t ) , 属性陈述( a t t r i b u t es t a t e m e n t ) ,授权决议陈述( a u t h o r i z a t i o n d e c i s i o n s t a t e m e n t ) 。一个声明标记中可以包含多个陈述。 条件( c o n d i t i o n s ) :声明的状态可能受某些条件的限制。如声明的有效性 可能依赖于来自某种确认服务的信息。下列是遵循的原则:( 1 ) 条件中没有提 供子要素和属性,那么该声明有效。( 2 ) 条件中提供的子要素和属性全都有效 ( 或任一个都有效) ,则声明有效。( 3 ) 条件中提供的子要素和属性中的任一个 无法判断其有效性,则声明的有效性不可确定。对于声明的使用者而言,如果 他不支持声明的条件,就应该拒绝相信该声明。 建议( a d v i c e ) :声明中可以包含一些额外的,由发行者提供的用于认证或 授权的辅助信息。建议可为另一声明的标识,或是一个完整的声明。 有关s a m l 声明的大纲请参见附录a 【i ”。 2 3 2 请求,响应协议 请求响应协议规定了共享s a m l 数据所需交换的信息种类和格式,消息的 传输是通过与具体传输协议的绑定来实现的川。 s a m l 给出了两种消息格式:r e q u e s t 和r e s p o n s e ,用于请求和响应。请求 包含四类查询:主题查询( s u b j e c tq u e r y ) ,认证查询( a u t h e n t i c a t i o nq u e r y ) , 属性查询( a t t r i b u t eq u e r y ) ,授权决议查询( a u t h o r i z a t i o nd e c i s i o nq u e r y ) ,用 于对不同声明的查询。对所有查询,s a m l 采用统一格式的响应消息来封装对 请求的响应结果。 有关s a m l 请求响应的大纲参见附录b i l l l 。 硕士论文 基于s a m l 的集成身份认证机制 2 3 。3 绑定 绑定:将s a m l 请求响应消息处理映射为标准的消息处理或传输协议【1 2 1 。 现今s a m l 规范中给出的主要是与超文本传输协议( h t t p ) 和简单对象访问 协议( s o a p ) 的绑定机制。根据项目的实际情况,作者选用的是与简单对象访 问协议的绑定机制。 2 4 基于s a m l 的应用 通过对s a m l 的分析,可得知s a m l 作为一种基于x m l 的安全信息共享 机制,s a m l 具有如下特点: 1 协同性通过s a m l ,企业可以在不改变其原有安全解决方案的基础 上,通过实现基于x m l 的接口。就可以安全地交换关于用户、交易等安全信 息。 2 开放性s a m l 是一种与平台、消息机制和传输协议无关的解决方案。 3 多站点的一次登录通过s a m l ,用户只需在资源站点进行过一次登 录,在登录信任域内其他资源站点过程中,用户的认证和相关的权限及其他信 息可以在资源站点间进行分发,从而实现用户的一次登录。 根据上述特点,s a m l 的应用可以归纳为三种典型的应用模式:单点登录、 授权服务和b 2 b 交易事物处理三种 1 3 , 1 4 , 1 5 1 。 1 单点登录:本文论述的重点。 2 授权服务:这是从授权模型的角度看待s a m l 的应用。当用户访问信任 域内的资源站点时,资源站点需对用户的请求进行检查,从而需要向为用户进 行认证和授权的系统请求有关用户的详细授权信息。资源站点取得详细授权信 息后,根据这些信息对用户的请求做出协议。 3 b 2 b 交易事物处理:用于企业间基于文档流( x m l 文档) 的电子商务交 易,要求交易双方首先向其所属的信任域( 或同一个第三方安全服务提供者) 进行认证,认证成功后,双方从安全系统获取证明用户身份的s a m i ,声明,交 易过程中,双方需要根据一定的商务协议,交换各种文档和数据,s a m l 声明 可以和这些文档或数据绑定在一起,用于保证交易的安全性和交易参与者的合 法性。 硕士论文 基于s a m l 的集成身份认证机制 2 5 其他相关技术 2 5 1 简单对象访问协议( s o a p ) s o a p l 1 规范是作为几家公司之间的一项合作成果于2 0 0 0 年3 月提交给 w o r l d w i d ew e bc o n s o r t i u m ( w 3 c ) 的,s o a p 借用了x m l 远程过程调用 ( x m l r p c ) 的许多概念。它具有比h t t p 更好的元数据交换、更好的包结构 定义以及一个更开放的可供其他传输协议利用的体系结构。s o a p 的主要特色: 一组开放的标准和这些标准之间使用的简单规则。 s o a p 的信息包由下列三个元素组成:s o a p 包封( s o a p e n v e l o p e ) 、s o a p 报头( s o a ph e a d e r ) 、s o a p 主体( s o a pb o d y ,可以含有s o a p 故障) 【i ”。 包封指定诸如编码方法之类的全局设置:报头是任选的,如果它出现,则含有 定义s o a p 设置的报头项,比如一条消息的最终目的地以及与应用系统具体相 关的设置;主体是必不可少的,并且必须紧跟报头。主体含有一条消息、一个 r p c 调用或一个故障1 1 6 1 。 2 5 2 x m l 签名 x m l 数字签名以x m l 方式对数字签名作了全面的描述。w 3 c 于2 0 0 1 年 8 月2 0 号推出了x m l 数字签名的w 3 c 的推荐标准。标准对数字签名作出了详 细的规定,并对一些具体的应用要求保留了扩展空间。 x m l 数字签名即如何采用x m l 的语法规则对数字签名作出描述,同时对 签名的生成和验证过程作出准确的描述。它可以被应用到任何数字对象上。下 列为x m l 数字签名的数据模型框架 h a s : ( 1 ) ( 7 ) ( 2 ) ( 8 ) ( 3 ) ( 9 ) ( 4 ) 0 0 ) k e y l n f o ) ( 5 ) 0 d ( 6 ) ( 1 z ) ( 1 ) 为x m l 数字签名的根元素。该元素可包括i d 属性值和x m l 命名空 间属性等。 “ ( 2 ) ( 1 0 ) 记录数字签名的实际值( 采用b a s e 6 4 进行编码) 。 ( 3 ) 元素包含了签名数据的相关信息。是x m l 数字签名的核心 硕士论文 基于s a m l 的集成身份认证机制 元素,它对签名的对象,签名算法,摘要生成算法等作出描述。 ( 4 ) 元素,规范化方法描述。它用常规结构对x m l 数字签名的相关信息进行规范化。x m l 数字签名的算法不考虑被签名对象的外 在表现。 ( 5 ) 元素,描述采用何种算法将 元素转换为 数字签名值。为了提高安全性,一般对该元素也进行签名j n 密。 ( 6 ) 描述被签名对象的信息。该元素至少有一个。 ( 7 ) 元素,由若干有序的 子元素构成。描述了签名 者如何获得数据对象来做摘要。 ( 8 ) 元素,描述数字签名过程中使用的摘要方法。 ( 9 ) 元素,记录摘要的编码值( 采用b a s e 6 4 编码) 。 ( 1 0 ) 元素,描述密钥信息,做签名验证使用。此元素为可选元素。 ( 1 d 元素,此为以可选元素,可出现多个。该元素包含任意的数据 对象,包含i d ,m i m e t y p e 和e n c o d i n g 属性。 2 5 3x 5 0 9 证书 x 5 0 9 为一国际标准,现今数字证书的格式一般都采用这个标准,该标准 已经成为当今很多网络安全应用,如p k i 、s e t 、s s l 、p g p 等的基础。x 5 0 9 证书的格式如下表 1 7 , 1 9 : v e r s i o n ( 版本) s e r i a ln u m b e r ( 序列号) a l g o r i t h mi d e n t i f i e r ( 算法标识) i s s u e r ( 颁发者) p e r i o do f v a l i d i t y ( 有效期) s u b j e c t ( 主体) p u b l i ck e yi n f o r m a t i o n ( 公用密钥信息) s i g n a t u r e ( c a 签名) 表2 5 3 1x 5 0 9 证书 版本号:标示证书的版本。现有合法的值为1 、2 和3 ( 分别表示x 5 0 9 的第1 、 2 、3 个版本) ,一般总是设置为3 。 序列号:由证书颁发机关分配给证书的数字表示符。同一c a 签发的证书的序 1 4 硕士论文基于s a m l 的集成身份认证机制 列号必须示唯一的。 算法标识:用于签署证书的算法标识符。 颁发者:证书签发者的可识别名( d n ) ,同时包含发行证书的c a 的区别名称。 有效期:证书有效的时间段。这个字段由“n

温馨提示

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

评论

0/150

提交评论