




已阅读5页,还剩100页未读, 继续免费阅读
(计算机软件与理论专业论文)基于saml实现信任迁移的安全引擎.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着网络技术的发展,网络应用巾的安全性,成为一个不容忽视的问题,人 们需要在网络应用中为用户提供身份鉴别和权限信息,以保证网络交互活动的安 全。咀x m l 等技术为基础的w e b 服务是新兴的一种中间件技术,为用户提供以松 耦合过程调用为基础的“服务”,x m l 作为信息表示和传递的载体,人们通过它 来访问w e b 服务所拙述的一组操作。x m l e n g i l e ( 基于x m l 的安全网关) 旨在为基 于x m l 信息的w e b 服务提供安全保障。而我们认识到需要提供一种机制在不同的 协作域之间传递关于实体的信息,同时域又不失去对这些信息的所有权,安全断 言标记语言s a m l ( 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 ) 满足了这种要求。 目前虽然基于x m l 的应用越来越多,但针对s a m l 实现信任迁移提出的时间不 长,以此为基础实现的产品还不多见。s a m l 安全相关标准庞杂,涉及多方面的知 识和技术,有广阔的研究空间,已开发的产品尚待进一步完善和扩展。x m l e n g i n e 能够灵活地提供多种安全服务,比如数字签名、完整性验证,这在很多应用中是 关键的安全服务;x m l e n g i n e 能提供传输后( 存储) 的安全保护,这种保护完全 符合国际标准,可以很容易和其它软件结合;x m l e n g i n e 工作在消息层,对应用 层有一定的感知,通过配置,x m l e n g i n e 可以对不同的应用层数据分别处理; x m l e n g i n e 架构下可以灵活地添加新的安全控制机制,可以动态地配置安全服务, 动态添加或删除安全模块;x m l e n g i n e 平台形成了个统一的安全保证机制,从 而使之成为一个相对独立的安全产品,不依赖于具体的应用,也不对应用提出特 别要求。 作者首先对支持信任迁移的安全引擎系统所涉及到的s a m l 及s 0 a p 规范、应 用密码学知识和s a m l 安全的标准进行简要介绍,对p k i 的基本知识进行概要说明, 并在此基础上提出一个完整可行的支持信任迁移的安全e n g i n e 模型。并在l i n u x 平台上实现这一模型,针对具体的实现步骤和细节进行详细描述。 在整个过程中作者主要从事系统中安全引擎基础平台部分、信任迁移模块和 配置模块的需求分析、概要设计、详细设计、代码编码和测试工作,并与小组成 员起参与加密和解密、签名和验证模块与整个项目的总体设计和规划,在此基 础上规划和实现最后的总体测试和部署。 关键词信任迁移;x m l 引擎;安全断言标记语言;加密角4 密;签名验证 a b s t r a c t a b s t r a c t w j t ht h e d e v e l o p m e n to fn e t w o r kt e c h n o l o g y , o n l i n e s e c u “t yb e c o m e sa n i m p o r i a n tp m b j e i n w en e e di oo f f e ru s e r si h ei d e n “t ya n da u t h o l i t yi n f b r m a l i o n si n 山en e l w o r k a p p l i c a t i o n s ,s oa st oe n s u r et h es e c u i i t yo fi h ei n i e r a c t i o n w e bs e r v j c e si sam i d d l e w a r e t e c h n 0 1 0 9 y , b a s e do nx m la n dr e l e v a n t t e c h n o l o g y ,w h j c hc a ns u p p o r tf h es e r 矿j c e s b a s e do nj 0 0 5 e c o m p l j n gp r d c e d u r ec a nf o u s e r so ni n t e r n e t x m l ,r e g a r d sa sac a r r j e ro fi n f o r n l a l i o ne x p r e s s i n g & l r a n s m i s s j o n , c a nb eu s e dt oa c c e s sas e r i e so fo p e r a t i o nd e s c r i b e db yw e bs e j c e s x m l e n g 讧e ( x m l - b a s e ds e c u r i t yg a t e w a y ) ,j s d e s jg i l e dt o g i v e t h e s e c u r j t y a n de f f e c i i v e g u a r a n t e et ot h ew e b s e r v j c ew i t hx m la n dw cn c c dt op r o v j d cam c c h a n j s ml o t r a n s f c ri n f o r m a t i o na b o u ta ne n t i t yi nd e f f e r r e n tc o o p e r a t e dd o m a i n s ,a tt h es a m et i m e , d o m a i n sc a nr e m a i nt h ep o s s e s s i o no ft h ei m f o r m a t i o n ,i h es a m l ( s e c u “t ya s s e r t j o n m a r k u pl a n g u a g e ) m e e tt h er e q u i r e m e n t p r j m a r j l y ,t h ea u t h o ri n t r o d u c e st h es a m ls e c u r i l y ,s o a ps t a n d a r da n dr e l e v a l 】t c r y p t 0 1 0 9 y ,w h i c hj n v o l v e di nt h i ss e c ur j t ye n g j n e a n dt h e nw eb r j n gu paf 色a s j b 】e s e c u r i t ye n g i n em o d e j ,w h i c hs u p p o f tt h el n l s tt r a n s f e r a tl a s t ,w ei m p l e m e n tt h i s m o d e lu n d e r l i n u xp l a t f o r m ,a n dd e s c r j b el h ep r o c e s sa n dd e t a i l t h ea u t h o rp a r t i c i p a t ei nt h eb a s ep l a t f o 肋,t u r s tt r a n s f e rs y s t e ma n dc o n f i g u r a t i o n m o d u l e ,i n c l u d i n gt h er e q u i r e m e n ta n a l y s i s ,p r i n c j p l ed e s i g n ,d e i a i l e dd e s j g n ,c o d j n g a n dt e s t i n gw o r k a n dt h eu s a g ea n a l y s j so fe n c r y p t i o n & d e c r y p t i o n ,s i g n a t u r e v e r j f i c a t i o nm o d u l e a n dw o r k e dw i t ho i b e rg r o u pm e m b e r si nt h eo v e r a l lp l a n n j n ga n d d e s j g no fl h ex m le n g i n ep r o j e c t ,t h ef i n a lt e s t i n ga n dd e p l o y m e n t a tp r e s e n t , t h o u g ht h e r ea r em o r ea n dm o r ea p p l i c a t j o n so nx m l b a s j s ,t h ei m p l e m e n t so ft r u s t t r a j 】s f e rh a so n l yb e e nr a i s e df o ras h o r tp e r i o do ft i m e d e s p i t ei h a td o m e s t j ca n d j n t e r n a t j o n a lr e s e a r c h e sa r en o tj ns m a l ln u m b e r s ,t h ea p p l j c a t i o np r o d u c t sp e r t a i n i n g t os a m la r en o t t 0 0m a n y t h er e l e v a n ts t a n d a r dr e g a r d i n gs a m ls a f e t yj sv e r y c o m p j e x ,i n v o l v i n gm u l t i f a c e tk n o w l e d g ea n dt e c h n o l o g y t h e r e f o r e ,l h e r ei sal o to f r o o mf o rr e s e a r c h t h ed e v e l o p m e n to f r e l e v a n tp r o d u c t sr e q u i r e sf u l l h e r j m p m v e m e n t sa n de n h a n c e m e n i 1 1 a b s i r a c t k e yw o r d s t r u s tt r a n s f e r ,x m le n 舀n e ,s a m l , e n c r y p t d e c r y p t s i g n a t u r e v e r i f y i i l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:立虱j 堡 一一 日期:砷年r 月阻日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:星监导师签名:一卷! 丝 日期:如6 年s 一月忙日 第一章引言 1 1 ,课题背景 第一章引言 利用网络进行通信已经成为比较成熟的技术,与此同时在数据传输过程中保 证信息的安全又是一个重要的课题。随着电子商务和电子政务的迅速发展,基于 网络的w e b 服务( w e bs e r v i c e ) 也正在成为现实,并逐渐流行丌来。不管是对 未来的虚拟社会来说,还是对电子商务和电子政务来说,一个可信任的基础都是 必要和关键的。 我们需要一个框架,来提供可确认的身份验证,以及可量化的权限准入,并 能针对应用提出一个整体的、当应用需求改动时尽可能少的解决方案。 w e b 服务就是用标准i n t e m e t 技术建立的、提供应用程序的一个网络访问接 口,而s o a p 在w e b 服务的技术层次中起到的作用是,作为对应用共享的消息进 行包装的标准协议。so a p 规范定义了简单的基于x m l 包装传递信息和将与平 台相关的应用数据类型转化成x m l 表示的一些规则。 x m l 是因特网以及近来w e b 服务持续增长和开发的主要支持者。但是,在实 现x m l 语言的全部能力之前,还有许多与安全性相关的工作要做。目前,加密 整个x m l 文档、测试其完整性和确认其发送方的可靠性是一个简单的过程,但 是,越来越有必要对文档的某些部分也使用这些功能,以便以任意顺序加密信息 和认证鉴别不同用户或发起方;同时与h t m l 相比,x m l 的出现也使得数字签 名的实施与安全传送能够得以实现。在与x m l 相关的安全性领域方面的丌发规 范中最重要部分是x m l 加密、x m l 签名、x a c l 和s a m l 等。 s a m l 是一个标准,这个标准定义了在线上交易伙伴之间交换安全信息的框 架。s a m l 为实体之间交换安全断言定义通用的x m l 框架。s a m l 与其它安全 系统不同的地方就在于它对于一个主体使用了“断言”的手段,从而使得网络内 的其它应用能够对该主体产生信任。我们就是要在s a m l 规范框架为基础,在此 基础上,我们开发的x m l e n g i n e 可以进行部署以实现信任迁移。 2 0 0 4 年度中,联合实验室开发的两个项目r b a c np k i ,目前已经得到实际的 应用。这两项技术是实现电子政务、电子商务中安全机制的基础。因此,2 0 0 5 年 度,我们的项目开发将基于这两项技术,在应用上做一些关键的安全技术的开发。 目的在于以这两项技术为基础,实现安全产品的层次化和系列化,并且在未来2 3 电子科技大学硕士学位论文 年内在技术上处于比较领先的地位。结合公司对于软件应用项目丌发的需求、公 司安全产品的特点,以及目前电子政务、电子商务应用及其平台的发展,我们将 应用开发的重点集中在j 2 e e 、x m l 的框架下,实现以卫士通安全产品为核心、以 r b a c 和p k i 为基础的j 2 e e 、x m l 安全机制。 1 3 作者的主要工作 作者首先对支持信任迁移的安全引擎系统所涉及到的x m l 及s o a p 规范、 应用密码学知识和w 3 c 有关x m l 安全的标准进行简要介绍,对p l ( i 的基本知识 进行概要说明,并在此基础上提出一个完整可行的支持信任迁移的安全e n 2 i n e 模 型。并在u n u x 平台上实现这一模型,针对具体的实现步骤和细节进行详细描 述。 在整个过程中作者主要从事系统中安全引擎基础平台部分、和配置模块以及 基于s a m l 实现信任迁移模块的需求分析、概要设计、详细设计、代码编码和测试 工作,并与小组成员一起参与加密和解密、签名和验证模块与整个项目的总体设 计和规划,在此基础上规划和实现最后的总体测试和部署。目前虽然基于x m l 的 应用越来越多,但针对s a m l 实现信任迁移提出的时间不长,以此为基础实现的产 品还不多见。s a m l 安全相关标准庞杂,涉及多方面的知识和技术,有广阔的研究 空间,已开发的产品尚待进一步完善和扩展。 1 4 各章节安排 第一章,引言。主要介绍课题的来源和背景以及研究意义,作者的主要工作, 文章的章节安排等。 第二章,s a m l 、s o a p 、密码学基础知识综述。首先介绍了x m l 相关的理 论知识:然后针对w e bs e r v i c e 服务介绍了w e b 服务的基本知识及其通信规范 和标准s q a p :接下来概要描述了在- 丌发x m l e n g i n e 过程中所使用到的密码算法 和技术以及p k i 的基本结构和应用。 篇三章,s a m l 安全基础。本章在第二章的基础之上,主要是针对w 3 c 所 提出的有关x m l 加密和解密、x m l 签名和验证的规范,以及s a m l 的特点进行 详细介绍。 第四章,x m l e n g i n e 服务器设计。首先给出x m l e g i l i n e 相关的定义,然后 2 第一章引言 介绍了x m l e n 鲥n e 服务器的结构、应用环境和处理流程,从系统架构角度分析 了x m l e n 画n e 的应用和部署等。 第五章,信任迁移部分的实现。在设计方案的基础上,刘实现信任迁移部分 作了详细介绍,并分析测试结果,总结工作经验。 第六章,其它模块介绍。对引擎的其它模块,加解密模块、签名验证模块 和配置文件模块作简要介绍,并说明在部署时的注意事项。 第七章,建立两个x m le n g i n e 典型应用,用以测试x m l e n g j n e 在实际应用 中的功能和效果。本章对数字社区的构成有一定描述,并通过抓包的方式测试 x m l e n 面n e 服务器的工作状况。 第八章,今后的工作。本章中作者阐述了系统存在的不足以及系统未来的发 展思路。 电子科技人学硕+ 学位论文 第二章s a 札、s 0 a p 及密码学的研究概述 眭期以来,人们认识到需要提供一种机制在不同的协作域之间传递关于实体 的信息,同时域又不失去对这些信息的所有权,交换的信息可以是关于主体或者 验证信息的断言,这种方式也被称为单点登录。因此以平台独立的方式来提供数 字身份认证同益重要。比较著名的两种信任迁移方案是m i c r o s o f t 的p a s s p o r t 和s u n 倡导的“自由联盟”。p a s s p o r t 内建于微软的产品与服务中( 如微软网络、 h o t m a i l 、w e b t v 等) ,是不丌放的,且p a s s p o r t 采用中央统筹式的单一登陆服务, 不支持支持联邦式的网络服务架构。“自由联盟”的联盟身份管理则致力于推动 联合身份识别,提供可检视、管理和设定属于认证域和提供者的解释数据方式。 安全断言标记语言( s a m l s e c u r j t ya s s e r t j o nm a r k u pl a n g u a g e ) 是完全基于x m l 的描述语言,因此具有x m l 良好的跨平台数据表示特性,设计s a m l 的目的是建 立一种独立于协议和平台的验证和授权交换机制,另外就是使得使用者能够独立 地部署环境,用于集中式地、分布式地以及联合式地部署场景。基于w e b 的方案 如“b e r t v l i a n c e ,s h i b b o l e l h 等在一定程度上实现了基于s a m l 的认证和授权 系统。 2 1s a m l 概述 2 1 1s a m l 简介 s a m l 是一个标准,这个标准定义了在线上交易伙伴之间交换安全信息的框 架。 更准确地说,s a m l 为实体( e n t i t y ) 之间交换安全断言( a s s e r t i o n ) 定义通用的 x m l 框架。s a m l 与其它安全系统不同的地方就在于它对于一个主体( s u b j e c l ) 使 用了“断言”的手段,从而使得网络内的其它应用能够对该主体产生信任。s a m l 有如下两个非常重要的概念: 身份提供者( i d e n t i t yp r o v i d e r ) 对某个主体产生断言信息的系统。用于断言某个用户已被授权且拥有相关的 属性。比方说,这个用户是j o h nd o e ,他的e m a i l 地址是j o h n d o e a c o m p a n y c o m , 4 第二章s a m l 、s 0 a p 及密码学的研究概述 他被授权可以通过密码而进入系统。在s a m l 中,身份提供者乜被称为s a m l 权威( s a m la u t h o r i t i e s ) 或断言方( a s s e r t i n gp a n y ) 。 服务提供者( s e r v i c ep r o v i d e r ) 需要身份提供者产生的用户断言来进行用户身份管理的系统,也是用户目标 资源的所在地,它决定是否信任提供来的断言。需要注意的是虽然可以信任提供 给它的断占,但基于本地的访问策略决定了一个主体是否能访问本地资源。服务 提供者也被称为依赖方( r e l y i n gp a n y ) ,因为其需要依赖断言方提供的断言信 息。 2 1 2s a m l 重要概念 图2 1 属性联盟用例豳 i 曲n d 坩h 口嘲c r s a m l 有如下重要概念: 断言( a s s e r t i n g ) :断言是由s m a l 权威产生的信息包,这些信息包含了一 条或多条语句。s a m l 定义了三类可以被断言携带的语句:认证语句 ( a u t h e n t i c a t i o ns t a t e m e n t s ) 处理主体在特定时刻、特定机制下的身份:属性 语句( a t t r i b u t es t a t e m e n t s ) 为主体提供了些特别的信息( 比如某位用户拥有 g o l d 身份) ;授权决策语句( a u t h o r i z a t i o nd e c i s i o ns t a l e 】n e n t s ) 用于管理主体 的资源访问权限。 协议( p r o t 。c 0 1 ) :s m a l 定义了用于获得断言的请求响应协议。一个s m a l 请 求用于获得一个断言;s m a l 向应则根据请求回送相应的断言。 凰 电子科技大学硕士学位论文 绑定( b in d i n g ) :绑定详细地说明了s m a l 协议与传输通信 力、议之间映射的细 节。 配置文件( p r o f i l e ) :s a m l 规范定义了一组称为配置文件的舰则,描述了实 现应该如何在底层协议消息中插入、提取和集成断言。 2 1 3s a m l 断言 断言是出s m a l 权威产生的信息包,这些信息包含了一条或多条语句。产生 和交换断言时,s a m l 权威通常是指断言方,而使用接受到的断言的通常就是依 赖方。s a m l 规范定义了三种类型的断言,每一种类型都与一个联系起来: 验证:断言处理主体在特定时刻、特定机制下的身份验证。 属性:属性断言提供联系特定属性与给定主体的一种机制。 授权决策:授权决策断言管理给定主体访问资源的权限。 一份断言的外体结构是通用的,此中,一系列的内部元素描述了验证、属性 和授权决策,或者由使用者自己定义的规范。s a m l 断言是可以扩展的,我们可以 定义对于断言类型甚至断言本身的拓展。 以下是一份的断言的基本元素: 元素 提供断言发行者的信息,需要提供发行者姓名的字符串。 元素 指定断言声明里面的主体。主体的格式是定义好了的,此处使 用的是e m a i l 地址。 元素 和 指定了主体可以被认证的丌始时间和结 束时间,以u t c 格式表示。该元素可以有效的保障安全性。 元素 描述了s a m l 权威确定该断言主体被认证的时间和方 式。s e s s i o n i n d e x 表示主体验证和认证权威之间的特定会话。 元素 包含认证关系的声明或者引用声明。在此处使用了元素 指定一份u r l 引用来鉴定认证关系。 2 1 4s a m l 协议 s a m l 协议消息可以使用多种协议来产生和交换。s a m l 绑定规范描述了多 种使用现有多种传输协议进行通讯的方式。而s a m l 配置文件规范描述了多种协 议的应用和相关处理规则、限制和要求等,目的是为了方便和提高交互性。 s a m l 定义了如下一些重要的协议: 第二章s m l 、s 0 a p 及密码学叶究概述 请求和响应协议: 所有的s a m l 请求都是继承自抽象的复杂类型r e q u e s t a b s t r a c t t y p e 。该类型 定义了与s a m l 请求相关的所有通用属性和元素。如: 元素 用于表示该请求的身份。 元素 用于表示请求的版本号。 元素 表示请求的发行时间。 元素 表示该请求被发往的目的地的u r l 地址。该项可以用来 有效的防止恶意的盗链请求。 而所有的s a 虬响应都是继承自抽象复杂类型s t a t u s r e s p o n s e t y p e 。该类 型定义与s a m l 响应相关的所有通用属性和元素。如: 7 电予科技人学硕士学位论文 元素 表示该响应被发往的目的地的u r l 地址。 视特定的协议和配置文件的要求,一份s a m l 请求向应需要验证其本身,很多 时候也需要验证其消息的完整性。认证和消息完整性检查一般山s a m l 绑定功、议约 束。请求响应也可能需要被签名,以此来提供认证和消息的完整性。需要被签名 时,就必需包含元素 ,并且s a m l 响应者请求者必须验证该签名的 正确性。如果签名不正确,那么响应者请求者不能允许该请求响应并且应返回 出错信息;如果该签名正确,则响应请求者需要评估该签名以确定签名者的身份。 如果包含了元素 并且显示已经获得某种形式的重要信息,则该请求响 应就需要被签名。 断言查询和请求协议 该协议定义了对于请求引用现有的断言或者主体查询断言的消息形式和处理 规则。在响应s a m l 查询消息时,每个s a m l 权威返回的断言必须要包含一个 元素 ,并且该元素必须要与查询信息中的该元素匹配。如果s a m l 权威不能提供一份满足查询或者断言引用条件的断言,则响应中的 元 素不能包含断言元素 。 认证请求协议 当主体或者代表主体的某个代理需要或得包含认证声明的断言来建立与一个 或者多个依赖方的安全关系时,使用认证请求协议来发送包含 元 素的消息到s a m l 权威,请求返回一份包含一个或者多个断言的 消息。 提供这种协议支持的s a m l 权威通常被称为身份提供者。除了这些限制外,返回的 断言需要满足使用时的配置文件或特殊依赖关系。同样,虽然使用认证的方式可 能影响到响应得内容,但是使用什么样的方式对身份提供者进行认证并没有作明 确的限制。而且诸如身份提供者如何验证认证凭据进行有效性、身份提供者和其 他实体之间在处理认证时的通信细节并没有包含在此协议中。 认证请求( ) 和响应( ) 通信支持多种情景。响 应者最终需要返回一份包含一个或多个断言的消息给请求者,如果有错误发生的 话则需要有一份包含 错误码的消息来描述出错情况,如: 第二章s a m l 、s 0 a p 及密码学的研究概述 s t a t u s : u t h n f a j l e d 、s t a t u s :嘶k n o w p r j n c j p a l 。而响应者可以按照协议绑定和 认证机制与请求者有更多的消息通讯。 辅件解析协议 辅件解析协议提供了s a m l 协议消息可以使用传引用的方式来代替传值方式 进行通讯的机制。请求和响应都可以使用特定的协议依靠传引用的方式获得。 消息的发送者,发送一种被称之为辅件( a r i f a c t ) 的数据而不是将消息绑定到 一种传输协议上。一份辅件可以有多种形式,但是必须提供一利t 方法让接收者可 以判断它的发送者。如果接收者愿意,他可以使用该协议结合其它s a m l 绑定协议 一起来解析陔辅件。 该机制的最通用的地方就是绑定那些容量有限制的消息,或者由安全通道在 请求者和响应者之间进行通讯而避丌签名。视传引用的消息特征的不同,辅件解 析协 义可以要求进行诸如相互认证、完整性检查和保证机密性等,使用绑定的协 议对辅件进行解析。在所有的情况f ,这样一份辅件都必须存在一种一次性使用 的语义,一旦它被成功解析,将不能被其任何其它方再次解析。 考虑到是获得协议消息,解析辅件的结果必须被严密的处理,就好像该消息 是被壹接获取而不是依靠传引用的方式传递的只是一份辅件。 消息是用来请求由指定一份用来表示s a m l 协议消息的辅 件的 消息,辅件的传递是由使用的协议绑定来指定的。 消息在传递对应该被签名或者采用认证机制和进行完整性校 验。该消息的形式也是继承自r e q u e s t a b s t r a c t t y p e 的。如: ( s e q u e n c e 元素和它的 a r tif a c t r e s p o n s e t y p e 综合类型片断: 当响应者认为辅件有效时,它将响应份包含 元素的协 议消息。否则,将返回一份没有任何消息的 元素。但是在两 种情况下, 元素都必须包含状态码 元素。一份没有任何内 容的响应消息被称为空响应。 一些s a m l 协议消息,大多数是各种配置文件中的 消息可以被 任何接收到的方所解析并做出相应的响应。但是在很多情况下,一份消息是为某 一特殊实体所指定的,此种情况下,辅件在发出时必须与希望的接收方所联系起 来。如果辅件发行者接收到从请求者发送的 消息,但是其希望 的接收者不是该辅件发行者时,辅件发行者应该返回一份空l 响应。 另外,辅件发行者应该尽量使辅件的使用时间尽可能的短,以此可以在一个 接收窗口时间内让接收者获得该辅件并且返回发行者 消息。 名字标识符管理协议 在为委托人建立了一个名字标识符后,如果身份提供者希望改变标识符的值 或者格式或者想废弃该标识符的话,需要使用 消息来通知 更改。服务提供站点也使用该消息来登记或改变表示其身份的s p p r o v i d e d i d 值, 或者终止该身份与身份提供站点已经建立起来的关系。 第二章s m l 、s 0 a p 及密码学的研究概述 提供者发送 消息通知接收方一个需要被变更或者需 要终止使用的名字标识符。该消息应该被签名或者其他的认证和完整性保护,这 是由消息传递中的协议绑定来提供的。以下是该元索的语法片断: 或者( s a m l :e n c r y p t e d l d :描述相关的名字标示符,此为现在 正在使用中的。 或者 或者 :新的名字标识符或者终止 该标识符。如果请求者是服务提供者,新的标识符将出现在元素 的 s p p r o v i d e d i d 属性中;如果请求者是身份提供者,将出现在 元素的内容 中。 接收到 消息必须返回一份s t a t u s r e s p o n s e t y p e 类型 的 消息。与 不同的地方如下: 单点注销协议 该协议提供了一种消息交换协议,在该协议下,所有的会话会同时终止。注 销的原因可以由r e a s o n 属性表示。 注销的形式有两种,委托方在一个会话参与期间注销或者直接在会话权威处 b 子科技大学硕士学位论文 。- 一 终止。会话参与者或者会话权威发送 消息表示一个会话需要 被终止。该消息需要被签名或者根掘传输消息时的协议绑定进行完整性检查和认 证。以下是陔消息的语法片断: n o t o n o r a f t e r :指定该请求超时时间,在此时间后该请求消息将被接收方丢 弃。以u t c 格式封装;r e a s o n :指定注销原因; 或者 或者 :身份标示和关联属性,用来指定为身份和服务提供方 当下所认可的委托方; :标识消息接收时的会话。 接收到 消息必须响应一份 消息,如下: 名字标识符映射协议 当一个实体与一个身份提供站点分享同样的委托方标识符时,如果该实体希 望获得与该委托方同样形式和名字空间的标识符时,其可以使用该仂、议发送 份请求给身份管理站点。 第二章s a 札、s o a p 及密码学的研究概述 例如,一个服务提供站点希望与另外个没有与委托方共享标识符的服务提 供者通讯时,可以使用一个与两个服务站点分享相同标识符的身份提供站点来映 射其标识符,通常以加密的形式,以此来与第二个服务提供者通讯。如果不考虑 标识符的类型,映射的标识符应该被加密成 元素,除非有特 定的部署使该保护不必要。 要为委托方在身份提供站点请求一个名字标识符映射,清求者需要发送一份 包含 的消息。该消息需要被签名或者根据传输消息时的 协议绑定进行完整性检查和认证。以下是该消息的语法片断: 其中, 元素要求限制返回的标识符的格式。 在接收到 消息后,接收方需要返回一份 消息。如下片断: 电子科技大学硕十学位论文 2 1 5s a m l 绑定 映射s a m l 请求一响应消息到标准的消息或者通讯协议上被称为s a m l 办议绑 定。将s a m l 请求一响应消息映射到某一种协议 上就称为( f 0 0 绑定,如s 叭p 绑定,该绑定描述了怎么样将请求一响应消息交换绑定到s o a p 消息交换上。除非 特殊声明,一种绑定应该支持发送消息都继承自s a m l p :r e q u e s t b s t r a c t t v d e 和 s a m lp :s t a t u s r e s p o n s e t y p e 类型。 s a m l 规范定义了一系列协议绑定,并且支持第三方遵照规则实现自己的绑定 协议。本课题采用到的s a m l 绑定是基于s o a p 协议的绑定,在此我们只针对s o p 绑定的细节作详细说明。 s o a p 是一个轻量级的协议,其主要设计目的是在分布式环境中进行结构消息 的交换。s 0 a p 采用x m l 技术定义一个可扩展的消息框架以提供消息构造。 s o a p 是x m l 规范的一个应用。x m l 的消息处理指的是应用程序交换信息 时使用x m l 文档,x m l 消息处理为应用程序通信提供了一种灵活的方法,而且 它是s o a p 的基础。因为x m l 不与特定的应用、操作系统或是编程语言捆绑在 一起,x m l 消息可以在所有的环境中被使用。 另外,s o a p 可以使用在多种传输协议上。该绑定具有协议独立性的方面,但 是也衍生出需要使用基于h t t p 的s o a p 绑定。 一个s o a p 消息包含一个信封( e n v e l o p e ) ,信封可以包含一个标题数据 ( h e a d e r ) 和一个必需的消息正文( b o d y ) 。s a m l 请求卅自应消息协议元素必须 被包含在消息正文中。如下所示: 基于s o a p 的s a m l 会话模型就是基本的请求响应模型: ( i ) 一个作为s a m l 请求者的系统实体传送s a m l 请求信息( 封装在s o a p 的消 息正文中) 给作为s a m l 响应者的系统实体。s a m l 请求者一定不能包含多于一个的 s a 札请求或者额外的x m l 元素在一个s o a p 消息内。 ( i i ) s a m l 响应者必须返回一个包含在s o a p 消息正文中的s a m l 响应元素,或 者产生一个s o a p 错误,每个消息也只能含有一个s a m l 响应。因为该消息交换格 式为简单的请求响应格式,如果加入额外的元素会对该协议增加不必要的复杂 度。 1 4 第二章s a m l 、s 0 胩及密码学的研究概述 图2 2s o a p 消息体 遵从s a m ls o a p 绑定的s a m l 处理器必须要实现基于h t t p 的s o a p 传输。以下 是一份查询包含属性说明的断言的片断: p o s t s a 】 l s e r v j c eh t t p 1 1 i o s t :w w w e x a m p l e c o m c o n t e n t t y p e :t e x t x m l c o n t e n t l e n g t h : n n n s o a p a c t i o n : h t t p :w w w o a s i s o p e n o r g c o m m i t t e e s s e c u r i t y sa 】n l p :a t t r i b u t e q u e r yx m l n s :s a 珊1 p := ” x m l n s :s a m l = ”x m l n s :d s = ”i d = ”一6 c 3 a 4 f 8 b 9 c 2 d ”v e r s j o n = ”2 ,o ” i s s u e i n s t a n t = ”2 0 0 4 0 3 2 7 t 0 8 :4 1 :o o z ” 1 5 电子科技人学硕十学位论文 其他以定义的绑定如:反向s o a p ( p a o s ) 绑定、h t t p 重定向绑定、h t t pp o s t 绑定、1 1 t t p 辅件绑定以及s a m lu r i 绑定等。另外,遵照o a s i s 规范,第三方可 以实现基于自己情况的绑定协议。 2 1 6s a m l 酉a 置文件 s a m l 配置文件定义了在通信协议和框架下使用s a m l 断言和请求一响应消 息以及s a m l 属性值语法和命名惯例等。 一种类型的配置文件概述了一系列的用来描述怎样将断言嵌入和抽取出框架 和协议的规则。例如,一份s o a p 配置文件描述了怎样将s a m l 断言加入到s o a p 消息中,断言怎样影响s o a p 消息头以及与s a m l 相关的错误状态怎么样反应到 s 凸心消息体中。 另一种类型的配置文件定义了一系列的在特定环境下使用s a m l 协议或者 断言的限制。例如,s a m l 的 元素提供了弹性化的属性命名、值语法 和使用x m l 属性包含的元数据。 属性配置文件提供了当处理特定的属性信息或者与外部系统进行信息交换时 的s a m l 属性表示必要的定义。 2 1 7s a m l 文件的解析 s a m l 文件都是基于x m l 的,所以需要对x m l 文件进行解析。处理x m l 文档的应用程序都需要个x m l 解析器,x m l 解析器的作用是: 文档中提取实际的数据,然后创建一系列的事件或者是新的数据结构。 解析器也能够检查文档是否是格式良好的,也就是说是否严格的遵守了x m l 规范,而这是处理x m l 文档之前就必须进行的工作。 解析器还应该能够判断一个文档是否是有效的( 如果该文档有一个 d t d s c h e m a 的话) 。 当前比较常见解析器有:i b mx m l 4 j 、a p a c h ex e r c e s 、s u np r o j e c tx 、m i c r o s o f f m s x m u l e 5 0 以上版本已经集成了m s x m l 解析器) 、 o r a c l ex m lp a r s e rf o r 第二章s a m l 、s o a p 及密码学惭沂究概述 j a v a 以及j a m e sc l a r kx p 等。 2 1 8 应用程序接口 处理x m l 文档是由解析器来完成的,应用程序要创建、访问和操作一个x m l 文件就需要一个x m l 解析器的接口,w 3 c 和x m l _ d e v 邮件列表成员分别提出 的两个标准应用程序接口:d o m 和s a x 。 d o m 和s a x 在应用程序丌发过程中所处地位可以用下图2 3 来表示: 彳鞠妒 x m l 应 用- 程i 序 瞬麓曩鳓瞄黼嗣瓣 d o m 接口 删粥黼 s a ) 【接口 t 蔫确嚣妒黛嘲9 0 群 x m x l m 分 l 析 文 器 档 图2 3d o m 和s a x 从图中可以看出,应用程序不是直接对x m l 文档进行操作的,而是首先由 x m l 分析器对x m l 文档进行分析,然后,应用程序通过x m l 分析器所提供的 d o m 接口或s a x 接口对分析结果进行操作,从而间接地实现了对x m l 文档的 访问。 1 、d o m d o m 的全称是d o c u m e n to b i e c tm o d e l ,也即文档对象模型。在应用程序中, 基于d o m 的x m l 分析器将一个x m l 文档转换成一个对象模型的集合( 通常称 d o m 树) ,应用程序正是通过对这个对象模型的操作,来实现对x m l 文档数据 的操作。通过d o m 接口,应用程序可以在任何时候访问x m l 文档中的任何。 部分数据,因此,这种利用d o m 接口的机制也被称作随机访问机制。 d o m 接口提供了一种通过分层对象模型来访问x m l 文档信息的方式,这些 分层对象模型依据x m l 的文档结构形成了一棵节点树。无论x m l 文档中所描述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国炙烤炉市场发展现状与前景需求预测报告
- 2025-2030中国深度水解奶粉市场销售前景及未来销售渠道趋势报告
- 建筑工地消防安全管理制度范文(4篇)
- 离职员工离职后知识产权保护及竞业限制合同模板
- 借款合同签订与合同违约责任及争议解决机制
- 离婚协议书:针对房产、车辆等财产分割的合同范本
- 医学检验师考题及答案
- 四年期住宅租赁合同范本附带租赁保证金条款
- 离婚财产分割协议书:房产、车辆、存款及债权
- 离婚房产分割补偿协议:保障未成年子女教育基金合同
- 经济法律关系课件
- etap学习帮助-chapter17保护视图star
- 2022年医院消防安全知识培训课件
- 广东广州市番禺区教育局招考聘用公办中小学临聘教师17人(必考题)模拟卷
- 华泰证券营业网点装修标准五种类型汇总效果图设计方案
- 工程回访及客户满意度表最新文档
- (高职)企业财务会计电子课件完整版PPT全书电子教案
- T∕CHAS 10-4-13-2020 中国医院质量安全管理 第4-13部分:医疗管理住院患者健康教育
- VTE的预防与治疗(课堂PPT)
- 第五章 新型化学纤维
- 100关键字写字要诀(动画_mp3配音)2(1)
评论
0/150
提交评论