(计算机科学与技术专业论文)基于ssl协议的corba安全技术研究.pdf_第1页
(计算机科学与技术专业论文)基于ssl协议的corba安全技术研究.pdf_第2页
(计算机科学与技术专业论文)基于ssl协议的corba安全技术研究.pdf_第3页
(计算机科学与技术专业论文)基于ssl协议的corba安全技术研究.pdf_第4页
(计算机科学与技术专业论文)基于ssl协议的corba安全技术研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机科学与技术专业论文)基于ssl协议的corba安全技术研究.pdf.pdf 免费下载

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

文档简介

国防科学技术人学研究生院学位论文 摘要 ,c o r b a 标准是关于分布计算的一个标准,它将对象技术引入分布计算中, 极大地便利了面向对象的分布式应用开发。但是分布坏境和对象使得c o r b a 应用系统的安全问题成为最基本和最重要的问题之一。为此,对象管理组织 ( o b j e c tm a n a g e rg r o u p ,简称o m g ) 推出了公共对象服务规范c o s s ( c o m m o 1 o b j e c ts e r v i c e ss p e c i f i c a t i o n ) 的c o r b a 安全服务规范。 集成中f 司件s t a r b u s 遵循c o r b a 标准,安全问题限制了它的广泛使用,为 其丌发切实有效的安全服务是必要的。 本文分忻研究了c o r b a 标准和c o r b 叁寥全厦釜规范。认证和加密是基 本的安全服务。本文从认证和加密入手,提出了以s s l ( s e c u r e - s o 文e :l a y e r ) 协议为基础, 芏s t a r b u s 中嵌入安全互操作协议s s l i o p s s lr n ( e r o r b p r o t o c 0 1 ) 的安全膜型: 一s s l 协议是n e t s c a p e 公司提出的网络安全通信协议。它能够防止监听、篡 改和消息伪造。本文重点分析了s s l 协议,设计并实现了置于s t a r b u s o r b 中 的协议s s l i o p 。s s l i o p 封装了s s l 安全机制,提供认证和加密功能,服从 c o r b a 安全服务规范关于安全互操作的规定。在此基础上实现的s t a r b u s 安全 系统为用户提供了一组安全控制接口。、 关键词, 分布式。安全认证加密s s :证书厂 第l 页 国防科学技术人学研究生院学位论文 a b s t r a c t c o r b ai sas t a n d a r df o rd i s t r i b u t e d c o m p u t i n g ,w h i c h u s e s o b j e c t o r i e n t e d t e c h n o l o g y a n dm a k ei t e a s yd e v e l o p i n gd i s t r i b u t e d ,o b j e c t o r i e n t e da p p l i c a t i o n s b e c a u s eo fd i s t r i b u t e de n v i r o n m e n ta n du s eo fo b j e c t ,s e c u r i t yb e c o m e so n eo ft h e m o s tb a s i ca n d i m p o r t a n tp r o b l e m s i n a p p l i c a t i o n s b a s e do nc o r b as t a n d a r d t h e r e f o r e ,o m g ( o b j e c tm a n a g e rg r o u p ) p u b l i s h e d c o r b as e c u r i t ys e r v i c e s p e c i f i c a t i o n w h i c hi sc o n t a i n e d i nc o s s ( c o m m o no b j e c ts e r v i c e ss p e c i f i c a t i o n ) t h ei n t e g r a t e dm i d d l e w a r e ,s t a r b u s ,i sc o m p l i a n tf o rc o l i b as t a n d a r d f o ri t l a c k ss e c u r i t yc o n t r o l s ,i tc a n tb em a d ef u l lu s eo f a n di ti sn e c e s s a r yf o rs t a r b u st o p r o v i d ep r a c t i c a ls e c u r i t ys e r v i c e t h i sp a p e rh a sr e s e a r c h e dt h es t a n d a r do fc o r b a a n dc o r b a s e c u r i t ys e r v i c e s p e c i f i c a t i o n b o t ha u t h e n t i c a t i o na n de n c r y p t i o na l eb a s i cs e c u r i t ys e r v i c e s w i t h t h e m t h ep a p e rg i v e sas e c u r em o d e l ,w h i c hi sb a s e do ns s l ( s e c u r es o c k e tl a y e r ) p r o t o c o la n di m p l e m e n t e db yi n t e g r a t i n gt h es e c u r ei n t e r o p e r a b l ep r o t o c o l - - s s l l o p i n t os t a r b u s d e v e l o p e db yn e t s c a p e ,s s lp r o v i d e s s e c u r ec o m m u n i c a t i o na n d p r e v e n t s e a v e s d r o p p i n g ,t a m p e r i n go rm e s s a g ef o r g e r y b ya n a l y z i n gs s lp r o t o c o l ,t h i sp a p e r d e s i g n sa n di m p l e m e n t ss s l i o pt h a t i s i n t e g r a t e d i n t os t a r b u s o r ba n dp r o v i d e s a u t h e n t i c a t i o na n d e n c r y p t i o n a n ds s l i o pe n c a p s u l a t e s s s la n dc o n f o r m st o c o r b a s e c u r i t ys e r v i c es p e c i f i c a t i o n f u r t h e r m o r e ,i ti m p l e m e n t ss t a r b u ss e c 嘶t y s y s t e m w h i c hp r o v i d e s as e to fi n t e r f a c e st h a tu s e r su s et oc o n t r o ls e c u r e c o m m u n i c a t i o n k e y w o r d d i s t r i b u t e ds y s t e m s e c u r i t y a u t h e n t i c a t i o n e n c r y p t i o n s s lc e r t i f i c a t e 第2 页 国防科学技术人学研究生院。产位论文 第1 章绪论 1 1 面向对象的分布式系统安全 分布式系统具有网络化和异构化的特点,因而比传统系统更易受到攻击。 在分布式系统中,安全是一个重要而普遍的问题。一般来讲,分布式系统的安 全主要面临以下威胁: 用户获得他无权见到的信息。 用户a 假冒成用户b 进行操作。 安全控制被旁路。 监听通讯线路获取机密数据。 篡改对象问的通讯一修改、插入和删除数据。 缺乏责任制度,如没有用户安全操作同志。 由于引进了对象分布式系统面i 临的安全问题变复杂了。这一特征导致系 统存在一些与生俱来的弱点: 系统的动态性。出于对象的创建、修改和消亡,分布式对象系统会不停 地发生变化。 系统成员互不信任。这种情况可以发生在系统的很多级别上,如对象级、 管理员级和操作系统级。 安全机制的层次性问题。面向对象的分御式系统具有很高的层次性,相 应的安全机制也分很多层。层与层之间潜在的不确定的交互把安全问题 变复杂了。 复杂的管理。庞大的面向对象分布式系统管理起来非常困难。 针对上述问题,面向对象的分布式系统一般可采取以下机制达到系统安全 的目的。 1 1 认证:对主体进行身份鉴别和验证。主体是在系统中已注册和可信任的用 户或系统实体。 2 ) 授权和访问控制:决定一个主体是否能够访问某个对象,可以根据主体的 属性和目标对象的控制属性( 主体为调用具体对象实现的指定操作而必须 得到的某种认可) 来决定。 3 ) 安全审计:系统或服务记录下安全相关的事件,用于事后分析。 4 ) 对象之间的安全通信:经常建立在非安全的底层通信基础上。这要求通过 客户与对象之间的身份验证建立安全联系。它还包括保护对象间传输信息 的机密性和完整性。 5 ) 防否认:提供活动的不可辩驳证据,避免活动的发起者否认这一活动的发 第3 页 国防科学技术入学研究生院学位论文 生。 6 ) 代理机制:主体的访问控制信息可以委托给其它对象,使受委托者能够在 指定的条件下代表它。 7 ) 安全信息的管理:例如安全策略的管理。安全策略规定系统安全服务必须 提供的保护。 其中最后两种机制是一般分布式系统安全所没有的。实际应用中系统采取 的安全措旌一般是系统对安全需求和性能相平衡的结果。 1 2 课题的提出 本课题来源于8 6 3 项目一“基于网络的大型分布式计算软件平台及应用框 架”。该项目使用系统集成平台s t a r b u s 。s t a r b u s 采用分布对象技术,遵循 c o r b a 2 3 标准。 s t a r b u s 已成功地达到了以下目标: 按照面向对象的方法设计与实现分布式应用,能够有效控制分布式软件 丌发的复杂性: 无需考虑如何管理和访问异地对象,可以集中精力设计实现应用对象, 能够大大减少分布式应用开发的工作量: 将s t a r b u s 作为标准“软总线”,易于设计可重用性、移植性和互操作性 好的对象构件,从而极大地提高分布式应用系统丌发的效率。 s t a r b u s 在分布计算领域有广阔的应用前景,目前在石油工业、航天设计和 电信管理上已有一定的应用。 s t a r b u s 是种面向对象的分布式系统,同样面临前文所述安全问题。解决 它的安全问题也需要配置适当的安全服务。s t a r b u s 原有安全服务是基于k e r b e r o s 协议的。它在对象安全交互的过程中需要第三方密钥分配中心( k d c ) 的参与。 k d c 的存在是一个潜在的安全隐患,因为它保存了很多秘密信息。为避免k d c 信息泄密而导致系统安全失效,用s s l 协议代替k e r b e r o s 协议是一种有效的 方法。 n e t s c a p e 公司于1 9 9 3 年提出了网络安全通信的协议s s l ( s e c u r es o c k e t s l a y e r ) 。它是一个建立在t c p i p 上提供秘密通信的安全协议;它为c l i e n t s e r v e r 应用提供可靠连接方式下的防窃听、防篡改、防信息伪造的通信。目前在电子 邮件、网络浏览器上已有应用。从用户角度来看,s s l 不需要一个k d c 的主动 参与,因为数字签名可以代替它。因此网络连接是一个双方事务,可以没有第 三方的介入,避免了k d c 泄密的危险。本文将在第三章中讨论数字签名。 本课题的研究重点是研究分布对象应用的安全机制,实现基于s s l 协议的 s t a r b u s 安全系统,使得在此基础上的应用开发无需涉及分布环境的内部细节( 如 网络传输行为) 就可以获得安全服务,从而达到降低分布应用的开发难度、提高 软件生产率的目的。 第4 页 国防科学技术人学研究生院学位论文 1 3 论文结构 在绪论之后,第二章将介绍c o r b a 模型和c o r b a 安全参考模型,在此 基础上提出了一个基于s s l 协议的s t a r b u s 安全模型。第三章阐述了s s l 协议 的相关技术。第四章首先规划了基于s s l 协议的s t a r b u s 安全系统结构,然后 比较了s s l i o p 协议与i i o p 协议。通过分析 i o p 协议实现找到了实现s s l i o p 协议的方法,并以u m l 类图形式描述了整个安全系统的实现。第五章以s s l 协议为重点分析了系统的安全性,并通过测试论证了系统的安全。 第5 页 国防科学技术人学研究生院学位论文 第2 章基于s s l 协议的c o r b a 安全 九十年代,计算技术最引人注目的进展之一就是应用环境从集中走向分布 其中c 1 i e n d s e r v e r 计算成为分布计算的主流技术。 2 1 1c o p j 3 a 标准的制定 当今的企业计算应用均分布在不同的部门和越来越广阔的地区,分布性已 经成为现代企业计算环境的显著特征。同时,企业计算环境通常是分阶段逐步 建设的,是一个不断发展的长期的过程,这就决定了企业计算环境必须具有可 扩展性。另外,由于建设目标、功能需求、投资强度和技术更新等诸多因素在 不同时期存在的客观差异,企业计算环境存在着天然的异构性。上述特点使得 大型企业和组织机构在开发分布式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 o r b a 规范是在分布、异构环境中用对象技术解决客户服务器结构的标准。 它成功地总结了对象技术的最新应用经验,改进并发展了传统的c i i e n t s e r v e r 馍型,遵循此标准编制的软件产品可以方便地解决许多复杂条件下的互操作问 题( 如多厂家环境,多语言实现,异构硬件平台,异构操作系统和异构网络) 。 c o r b a 规范是由o m g 制定的标准。o m g 作为一个国际工业联盟,成立于1 9 8 9 年,最初是由3 c o m 、美国航空、佳能、i b m 、h p 、p h i l i p s 电讯、s u n 和u n i s y s 等八家大公司发起的。至今已经有5 0 0 多个会员,几乎包括了所有著名的计算机 公司。0 m g 致力于面向对象软件开发的实践与理论:它们的目标就是为应用对象 第6 页 国防科学技术人学研究生院学位论文 之间的通讯提供一个通用的结构化框架( f r a m e w o r k ) ,这个结构化框架不光是 能在同种平台上运行,最主要的是它能够适应分布的异构环境( 不同的硬件平台 或者不同的操作系统平台) 。 o m g 自身并不完成开发工作,它依赖于会员公司提供的技术。在制定c o r b a 标准规范的过程中,它首先要向所有的会员公司提供对象技术各个方面的建议请 求( r e q u e s t sf o rp r o p o s a l s ,简称r f p s ) ,各个成员公司然后提供一个包括详 细概念实现在内的建议规范,o m 6 委员会通过对各个建议的修订与表决,产生一 个标准规范,各家厂商再依据标准规范提供它们的产品。 1 9 9 3 年,o m 6 提交了c o r b a 版本i 2 ;1 9 9 5 年提供了c o r g a 版本2 o 。目前 最新的标准为c o r b a 2 3 。 2 1 2c o r b a 模型 c o r b a 全称通用对象清求代理体系结构( c o m m o no b j e c tr e q u e s tb r o k e r r c h i t e c t u r e ) ,这是个通过对象请求代理( o r b ) 定位和激活其它对象的规 范( 如图2 1 所示) 。c o r b a 对象模型基于这样的一个思想: 【对象是个被封装的实体,它们提供一个或多个服务。 2 半,o 用一种独立于语占的请求方式( 中性请求方式) 请求服务器服务。 邝些封装后实现的对象都是服务器能够动态加载的实体( 对象实现) 。 3 对象也被表示成对象引用( o b j e c tr e f e r e n c e ) ,一个对象可以被表示成 多个不同的对象引用。对象引用通过“字符串化”后可以转换成字符串: 反之,客户也可以将字符串形式的对象引用还原到原始的对象引用,并 且可以向该对象引用发请求。 4 客户发出请求,获得服务。请求包括目标对象的信息( 对象引用) ,操作 名字,操作需要的实际参数,必要的时候还要加上操作语景等。请求可 以由预编译器生成,也可以由动态启动机制来产生。一个请求将完成 个服务,如果有一个非正常的条件发生,请求将返回一个异常情况。客 户使用的对象所发出的请求经过对象请求代理( o r b ) 传递给相应的对象 实现。 5 客户对对象实现可能发出的操作请求是由对象实现的接口定义的。接口 由o m 6 的接口描述语言( d l :i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 定义。 d l 允许说明模块、接口、异常、常量和类型定义。模块规定了变量作用 域。接口除定义类型、常量和异常以外还包含属性及操作的说明。接口 可以是单重或多重继承。o r b 对操作的 d l 定义并不是必须的。在实际使 用中,类型信息可以通过i d l 接口获得,也可以通过存根程序或接口池 来获得。 6 o r b 通过一个或多个对象适配器( o b j e c ta d a p t e r ,简称o a ) 提供它的服 务。每个对象适配器将提供对象引用生成与解释的方法,对象实现的激 第7 页 国防科学技术人学研究生院学位论文 活与休眠手段,对象实现的注册等等,不同的对象适配器针对不同的实 现组,比如数据库适配器,高安全性适配器等。 图2 1c o r b a2 3 的结构 2 1 3 对象请求代理( o r b ) 机制 _ ;生c + + 程序设计环境中,请求对象服务的代码与对象的实现代码在同一地 址空f b j 中,两段代码的连接由编译器中的连接器完成,程序员无需关心该问题。 但在分和式应用中,请求对象服务的代码与对象的实现代码常常不在同一台计 算机上,这就需要对象请求代理( o b j e c tr e q u e s tb r o k e r ,o r b ) 机制实现这两 部分的连接。 图2 26 r b 原理 o r b 的原理如图2 2 所示。在对象的使用方引入一个异地对象的代理,由它 将对象使用者的请求传递给异地的对象实现,并将异地对象的服务结果返回对 第8 页 国防科、技术j 、学研究生院学阿抡文 象使用者:在对象的实现方引入一个对象适配器,出它截获异地发来的请求, 激活被请求的对象完成指定的任务,并将结果返回请求方。 引入对象请求代理使得对象使用者无需关注和处理琐碎繁杂的异地访问对 象问题,1 其现异地对象访问本地化:对象适配器的引入使得对象实现者无需关 i i 上和处理琐碎繁杂的异地请求相应问题。 在c o r b a 产品中,c 1i e n t 与s e r v e r 是一个相对的概念。对象请求者相对 f 坡请求的对象是c l ie n t 。相应地,被请求的对象相对于请求者是s e r v e r 。 2 1 4o r b 的结构 f ) r b 管理客户对象与服务器对象之间的交互,它包含分布式计算环境的重要 要素,如定位与引用对象,请求参数与操作结果的整理( 其中包括在进程内、进 f l 川、饥器删和网络间数据的表示、翻译与传递) 。o r b 的结构包含在图2 1 中, 它强调了接口与实现的分离。o r b 的内容按用途可分为三部分:客户方部分,服 务器方部分# 口o r i b 内核。 ( ) r b 牟o 玎部分的结构 铎,。疗山三部分组成,也可以讲为客户与服务器之间提供了三种交互的途 f 子 静态仔根接口由一些格式比较固定的程序段组成。这些程序片段由f i ) l 编译 器 良训f 队接ll 定义自动产生的:它们编译后链入客户程序;在客户程序运行过 p 岜们渊川( ) r i b 的接l ,许由o r b i a 7 服务器传递方法渊用。存根程序衷现为一种 牟。勺洲b + 丈观之m 的语吉映射,只要有某种语言的映射存在就可以用该种语言 术。巧铎户雕序。与动态启动接口相比,静态的存根进程更具效率与安全性。 瑚念启动接口( d 【i ) 用于运行时组织特定的清求。客户通过对o r b 方法的调 q 束利用动态接口。当编译时没有或暂时不能获得接口类型的信息时,动态启动 接 1 就显得很重要。 还有一种客户方接口是o r b 艮务。它们是一些可以被客户程序直接调用的o r b 方法。 实现方部分的结构 在c o r b a 的规范定义中,与客户相对应的概念是对象实现,它就是我们常说 的服务器:不过是用带对象的语义的方式来称呼它。通常对象实现使用其它对象 或应用程序来实现它的对象行为。形形式式的对象实现都应该被支持。从理论上 | 井通过对象适配器,各种风格的对象实现都可以在o r b 中得到支持。 o r b 在对象实现方由四个部分组成。静态 d l 框架、动态框架、o r b 服务和对 象适配器。前三个分别与客户方的三个概念相对应。 1 d l 静念框架是个回调接口,它是o r b 调用对象实现的框架方法的接口。o r b 收到了客户请求后,可以使用这个接口访问到对象实现。对于 d l 接口定义中的 每个方法都有对应的一个框架。 第9 页 目防科+ 技术人+ 、产研究生院+ 学位论义 动念框架支持动态地启动对缘的一个方法。它与客户方的动态启动框架相对 应,当时缘实现提供t 一种能通过操作名字与操作参数访问对象实现的接口时, o r b 就可以通过这种方式访问到对象实现。为了确定参数,可以使用纯静态信息, 电可以从接口池中动态地获得信息。实现代码必须为o r b 提供所有关于操作参数 的描述:o r b 提供完成操作所需要的一些输入参数。对象实现程序还要提供每个 愉出参数、异常及返回值。在对象实现方的静态框架和动态框架与客户方的i d l 存根程序和动念启动框架之间并没有必然的对应关系。也就是说客户方与对象实 现方中间的沟通桥梁只有o r b 核,消息是他们的载体。客户程序与对象实现选择 静念或动态方法都是它们自己的事情。 o r b 月e 务的体现是o r b 接口,这个接口与客户方的o r b 接口是致的。 对象适配器负责将o r b 收到的对象请求进行适配,再分发给相应的对象实现。 这个过程也叫敞转。 o o r b 内核 实现了磐户方和服务器方的通讯协议,以及不同o r b 之j 日j 互操作的协议,提供 计象的荩本表示并且完成对象之州的通讯,实现对象之问的安全功能。 f ) t b j 以有多种不同的实现方法,它与【d l 编泽器、接口池、实现池以及各种 时象适配器一起,为有不同性能和质量要求的客户和对象实现提供全套服务。 2 1 5g i o p i i o p 协议 为爻现o r b 削的互操作,c o r b a 规范定义了互操作协议:g l o p ( g e n e r j c n l e r ( ) r bp r ol o c 0 1 ) 协议和【i o p ( in t e r n ec i n t e r o r bp r o t o c 0 1 ) 协议。 g f 0 p 定义了o r b 之间通信的消息格式和公共数据表示( c o m m o nd a t a r e p r e s e n t i0 1 1 ,c d r ) 。基本的i d l 类型、客户与对象实现之间交互的基本请 求格式以及【o r ( in t e r o p e r a b l eo b j e ccr e l :e r e n c e ) 都按照c d r 表示。g l o p 直 接在面向连接的传输层协议上工作。 【i o p 咖议规定了怎样使用t c p i p 连接交换g i o p 消息,是一种i n t e r n e t 的标准互操作协议。除了o r b 所在操作系统或其他特殊原因要求使用其他协议 之外,【l o p 适用于在i n t e r n e t 协议域内的任何o r b 。在某种意义上它表示了 f c p ip 不境下基本的o r b 互操作济议。i l o p 与g f o p 的联系类似于一种特殊语 啬剑【d l 的映射。g i o p 可以映射到不同的传输层协议,但它也为所有的协议规 定了共同的协议成员。g o p 本身不提供全部互操作机制,这就像i d l 不能用来 编写完整的程序一样。i l o p 协议和g l o p 到传输层协议的其他映射都是抽象的 g i o p 定义的具体实现。 f o r ( in t e r o p e r a b l eo b j e c tr e f e r e n c e ) 是实现方产生的对象引用,表示 对象的类型、对象所在o r b 支持的协议和服务。 o r 至少包括一个p r o f i l e ,每 个p r o f i l e 支持种协议或多种协议。p r o f i le 封装了它支持的协议i : ! 别对象 听需的基本信息,对应于一个【o p :t a g g e d p r o r i l e 结构。每个 第l o 硬 嗍防料。学技术人蜥宄生院了:付论文 o i :7 a g g e d p r o e 都有个标识p r o f i l e 属性的t a g 。 l o p 的p r o t e 标识通过i i o p 协议可以访问的对象,其格式如下 m o d u jef l o p j s t f u c tv e r si o r o c t e t o c t e t m a j o f m ln o r s tf u ccp r o f i 1 e b o d y - l 一0 v0 r s l o d l l t ) p v e r s lo n : l r in gh o s t : u n s lg n e ds n o r t p o r l : o ( u o n e e o bi e c tk eo v cr s l 0 1 3 1 1o p _ v e r s lo r : 、tr 1n gn o s t : 1 1 r l sig n e ds h o f t p o t t : s l , q u e n c e o h j e t t k e y 1 1 版本新增 s e q u e n c e c o m p o n e n c s 其中的成员定义为: o p v e r s i o n 描述注册对象的o r b 支持的ii o p 版本号; h o s t 标识对象接收g i o p 消息的i n t e r n e t 主机; 0 0 r e 标对象的代i 坠侦听连接请求的t c p 【p 端口号; o b j e c t k e y f hf 标识请求信息中被请求的对象。它与对象的对应关系应该是无二义的。 c o m p o r l e n t s 舫科学技术人产研究生院。学位论文 它足个t a g g e d c o m p o n e nc 序列,其中每个r a g g e d c o m p o n e n t 的p r o f il e 描述川r 对象调用的特殊信息。这些信息r 叮用于r f o p 的加强版或支持o r b 服务和其它的g i o p 阱汉映射等, 现有c o r b a 标准支持【 o p l 0 、【1 和l 、2 。支持i l o p l 0 的p r o nl e 使用 p r o l l | 1 e b o d y l 一0 结构:支持【i o p i i 干【】1 2 的p r o f 1 e 使用p r o f ile b o d y l - l 结构。这两种结构经过变换后作为l o p :t a g g e d p r o i 。i l e 的成员。此时 l o l l :】、a g g e d p r o f i l e 的t a g 值为t a g 一 n t e r n e t 1 0 p 。 客户方可以根据实现方对象的【o r 向实现方发请求。客户方o r b 首先把客 户方的请求转化为与语言、操作系统和硬件无关的g 1 0 p 请求,然后传给i j o p 咖议层。o p 把g l o p 对象定位信息转化为对象实现的具体地址( t c p 主机和端 lj ) ,同时创建包含g l o p 请求的传输消息。客户方o r b 把创建的消息发给实现 ,j 运行的o r b 。实现方的o r b 通过与客户方相逆的过程把客户方请求交给对象 兵现。整个过程如图2 3 所示, 。一。_ 。宜卢、对象实现 、:! j 一1 一, d 崾1 :3 操作调j u 、 o r b r 一 一语f g l o p ,士寻l l o p 一= 2 i 、 消,刨请求1 消息请求j i 二= = = 二= = = := 二二= = = = = = = = :二 图2 3o e b 交互过程 2 2c o r b a 安全参考模型 为了解决c o r b a 应用的安全问题,o m g 制定了c o s s 的安全服务规范。分布 - c 防同操作的系统是o m g 的对象管理体系结构( o m a ) 的最终目标,它必须支持 多种安全策略。因此c o r b a 安全服务规范提出了安全参考模型( s r m ) 。s r m 提 f = 乓了实施多种安全策略的框架。本节将在c o r b a 安全服务规范的基础上对s r m 进行讨论。 第1 2 页 【j i | 防科学技术、? 研究生院列寸沦文 2 2 1 认证:标识和特权 c o r b a 安全服务s r m 所关注的实体足主体。主体可以通过多种方式得到认 证。主体最常用的方法是口令验证。主体的认证信息( 如长期密钥) 需要跟对 象联系起来。 至体的属性集表示了c o r b a 安全服务需要的信息。c o r b a 安全服务利用这 j 信息决定是否允许主体做某件事。s r m 规定了丽类属性:标识属性和特权属 眭。标识属性用于主体承担责任、签发信息、某些形式的访问控制和对象实现 使用管理。根据系统策略,主体的每次应用可以有不同的标识或使用相同的标 以。特权属性为c o r b a 安全服务的访问决策提供了基础。系统施加的访问策略 删埘这个二、e 体预先规定的访问限制确定哪些特权属性对主体可用。 伍s r m 中主体并不是真萨的对象,但是表示主体的系统信息封装在 c r e d e nl 1 a i st 凭证) 对象中。图2 4 显示了c r e d e n t i a i s 对象的创建过程。u s e r s p o n s o rl 例如在认证用户时调用c o r b a 安全服务接口的代码) 代表主体请求 阿1n c lp a l a u t h e n t lc a t o r 对象执行认证主体的操作,操作需要使用主体的安全 彩、 人旺信息和特丰义属性。 图2 4c o r b a 安全服务认证体系 2 2 2 安全联系和信息保护 c o r b a 系统中只有客户和对象能处理操作请求并对这些请求作出应答。在 这个过程中o r b 在客户和对象之问维持着牢固的连接。c o r b a 安全服务在这种 连接之上建立安全联系。建立安全联系就是在客户和对象之间建立信任关系和 协商如何保护传输的信息。从某种意义上说,安全联系是客户和对象之间关于 信息保护的类型和强度的公共协议。建立安全联系的技术和系统由此而具有的 特性由客户和对象各自的管理和技术安全策略以及他们的公共安全机制而定。 第1 3 页 国防科学十盍术、研究生院1 能沦文 c o r b a 安全服务觇范为设置客户和对象的安全联系策略定义了一组管理接口和 可选的名字。 c o r b a 安全服务提供的信息保护包括:机密性保护和完整性保护。客户与 对象之间的安全联系决定了它们之间信息传输保护的质量。一般信息保护由o r b 信息层提供。但在某些时候,保护可以在o r b 信息层以下提供。例如,依靠物 理手段进行信息保护。 2 2 3 对象调用访问控制 在o m a 分布式对象系统中,访问控制基本分为两个级别:对象调用访问控制 和应用访问控制。对象调用访问控制在对象调用时由o r b 自动实施,而应用访 叫控制由应用自己实施。 对象调用访问控制服务是基于对象调用访问策略实现的。对象访问控制策 略控制代表当前主体的客户是否能调用目标对象上的操作。对于所有的应用, 不管它们有无安全意识,对象调用访问控制策略由o r b 和o r b 使用的安全服务 其施。埘琢调用访问控制策略由a c c e s sd e c i s 1o i l 功能实现。当被要求检查访 m 是否陂危许a c c e s sd e c is io i l 函数只提供y e s 或n o 回答。客户方访问判定 函数用于刈断客户能否调用目标对象l 指定的操作。目标方访问判定函数判断 对象是否接受凋_ e j 。某些系统可能只支持目标方控制,甚至仅把它们用于某些 对象。c o r b a 安全服务访问策略通过主体的特权属性和目标对象的控制属性表 示。主体的特权属性封装在c o r b a 安全服务的c r e d e n t i a l s 对象中,目标对象 的控制属性封装在c o r b a 安全服务的、c c e s s d e c i s i o n 对象中。 对象调用访问控制服务通过截获对象调用( 如请求) 实现a 截获可能发生 庄客户刷目标两方。一旦o r b 截获到对象调用,o r b 就咨询c r e d e n t i a l s 对象 获取客户对象拥有的特权。然后这组特权作为a c c e s s d e c i s i o n 对象的 a c c e s sa o w e d 操作的参数,由这个操作判断是否继续对象调用。 2 2 4 安全审计 安全审计记录系统发生的安全相关事件,帮助审查系统危害。备个系统对 安全相关事件的定义并不一致,因此c o r b a 安全服务s r m 和规范都包括安全审 计策略,说明在什么情况下事件应被审计。审计策略分为两类:一是系统审计 策略,控制o r b 和c o r b a 安全服务事件的审计;二是应用审计策略,控制发生 在应用范围事件的审计。 安全审计策略确定是否审计某事件基于以下几点: 事件类型( 如方法调用完成、昕做的访问控制检查和安全联系的建立 等) 。 事件的成功或失败( 只审计失败事件) 。 第1 、l 页 国防科。 技术人。 研究生院学何论文 破调用的对象和操作。 代表请求调用的主体的审计f d 。 日期、时间。 c o r b a 安全服务规范提供了完备的系统审计策略。系统审计策略在所有应 用中都是自动实施的,即使在没有安全意识的应用中也不例外。另外规范还规 定了一种特殊应用审计策略,根据事件的类型、事件的成功或失败确定是否审 计此事件。c o r b a 安全服务模仿c o r b a 事件服务,规定由审计事件生产者把事 件发送到审计通道。但是规范中没有说明审计通道的消费者如何处理通道中的 记录。 2 2 5 代理 在c o r b a 系统中,存在这样一种情况,客户调用目标对象执行某一操作, 但是目标对象自己不能完成这个操作。于是目标对象就请求其它对象执行这个 操作。这样形成了对象之阃的请求链,使得系统的访问控制复杂化了。从访问 控制的立场束看,问题变成了从客户到目标的对象请求链中某一请求的后续请 求能用l 哪止 特卡义。针对这一问题,c o r b a 安全服务觇范提出了特权代理的概念。 九特权代理。p 启动t 体( 请求链中第一个客户1 的特权属性以某种形式委托给 【j 对象鼠到传到最终目标对象。f i 标对象依据收到的特权属性作访问决定。 c t ) l ? b , 4 安全服务舭范给出了如f 血类代理策略。 无代理一这种情况下中吲对象只能利用自己的特权属性,而且不能把属 性委托给其它对象。 简单代理一中f b 对象使用启动主体的特权属性代替自己的特权。目标对 象收到的只是启动主体的特权,不知道中f i l y 4 象是哪个对象。 复合代理一中间对象能够使用客户的凭证,还能把这个凭证委托给其它 对象。客户和中捌对象的特权都传递给目标对象。所以目标对象可分别 脸查客户特权和中问对象的特权。 混合特权代理一客户同意中间对象使用它的特权。中间对象把客户的特 权转化为凭证并与自己的凭证结合起来。这种情况下目标不能区别特权 分别束自哪个主体。 跟踪代理一实际上是复合代理的扩展。在请求链中每个中间对象都把自 己的特权和收到的特权传递下去。这样最终目标就能跟踪代理的序列并 就任何中问对象特权作出访问控制判断。 2 2 6 防否认 相当多的应用都有防否认安全服务的需求。防否i k l 最务为每次发生的活动 产生不可辩驳的证据。根据不同的安全机制和策略,防否认需要一个或多个可 第1 5 页 虱防科产技术人中研究生院学何论文 信任的第三方参与。c o r b a 防否认服务为有安全意识的应用而设计,不在标准 c o r b a 安全服务或o r b 中使用。c o r b a 的防否认服务不但可生成仅在使用防否认 服务的应用上下文中相关的证据,而且可生成与信息的创建( 起源) 和接收( 发 送) 相关的证据。防否认服务不提供成功调用某对象的证据。因为这种情况需 要在o r b 中使用防否认服务。 c o r b a 安全的防否认服务只提供国际标准组织( i s o ) 防否认模型中证据产 7 e 和验证的功能( 见图2 j ) 。这意味着它只为应用提供以下操作: 1 产生活动的证据。 2 验证活动的证据。 j 请求发送消息的证据。 4 接收对收到信息证据的请求。 j 分析活动的证据。 6 收集需要长期保存的证据。 图2 5i s o ( c o p , b a 安全服务) 防否认模型 2 2 7 安全管理 在c o r b a 系统中分别管理每个对象的开销太大。因此c o r b a 标准提出了域 的概念。域是具有一定的公共特征并遵守一定公共规则的对象集。为管理安全 相关对象,c o r b a 安全服务定义了三类有关安全的域: 安全策略域一实施安全策略的作用域。 安全技术域一使用相同技术实现安全服务的对象或实体的集合。 安全环境域一在域内策略的实施可通过基于环境的手段而不是在对象系 统中完成。例如所有网络连接的线路加密可以承当c o r b a 安全服务确 保信息机密性的职责。 第1 6 页 国防科学技术人。j “毋究生院学付论文 c o r b a 安全服务规范着重讨论了安全策略域。彻底解决管理c o r b a 安全服 务需要管理安全策略域的以下三方面: 1 管理安全策略域本身,包括创建、删除域和建立它们之间的联系。 2 管理域的成员对象,包括在域之剧迁移对象的能力。 3 管理每个域实施的策略。不仅为域指定策略,还要设置安全策略的细节。 现有c o r b a 安全服务规范虽然在上述1 、2 方面只规定了最低限度的服务, 但是对第3 方面进行了详细说明。它包括了管理安全策略的框架和如何管理特 殊策略的细节,如指定域中信息保护缺省质量、代理凭证和审计事件的策略。 2 3 基于s s l 协议的s t a r b u s 安全模型 c o r b a 安全参考模型仅仅是设计实现c o r b a 安全系统的指导方针。根据系 统实翰、需要,c o r b a 安全服务可以有不同的具体实现方案。针对s t a r b u s 的特 电,参照c o r b a 安全服务规范提出一个s z a r b u s 安全模型是本节的重点。 2 3 1 安全问题的关键一加密和认证 s r l u s 的交n 体现在对象之川f 门请求和服务( 即应答) 上。这些清求和应 斡经过o r i :i 的处理,都表现为网络j 二传输的信息。因此,s t ar b u s 安仑的二t 耍 川题集- ,在o r b 之删传输的信窟、的真实性和保密性上。保证信息的真实性和保 密性是实现sf a r b u s 安全的重点。 加密是保证信息保密性的有效手段。加密和认证结合又可保证信息

温馨提示

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

评论

0/150

提交评论