




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)基于corba的分布式安全体系设计及实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 c o r b a 是为了解决分布式计算环境( d c e ,d i s t i l b u t e dc o m p u t i n g e n v i r o n m e n t ) 中不同硬件设备和软件系统的互联,增强了网络之间软件的互操 作性,解决传统分布式计算模式中的不足等问题而提出的,以增强软件系统间的 互操作能力,使构造灵活的分布式应用系统成为可能。c o r b a 定义了一种面向 对象的软件构件构造方法,使不同的应用可以共享由此构造出来的软件构件。每 个对象都将其内部操作细节封装起来,同时又向外界提供了精确定义的接口,从 而降低了应用系统的复杂性,也降低了软件开发费用。 由于c o r b a 系统特有的分布式特点,导致其相对于其他信息系统更易于遭 受到外界的攻击,c o r b a 系统安全化已经成为一项重要的任务。本文主要基于 c o r b a 安全参考模型,提出了一个基于o p e n s s l 的c o r b a 安全服务体系,其 中主要包括了两个模块:安全服务模块和证书管理模块。实现了通讯加密、身份 认证、访问控制、证书生成、证书发放、证书吊销、证书吊销列表更新等功能。 通讯加密的设计主要根据o p e n s s l 的s s l 库中的a p i 函数和c o r b a 实现 中的安全应用,它得益于s s l 协议的应用层独立无关性,不需要实现复杂的 s e c i o p 协议。身份认证功能基于s s l 认证机制,通过封装s s l 握手过程完成, 简洁而有效。访问控制主要基于o p e n s s l 中相关x 5 0 9 证书的a p i 来实现。 证书生成、证书发放、证书吊销、证书吊销列表更新等功能设计主要依靠 o p e n s s l 库中相关的c a a p i 、o p c n s s lc a 目录结构和o p e n s s l 提供的命令行 工具来实现。 在本文的最后给出了应用实例,将文中的安全体系结构集成在分布式系统税 控收款机样机系统中。 关键词o p e n s s l :c o r b a ;安全服务;s s l ;p k i a b s 仃a c t llllllll a b s t r a c t t h ep u r p o s eo fc o r b aw a st od e a lw i t ht h ec o n n e c t i o no fd i f f e r e n th a r d w a r e a n ds o f t w a r es y s t e mi nt h ed 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 os t r e n g t h e nt h e i n t e r o p e r a b i l i t yo fs o f h , v a r eb e t w e e nt h en e t w o r k ,t os o l v et h es h o r t a g eo fd i s t r i b u t e c o m p u t i n gp a t t e r n c o r b ah a sd e f i n e das o f t w a r ec o m p o n e n tc o n s t r u c t i o nm e t h o d a l l o w e dd i f f e r e n ta p p l i c a t i o n st os h a r et h e i rs o f t w a r ec o m p o n e n tw h i c hi sb u i l tb yt h i s m e t h o d e v e r yo b j e c te n c a p s u l a t e di t s p a r t i c u l a r so fi n t e r n a lf u n c t i o n s ,m e a n w h i l e , o f f e r e da na c c u r a t ed e f i n e di n t e r f a c :et oe x t e r n a la p p l i c a t i o n s ,t h e r e b yr e d u c et h e c o m p l e x i t yo ft h ea p p l i c a t i o ns y s t e ma l s oc u td o w nt h ee x p e n d i t u r ed u r i n gs o f t w a r e e n g i n e e r i n g b e c a u s eo ft h ed i s t r i b u t e dc h a r a c t e r i s t i co fc o r b as y s t e m ,i tm a d ec o r b a s y s t e mc o u l db e i n ga c c e s s e db yt h ee x t e r n a la t t a c k sm u c he a s i e rt h a no t h e rs y s t e m , s e c u r i t yi sb e c o m i n gam a j o rt a s ko fc o r b as y s t e me n g i n e e r i n g t h i sd i s s e r t a t i o ni s m a i n l yb a s e do nc o r b as e c u r i t yr e f e r e n c em o d e l ,p o s e d a l lo p e n s s l - b a s e d c o r b as e c u r i t ys e r v i c ea r c h i t e c t u r e ,w h i c hm a i n l yi n c l u d e st w om o d u l e s :s e c u r i t y s e r v i c em o d e la n dc e r t i f i c a t ea d m i n i s t r a t i o nm o d e l ,t h ec o m m u n i c a t i o ne n c r y p t i o n , a u t h e n t i c a t i o n , a c c e s sc o n t r o l ,c e r t i f i c a t eg e n e r a t i o n , c e r t i f i c a t ei s s u a n c e ,c e r t i f i c a t e r e v o c a t i o n ,c e r t i f i c a t er e v o c a t i o nl i s tu p d a t ef u n c t i o n sh a sb e e nr e a l i z e d e n c r y p t e dc o m m u n i c a t i o n sd e s i g n e dp r i m a r i l yo nt h eb a s i so fa p if u n c t i o n sf r o m o p e n s s l ss s ll i b r a r ya n dt h es e c u r i t ya c h i e v e m e n to fc o r b ai m p l e m e n t a t i o n ,i t w a sb e n e f i t e df r o mt h ei n d e p e n d e n c yc h a r a c t e r i s t i co fs s lp r o t o c o la p p l i c a t i o nl a y e r , t h e r ei sn on e e dt oa c h i e v et h ec o m p l e xs e c i o pp r o t o c 0 1 a u t h e n t i c a t i o nb a s e do n s s la u t h e n t i c a t i o nm e c h a n i s m ,i tw a sa c c o m p l i s h e db ys s lh a n d s h a k ep r o t o c o l ,a n d i tw a ss i m p l ea n de f f e c t i v e a c c e s sc o n t r o li sm a i n l yb a s e do nt h eo p e n s s lr e l a t e d x 5 0 9c e r t i f i c a t ea p i c e r t i f i c a t eg e n e r a t i o n ,c e r t i f i c a t ei s s u a n c e ,c e r t i f i c a t er e v o c a t i o n ,c e r t i f i c a t e r e v o c a t i o nl i s tu p d a t e ,e t c ,f u n c t i o n si sc h i e f l yd e p e n do i lo p e n s s l - r e l a t e dc aa p i , o p e n s s lc ac a t a l o ga r c h i t e c t u r ea n dc o m m a n d l i n et o o l so f f e r e db yo p e n s s l i nt h ee n do ft h i sd i s s e r t a t i o n ,锄e x a m p l ei s g i v e n i n t e g r a t e dt h es e c u r i t y a r c h i t e c t u r et h a tr e f e r r e db yt h ed i s s e r t a t i o ni n t ot a xc o n t r o ls y s t e m k e yw o r d so p e n s s l ;c o r b a ;s e c u r i t ys e r v i c e ;s s l ;p k i i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 签名: 日期:芝垒:生 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 躲蝤叁新躲避瞧趔午 第1 章绪论 1 1 课题背景 第1 章绪论 c o r b a 1 ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代理体 系结构) 是由o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 提出的应用软 件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异 构分布应用程序间的互操作性及独立于平台和编程语言的对象重用【4 】【5 1 。c o r b a 系统由于其平台无关和语言无关的特性,近年来在商业系统中得到了广泛的应 用。然而,当系统中数据丢失、错误或者商业竞争者侵入系统都可能给企业应用 者带来不可弥补的损失【6 】。相对于传统信息系统,c o r b a 系统由于其固有的分 布式特点,导致其更需要安全保护。所以,安全化已成为c o r b a 信息系统中一 项急待解决的任务。o m g 组织围绕c o r b a 的安全性在近年来做了大量工作, 提出了一套c o r b a 安全服务规范( c o r b as 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 ) 并作 为c o r b a 服务的一项重要组成部分。c o r b a 安全服务规耐7 】中定义了核心安 全功能和针对c o r b a 应用中一些必要的安全接口。 税控收款机样机系统是基于c o r b a 的分布式系统,用于对各大商场进行税 务监控。首先,由于该系统中部分信息涉及到国家的税务等敏感信息,所以对于 信息的保密性提出了一定的要求。其次,由于其分布在个大商场中,而且分布分 散,不便进行统一的设备管理,很难保证设备当中相关数据不被篡改。所以,这 里又提出了身份认证和身份管理的相关需求。 1 2 国内外研究现状 1 2 1c 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 ra r c h i t e c t u r e ,公共对象请求代理体 系结构) 是由o m g ( 对象管理组织,o b j e c tm a n a g e m e n tg r o u p ) 提出的应用软 件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异 构分布应用程序间的互操作性及独立于平台和编程语言的对象重用 c o r b a 是为了解决分布式计算环境( d c e ,d i s t r i b u t e dc o m p u t i n g e n v i r o n m e n t ) 中不同硬件设备和软件系统的互联,增强了网络之间软件的互操 北京工业大学t 学硕士学位论文 作性,解决传统分布式计算模式中的不足等问题而提出的,以增强软件系统间的 互操作能力,使构造灵活的分布式应用系统成为可能。c o r b a 标准由对象管理 组织( o m g ) 设立并进行控制,c o r b a 定议了一系列a p i ,通信协议,和对象 服务信息模型用于使得异质应用程序能够互相操作,这些应用程序用不同的程 序语言编写,运行在不同的平台上。c o r b a 因此为定义明确的物件提供了平台 和位置的透明性,这些对象是分布式计算平台的基础。c o r b a 经过近十年的发 展,已逐步走向成熟。但是随着针对c o r b a 系统的攻击越来越频发,c o r b a 的安全和如何建立一套行之有效的方法已经成为了一项急待解决的问题。o m g 已经认识到分布式系统提供标准化安全措施的重要性,并定义了一套规范,其中 包括c o r b a 安全服务、安全互操作s e c l o p 规范、c o r b ao r b s s l 集成规范、 以及c o r b a 防火墙规澍引。 1 9 9 1 年o m g 提出了c o r b a i 1 ,定义了i d l 接口定义语言,开发出对象请 求代理o r b 中间件,在客户机服务器结构中,o r b 通过一定的应用程序接口 ( a p i ) ,实现对象之间的交互; 1 9 9 4 年1 2 月o m g 完成了c o r b a 2 0 ,提出了i i o p ( i n t e r a c ti n t e ro b j e c t p r o t o c 0 1 ) ,用以规范不同厂家的o r b 之间的真正互通,同时增加了互操作性和 对c + + 及s m a l l t a l k 的匹配,o m g 期望通过上述规范,建立一种“连接世界的 体系结构”; 1 ) c o r b a 安全服务规范 第一个有关安全的c o r b a 安全服务规范,来自现有安全技术,如分布式计 算环境( d c e ) 安全服务,麻省理工学院为分布式系统认证和加密而开发的 k e r b e r o s 协议,以及存取安全服务的通用框架和通用安全服务a p i ( g s sa p i ) 。 c o r b a 安全服务规范覆盖了1 主体的鉴定和认证、2 授权3 访问控制、4 安全 检查、5 对象间的通讯安全、6 不可否认总共6 个主要的企业系统安全需求。 c o r b a 安全规澍9 】在系统内被划分为两层安全服务,c o r b a 第一层和第二 层。c o r b a 第一层安全,为那些不在意安全以及在访问控制与检查方面对加强 安全只有一定需要的程序提供了第一层安全服务。c o r b a 第二层安全提供了更 多的安全措施,并允许应用程序控制对象激发的安全性。它还包括安全测试管理, 允许应用程序调整策略。 2 ) 安全互操作 c o r b a 安全规范描述了c o r b a 第一层和第二层安全服务,也定义了安全 o r b 间协议s e c l o p ,此协议和g i o p i i o p 一起时的不同厂商的c o r b a 安全服 务实现之间可以安全互操作。通用安全互操作规范,建立于s e c l o p 之上,增加了支 持认证机制加密算法、等方面更多细节,还加入了第0 层的概念,相应的提供了 第l 章绪论 无委托的基于表示的策略一本质上是由标准s s l 协议所提供的,如图1 1 。 图i - i 基于s s l 的c o r b a 协议层 f i g1 - 1s s l - b a s c dc o r b a p r o t o c o ll a y e r 3 ) o r b s s l 集成规范 在制定c o r b a 安全服务规范和通用安全互操作时,d c e ( 分布式计算环境) 和r a c f ( 远程访问控制设施) 安全服务是最通用普及的系统安全服务。随后出 现了i n t c m c t 技术,也因而出现了安全套接字层,一个为i n t e r a c t 应用而设计的 传输安全标准。由于i n t c m e te n g i n c e d n gt a s kf o r c e ( i e t f ) ,s s l 迅速成为安全 i n t e m e t 通信的广为接受的标准。接着产生了一个简明的o m g 规范,概述了s s l 3 0 和c o r b ao r b 集成的基本需求。从i i o p g i o p 的角度看,s s l 安全在概念 上位于g i o p 实现( 如1 1 0 p ) 之下和t c p i p 之上,提供了套接字层的安全 协议因此而得名。 4 ) c o r b a 防火墙规范 随着企业和i n t e m e t 的不断发展,在线银行等越来越普遍,把c o r b a 系统 安全的移上i n t c m e t 也日益重要。一些机构给他们系统提供了新的i n t e m e t 接口, 这常常需要防火墙提供额外的安全性。但是,c o r b a 客户机和服务器通过防火 墙用i i o p 通信时,可能引起一些问题,因为防火墙不是用来解释i i o p 的。 c o r b a 防火墙规范说明了防火墙如何处理i i o p ,以允许防火墙后面被管理的 c o r b a 对象来完成外界技法的操作。它包括了如何能实施处理i i o p 的防火墙, 使防火墙能像任何其他防火墙的协议一样处理和授权i i o p 请求。 北京t 业大学工学硕士学位论文 1 2 2 8 8 l 背景介绍 s e c u r es o c k e t sl a y e r ( 安全套接字层,简称为s s l ) 是用来解决点到点数据 安全传输和传输双方的身份认证而提出来的安全传输协议【1 2 】,也是国际上最早 应用于电子商务的一种网络安全协议,现在被许多网上商店和网上银行所使用。 该协议已成为事实上的工业标准,并被广泛应用于i n t e r n e t 和i n t e r n c t 的服务器产 品和客户端产品中。 1 9 9 5 年n e t s c a p e 公司提出了s s l 2 0 之后,很快就成为了一个事实上的标准, 并为众多的厂商所采用。1 9 9 6 年,n e t s c a p e 公司发布了s s l 3 0 ,该版本增加了 对除了r s a 算法之外的其他算法的支持和一些安全特性,并修改了前一个版本 中的一些小问题,相比s s l 2 0 更加成熟和稳定。1 9 9 9 年1 月i e t f 基于s s l 协 议发布了t l s l 0 ( t r a n s p o r tl a y e rs e c u r i t y ) 版本,n c t s c a p e 公司宣布支持该开 放标准。 s s l 安全协议主要提供三方面的服务: ( 1 ) 认证用户和服务器,使得它们能够确信数据将被发送到正确的客户机 和服务器上; ( 2 ) 加密数据以隐藏被传送的数据; ( 3 ) 维护数据的完整性,确保数据在传输过程中不被改变。 1 3 主要研究内容 o p e n s s l 是一个开源的s s l 和s t l 协议实现,其核心库提供了身份认证、 通讯加密和信息完整性校验、证书管理等功能。o p e n s s l 提供的功能充分的满 足了c o r b a 的基本安全需求,所以针对c o r b a , o p e n s s l 的使用是一个非 常不错的安全解决方案。现有的多数c o r b a 实现都通过o p e n s s l 的支持来提 供基本的安全实现。但大部分实现都没有提供证书管理这一环。本文在这些实现 的基础上进一步提出了证书管理以及安全通讯模型。 1 3 1c o r b a 通讯与s s l 集成 s s l 提供给客户机和服务器的传输层安全功能包括: 认证一个s s l 连接可以用不对称的或公共的钥匙、加密算法( 如r s a ) 以及用 于安全证书的i e t fx 5 0 9 标准来认证。 数据私有性保护消息在传输中不被偷看,确保数据机密性。 第l 章绪论 数据完整性保证消息在传输中不被干扰。 作为被广泛接受的i n t c r n e t 安全协议,s s l 非常适于小型企业商用系统的安 全需求。由于服务器的分布分散,但企业用户信息细节等敏感数据在传输中的保 护又极端重要;而s s l 快速、小巧,却又提供了健壮强大的安全水平,因而非 常适合用于小型企业商务系统。 1 3 2p k i 和c a 技术 p k i 1 3 】是遵循一系列标准的利用公钥加密技术为基础的一整套安全基础设施 的通称。p 必须具有权威证书认证机构c a ( c e r t i f i c a t i o na u t h o r i t y ) 在公钥加密 技术基础上对证书的产生、管理、存档、发放以及作废进行管理的功能,包括实 现这些功能的全部硬件、软件、人力资源、相关政策和操作程序,以及为p k i 体系中的各成员提供全部的安全服务【l4 1 。如:实现通信中各实体的身份认证、保 证数据的完整性、不可否认性和信息保密。 1 4 论文结构安排 第2 章相关技术概述。介绍了c o r b a 、s s l 和p k i 的相关核心概念。 第3 章安全模块总体设计。本章介绍了c o r b a 通讯的相关架构。并围绕着 c o r b a 系统安全化的架构与模型展开叙述,最终论述了一种可行的中小型 c o r b a 分布式系统的安全模型。 第4 章系统详细设计。本章根据第三章提出的安全模型,对证书管理模块和安 全通讯模块进行了详细的设计与描述。 第5 章税控安全体系设计和实现。该章节针对一个具体的实现,将本文中介绍 的c o r b a 安全模型应用到具体实现中,实现了税控收款样机系统的相关安全需 求。 第6 章结论。对本文中的工作进行了概括性总结,并对未来进行展望。 第2 章相关技术概述 2 1c o i 媪a 介绍 第2 章相关技术概述 o r b 是一个中间件,他在对象间建立客户服务器的关系如图2 2 所示。通 过o r b ,一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一 机器上还是通过一个网络访问。o r b 截获调用然后负责找到一个对象实现这个 请求,传递参数和方法,最后返回结果。客户不用知道对象在哪里,是什么语言 实现的,他的操作系统以及其他和对象接口无关的东西。 在传统的客户服务器程序中,开发者使用他们自己设计的或者公认的标准定 义设备之间的协议。协议的定义依赖于实现的语言,网络的传输和其他许许多多 因素。o r b 将这个过程简单化。使用o r b ,协议定义是通过应用接口,而该接 口是接口定义语言( i d l ) 的一个实现,他和使用的编程语言无关的。并且o r b 提供了很大的灵活性。他让程序员选择最适当的操作系统,运行环境和设计语言 来建设系统中每个组件。更重要的是,他允许集成已经存在的组件【1 5 1 6 。 图2 - 1o r b 调用 f i g2 - 1o r bi n v o c a t i o n 2 1 10 m g 接口定义语言 为了调用一个分布式对象操作,客户机必需了解由这个对象所提供的接口。 一个对象的接口是由它所支持的操作和能够来回传输给这些操作的数据类型所 组成的。客户机也需要想要调用这些操作的功能和语义的知识。 为允许不同的编程语言( 和机器,操作系统) 来处理c o r b a 对象,必须对描 北京- t 业大学工学硕十学位论文 述对象暴露在外的特征( 方法、属性) 的标准的概念记号( n o t a t i o n ) 达成一致的协 定。c o r b a 提供这样的标准概念记号:接口定义语言( i d l ) 。i d l 看起来很象 c + + ( 或j a v a ) 的类定义。除了作为给人们用的说明语言之外,i d l 也被一个叫 i d l c o m p i l e r 的编译器使用,i d l c o m p i l e r 从i d l 文件生成桩和框架的样本,这 就把编程者从大量的编写大量的样板代码的枯燥的任务中解救了出来。 i d l 只指定对象支持的方法和属性,只要尊重i d l 文件中的定义,对于如 何实现它们、编程者有完全的有自由。但是与c + + 和j a v a 不同,i d l 不是编程 语言,所以对象和应用程序不能用i d l 来实现。这种考虑允许程序以不同的编 程语言来实现以便于互操作。i d l 与编程语言无关,这一点是c o r b a 支持异构 系统和独立开发的应用程序集成的关键。 o m gi d l 支持内置的简单类型,比如,有符号和无符号整形类,字符类, 布尔型,字符串,以及结构化数据类型,如枚举,结构,联合,序列( 一维的) 和异常,这些数据类型用来定义参数的类型和操作的返回类型,而操作是在接口 内被定义的。i d l 还提供用于名字作用域的模块结构。 i d l 接口的另一个重要特性是,它们可以继承一个或多个其他接口。这样就 允许从现有的接口项中定义新的结构,并且所实现的新的派生接口的对象能够替 代那些支持现有的基本接口对象。 2 1 2c o r b a 接口结构 c o r b a 定义了分布式系统的一种体系结构,如图2 2 所示: 图2 - 2 c o r b a 体系结构 f i g2 - 2c o r b a a r c h i t e c t u r e 其中1 d l 接口用于描述客户端和服务端对象,o m g 编译器对i d l 编译生成 相应的头文件,每个接口都要包括客户端桩代码和服务端框架代码。客户端应用 程序直接连接到客户端i d l 桩,显然的,客户端i d l 桩提供了客户端应用程序 到o r b 的接口,实现了网络中编码与解码,和字段在网络中的传输。而i d l 框 第2 章相关技术概述 架提供了服务端的接口支持。当o r b 收到请求,i d l 框架便发送一个反馈操作。 当服务端的操作完成了对请求的处理,i d l 框架,o r b 核心和i d l 桩向客户端 程序返回结果。如果出现错误,服务端或者o r b 核心会抛出异常给客户端程序。 c o r b a 支持若干类型的请求: 当客户机调用一个同步请求时,若处于等待响应状态,则请求被阻塞。这些 请求对于远程调用是完全相同的。 当客户机调用一个延时同步请求时,他就不断发送这个请求,然后,轮询他 的响应。目前,这种请求形式仅仅用于d i i 调用。 c o r b a 还提供单向请求。这是一种最省事的试探性请求。这类请求实际上 可以不发送给目标对象,也不允许返回响应。如果网络拥塞和其他资源短缺 时,所发送的请求可能会引起阻塞,o r b 允许试投单向请求。 c o r b a 的将来版本( 如3 0 版) 将支持异步请求,这样就允许不时的链接 客户机和服务器,以建立他们之间的通信。同时,还将支持用于静态存根和 d i i 的延时同步调用。 2 1 3 c o r b a 安全服务介绍 c o r b a 安全性主要依赖安全服务中提供一组安全功能来实现。由于c o r b a 系统中安全服务的重要性,o m g 从c o r b a 2 0 规范开始支持安全服务,此后就 一直致力于安全服务规范的完善与改进,并于2 0 0 2 年3 月推出了最新的c o r b a 安全服务规范1 8 版本( 之后简称为安全规范) ,对c o r b a 系统安全服务的标 准概念、参考模型、体系结构、互操作模型以及标准实现接口进行了详细的定义 和说明。国内外的许多研究机构和公司也在c o r b a 安全的研究与实现方面作了 大量的工作。但总体说来,对c o r b a 技术的研究目前还处于一个主要以完善应 用功能为主的发展阶段,国外也多注重于c o r b a 中间件的研究和开发。至今仍 没有一种完全实现c o r b a 安全服务规范的产品。规范1 8 分成了三节和八个附 录,其中主要包括了对安全服务的介绍、对安全接口的描述和对一些现有的安全 协议和原理性的介绍。 2 1 4o m ni o r b 介绍 本系统模型中,通过o m n i o r b 实现c o r b a 通讯,o m n i o r b 一种是采用 c o r b a 2 6 标准的o r b 实现。它通过了o p e ng r o u p 基于c o r b a2 1 的测试套 件。并且它是截至1 9 9 9 年仅有的被授权的三家c o r b a 品牌之j 1 7 1 。 北京t 业大学工学硕十学位论文 o m n i o r b 特性: 1 ) 多线程 o m n i o r b 完全是多线程的。为了达到低调用费用,不必要的多重调用都 被去除掉了。在默认策略下,在同一时间,两个地址空间之间的每个通信频 道,最多只有一个调用在其中穿行。再不限制协同等级的情况下做这些,当 协同调用进行时,连接两个地址空间的新频道因请求和存储被创建。每个频 道都是一个专用的线程。这个约定提供了最大化的协同,以及消除了任何线 程转换时任何一个地址空间去处理一个调用。 2 ) 可移植性 o m n i o r b 从一开始就是被设计成为可移植的。他可以运行在很多种主流 平台上,u n i x 、w i n d o w s 、一些嵌入式操作系统和一些模糊系统例如: o p e n v m s 和f u j i t s u - s i e m e n sb s 2 0 0 0 。o m n i o r b 的设计使代码在不同的平台 间移植变得非常容易,而对于其中所有的操作系统,i d l 到c + + 的映射也是 相当便捷的。 o m n i o r b 使用了真正的c + + 异常和嵌套类。它尽量的保持了和c o r b a 映射 标准的一致性,并且为一些独特的c + + 实现使用了一些候选的映射。在o m n i o r b 中,唯一的例外是i d l 模型的映射可以使用命名空间或者嵌套类二者之中任意 一个。 2 2s s l 介绍 s s l ( s e c u r es o c k e tl a y e r ) 安全套接层协议主要是使用公开密钥体制和x 5 0 9 数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性, 主要适用于点对点之间的信息传输或者常用w e b s e r v e r 方式。s s l 协议簇如图 2 3 所示。 第2 章相关技术概述 2 2 1 $ s l 握手协议层 图2 - 3s s l 协议 f i g2 - 3s s lp r o t o c o l s s l 握手协议的作用是在正式的秘密通信之前,让服务器和客户之间互相鉴 别对方的身份并协商一种会话的加密算法和加密密钥【l 引。 客户端和服务器之间互相验证身份:主要通过证书来验证,首先通过对方证 书中权威发证机构签字的验证,来确定对方拿的证书是否有效。如果证书有效, 接着就从这个证书中提取出公钥,通过对方的签名验证用户是否为假冒。若者都 通过,则证明对方的身份是真实可信的。服务器对客户端的验证是可选的。如果 服务器要验证客户端的身份,则向客户端索要证书,采用同样方式验证身份。 客户端和服务器之间协商安全参数:协商的参数一般包括协议的版本号、密 钥交换算法、数据加密算法和h a s h 算法,通过协商达成一致性。 版本号一般要求一致。 关于密钥交换算法、数据加密算法、h a s h 算法,是先由客户端向服务器端发 送一个列表,其中详细列出了客户端所支持的算法,然后由服务器端从中选取自 己支持且加密性能优的算法,将其返回给客户端,至此完成了算法的协商; 最后由客户端随机产生一个用于数据加密的对称密钥,用一种商定好的密钥 交换协议将它传给服务器端。具体握手流程如图2 - 4 所示: 北京丁业大学工学硕士学位论文 图2 _ 4s s l 握手流程 f i g2 - 4s s lh a n d s h a k ep r o c e s s 1 2 第2 章相关技术概述 2 2 2s s l 修改密文协议 s s l 修改密文协议是使用s s l 记录协议服务的s s l 高层协议的3 个特定协 议之一,也是其中最简单的一个。协议由单个消息组成,该消息只包含一个值为l 的单个字节。该消息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前 连接的密码组。为了保障s s l 传输过程的安全性,双方应该每隔一段时间改变加 密规范。 2 2 3 s s l 告警协议 s s l 告警协议是用来为对等实体传递s s l 的相关警告。如果在通信过程中某 一方发现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种 是f a t a l 错误,如传递数据过程中,发现错误的m a c ,双方就需要立即中断会话,同 时消除自己缓冲区相应的会话记录;第二种是w a r n i n g 消息,这种情况,通信双方通 常都只是记录日志,而对通信过程不造成任何影响。s s l 握手协议可以使得服务 器和客户能够相互鉴别对方,协商具体的加密算法和m a c 算法以及保密密钥,用 来保护在s s l 记录中发送的数据。 2 2 4s s l 记录协议层 s s l 记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认 证功能,它是一个面向连接的可靠传输协议,如t c p i p 提供安全保护。 在s s l 中,所有数据被封装在记录中。一个记录由两部分组成:记录头和非 零长度的数据。记录头可以是2 字节或3 字节( 当有填充数据时使用) 。s s l 握 手层协议的报文要求必须放在一个s s l 记录层的记录里,但应用层协议的报文 允许占用多个s s l 。记录来传送。 记录协议层封装了高层协议的数据,协议数据采用s s l 握手协议中协商好的 加密算法及m a c 算法来保护。记录协议传送的数据包括一个序列号,这样就可 以检测消息的丢失、改动或重放。如果协商好了压缩算法,那么s s l 记录协议 还可以执行压缩功能。 s s lv 3 版的高层由记录传递的消息组成,这包括改变密码规范协议、警报 协议和握手协议。改变密码规范协议指明对使用的密码规范的改变,协议中还包 括了个用当前密码规范加密的单独消息。客户和服务器都要发送改变密码规范 消息来表明它们准备使用一个新的密码规范和密钥。警报协议传送与事件相关的 北京丁业大学t 学硕十学位论文 消息,包括事件严重性及事件描述。这里的事件主要是指错误情形,如错误的 m a c 码、证书过期或是非法参数。警报协议也用于共享有关预计连接终止的信 息。 2 2 5 0 p e n s s l 虽然o p e n s s l 使用s s l 作为其名字的重要组成部分,但其实现的功能却远 远超出了s s l 协议本身。o p e n s s l 事实上包括y - - 个部分【2 0 】: 1 ) s s l 协议库 s s l 协议库部分完全实现了和封装了s s l 协议的三个版本和t l s 协议,s s l 协议库的实现实在密码算法库的基础上完成的。使用该库,完全可以建立一个 s s l 服务器和s s l 客户端。该部分在l i n u x 编译会形成一个明文l i b s s l a 的库, 在w i n d o w s 下编译怎是名为s s l e a y 3 2 1 i b 的库。 2 ) 密码算法库 o p e n s s l 密码算法库是一个强大完整的密码算法库,它是o p e n s s l 的基础 部分,也是很值得研究的一个部分,它实现了目前大部分主流的密码算法和标准。 主要包括公开密钥算法、对称加密算法、散列函数算法、x 5 0 9 证书标准、p k c s l 2 、 p k c s 7 等标准。事实上,o p e n s s l 的s s l 协议部分和应用程序部分都是基于这 个库开发的。目前,这个库除了可以使用本身的缺省算法外,在0 9 6 版本后还 提供了e n g i n e 机制,用于将如加密卡这样外部的加密算法实现集成到o p e n s s l 中。密码算法库在l i n u x 下编译后,其库文件名称为l i b c r y p t o 瓦在w i n d o w s 下编 译后其库文件名为l i b e a y 3 2 1 i b 2 1 】。 3 ) 应用程序。 应用程序部分是o p e n s s l 最生动的部分,也是o p e n s s l 的入门部分。外部 分基于上述的密码算法库和s s l 协议库实现了很多实用和范例性的应用程序, 覆盖了众多的密码学应用。主要包括了各种算法的加密程序和各种类型密钥的产 生程序( 如r s a ,m d 5 ,饥c ,等等) 、证书签发和验证程序( 如c a ,x 5 0 9 ,c r l 等) 、s s l 链接测试程序,以及其他的标准应用程序( 如p k c s l 2 和s m i m e 等) 。 2 2 6s s l 小结 s s l 协议提供安全连接时有以下基本属性:通信内容是保密的,在握手协议 层初始化连接以后,具体的通信内容使用对称密钥进行加密;双方的验证使用非 对称密钥;连接是可靠的。消息传输时带有一个完整性校验。 第2 章相关技术概述 2 3p k i 技术和c a 介绍 p k i 中最基本的元素就是数字证书。所有安全的操作主要通过证书来实现。 p k i 的硬设备还包括签置这些证书的证书机构( c a ) ,登记和批准证书签置的 登记机构( i 认) ,以及存储和发布这些证书的电子目录【2 2 1 。以下将对p k i 相关 技术概念进行阐述: 2 3 1加密 加密是指使用密码算法对数据作变换,使得只有密钥持有人才能恢复数 据面貌,主要目的是防止信息的非授权泄漏。现代密码学的基本原则是:一切 密码寓于密钥之中【2 3 1 。即算法公开,密钥保密。密码算法的分类: 对称密码算法:对称算法( s y m m e t r i ca l g o r i t h m ) ,有时又叫传统密码算 法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从 加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥 是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要 求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性 依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息 解密,所以密钥的保密性对通信性至关重要。 特点:计算开销小,处理速度快。缺点:密钥管理困难。 非对称密码算法:非对称加密( d i s s y m m e t r i c a le n c r y p t i o n ) ,有时又叫公 开密钥算法( p u b l i ck e ya l g o r i t h m ) 。这种加密算法是用作加密的密钥不 同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来( 至少 在合理假定的长时间内) 。之所以又叫做公开密钥算法是由于加密密钥 可以公开,即陌生人可以得到它并用来加密信息,但只有用相应的解密 密钥才能解密信息。在这种加密算法中,加密密钥被叫做公开密钥 ( p u b l i ck e y ) ,而解密密钥被叫做私有密钥( p r i v a t ek e y ) 。运用非对称 加密算法的技术称为公钥加密技术,该技术是p k f c a 的基础。公钥加 密技术应用目的有两个:一个是身份认证,利用加密技术鉴别身份:另一 个是保证传输数据的机密性。 优点:保密强度高,便于密钥管理、分发。缺点:计算开销大,处理速度慢。 北京工业大学t 学硕十学位论文 2 3 2 数字签名 数字签名( d i g i t a ls i g n a t u r e ) 技术是不对称加密算法的典型应用。数字 签名的应用过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色低碳数字化新型园区污水处理厂项目可行性研究报告模板立项申批备案
- 2025合作协议样本
- 2025年春季部编版初中数学教学设计八年级下册第1课时 平行四边形的判定 1
- 摄像课基础知识培训课件
- 2025年版动产与不动产抵押合同模板
- 公司股权税务知识培训总结
- 公司组织安全知识培训课件
- 插花入门基础知识培训课件
- 制造业岗位面试题及答案
- 2025济南市房屋租赁合同中介版
- 酒店客房样板间装修验收记录表
- 2024年高级统计实务考试真题及答案解析
- 铁总物资〔2015〕250号:中国铁路总公司物资采购异议处理办法
- GB/Z 42625-2023真空技术真空计用于分压力测量的四极质谱仪特性
- 人民医院心血管外科临床技术操作规范2023版
- 助理工程师考试试题以及答案
- 送东阳马生序
- 2017年全国大学生数学建模A题
- 2023年专升本计算机题库含答案专升本计算机真题
- GB/T 16674.1-2016六角法兰面螺栓小系列
- 住宅项目景观工程施工策划(图文并茂)
评论
0/150
提交评论