




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)jms消息中间件安全协议设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕+ 学位论文j m s 消息中间件安全协议设计与实现 摘要 为了集成分布式应用,开发者需要对异构网络环境下的应用提供有效的通信 手段。消息中间件利用可靠高效的消息递送机制帮助分布式应用进行数据交流。 j a v a 消息服务给j a v a 应用程序提供创建、发送、接收、阅读消息系统中消息的 通用方法。 保证消息传输和存储访问的安全技术是近年来消息中间件的研究热点之一。 本文在对现有产品及其相关技术分析的基础上,针对消息中间件对性能和可靠性 要求高的特点以及分布式集群的要求,提出一系列安全问题的有效解决方案。 论文第一章介绍了消息中间件的作用、基本特征和发展趋势,给出j a v a 消 息服务( j m s ) 的相关概念。其中对消息中间件面临的安全威胁做了较为深入的 分析,最后指出国内外的研究现状,明确本文研究内容。 第二章提出采用j a a s 技术,使用多种机制双向认证的集中式认证协议。随 着网络技术的发展,计算机系统已经进入分布式计算的阶段。本文提出面向消息 中间件的分布式认证协议,给出协议内容、形式化描述以及安全性分析。最后描 述了对消息进行选择性加密和用户服务器之间建立连接握手协议交换会话密钥 的过程。 第三章主要研究消息中问件的访问控制。首先提出了基于c o n s t f a i n e d p - r b a c 的域内访问控制安全模型。将参数化r b a c 模板与授权约束结合起来,把 影响角色的因素抽象成参数,从而简化角色管理。之后给出一个基于可信任第三 方的跨域访问框架,使用x m l 实现企业级的权限配置,域内的安全代理负责域间 请求递送和身份证明,可信任第三方签发信任证实现权限委派。 第四章讨论消息中问件的安全审计。给出审计模块的设计原则,把审计事件 分为五类,描述了系统审计的详细流程和对审计日志的分析过程。把数据挖掘应 用于审计中,通过使用决策树、关联规则分析算法,挖掘审计日志中与安全有关 的知识。 第五章给出基于5 2 e e 框架、应用m s t p 协议的消息中间件实现案侧一 j t a n g m q 。在发布订阅模式下,选择3 组典型的消息请求与应答作为试验对象, 消息大小均为l k ,测试每秒所有发送线程所发送的消息数量和每秒接收线程所 接收的消息数量,结果表明,启动安全保障后的性能损失在3 一1 0 左右,属 于用户可接收的范围。 【关键词】 消息中间件,j m s ,分布式认证协议,跨域信任管理,选择性加密 强审计 浙江大学硕士学位论文 j m s 消息中间件安全协议设计与实现 a b s t r a c t i no r d e rt oi n t e g r a t et h ed i s t r i b u t e da p p l i c a t i o n s ,d e v e l o p e rn e e d st op r o v i d ea n e f f e c t i v em e a n so fc o m m u n i c a t i o nb e t w e e nh e t e r o g e n e o u sn e t w o r ka p p l i c a t i o n si n d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t t h em e s s a g e o r i e n t e dm i d d l e w a r eu s e sr e l i a b l e a n dh i g h l ye f f e c t i v em e s s a g ed e l i v e r ym e c h a n i s mt oc o n d u c tt h ed a t ae x c h a n g e b e t w e e nt h ed i s t r i b u t e da p p l i c a t i o n s j a v am e s s a g es e r v i c e ( j m s ) p r o v i d e st h e g e n e r a lw a y t oe r e a t e ,s e n d ,r e c e i v ea n dr e a dm e s s a g e sf o rj a v aa p p l i c a t i o n s i nr e c e n ty e a r s ,m a n yr e s e a r c h e r sf o e l l st h e i ri n t e r e s t i n g so nt h es e c u r i t yr e s e a r c h o fm e s s a g e o r i e n t e dm i d d l e w a r e h o wt og u a r a n t et h es a f e t yo fm e s s a g et r a n s m i s s i o n a n dd a t aa c c e s sc o n t r o li st h em o s ti m p o r t a n tq u e s t i o n t h i sa r t i c l ea n a l y z e st h e e x i s t i n gp r o b l e m so ft h eu s e dt e c h n o l o 西e s ,p r o p o s e sas e r i e so fs e c u r i t yt h e o r yw i t h p r a c t i c a ls i g n i f i c a n c e t h ef i r s tc h a p t e ri n t r o d u c e sm o m sf u n c t i o n ,b a s i cc h a r a c t e r i s t i c sa n d d e v e l o p m e n tt e n d e n c yf i r s t l y t h e ui tg i v e st h ej m s sr e l a t e dc o n c e p t a f t e rh a v i n g f i n i s h e dam o r et h o r o u g ha n a l y s i so ft h es a f et h r e a tw h i c hf a c e st om o m ,i t d e s c r i b e st h ed o m e s t i ca n df o r e i g nr e s e a r c hs i t u a t i o n ,f i n a u yp o i n t so u tt h ea r t i c l e s r e s e a r c hc o n t e n t t h es e c o n dc h a p t e rp r o p o s e sac e n t r a l i z e da u t h e n t i c a t i o np r o t o c o lb a s e do nj a a s t e c h n o l o g y a l o n gw i t ht h en e t w o r kd e v e l o p m e n t t h ec o m p u t e rs y s t e mh a sa l r e a d y e n t e r e dt h ed i s t r i b u t e dc o m p u t i n gt i m e t h i sc h a p t e rp r o p o s e sad i s t r i b u t e d a u t h e n t i c a t i o np r o t o c o lf o rm o m ,d e s c r i b e st h ec o n t e n t ,t h ef o r m a l i z e dd e s c r i p t i o n a sw e l la st h es e c u r i t ya n a l y s i s f i n a l l yi td e s c r i b e st h es e l e c t i v ee n e r y p t i o na n dt h e c l i e n t s e r v e r sh a n d s h a k ep r o t o c o lb e f o r ec o n n e c t i o ni sr e a l l yc r e a t e d t h et h i r dc h a p t e ri n t r o d u c e sm o m sa c c e s sc o n t r 0 1 t 1 l em a i nt e c h n o l o g yu s e di s r o l eb a s e da c c e s sc o n t r o l ( r b a c ) t r a d i t i o n a lr b a cr e a l i z a t i o ni st o os i m p l ef o r e n t e r p r i s ea p p l i c a t i o n t h i sc h a p t e r 西v e sa na c c e s sc o n t r o lm o d e lf o rm o mb a s e do n c o n s t r a i n e dp r b a c t h e np r o p o s e so n ef r a m eu s i n gt h ed e p e n d a b l et h i r dp a r t yt o c r o s s s e c u r i t y d o m a i n s f i n a l l y i ti n t r o d u c e st h et r u s t m a n a g e m e r i tr e l a t e d c o n c e p t i o na n d s e v e r a lr e p r e s e n t a t i v et r u s tm a n a g e m e n ts y s t e m i tu s ex m lt oh e l p f i n i s hp e r m i s s i o nc o n f i g u r a t i o nf o rm o m t h ef o u r t hc h a p t e ri n t r o d u c e sm o m sa u d i t i nv i e wo fm o mr sc h a r a c t e r i s t i c s i t p r o p o s e st h ed e s i g np r i n c i p l eo fa u d i tm o d u l e ,d i v i d e st h ea u d i te v e n ti n t of i v et y p e s , g i v e st h ed e t a i l e df l o wa n da n a l y s i sp r o c e s s i ta p p l i e sd a t am i n i n gt e c h n o l o g yt oh e l p a n a l y z ea u d i td a t a t h r o u g hu s i n gd e c i s i o nt r e ea n do t h e ra l g o r i t h m s ,d a t am i n i n g h e l p st h ea u d i t o ra n dt h ea d m i n i s t r a t o rt os u m m a r i z er u l e ,t a k et h ec o r r e s p o n d i n g a c t i o n t h ef i f t hc h a p t e ri n t r o d u c e sa na p p l i c a t i o ni n s t a n c ej t a i l g m qw h i c hi sb a s e do n t h es e c u r i t yt h e o r ym e n t i o n e db e f o r e k e y w o r d s :m e s s a g e o r i e n t e d - m i d d l e w a r e , a u t h e n t i c a t i o np r o t o c o l ,t r u s tm a n a g e m e n t , i i j a v am e s s a g es e r v i c e ,d i s t r i b u t e d s e l e c t i v ee n c r y p t i o n ,a u d i t 浙江大学硕士学位论文 j m s 消息中间件安全协议设计与实现 1 1 消息中间件 第一章绪论 许多企业的商业应用系统如企业资源规划( e r p ) 、客户关系管理( c r m ) 都是自包含的独立系统,拥有自己一套的流程、数据、接口,相互之间缺乏有效 的通讯。为了提高工作效率、共享资源、保持数据一致性,企业需要把这些系统 无缝集成起来。随着企业内部和企业之间的应用在数量上的增加,应用间的通信 接口日益增多。这些应用往往运行于不同的平台上,采用不同的语言与技术编写, 给应用之间的集成带来成倍增长的难度。 分布式计算环境下,为了集成分布式应用,开发者需要对异构网络环境下的 分布式应用提供有效的通信手段,建立公共的信息交换机制很重要。 设计分布式应用之间信息交换机制的方法主要有: 远程过程调用( r e m o t ep r o c e d u r ec a l l ) :远程过程调用【1 】是把传统语言设计 中的过程调用概念加以变化后引入网络环境的一种形式。其行为和调用结果与传 统过程调用的行为和调用结果极其相似,主要差别在于被调用的过程代码实际运 行在与调用者不同的地址空间,需要设计软件来实现两者之间的连接和信息沟 通。r p c 应用分为c l i e n t 和s e r v e r 两部分,s e r v e r 是服务的提供者,提供多个远 程过程以供调用,c l i e n t 是服务的请求者,向s e r v e r 发出调用远程过程的请求。 r p c 机制向c l i e n t 提供透明的调用过程,隐瞒底层消息传递操作,使c l i e n t 觉察 不出远程调用和本地调用的区别。通常情况下,远程过程调用是同步通讯,如果 采用线程也能进行异步调用,但使用起来不方便。同步通讯的模式具有一定的局 限性,需要考虑网络或者系统故障、流量控制以及进程同步等复杂问题。而且 c l i e n t 和s e r v e r 直接连接,没有中问代理来处理请求,c l i e n t 发出请求的时候 s e r v e r 必须是运行的,导致c l i e n t 和s e r v e r 的生命周期耦合。c l i e n t 在定位s e r v e r 的位置之前也需要了解其他网络细节,这增加了c l i e n t 的负担。 浙江大学硕士学位论文 j m s 消息中问件安全协议设计与实现 图1 1 1r p c 数据流程 对象请求代理( o b i e c tr e q u e s tb r o k e r ) :对象请求代理口1 是对象技术与分布式 计算结合的产物,可以在异构的分布计算环境中传递对象请求。o r b 拦截c l i e n t 对象的请求,自动寻找实现请求的对象、传送参数、调用相应的方法、返回结果。 c l i e n t 对象不需要了解如何与s e r v e r 对象通讯以及如何激活或存储s e r v e r 对象, 也不必知道s e r v e r 对象的位置、使用什么操作系统或其他与接口无关的成分。由 于o r b 负责请求传送和s e r v e r 定位,c l i e n t 和s e r v e r 之间并不直接连接,相对 r p c 而言,o r b 具有更多灵活性,可以支持更加复杂的应用结构。o r b 与o m g 接口描述语言( o m gi d l ) 以及i i o p 标准协议( i n t e r n e ti n t e r o r bp r o t o c 0 1 ) 构成c o r b a 的三大关键模块。c o r b a 是o m g 组织在1 9 9 1 年提出的基本消息 传递规范,一直有着很广泛的应用。 图1 1 2c o r b a 的基本原理 消息中间件( m e s s a g eo r i e n t e dm i d d l e w a r e ) :消息中间件是利用可靠高效的 消息递送机制帮助分布式应用进行数据交流的系统软件。m o m 独立于操作系统 和网络,屏蔽底层异构操作系统、网络平台、通讯协议、消息格式的差异,为应 用提供一致的通讯标准。原理是基于消息队列的存储转发机制和特有的异步传 输机制,能够基于消息传输和异步事务处理实现应用整合与数据交换。使用m o m 的应用之间不需直接对话,消息发送者把消息放在消息队列中,接受者从队列中 取出消息,有时间的时候再处理。应用程序无需涉及网络通讯的复杂性,维护消 息队列、在网络中传递消息等与通讯有关的活动都由m o m 负责。应用之间通过 消息中间件对话,降低了耦合性。m o m 支持通讯程序之间一对多和多对一方式, 甚至是多种方式组合的对话。 消息中问件主要应用于应用程序的集成,如图1 1 3 所示: 浙江大学硕士学位论文 j m s 消息中间件安全协议设计与实现 叠 一 _ ; 氍 i 褂。: 一| | ; 曩_ :; l 藤日渡 i i 瑾穗葭 ”i l i 嗣瓣懑蕊翮 e 弓凌髑毒嗡蓼f 1i 曩灏瓣镶董= | j 誊;i7 啼e 蠢蠹墓:淼 黪舔辔舞瓣j ; 、 睦;:纂! 翟: fi 警,甄鬻黪零_ _ _ | | | 图1 1 3 消息中间件的位置和作用 i i i 消息中间件的作用 消息中间件主要提供应用集成所必须的数据的递送、收集、翻译、过滤、映 射和路由等功能,屏蔽不同的硬件平台、操作系统、消息格式、通信协议之间的 差异,提供应用到应用之间的高效、便捷的通信能力。消息中间件简化了应用之 间的复杂交互,将变得越来越重要。 消息中间件最典型的应用环境【3 】包括: 1 ) 企业内部或企业之间多个复杂应用之间的通信: 2 1 多个应用采用不同的计算机语言编写; 3 ) 设计阶段就希望系统能使用很长时问,要求扩展性高; 4 1 系统需要处理高吞吐量的信息; 5 ) 多个应用使用的硬件平台、数据库、操作系统是异构的,有多个数据源: 6 ) 存在老的旧的系统,新系统需要与这些系统融合; i i 2 消息中间件的基本特征 消息中间件包含以下几个特征 3 1 : 1 ) 可靠高效的通信:消息中间件支持可靠传输方式,确保“一次并且只有 一次”的递送。消息分为两种类型,非永久性( n o n p e r s i s t e n t ) 消息和永 久性( p e r s i s t e n t ) 消息。非永久性消息存储在内存中,当系统突然掉电后 重新启动时,将不可恢复。如果用户对消息的可靠性要求不高,比较侧 重性能表现,可以采用该种类型的消息。永久性消息是存储在硬盘上, 并且纪录操作日志,它具有高可靠性,在网络和系统发生故障等情况下 都能确保消息不丢、不重。 2 ) 具有数据递送和转换设施:消息中间件的核心是一个独立的消息传递协 议层,实现真正的网络通讯。有专门的消息格式库定义控制消息和应用 消息的格式。对于单个的消息,可以根据消息的源、目的地、类型等定 浙江大学硕士学位论文 j m s 消息中间件安全协议设计与实现 义多个处理步骤,包括消息的格式转换、记录日志和定时传送等。 3 ) 强大的事务处理能力:消息中间件可以跟踪事务,通过把事务存储到硬 盘上实现网络故障时消息和系统状态的恢复。 4 ) 不断完善的安全机制:消息中问件需要保证消息的机密性、完整性、发 送方、接收方的身份鉴别以及操作不可抵赖性。利用非对称密钥、对称 密钥、数字签名等措施,可以帮助m o m 保障消息传输、存储、访问的 安全。 1 1 3 消息中间件的发展趋势 1 、越来越向标准化发展:由于标准接口对于程序可移植性和产品之间互操 作性的重要性,中间件已成为许多标准化工作的主要部分。不管底层的 计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持 中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保证了 应用软件开发和维护的稳定性。s u n 在j 2 e e 中提出的j m s 标准,便于 消息中间件各产品之间的集成。 2 1 面向构件:消息中间件是企业应用集成( e a i ) 的一部分。企业需要一个 稳定的,不容易受到技术发展影响的消息中间件来协助企业业务发展。 新一代的面向构件技术的消息中间件使得企业定制软件时不用从头定 做,也不用将就使用现成的软件,而是根据个性化的需求,从一个比较 完备、比较成熟的构件库组装而成,大大提高了系统的成功率和逐步发 展性。 3 1 商件:复杂的业务逻辑带来应用之间、应用与人之间交互的复杂性,企 业需要一种支持流管理、处理智能化开发的技术。新一代的消息中间件 以商件( b u s i n e s s w a r e ) 形式,提供商务逻辑层开发能力,增加协同处理、 处理自动化等商件模快,比较直观地支持在商务逻辑层上的应用集成与 开发。与商件的结合,是消息产品的一个重要的技术走向。 1 2j a v a 消息服务 1 2 1 起源 i b m 、微软、b e a 等大公司都提供消息中间件产品,但缺乏统一的标准,不利 于互操作。s u n 公司于1 9 9 8 年提出一套旨在统一各种接口的规范, 即j a v a 消 息服务( j a v am e s s a g es e r v i c e ,j m s ) 4 1 。j m s 本身不是消息系统,而是一套 4 浙扛大学硕士学位论文 j m s 捎息中间件安全协议设计与实现 义多个处理步骤,包括消息的格式转换、记录日志和定时传送等。 3 ) 强大的事务处理能力:消息中间件可以跟踪事务,通过把事务存储到硬 盘上实现网络故障时消息和系统状态的恢复。 4 ) 不断完善的安全机制:消息中间件需要保让消息的机密性、完整性、发 送方、接收方的身份鉴别以及操作不可抵赖性。利用非对称密钥、对称 密钥、数字签名等措施,可以帮助m o m 保障消息传输、存储、访问的 安全。 1 1 3 消息中间件的发展趋势 1 1 越来越向标准化发展:由于标准接口对于程序可移植性和产品之间互操 作性的重要性,中间件已成为许多标准化工作的主要部分。不管底层的 计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持 中间什对外的接口定义不变,应用软件几乎不需任何修改,从而保证了 应用软件开发和维护的稳定性。s u n 在j 2 e e 中提出的j m s 标准,便于 消息中间件各产品之问的集成。 2 1 面向构件:消息中间件是企业应用集成( e a i ) 的一部分。企业需要一个 稳定的,不容易受到技术发展影响的消息中问件来哳助企业业务发展。 新一代的面向构件技术的消息中间件使得企业定制软件时不用从头定 做,也不用将就使用现成的软件,而是根据个性化的需求,从一个比较 完备、比较成熟的构件库组装而成,大大提高了系统的成功率和逐步发 展性。 3 1 商件:复杂的业务逻辑带来应用之问、应用与人之间交互的复杂性,企 业需要一种支持流管理、处理智能化开发的技术。新一代的消息中间件 以商件( b u s i n c s s w a r e ) 形式,提供商务逻辑层开发能力,增加协同处理、 处理自动化等商件模快,比较直观地支持在商务逻辑层上的应用集成与 开发。与商件的结合,是消息产品的一个重要的技术走向。 1 2j a v a 消息服务 1 2 1 起源 i b m 、微软、b e a 等大公司都提供消息中间件产品,但缺乏统一的标准,不利 于且操作。s u n 公司下1 9 9 8 年提出一套旨在统一各种接口的规范,即j a v a 消 息服务( j a v am e s s a g es e r v i c e ,j m s ) h 。j m s 本身不是消息系统,而是一套 息服务( j a v am e s s a g es e r v i c e ,j m s ) h 。j m s 本身不是消息系统,而是一套 4 浙江大学硕上学位论文 j m s 消息中间件安全协议设计与实现 抽象接口。就体系结构而言,j m s 与j a v a 数据库互连( j d b c ) a p i 相似,因 为它们都只定义了少数几个类和很大集合的接口。这些接口有待实现,而符合这 些接口的实现的行为是一样的。j m s 为使用消息系统的客户提供了创建、发送、 接收、阅读消息系统中消息的通用方法,支持可靠消息传输、事务和消息过滤等 机制。实现了j m s 接口的消息中间件产品被称为j m s 实现者( j m sp r o v i d e r ) 。 s u n 目前列出了1 2 个经过许可的j l s 实现者和1 6 个未经许可的实现者。众 多实现j m s 的产品因为都遵守j m s 规范,彼此可以互操作,提高了应用程序的可 移植性,这是很大的优势。 j m s 支持点对点( p o i n tt op o i n t ) 和发布订阅( p u b l i s h s u b s c r i b e ) 两 种通信模型,如图l 2 1 1 所示: 图1 2 1 1j m s 两种通讯模型 点对点模型用来支持一对一的消息传送,允许消息发送者和接受者之间通过 名为队列( q u e u e ) 的虚拟通道进行同步或异步的消息传送,采用拉而不是推的 方式。队列可以有多个接受者,一条消息可以被一个接受者接受并只接受一次。 队列还支持浏览的功能,允许消息接受者在接受消息之前先浏览一下队列中的消 息情况。 发布订阅模型用于支持一对多的消息传送,允许消息发送者和接受者通过 名为主题( t o p i c ) 的虚拟通道进行同步或异步的消息递送。接受者可以选择订 阅( s u b s c r i b e ) 某个主题。接受者不需要主动向服务器索取消息,主题获得新 消息后会自动把消息递送给该主题的所有订阅者。接受者还可以执行可持续性订 阅( d u r a b l es u b s c r i b e ) ,这样即使接收者不在线,主题也会保存所有消息, 当接收者处于活动状态时,再把它错失的消息发送给它。 j m s 支持五种消息类型:表格1 2 1 1 详细描述这5 种类型: 表1 2 1 1 消息类型说明 浙江大学烦士学位论文 j m s 消息中间件安垒协议殴计与实现 消息类型 消息体 t e x t m e s s a g e j a v a 1 a n g s t r i n g 对象,如x m l 文件内容 没有消息体,只有消息头和属性 1 2 2 研究现状和不足 s u n 于1 9 9 8 年提出j m s 规范之后,很多厂商都为j m s 提供了实现。自从 j 2 e e l 3 规范推出之后,j m sa p i 已经成为j 2 e e 平台的一部分。目前对应于 j 2 e e l 4 规范的j m s 规范版本是1 _ 1 ,同时e j b 2 1 版本的实现也要依附于j m s i i 。 j m s1 0 2 版本把点对点和发布订阅两种通信模型两种通讯模型当作完全独立 的域来对待,只提供很有限的支持。j m s l 1 统一了这两种域,使得它们可以结 合在一起很好的工作,j m s 客户机代码只需访问并使用消息目的地而无须分清哪 些是队列,哪些是主题,极大地提高了代码的可重用性。 目前实现了j m s 规范的商用产品包括w e b l o g i cm q 、w e b s p h e r em q 、 f i o r a n o m q 、s o n i c m q 等,丌源产品有o p e n j m s 、j o r a m 、j b o s s m q 等。商业产品 普遍要比开源产品稳定高效。不过j m s 规范及产品始终存在着一些不足之处。 1 ) 性能有待提高:实现j m s 规范的消息中间件都是基于j a v a 实现的系统, 效率是一个问题,虽然j m a 已经在这方面做了很多改进,但在性能上仍 有较大提升的必要。 2 ) 缺乏对集群支持:集群环境不仅要求高性能,高可靠性,还要在系统资 源管理方面作许多研究。目前j m s 规范还没有定义对集群的支持,各商 业产品对集群的处理方式也有所不同,较难互操作。 3 ) 缺乏对x m l 格式消息的支持:x m l 跨平台,易扩展的特性使得它在消 息交换的作用越来越大,j m s 虽然提供文本消息这种类型以传输x m l , 但是对它的支持还需进一步加强,不妨把x m l 单独作为一种消息格式, 以s o a p 为互操作协议。 4 1 安全机制不完善:安全是消息中间件的重要特性。然而j m s 规范里没有 定义安全模型和保障消息完整性、保密性的接口,也没有描述如何进行 数字签名和传递密钥。安全机制完全由中间件产品提供商来设计。对j m s 而言,如何传输敏感信息,如何在服务器端存储敏感信息,如何确保只 有经过授权的用户才能访问j m s 资源,如何使安全架构和商业应用代码 浙江大学硕士学位论文 j m s 消息中间件安全协议设计与实现 相分离,都属于安全要考虑的范畴。 1 3 消息中间件面临的安全威胁 安全设计过程是周期性的。消息中间件的安全不是只取决于开发人员在设计 阶段的警戒,还取决于管理员、审计员在中间件整个使用期中的警戒。当然,消 息中间件的初始设计仍然很重要,选择一个易扩展、预见性强、考虑全面、易于 理解的框架可以极大程度地避免安全性缺陷可能发生的频繁度。 在选择正确的安全措施以前,必须先判断消息中间件可能面临的实际威胁口l 和风险。最后所选择的安全技术和措施取决于实际威胁的严重程度、所保护数据 和对象可接受的风险级别以及费用。针对消息中间件的特点,可以把安全威胁分 成以下几类: 身份欺骗:在攻击者可以截取并重播合法用户的身份验证码时发生。攻 击者盗用合法用户的凭据,获取合法用户通常可访问的应用程序和数据。 例如,消息中间件如果使用密码而未对密码加密的身份验证协议,会向 窃听者泄露凭据信息,然后窃听者可以使用该信息来模拟用户。使用加 强的身份验证方法,如k e r b e r o s 或数字证书可以尽量防止这种欺骗。 消息泄漏:消息泄露的严重度取决于所泄露信息的敏感度。例如,泄漏 包含信用卡密码的消息比普通聊天的消息是更严重的麻烦。敏感数据应 使用会话密钥加密,使得监听者即使获得消息也无法解密出内容。 消息篡改:消息篡改是攻击者故意毁坏或更改数据。消息在传输中和存 储时都会受到威胁。为了保证消息完整性,传输时受保护消息应先进行 数字签名后传输。 可否认性:可否认性是否认某项操作已发生。消息中间件应对匿名或注 册用户执行的操作加以记录,如事件审计。使用数字签名和时间戳也可 确保消息发送和接受不可否认性。 拒绝服务:中间件的可用性和可靠性直接受拒绝服务( d o s ) 攻击影响, d o s 使应用程序不能供已授权用户使用,在系统资源被耗尽到不能处理 合法服务请求的程度时发生。d o s 是最容易实施的攻击,常见的方法是 利用t c p i p 协议的缺点。为防御d o s 攻击,消息中间件可限制连接 总数和带宽流量,防止非法攻击托垮整台服务器。不过没有哪种方法绝 对能减轻这类威胁。 权利升级:当用户获得对其通常不可访问的程序或数据部分的特权访问 时,便发生权利升级。消息中间件的管理员在给合法用户分配权限时需 基于“最小权限原则”,分配给用户可进行某些操作的最小的权限即可, 浙江大学硕士学位论文 j m s 消息中间件安全协潋设计与实现 防止权利泛滥,不利于资源访问控制。 1 4 相关工作 消息中问件的安全技术近年来成为国内外的研究热点,保证消息传输和存储 访问的安全是关键问题。文献【6 】从认证、授权、封装三个方面分析了消息中间 件的安全问题,指出具有双向认证功能的基于s s l 之上的p k i 对保障中间件安 全是最好的选择。文献【7 】提出分层消息中间件结构,其中消息应用层提供消息 服务,消息传输层保障传输安全,网络层屏蔽路由差异,安全层保证消息私密性。 文献【8 】讨论了在异构分布式的网络环境下,消息中间件如何构建全局安全策略, 以便服务器之间实施资源访问控制和信任管理。文献【9 】描述了两大消息中间件 品牌i b mm q s e d e s 和微软的m s m q 采取的安全措施,从理论上分析了使用r c 2 技术和微软特有加密a p i 的优缺点。 以上各种研究从安全架构的可靠性、扩展性、灵活性等角度出发,指出消息 中间件需要解决的安全问题。目前实现了j m s 规范的产品通过身份验证、访问 控制、s s l 连接来确保安全。然而只依赖s s l 难以确保消息传输的端到端安全性: 无差别地加密全部消息,易导致系统整体性能下降,带来较高成本;验证方式和 授权粒度缺乏灵活性:审计机制的缺失使得合法用户的遣规操作得不到约束:对 分布式系统的授权管理业界缺乏标准。最重要的是,这种安全设计较零散、局部 化,缺乏全局策略和架构概念。消息中间件需要完整成熟的一套安全协议来指导 具体实现。 1 5 本文研究内容 j m s 产品的安全性主要体现在以下五个方面:身份认证、资源访问控制、消 息私密性、完整性、发送和接收的不可否认性。针对消息中间件的自身特点,理 想的安全机制至少应该如下: 身份认证指系统和用户之间互相认证身份。认证方式有很多种,选择哪种根 据应用系统的安全级别而定。 资源访问控制包括本地和跨域两种模式。直观、容易理解、易于扩展是它的 目标。在跨域、异构、分布、动态的网络环境下,资源访问控制要解决信任管理 和策略协商问题。 保护消息的私密性和完整性意味着确保消息在传输和暂存服务器期间不被 第三方窃取或篡改。目前i n t e m e t 上有几种加密协议在使用,仅仅依赖它们难以 确保消息端到端安全件。消,怠 间件可以构建自己的安全传输协议,有的放矢地 浙江大学硕上学位论文 j m s 消息中间件安全协议设计与实现 对敏感信息选择性的加密和数字签名。 统计表明,6 5 的攻击来自内网。服务器作为消息转发站,存储很多重要信 息。保护服务器不受内网攻击很重要。安全审计可以帮助中间件检测入侵、监控 特权用户活动以及在系统瘫痪或者出现异常事件时做事后分析。 借鉴s s l 、k e r b e r o s 以及信任管理的思想,我们提出面向消息中间件的安全 协议m s t p ( m e s s a g es e c u r i t yt r a n s p o r tp r o t o c 0 1 ) ,如图1 5 1 所示。该协 议包括支持多种认证机制的双向认证协议,基于中心认证服务器的分布式认证协 议,选择性加密消息的传输协议,检测实时入侵、记录合法用户违规操作的审计 协议,基于可信任第三方的分布式信任管理协议,为解决j m s 安全问题提供可 选方案。 1 6 本章小结 图1 5 1 安全协议m s t p 本章节首先介绍了消息中间件的作用、基本特征和技术发展趋势,其中对消 息中间件面临的安全威胁做了较为深入的分析,并指出国内外的研究现状。其次 描述了j a v a 消息服务的发展历程、研究现状和不足。力求让读者对j a v a 消息服 务的相关基本概念以及安全需求有一定了解,为后文行文做铺垫。 9 浙江大学硕十学位论文 j m s 消息中间件安全协议设计与实现 第二章身份认证和消息加密协议 安全控制的重要部分是标识某个人( 称为主体或客户端) 并控制客户端对资 源的访问能力。身份认证是验证客户端身份的行为。一般情况下,客户端必须提 供某些证据,一般称为凭据,来证明其身份。当然,这是传统的单向认证方式。 现在很多系统也支持客户端验证与之通讯的服务器。 常见的认证方式包括口令认证、数字证书认证、使用智能1 c 卡或u s b 卡、 指纹虹膜认证、动态口令双因素( p i n 码+ 物理令牌) 认证等。系统选择哪种认 证方式取决于应用需要的安全级别、实施成本、使用方便程度,因此认证机制的 容易转换很重要。 由于分布式的环境和子系统的自治特点,集中式的认证方式不适用于贫布式 环境。基于中心认证服务器,本章提出消息中间件专用的分布式认证协议,用户 只要通过中心认证服务器的认证,就可以凭服务票据连接多个消息服务器,获取 不同类型的消息服务。 网络通讯往往需要加密数据,目前i n t e r n e t 上有几种加密协议在使用,仅仅 依赖它们难以确保消息端到端安全性,而且无差别地加密全部消息,易导致系统 整体性能下降,带来较高成本。本章提出适用于消息服务器的安全传输协议,有 的放矢地对敏感信息选择性的加密和数字签名。 2 1 集中式认证协议 下面给出消息中间件的集中式认证协议,并就几种常见的认证技术进行分 析。 消息中间件支持单向或双向认证方式。服务器认证用户时可采用j a a s 认证 技术( j a v aa u t h e n t i c a t i o na n d a u t h o r i z a t i o ns e r v i c e ,j a v a 认证和授权服务) ,通 过更换p a m ( p l u g g a b l ea u t h e n t i c a t i o nm o d u l e s ,可插拔的认证模块) ,允许 用户用多种机制进行认证,包括用户名密码核对、数字证书以及生物认证等方 案。j a v a 缺省的安全模块授予权限是基于代码从哪里来的,丽j a a s 授权是基于 谁执行这些代码。这与操作系统的安全模块相似,对用户而言更加容易理解。认 证模型如图2 1 1 所示; 1 0 浙江大学硕士学位论文 j m s 消息中问件安全协议设计与实现 c 1 i e n t s e r v e r 融蝣 l ,睽聪鬻p 糍 姹l i :| =耋。黪诞撩势蒋 吲p 篱燃 戆壤 ,3 ,瓣谢躐l 扎 自陵豁漆 鞭溉 纯潍 簿鬃 镣戆 图2 1 1 认证模型 通常认证方式分为三种类型,可以单独使用也可联合使用: 根据用户知道的凭证:如密码、口令之类的,是最常见的,但不是最安全的, 因为用户知道的凭证也容易被攻击者知道。j m s 规范提供了两个需要用户名和密 码才能获得连接的a p i :c r e a t e q u e u e c o n n e c t i o n ( u s e r n a m e ,p a s s w o r d ) 和 c r e a t e t o p i c c o n n e c t i o n ( u s e r n a m e ,p a s s w o r d ) 。客户端通过这两个方法创建连 接时,服务器采用用户名密码的认证机制。密码通常经过异或或加密后存储在 服务器的独立数据库里。由于密码需要明文或加密形式在网络上传输,所以容易 遭受重播的攻击。 根据用户拥有的凭证:如数字证书、智能卡等,缺点是用户拥有的凭证也可 以被攻击者偷取盗用,不过安全性相比口令已经有所提高。对安全级别较高的应 用,消息中间件需要用户提供数字证书证明合法身份,证书有效且不属于服务器 的黑名单,才允许用户连接。数字证书是一个数字化签署的声明,它包括有关一 个实体和实体公钥的信息,将这两种信息绑定在一起。名为证书颁发机构( c a ) 的受信任单位( 或实体) 在它验证一个实体后向其颁发一个证书。证书可以包括 各种类型的数据。例如x 5 0 9 证书包含以下数据:证书格式、证书序列号、签 署证书使用的算法、颁发证书的c a 的名称、请求证书的实体的名称和公钥以 及c a 的签名。x 5 0 9 客户证书简化了大用户库的身份验证,因为它们不依赖 于集中的帐户数据库,只需通过检查证书就可以验证该证书。 用户自身可以作为凭证:如语音、指纹等生物特征,最大程度地保证安全性。 生物认证技术用于消息中间件有一定难度,价格昂贵技术复杂,只收集所有合法 用户的生物特征就是很大的工作量,适合对安全级别要求很高且封闭环境内的少 量用户使用。 2 2 分布式认证协议 随着网络技术、通讯技术的快速发展,计算机系统已经进入了分布式网络系 统阶段。相比传统的集中式系统,分布式网络系统具有高可靠性、资源共享、负 1 1 浙江大学硕士学位论文 j m s 消息中间件安全协议设计与实现 载平衡、风险分散等优点。消息中间件流行的产品有很多种,同构或异构的若干 个消息中问件可以构成集群提供分布式的消息服务。这样不同主题的消息可以存 储在不同的服务节点上,例如:有的消息服务器专门处理证券金融方面的消息, 有的处理文艺体育方面的。每个节点都是独立运行的服务器,它们之间可以互相 通信,而客户端只感受到是和一个单独的消息系统交互。 然而现有的分布式网络系统由于结构复杂、安全措施缺乏充分的理论分析, 总是存在这样或那样的安全隐患。利用分布式系统的安全漏洞采取的各种主动或 被动的网络攻击屡见不鲜。认证服务是安全系统中很重要的部分,为分布式网络 系统建立一个理想的认证机制一直是国内外的研究热点。 在分布式网络系统中,用户需要从多个服务节点处得到服务,因为客户端在 一个连接中有可能需要发送或接受多台服务器提供的多个消息目的地的消息。这 时身份认证的方法通常有以下三种: a 1 消息服务器不进行认证工作,而由用户登录的计算机来管理用户的认证。 用户只要能通过操作系统的认证,登陆许可连接的计算机,就可以访问 消息服务器。在封闭式网络中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 激励学习热情的商务英语试题答案
- 立讯岗前培训试题及答案
- 风力发电场建设项目社会稳定风险评估与风险评估模型创新报告
- 母婴产品市场2025年消费升级背景下品牌可持续发展研究报告
- 深入探讨乐理考试试题及答案
- 急诊分诊本科试题及答案
- 教师反思与教育改革的实施路径试题及答案
- 研究2025年家具行业设计考试中的项目提案技巧试题及答案
- 情感识别在智能客服技术中的应用:用户需求与市场潜力分析报告
- 教育学综合试题及答案
- 《中电联团体标准-220kV变电站并联直流电源系统技术规范》
- 桥梁博士毕业设计电子版
- MOOC 犯罪心理学-西南政法大学 中国大学慕课答案
- 家族信托与家族财富传承
- 杭港地铁施工培训课件
- 丰富多彩的课间活动课件
- 蓝色卡通风太阳系八大行星知识天文知识科普宣传
- 电磁感应与电磁能量转化实验
- 面部整骨培训课件
- 小班儿歌:水珠宝宝
- 全国中学语文青年教师教学展示活动一等奖《变形记》教学展示课件
评论
0/150
提交评论