




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学硕士学位论文 摘要 由于缺乏高效的信任关系建立机制,使得w e bs e r v i c e s 技术的应用受到阻碍;当客 户需要与一个业务过程中多个服务之间建立信任关系时,没有一种动态的且能有效保护 用户隐私的方法。本文提出一种利用协调框架实现客户与过程服务之间建立信任关系的 方法,客户与服务之间通过协调器产生间接的双向联系,服务通过读取自己的策略文 件,自主地向客户请求建立信任关系所需的安全属性,客户根据相关策略返回结果,服 务方验证结果从而判断是否允许客户使用服务。本文在此原理上利用微软的w e b s e r v i c ee n h a n c e m e n t 框架完成了一个原型框架,利用它可以实现同时与多个服务动态建 立信任关系,能更好地保护客户的隐私。 关键词:w e b 服务、建立信任关系、动态、t r u s tp r i m i t i v e a b s t r a c t t h el a c ko f e f f e c t i v em e c h a n i s m sf o rb u i l d i n gt r u s tr e l a t i o n s h i pi m p e d e st h eu s a g eo f w e b s e r v i c e st e c h n o l o g y ad y n a m i ct r u s tm e c h a n i s mt h a tc a nb eu s e di ns e r v i c ec o m p o s i t i o n e n v i r o n m e n ti sn o te x i s t e dn o w b a s e do nt h ec 0 0 r d i n a t i o nf r a m e w o r k , ad y n a m i ct r u s t m e c h a n i s mi sp r o p o s e di nt h i sp a p e r w i t ht h eh e l pt h ec o o r d i n a t o r , ab i - d i r e c t i o n a l r e l a t i o n s h i pi sb u i l tb e t w e e nac l i e n ta n ds e r v i c e sw h i c hp a r t i c i p a t ei nt h es a m eb u s i n e s s p r o c e s s a f i e ro b t a i n i n ga l ls e c u r i t ya t t r i b u t e sf r o mt h ec l i e n ta u t o m a t i c a l l y s e r v i c e sd e t e r m i n e w h e t h e rt h ec l i e n ti sa l l t h e n t i c a t e da c c o r d i n gt ot h er e t u r n e da t t r i b u t e s d u r i n gt h i sp r o c e s s , t r u s tp r i m i t i v ei su s e dt op r e s e w ec l i e n t sp r i v a c yp r o p e r t y ap r o t o t y p ef r a m e w o r k u s i n gw e b s e r v i c ee n h a n c e m e n ti sa c c o m p l i s h e db a s e do nt h i sm e c h a n i s m t s tr e l a t i o n s h i pb e t w e e na c l i e n ta n dm u l t i p l es e r v i c e sc a nb eb u i rd y n a m i c a l l ya c c o r d i n gt ot h i sp r o t o t y p ef r a m e w o r k k e y w o r d s - - - w e bs e r v i c e s ,t r u s tb u i l d i n g ,d y n a m i c ,t r u s tp r i m i t i v e n 东南大学学位论文独刨性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究:争导臌:每鎏嗍乎 2 第一章引言 第一章引言 1 1 研究背景和研究现状 w e b s e r v i c e s 技术的出现将w 曲应用推向了一个新的阶段,那就是以服务为导向的w e b 应用。 它允许各个不同的公司在w e b 站点上部署和自己公司的业务相关的应用程序和系统,通过一些标准 的传输协议( 如h t t p ) ,和数据表现形式( 如x m l ) 进行基于i n t e m e t 分布式服务的传递和通讯,同 时要求这些发布的应用程序与企业内部所使用的技术和系统无关。这样它在技术上解决了不同操作 系统、组件模型、开发工具和程序语占和应用系统之间的集成问题,因此被广泛应用于企业信息集 成。 一个企业所提供的服务往往拥有很大的用户群,虽然有些服务提供匿名访问的功能,例如搜索 服务,天气预报服务等等,但是大多数服务需要用户在取得服务提供者的信任后才能使用。根据 i b m 与m i c r o s o f t 的定义l jj ,信任是一个实体希望依赖于第二方实体以预期的方式执行一组操作和或 对一组主题和或范围做出一组断言的特性。为了取得服务的信任,用户必须向服务提供者提供相应 的凭据( c r e d e n t i a l ) 。 松耦合是w e bs e r v i c e s 最关键的一个特性,依靠它企业才能够及时的将业务中的变革和创新体现 在对外提供的服务上( 更新现有服务的实现或创建新的服务) ,还可以更加高效的集成企业与其合作伙 伴的应用价值链。然而,实现这一目标的前提是拥有方便有效的安全保障,如果没有适当的安全保 障或者需要复杂的安全保障都将影响企业间广泛存在的服务交互。试想如果企业a 的员工访问其合 作伙伴提供的时候服务时需要不断重复的输入自己的验证信息,那么无论在服务的方便性或安全性 上都会给用户以不好的体验,从而影响服务的集成,限制w e bs e r v i c e 在企业集成中所能发挥的作 用。 假设存在如下一个场景: j o h n d o e 是一家叫做p h a r m a 4 5 6 ,c n l 医药公司的职员,j o h n 在自己的公司拥有一个账户,用于访 问本公司的服务。p h a r m a 4 5 6 c o r n 公司有一。些合作伙伴,作为公司的职员,可以在其合作伙伴的公 司所提供的服务中享有某些优惠。在本例中,p h a r m a 4 5 6 g o m 公司分别有一家财务公司 ( r e t i r e a c c o u n t s c a 3 m ) 和一家投资公司( i n v e s t a c c o u n t s t o m ) 作为它的合作伙伴,它们分别可以为 p h a r m a 4 5 6 o o m 公司的职员提供储蓄服务和投资服务,并给予一定的优惠。此时,如果j o i l i l 想以合 作伙伴公司职员的身份使用r e t i r e a e e o u n t s g o m 的储蓄服务,就必须向r e f i r e a c c o u n t s 公司提供 自己的s s n ( s o c i a ls e c u r i t yn u m b e r ) ,p h a r m a 4 5 6 公司给自己的特定标识等等信息。如果没有 一种身份联邦的机制,那么即使j o h n 已经在自己的公司验证过身份而且是在自己公司的网站上调用 的r e t i r e a c c o u n t s o o m 的储蓄服务,但是为了使用r e t i r e a c c o u n t s c o r n 的储蓄服务,他不得不再次到 r e t i n o a e e o u n t s c o m 公司验证自己的身份。而r e t i r e a e e o u n t s t o m 公司并没有j o h n 的身份信息,无法 实现对他的身份鉴别。 上述问题由来已久,以往主要有两种方法解决这个问题。第一种方法就是r e t i r e a c o t m t s t o m 公 司将收到的j o h n 的身份信息返回给p h a r m a 4 5 6 c o i n 公司,让p h a r m a 4 5 6 公司验证j o h n 的身份, 并将验证结果返回。还有一种方法就是让r e t i r e a e e o u n t s e o m 公司复制p h a r m a 4 5 6 c o r n 公司的所有身 份信息,这样r e t i r e a e e o u n t s g o m 公司也就可以独立完成对p h a n n a 4 5 6 c o m 公司的职员的身份鉴别 了。 显然这两种方法都存在各自的缺陷。前者需要各个公司之间的身份鉴别服务能互相访问,而将 身份鉴别服务暴露在外将带来很多安全方面的口j 题( 例如泄漏机密) ,即便不考虑安全方面的问 题,为了实现身份鉴别,服务之问的消息传递就又多了一次往返,既容易出问题( 网络是很不可靠 的) 而且效率低下。后者虽然避免了将身份鉴别服务暴露在外,但是实际上很难及时的实现用户信 息的同步,如果j o h n 离开了p h a r m a 4 5 6 t o m 公司,如何保证r e t i r e a c c o u m s o d i n 公司中的用户信息 得到及时的更新是件困难的事情。另一方面,由于用户信息涉及一些敏感数据,出于个人隐私和公 司利益的考虑,把一个公司的所有用户信息全部复制给另一个公司也是不太现实的。 基于以上两种方案存在的问题,得到以下结论: 让用户在本地完成身份鉴别,不要将用户鉴别服务对外公开。 不希望将一个企业的用户信息复制到其他企业。 不希望用户重复输入自己的安全凭证。 要想达到这三个要求,那么必须使得用户信息能够在企业问移动。 具体过程如下: 用户首先在他所在的安全领域( 主域) 进行身份鉴别,鉴别通过后他可以获得一个经过鉴别服 务签名的有关他自己身份信息的断言,其中可能包含了服务所需的某些属性,比如用户的年龄等 等。当用户向其他合作伙伴公司的服务发出请求的时候,将该从主域中获得的断言同时发送过去。 这样服务就可以根据断言独立的判断出用户是否是他所在主域的合法用户,并从断言中获得该用户 的相关属性甚至权限信息。 在日常生活中,这种先建立信任关系再使用服务的例子屡见不鲜,旅馆在客户定房间时需要客 户提供身份证,当汽车租赁公司向客广出租车辆的时候需要客户提供驾驶执照。 在这些例子中,大致遵循以下过稃: a ) 客户发出服务请求( 定房问,租车) 。 m服务提供者根据服务的信任策略要求客户提供相关的私有属性( 身份证,驾驶执 照) 。 c )用户向服务提供它所要求的属性,如果验证通过则可以使用该服务,如果没有提供 或提供的属性验证失败则无法使用该服务。 当用户请求w e bs e r v i c e s 时发生的过程与之类似,最主要的区别是将其中纸质的证明文件换成了 数字化的安全口令( s e c u r i t y t o k e n ) 。安全口令是随着s o a p 消息一起发送的与安全相关的信息集 厶【“。只有当用户能够提供合法的安全u 令时,w e b s e r v i c e s 的提供者才会向他提供服务。因此用户 必须事先获得安全口令才能合法的使用服务,丽通常情况下用户和服务并不处在同一个安全领域, 在这种情况下用户需要向服务提供者注册自己的信息,才能获得相应的安全口令( 如用户名密码) 用于在请求服务的时候与服务建立信任关系。这种将用户信息重复的分布在各个需要使用的服务处 的身份管理方案被称之为隔离的身份管理( i s o l a t e di d e n t i t ym a n a g e m e n t ) 问。采用该方案不论是对 用户或是服务的提供者( 企业) 都存在很多的弊端 9 1 1 7 1 : 从用户的角度来看,存在以下弊端: a 】 用户需要分别在多个企业注册自己的信息,不仅过程麻烦而且需要记住很多的密 码。 b 1 用户很难动态的选择个服务,因为你需要到那个特定的服务提供者那里注册自己 的信息以取得信任。面骚务选择的动态性恰恰是使用w e b s e r v i c e s 技术的一个重要 原因。 从服务提供者的角度来看,存在以下弊端: a )企业需要维护大鼍的用户信息,甚至包含合作伙伴所持有的用户信息,在企业间存 在大量的重复信息。 ”企业很难实现用户信息的及时更新,尤其是合作伙伴的用户信息。 面对以上诸多的弊端,迫切需要一种更加高效的方案以建立用户与诸多服务提供者的信任关 系。针对此问题,业界在w e bs e r v i c e s 的应用领域中提出了身份联邦的概念 4 1 。 身份联邦是一项让用户身份信息能够在以安全可信的方式在各个组织间传递的技术。就像在日 常生活中使用的护照( p a s s p o r t ) ,你在本国( 主域) 取得的护照( 身份认证) 可以在其他国家( 跨 越安全领域) 中证明你的身份。在身份联邦技术中,用户首先在他所在的安全领域( 主域) 进行身 份认证,认证通过后他可以获得个由鉴别服务( a u t h e t i c a t i o ns e r v i c e ) 签名的有关他自己身份信 息的安全断言令牌s a m l ( s e c u r i t y a s s e r t i o n m a r k l a n g u a g e ) t o k e n ,它是一种基于x m l 描述 的用户验证信息,它表明了用户相应的标识、权限以及属性。 当用户向其他合作伙伴公司的服务发出请求的时候,将从主域中获得的s a m l 令牌同时发送过 去。此时服务提供者可以根据s a m l 令牌判断用户是否是他所在主域的合法用户,并扶s a m l 令 2 牌中获得该用户相关的安全属性以及权限信息,从而进一步确认该用户是否可以使用他所提供的 w e bs e r v i 。具体过程如图1 所示。 图1 身份联邦的实现过程 图l 描述了旅行社( 用户) 向旅馆( 服务提供者) 申请旅馆床位预定的过程: 用户通过w s - t r u s t 协议向本域的s t s ( s 埘l yt o k e ns e r v i c e ) 申请可移动的安全令 牌( 这里是s a m l 令牌) 。 s t s 验证本域用户的身份并根据用户相关信息授予可供证明用户身份的s a m l 令牌。 用户在发往服务的请求消息中夹带从本域s t s 中获得的s a m l 令牌。 服务方无需借助其他服务即可完成对s a m l 令牌的验证,从而实现对用户身份的鉴 别。 在以上基于令牌实现在不同信任领域建立信任关系的方法中,忽略服务提供方对用户安全属性 的要求,比如服务方可能需要用户提供他的身份证号码等等,此时,客户端必须依靠人工读取服务 提供者对安全属性的要求( 一般体现在服务的策略文件中) ,并显式地向s t s 要求在其发布的 s a m l 令牌中包含这些安全属性,此时建立信任关系的过程则显得不够动态,而且该方案只是针对 使用单一服务的业务过程,而非针对s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 中体现服务组合的业务过 程,但是通过s t s ( s e c u r i t yt o k e ns e r v i c e ) 获取s a m l 令牌,并利用s a m l 令牌 4 1 作为可移动的身 份信息载体等等方法都为进一步的改进提供了良好的技术基础。 在安全令牌( 此处即s a m l 令牌) 中包含了用户的安全属性,此时就可能引起隐私泄漏的问 题。一个预先打包的安全令牌中可能会包含了过多的用户属性,而其中的某些属性不一定被服务所 需要,此时那些不需要的属性也被泄漏给了服务提供者。 在以往的研究中例【7 j l ”,虽然也针对隐私泄漏的问题,提出了各自的解决方案,其中文献阴提出 了如何利用信息安全的手段保障隐私的安全,文献 8 】以一个例子详细介绍了在身份联盟中的所存在 的隐私管理问题,并专门针对如何有选择性的向服务提供用户的隐私信息提出了一套系统的解决方 案。文献【2 】通过引入t r u s tp r i m i t i v e 的概念,并在实现时利用n e g o t i a t i o ne n g i n e 来解决隐私泄漏问 题但是它们都仅仅考虑了用户请求某个单一服务时的场景,没有考虑在用户活动中涉及多个服务 的场景。而服务组合的场景在w e bs e r v i c e s 中、尤其是s o a 中尤为常见。在用户使用一个由多个服 务组合而成的业务过程时,如果用户仍旧使用一个预先打包的安全令牌,那么由于每个服务所需的 3 用户安全属性不同,势必会引起隐私泄漏的问题。而如果由用户去读取每个服务的安全策略文件以 生成保留堆少属性的安全令牌,则需要由用户承担过多的责任,并且当服务更换时,需要用户重新 配置信任关系,这种重新配置的过程开销太大,整个业务过程会受到影响。在文献【2 4 】中提到在微软 最新的分布式框架w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n 中可以将服务策略随w s d l ( w e bs e r v i c e d e s c r i p t i o n l a n g u a g ) 一同发布,从而让客户端能够自动获取每个服务的安全策略文件,但是这一技 术尚处在测试阶段,并没有被广泛采用。 1 2 本文的主要内容和章节安排 本文针对以上对隐私保护不当以及建立信任关系过程缺乏动态性的缺点,提出一种新的、采用 协调框架实现动态建立用户与服务之闻信任关系的方案。该方案将在现有针对用户与单一服务之间 建立信任关系的基础上,利用w s - c o o r d i n a t i o n 规范中所提出的协调框架实现用户与多个服务间在运 行时的动态交互,其中将利用w s - s e c u r i t y 协议保证这些交互信息的安全。而在具体实现这个动态建 立信任关系的框架原型时,又将会用到微软的w s e ( w e bs e r v i c e se n h a n c e m e n t s ) 3 0 策略框架以保 证该框架具有良好的实用价值。按照以上所述的总体架构,在文章的第2 章和第3 章中将介绍本方 案所涉及的理论背景,其中第2 章介绍与w e bs e r v i c e s 安全相关的一些标准,第3 章介绍与w e b s e r v i c e s 协调框架有关的标准。在第4 章中将介绍在实现原型时所采用的具体技术w s ef w 曲 s e r v i c e se n h a n c e m e n t s ) 3 0 策略框架。第5 章将详细说明解决方案的实现原理,第6 章则会给出原型 系统的具体实现。最后,第7 章将对本方案做出总结。 4 第:章w e bs e r v i c e s 安全基础 第二章w e bs e r v i c e s 安全基础 s o a 目前普遍采用w e bs e r v i c e s 作为其实现技术,因为w e b s e r v i c e 具有松耦合的特性,而这点 对于s o a 试图解决的问题显得尤为重要。服务的可发现性,平台无关性,接口的自描述性等特点赋 予了w e bs e r v i c e 这一特性。正是因为这一特性,w e bs e r v i c e 被广泛的用于企业信息集成,其中既 包括了企业内部的信息集成( 不同部门自j 的信息集成,遗留系统与新系统的信息集成) ,也包括了 企业与企业之间的信息集成。w e bs e r v i c e 的松耦合的特性使得通过服务与服的组合而构成新的应用 变得更加简单,也更加可行。 上述的w e bs e r v i c e 的诸多优点使得安全问题变得比以往任何时候都更具挑战性、更加为公众所 关注。由于w e b s e r v i c e 被广泛的运用于企业问的交互,使得安全边界由l m r a n c t 扩大到了i n t e m e t , 安全的风险也自然大大增加:s o aq l 服务组合的思想,使得w e b s e r v i c e 应用更具动态性,服务的 创建者往往无法预料到服务将在何种环境下( 比如使用何种安全认证方式) 被使用,在这种情况下 要想实现服务的安全访问变的更加复杂:同时由于w e bs e r v i c e 使用的是基于x m l 的、具有自描述 能力的消息( 在面向消息的方式i f l ,消息甚全就是业务实体) 进行通讯,那么如何保证消息的安全 性也成为了w e bs e r v i c e 安全中需要重视的口j 题。 在我们考虑安全问题的时候,有= 三个概念是最为基础的:完整性( i n t e g r i t y ) 、机密性 ( c o n f i d e n t i a l i t y ) 与身份鉴别( a u t h e n t i c a t i o n ) 。 完整性:确保消息在传输的过程中没有被修改。即保证消息的接收者接收到的消息与消息发送 者最初发送的消息完全一。致。通常会对消息做摘要,再使用密钥加密摘要( 此时即获得数字签 名) ,从而保证消息的完整性。 机密性:除了指定的接受者,其他人无法查看消息的内容。通常会使用密钥对消息加密,从而 保证消息的机密性。 身份鉴别:确保消息发送者的身份与消息中所声称的用户身份一致。最简单的做法就是让用户 同时发送用户名和密码,服务方确认密码的有效性从而判断该用户身份是否与用户名所代表的一 致。然而在实际的应用叶t 的做法通常不会如此简单,此时往往会使用密钥对一段信息加密,服务方 通过解密此信息确认用户的身份。例如在k e r b e r o s 协议中,会使用对称密钥加密写在票据 ( k e r b e r o s t i c k e t ) 中的用户身份信息,加密后的信息称为a u t h e n t i c a t o r ,服务方通过解密此消息获 得发送者的身份声明,再将其与票据中的身份声明相比较,从而确认消息发送者身份。同理,经过 私钥加密的消息摘要也可以用于消息发送方的身份鉴别。 在当前大多数的应用中,w e bs e r v i c e s 技术通常采用h t t p s s l ( s o c u m s o c k c t l a y e r ) 传输协议 保障安全,但是该方法存在很多缺点,l 三无法满足现在越来越复杂的w e bs e r v i c e s 安全需求1 7 2 1 2 3 1 : a ) h t t p s s l 提供的是点对点安全保护,而w e b s e r v i c e s 应用的一个特点就是消息往往 需要经过多个中介才能到达最终的服务提供方,每个中介都有可能对消息做一些处 理,也就是说它需要的是端到端的保护。这显然是h t t p s s l 所不能提供的。 坼h t t p s s l 是在佟输层提供安全保障的,而不是在消息层面,也就是说消息只有在传 输过程巾才是安全的( 加密的) ,而一旦到达了终点后就不再安全了。例如恶意攻击 者可以从消息队列中将重要的信息窃取出来。 c ) h t t p s s l 分配好共享密钥后,传递消息的时候并没有使用数字签名技术,此时传递 的消息也就无法获得抗否认性的能力。而这一项功能恰恰是在电子商务中不可豁缺 的。 d 1 由于h t t p s s l 提供的是传输层的安全当然也就不可能达到消息安全所需要的灵活 性的要求。例如加密消息中的部分元素;使用不同的密钥加密消息的不同部分,从 而让不同的消息接收者查看与之对鹿的信息。 因此,为了适应当前w e b s e r v i c e s 环境下对安全的特殊需求,i b m 和m i c m s o t t 等公司共同制定 了w s - s e c u r i t y 规范。为了解决之前所提到的三个方面的安全问题:机密性、完整性、身份鉴别,在 w e b s e r v i c e s 使用s o a p ( x m l 格式) 作为消息封装协议的背景下,标准化组织分别制定了x m l 数 东南大学硕士学位论文 字签名( x m ld i g i t a ls i g n a t u r e ) 、x m l 加密( x m le n c r y p t i o n ) 与x m l 格式的安全令牌( s a m l t o k e n ) 三套规范,w s s e c u r i t y 则足规定了如何将以上规范组合起来以满足w e bs e r v i c e s 安全需求的 一套规范。 2 1x m l s i g n a t u r e 规范 利用x m l s i g n a t t m 规范可以保障x m l 消息的完整性。x m l s i g n a t u r e 规范是将数字签名和 x 技术组合而成的产物,它具体包括以下的功能【2 i 】: x m ls i g n a t u r e 可以对任何能够以u r i ( u n i f o r m r e s o u r c e l d e n t i f i e r ) 形式定位的资源做签名。 既包括与签名同在一个x m l 文件中的元素,也包括其他x m l 文件中的元素,甚至可以是非x m l 形式的资源( 比如一个图形文件) ,只要能被u r i 定位到的资源都可以应用x m ls i g n a t u r e 。这也代表 了x m l 签名的对象可以是动态的变化。 x m ls i g n a t u r e 可以对x m l 文件q t 的任一元素傲签名。也可以对整个文件檄签名。 x m ls i g n a t u r e 既可以用非对称密钥做签名( d i g i t a ls i g n a t u r e ) ,也可以用对称密钥做签名 h m a c ( h a s hm e s s a g ea u t h e n t i c a t i o nc o d e ) 。 x m ls i g n a t u r e 的结构如下l z l j : 定义被签名的对象 定义对x m l 元素实行标准化的方法 定义签名所采用的方法 ( 定义对被签名对象的引用,通过u r i 定位 ( t r a n s f o r m s ) ?可选项,定义签名前可能对被签名对象所要做的转换 ( d i g e s t m e t h od ) 定义对签名对象做摘要的方法 ( d i g e s t v a l u e ) 保存对签名对象做摘要后的结果 ) + 6 存对s i g n e d l n f o 元素标准化( 使用 c a n o n i c a l i z a t i o n m e t h o d 中指定的方法) 后签名( 使用s i g n a t u r e m e t h o d 中指定的方法) 的 结果 ( k e y i n f o ) ? 可选项,定义消息接受方查找验证签名时所需的密钥 ( o b j e c t ) + 可选项,用于定义可扩展信息。 其中,“f 代表x 出现o 1 次;( x 卜代表x 出现l - n 次;( x ) + 代表x 出现o - n 次; x m l s i g n a t u r e 的处理过程包括了s i g n a t u r e 的创建以及验证过程。 s i g n a t u r e 的创建分为两个步骤: ( 1 ) ; 用( r e f e r e n c e ) 的创建 利用u r i 定位到引用的资源,并获得其数据: 利用t r a n s f o r m s 元素中指定的方法对引用的资源做转换: 利用d i g 部t m e t h o d 元素中指定的方法对转换后的资源做摘要,获得的结果用于创建 d i g e s t v a l u e 元素; 将以上元素组合成r e f e r e n c e 元素。 ( 2 ) 签名( s i 鲫缸u 他) 的创建 创建s i g n e d l n f o 元素,并指定c a n o n i c a l i z a t i o n m e t h o d 和s i g n a t u r e m e t h o d 的方法, 然后将之前创建的r e f e r e n c e 元素包含进来; 根据指定的c a n o n i c a l i z a t i o n m e t h o d 将刚创建的s i g n e d l n f o 元素标准化; 根据指定的s i g n a t u r e m e t h o d 对标准化后的s i g n e d l n f o 元素做签名,所得到的结果用于 创建s i g n a t u r e v a l u e 元素; 6 第二章w e bs e r v i c e s 安全基础 将s i 驴司i n f o ,s i g n a t u r c v a l u e 以及可选的k e y l n f o 和o b j e c t 元素组合成s i g n a t u r e 元 素。 经过以上步骤,s i g n a t u r e 创建完毕。最后介绍消息的接受方如何对s i g n a t u r e 进行验证,从而确 认消息的完整性。 消息的接受方对s i g n a t u r e 的验证过程和创建过程一样也分为两个步骤,只有当r e f e r e n c e 和 s i g n a t u r e 都通过验证才能保证消息的完整性。首先在验证前利用c a n o n i c a l i z a t i o n m c t h o d 元素中指定 的方法将整个s i g n a t u r e 元素标准化,然后开始验证各个部分: ( 1 ) 引用( r e f e r e n c e ) 的验证 利用u r i 定位到引用的资源,并获得其数据; 利用t r a n s f o r m s 元素中指定的方法对引用的资源做转换; 利用d i g e s t m e t h o d 元素中指定的方法对转换后的资源做摘要; 将上一步的结果与d i g e s t v a l u e 中的内容做比较,如果完全一致,则通过验证。 ( 2 ) 签名( s i g n a t u r e ) 的验证 获得用于验证的密钥。( 可能事先已经约定好,也可能通过k e y l n f o 中的信息取得) 对经过标准化的s i g n e d l n f o 元素做摘要。 利用在第一步中获得的密钥解密s i g n a t u r e v a l u e 元素中的内容,将其与上一步创建的 摘要做比较,如果完全一致,则通过验证。如果使用了数字签名( 非对称密钥) ,那么 消息还将具有抗否认性。 当以上的两个验证都通过时,可以得到以下的结论: a )消息在传送以及保存的过程中都没有被别人算改。 ”消息的发送方与签名方一致( 身份鉴别) 。因为密钥只有消息的发送方和消息的接受 方知道。 c )如果使用了数字签名( 非对称密钥加密摘要) ,那么还可以防止消息的发送方否认它 曾经发送过此消息。 2 2x m le n c r y p t i o n 规范 虽然签名可以保证消息在传送的途中没有被篡改但是并不能避免消息被偷取。如果消息没有 经过加密,那么某些敏感的信息就会被泄漏。x m le n c r y p t i o n 可以使得整个文件信息加密,保证信 息不会泄漏。具体它提供了以下的功能j : 加密整个x m l 文件。 加密x m l 文件中的某个元素。 加密x m l 文件中某个元素的内容。 加密非x m l 格式的资源。( 例如一张j p e g 图片) 。 加密已经过加密的内容。 x m le n c r y p t i o n 的结构如下所示b 。】: e n c r y p t e d d a t a 是原资源经过x m le n c r y p t i o n 作用后的结果,将替代原资源。 ( ) ?定义加密将使用的算法。 ( 加密所使用的密钥 ) ? ( ) ? ( ) ? ( ) ? ( ) ? ) ? 保存原资源加密后的结果 ( ) ? 保存原资源加密后的结果 7 东南大学硕士学位论文 ( ) ?保存加密后对象的引用,通过u r i 定位 ( ) ?为加密后的数据添加一些额外的信息 ( x ) ? 代表x 出现0 一1 次;( x 卜代表x 出现l n 次;( x ) + 代表x 出现0 - n 次: 与x m ls i g i l a t u 相比而言,x m l e n c r y p t i o n 的创建( 加密) 和验证( 解密) 过程要简单的多。简要 介绍如下: ( 1 ) 加密过程 选择一个加密算法; 选择一个加密用的密钥,如果需要将密钥的有关信息展示给消息接受方; 在加密前,将待加密的资源转换为字符流的格式。 使用选择的密钥和算法加密经过串行化的原始消息; 设置加密的类型( c o n t e n t 还是e l e m e n t ? ) ; 根据结果和以上的选项创建出e r y p i i 甜d a t a 元素,替代原来的资源; ( 2 )解密过程 将c i p h e r v a l u e 元素的内容抽取出来: 从e n c r y p t i o n m e t h o d 的a l g o r i t h m 中获得加密所用的算法; 获得加密的类型( c o n t e n t 还是e l e m e n t ? 1 ; 通过k e y l n f o 中的信息取得密钥: 根据以上信息将密文解密获得原始信息。 2 3 s a m l 规范 在验证了某个用户后,可以将验证信息和其他一些与用户相关的信息以s a m l 的格式保存期 来,在需要时发送给需要验证该用户身份的其他企业。这样用户就无需再向各个服务重复的提供自 己在主域中的安全凭证,从而实现s s o ( s i n g l es i g n o n ) 的功能。 下面是一段用s a m l 描述用户验证信息的示例: i i 验证发生的时间 j o h nd o e 定义被验证的主体和消息( 这里的消息指的是含 8 第二章w e bs e r v i c e s 安全基础 有s a m la s s e r t i o n 的消息) 的发送者的关系 u r n :o a s i s :n a m e s :t c :s a m l :1 0 :c m :h o l d e r - o f k e y 断言的发布者对断言的签名 这段代码表述了以下事实: 一个名为m y t o u r o p e r a t o r 的主体被验证为某个的密钥的拥有者,验证过程采用了基于密码的方 法,验证发生的时间是2 0 0 6 - 0 4 - 2 9 t 0 2 :0 0 :0 0 1 7 3 z 。该断言的有效期为2 0 0 6 - 0 4 - 2 9 t 0 2 :0 0 :0 0 1 7 3 z 至 2 0 0 6 _ 0 4 3 0 t d 2 :0 0 :0 0 1 7 3 z 。 其中s u b j e c t c o n f l , m a t i o n 元素用于描述被验证的主体和消息( 这里的消息指的是含有s a m l a s s e r t i o n 的消息) 的发送者的关系。这个元素在a s s e r t i o n 中很重要,只有通过它我们才能判断出消息 ( a s s e r t i o n ) 的发送者和s u b j e c t 的关系,从而安全的使用a s s e r t i o n 中所包含的安全信息。 在本例中通过c o n f i r m a t i o n m e t h o d 属性设定了使用h o l d e r - o f - k e y 作为主体确认方法,并在 d s :k e y l n f o 中给出了有关k e y 的信息。通过拥有某个密钥来证明自己的身份在安全领域是一种常用 的方法,例如在本例通过d s :k e y l n f o 给出主体的公钥信息,此时如果消息( a s s e r t i o n ) 的发送方能使用 主体的私钥签名一段消息。那么我们就可以证明消息的发送方确实和断言中的主体身份一致。否则 就算某用户盗窃了某个主体的断言将它随消息发送给服务方,但是由于它没有该主体的私钥,不能 使用私钥对消息做签名,那么服务方在通过d s :k e y l n f o 中的公钥验证消息签名的时候,仍然能判断 出该用户在冒充主体。同样通过对称密钥也可以实现以上功能,只不过为了不在消息中泄漏该对称 密钥会用到e n c r y t e d k e y 来描述k e y l n f o 。 除了上面介绍的h o l d e x - o f - k e y 主体确认方法,还有一种s e n d e r - v o u c h e s 的方法。既然服务信任 用户主域所在的s a m la u t h o r i t y ,那么就借助这个信任关系,用户把对服务的请求都转由它所在 主域的s a m , a i 曲。嘶来发送,而不是采用在自己发送消息上附上s a m la s s e r t i o n 的方法。 根据s a m l a s s e r t i o n 的描述,服务方可以判定主体是被它所在主域验证了的合法用户,但是从 中并不能获得身份证号码等等一些有关s e r v i c e 的属性。 为了让s a m l 更好的支持可移动标识的概念,s a m l 断言又加入了对主体属性的申明。 9 东南大学硕士学位论文 j o h n d o e u r n :o a s i s :n a m e s :t c :s a m l :1 0 :c m :h o l d e r - o f - k e y ( s u b je c t 3 2 0 1 0 1 2 8 2 0 9 1 2 3 8 1 在断言中,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 e s t a t m e n t 元素所替代。仔细观察其中并没有太大的 差别,仅仅是在a t t r i b u t e s l a t m e n t 元素中多出了一个a t l r i b u t e 的子元素。a t t r i b u t e 元素包含了 a t t r i b u t e n a m e 和a t t r i b u t e n a m e s p a c e 属性以及a t t r i b u t e v a l u e 的子元素。其中a t t r i b u t e n a m e 表示属 性名( 如这里的s s n 表示身份证号码) ,a t t r i b u t e n a m e s p a c e 用于避免命名冲突。a t t r i b u t e v a l u e 中 放置属性的值值得注意的是在s a m l 规范中并没有预置某些属性,所有的属性均由用户根据需要 自定义。 基于以上信息,新的包含主体属性的s a m la s s e r t i o n 描述了以下事实: 一个名为m y t o 啪t o r 的主体被验证为某个的密钥的拥有者,他的身份证号码是 3 2 0 1 0 1 2 8 2 0 9 1 2 3 8 1 验证过程采用了基于密码的方法,验证发生的时间是2 0 0 6 - 0 4 - 2 9 t 0 2 :0 0 :0 0 1 7 3 z 该断言的有效期为2 0 0 6 - 0 4 2 9 1 0 2 :0 0 :0 0 1 7 3 z 至2 0 0 6 0 4 - 3 0 t 0 2 :0 0 :0 0 1 7 3 z 为了将s a m l 引入w 曲s 口v i c e 的环境,必须定义使用s a m l a s s e r t i o n 的t o k e n ,以下是使用 鲋l m l t o k e n 签名的s o a p 消息示例: h t t p :s a m l a s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商品房订房协议书
- 办公设备与耗材再制造工合规化技术规程
- 公司洗衣机制造工岗位标准化技术规程
- 2026届河南省洛阳市实验中学数学九年级第一学期期末达标检测模拟试题含解析
- 2026届山西省(朔州地区)九年级数学第一学期期末调研模拟试题含解析
- 移动支付技术的发展与影响
- 水处理技术在超低水头发电项目中的应用策略分析
- 2026届山东省利津县七年级数学第一学期期末考试试题含解析
- 池州市重点中学2026届九年级数学第一学期期末联考试题含解析
- 2026届山东省济南市实验中学九年级数学第一学期期末学业质量监测模拟试题含解析
- 国开2025年《行政领导学》形考作业1-4答案
- 广东省广州市天河执信中学2024-2025学年九年级上学期期中考试化学试卷(含答案)
- 安徽省蚌埠市2025-2026学年高三上学期调研性监测语文(含答案)
- 医生进修6个月汇报大纲
- 外科病人的心理护理讲课件
- 2025至2030中国特殊教育市场现状调查及前景方向研究报告
- 医院感染与消毒灭菌
- 2024年亳州利辛县招聘城市社区专职工作者考试真题
- 部编人教版小学三年级语文上册全册教案
- (高清版)DZT 0334-2020 石油天然气探明储量报告编写规范
- 2024年浙江卷1月读后续写(路痴的自我救赎)讲义-高考英语作文复习专项2
评论
0/150
提交评论