(计算机软件与理论专业论文)安全中间件资源信息服务器的设计与实现.pdf_第1页
(计算机软件与理论专业论文)安全中间件资源信息服务器的设计与实现.pdf_第2页
(计算机软件与理论专业论文)安全中间件资源信息服务器的设计与实现.pdf_第3页
(计算机软件与理论专业论文)安全中间件资源信息服务器的设计与实现.pdf_第4页
(计算机软件与理论专业论文)安全中间件资源信息服务器的设计与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机软件与理论专业论文)安全中间件资源信息服务器的设计与实现.pdf.pdf 免费下载

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

文档简介

安全中间件资源信息服务器的设计和实现 摘要 ( 网络通讯技术的飞速发展带来了严重的信息安全问题。密码学是解决 这个问题的最根本方法。而复杂的且种类繁多的密码学算法以及构筑在密 码学算法上的各个层次的安全体系结构使得开发商在开发安全的应用程 序的时候把大部分的时间和精力都放在低层的安全问题解决上。同时由于 没有统一的技术标准,开发商经常进行重复开发,安全服务很难共用。中 间件技术和信息安全技术的结合也即是安全中间件技术为应用程序开发 者屏蔽了底层信息安全技术的复杂性,给用户提供了方便的中间平台,让 开发者集中精力在上层的开发。 资源信息服务器r i s ( r e s o u r c ei n f o r m a t i o ns e r v e r ) 是安全中间件中间 一个独立但却十分重要的部分,它设计的主要目的是:为安全中间件提供 安全的注册服务、描述安全模块的属性和能力、为模块问的身份鉴别提供 可靠的证书来源。j 本文首先对一个开放的、可共用的、跨平台的安全中间 件的设计思想进行了阐述。然后重点说明了在该安全中间件体系结构下的 资源信息服务器设计,主要包括资源信息服务器的使用方式、管理策略、 功能设计和它管理的数据库的设计。鉴于l d a p ( l i g h t w e i g h td i r e c t o r y a c c e s sp r o t o c 0 1 ) 在服务特点和安全性要求与r i s 相似,本文还阐述了一 个基于l d a p 的资源信息服务器实现,实现的关键是怎样把l d a p 管理的 “对象数据库”透明地转化为r i s 可以管理地“关系数据库”。最后用这 个实现为基础开发了一个为了简化安全服务开发的模块安装工具,该安装 工具可以很方便地为各种安全模块完成往资源信息服务器进行注册的功 能。 关键词:中间资源信息服务器,l d a p 一 塞全! 璺壁塑翌堕皇墨墨竖竺堡盐塑塞望 a b s t r a c t t h eq u i c k p r o g r e s so ft e c h n o l o g yi n n e t w o r kc o m m u n i c a t i o nb r i n g s a b o u ts e r i o u sp r o b l e m si ni n f o r m a t i o ns e c u r i t y c r y p t o g r a p h yi st h ee s s e n t i a l a p p r o a c h t ot a c k l et h o s e p r o b l e m s h o w e v e r , av a r i e t y o f c o m p l e x c r y p t o g m p h i ca l g o r i t h m sa sw e l la st h ea r c h i t e c t u r e so fd i f f e r e n tl e v e l sb a s e d o nt h o s ea l g o r i t h m sm a k e p r o v i d e r c o n c e n t r a t et h e i rm o s te n e r g ya n da t t e n t i o n o nl o w l e v e l s e c u r i t yp r o n e m sw h e nt h e yd e v e l o ps e c u r i t ya p p l i c a t i o n s f u r t h e r m o r e ,d u et on oa c c o r d a n ts t a n d a r d s ,p r o v i d e ro f t e nr e p e a t st h e i rw o r k a n d s e c u r i t y s e r v i c e sc a n n o tb ei n t e r o p e m b l e t h e t e c h n o l o g y o f s e c u r i t y m i d d l e w a r e ,w h i c hc o m b i n e dt h em i d d l e w a r et e c h n o l o g ya n di n f o r m a t i o n s e c u r i t yt e c h n o l o g y , c o n c e a l s t h ec o m p l e x i t yo fl o w l e v e ls e c u r i t yt e c h n o l o g i e s a n dp r o v i d eac o n v e n i e n tm i d d l ep l a t f o r m t h u s ,d e v e l o p e r so fa p p l i c a t i o n s c a nf o c u so nu p p e rs e r v i c e s r e s o u r c ei n f o r m a t i o ns e r v e ri sa ni n d e p e n d e n t , b u t v e r yi m p o r t a n t ,c o m p o n e n t i n s e c u r i t y m i d d l e w a r e i t sr o l ei n c l u d e s p r o v i d i n gr e g i s t e r s e r v i c ef o r s e c u r i t ym i d d l e w a r e ,d e s c r i b i n gs e c u r i t y a t t r i b u t e sa n dc a p a b i l i t i e s ,a n do f f e r i n gt h er e l i a b l er e s o u r c eo fc r e d e n t i a l sf o r a u t h e n t i c a t i o nb e t w e e nm o d u l e s t h i sa r t i c l ef i r s te x p l a i n st h ep r i n c i p l e so fa l l o p e n ,i n t e r o p e r a b l e ,c r o s s p l a t f o r ms e c u r i t ym i d d l e w a r e a n dt h e nd e s c r i b e st h e d e s i g no fr e s o u r c ei n f o r m a t i o ns e r v e ra n di t si m p l e m e n t a t i o nb a s e do ul d a p j nd e t a i 】 k e y w o r d s :m i d d l e w a r e s e c u r i t y r e s o u r c ei n f o r m a t i o ns e r v e r ( r i s ) l d a p 2 安全中间件资摒【信息服务器的设计和实现 序言 目前,我国信息化建设已进入高速发展阶段,电子政务、电子商务、 网络金融、网络媒体等正在兴起,这些与国民经济、社会稳定息息相关的 领域急需信息安全保障。进入2 0 0 0 年以来信息安全形势更加严峻,近来 的黑客攻击等信息安全威胁使发展信息安全技术的要求更为迫切,解决我 国的信息安全问题刻不容缓。因此,在十五计划启动之前,急需专门针对 我国政治、经济、文化等重大领域的典型信息安全问题和紧迫任务进行技 术攻关。 根据国家八六三计戈信息安全技术发展战略研究专家组制定的信息 安全技术应急计划,电子科技大学计算机学院与北京东方通科技公司共 同承担和负责了这一重要的国家8 6 3 项目:安全中间件的设计。安全中间 件的设计目标是一个健壮的、广泛普及的多平台、工业标准化、可靠安全 的通用集成安全基础设施,安全中间件集中解决同构与异构环境下分布式 系统中的安全性问题,它的体系结构同样可以实现为一个客户,服务应用的 组件,从而大大增加了开发和集成效率,降低了维护成本。安全中间件的 六大部分包括:应用程序、组件服务层、安全服务层、通用安全管理程序、 安全服务提供者和资源信息服务器组成。 资源信息服务器( r i s ) 作为安全中间件的六大组成部分之一它的 功能主要是为安全中间件提供一个安全可靠的注册服务。r i s 作为一个独 立的平台服务,可以被系统中的所有进程使用。安全服务模块用资源信息 服务器来存放服务模块的属性、能力以及证书等重要信息。通用安全管理 程序利用r i s 中的信息找到可提供具体安全服务的模块,然后动态地加载 或者更换安全服务。应用程序、组件服务层、安全服务层都可以利用r i s 注册自己需要的信息或者获得其他模块的信息。各个安全中间件中的部分 还都可以通过r i s 保存的证书进行模块间的身份鉴别以确保各个模块的安 全性。本文的作者就是负责资源信息服务器( r i s ) 的设计和实现,课题 也是来源于此。 文章的安排如下 第一章:安全中间件的基础知识( 主要包含信息安全技术和中间件技术 的介绍) 以及安全中间件的国内外发展的情况。 第二章介绍安全中间件的软件体系结构,引入资源信息服务器在安全 中间件中的位置和功能。 第三章讲述安全资源信息服务器怎样的设计来达到为安全中间件服务 的要求,重点在r i s 中数据库的设计。 7 安全中间件资源信息服务器的设计和实现 第四章描述一个基于l d a p 的资源信息服务器的实现。 第五章主要讲一个利用该r s 的实现完成一个安装工具服务软件的 设计、它可以简化安全服务模块的开发。 第六章对全文的总结,指出了p d s 设计和实现过程中的特色和需要改 进的地方。 由于本人水平有限,加之安全中间件技术还不成熟,在国内外几乎没 有类似产品可供参考,所以在设计和实现过程中肯定存在不足或者考虑不 周的地方,请各位专家批评指正。 安全中间件资源信息服务器的设计和实现 第一章安全中间件技术 1 1 信息安全问题的由来 随着现代通讯技术的发展和迅速普及特别是随着由通信与计算机相 结合而诞生的计算机互联网络全面进入千家万户,使得信息共享应用日益 广泛与深入。世界范围的信息革命激发了人类历史上最活跃的生产力,但 同时也使得信息安全的问题日渐突出而且情况也越来越复杂。从大的方面 来说,信息安全问题已威胁到国家的政治、经济、军事、文化、意思形态 等领域。因此,很早就有人提出了“信息战”的概念并将信息武器列为继 原子武、生物武器、化学武器之后的第四大武器。从小的方面说,信息安 全问题也是人们能否保护自己隐私的关键。 信息安全研究所涉及的领域相当广泛。从消息的层次来看,包括消息 的完整性( 既保证消息的来源、去向、内容真实无误) 、保密性( 即保证 消息不会被非法泄露和扩散) 、不可否认性( 即保证消息的发送和接受者 无法否认自己所做过的行为) 等。从网络的层次来看,包括可靠性( 即保 证网络和信息系统随时可用,运行过程中不出现故障,若遇到意外打击能 够尽量减少损失并尽早恢复正常) ,可控性( 即保证营运者对网络和信息 系统有足够的控制和管理能力) ,互操作性( 即保证协议和系统能够互相 连接) ,可计算性( 即能保证准确跟踪实体运行达到审计和识别的目的) 等。还有许多其他层次的领域。由此可见,信息安全实际上是一个多学科 的综合研究课题。其边界很难确定。 1 2 信息安全技术 在安全理论和技术中,密码理论与技术以及认证识别理论与技术就是 针对以上产生的。但无论使用的是认证标识中的m e s s a g ee n c r y p t i o n 、 m a c 、h a s hf u n c t i o n 还是数字签名中的直接数字签名或者仲裁数字签名, 起基础都是密码理论。不管使用那一种技术,要保证它所想达到的目标真 的达到主要都要靠其加密算法的保证。 信息论和复杂性理论是研究现代密码学的两个重要基础。基于信息论 的密码学简称信息论密码学是用信息论的观点和方法研究密码系统模型 的建立、密码的安全分析及破译等,它所研究的安全性准则是密码系统的 9 安全中间件资源信息服务器的设计和实现 理论安全性,也称无条件安全性,即假定密码分析者的计算资源不受任何 条件的限制。基于复杂性理论的密码学简称复杂性理论密码学用复杂性理 论的观点和方法研究密码系统的模型的建立,密码的安全性分析及破译 等。它所研究的安全性准则是密码系统的实际安全性,也称有条件安全性, 即假定密码分析者的计算资源是有限的,受到某些条件的限制。 1 2 1 数据加密原理和机制 在计算机上实现的数据加密,其加密或解密变换是由密钥控制实现的。 密钥( k e y w o r d ) 是用户按照一种密码体制随机选取,它通常是一随机字 符串,是控制明文和密文变换的唯一参数。加密指把明文信息m 通过变换 e 得到密文c ,即c :e ( m ,k ) 。其中参数k 称为密钥。从密文c 恢复明文m 的过程称为解密,解密运算是加密运算的逆运算,同样也需要密钥k 。依 据加密密钥和解密密钥是否相同,可以分为对称加密算法和非对称加密算 法两类。其中非对称加密算法也称之为公钥加密算法。 1 2 1 1 对称密码加密系统 对称加密算法指加密密钥和解密密钥相同的加密算法。 明文m 秘钥k秘钥k 图i - i :对称加密算法 明文m 上图中加密密钥k 和解密密钥k 是相同的。目前常用的对称加密算法 有d e s 、i d e a 、r c 5 等。在众多的对称加密算法中影响最大的上d e s 密码。 1 2 1 2 公钥密码加密系统 公钥加密算法指加密密钥和解密密钥不相同的加密算法,即有一个密 0 一 茎全! 塑堡塑塑堕璺! ! 墨墅塑堡盐塑壅墨 钥对,分别称为公钥d 和私钥e 。如果用公钥加密数据,则只能用相对应 的私钥进行解密。反之如果用私钥加密数据,则只能用相对应的公钥才能 解密成功。 明文m 公钥d私钥e 图1 - 2 :非对称加密算法 明文m 公钥加密系统是现代密码学的基础。它主要依靠n p 完全类问题保证几 乎不可能由加密密钥推导出解密密钥。比较著名的公钥密码算法有:r s a 、 背包密码、m c e l i e c e 密码、d i f f e h e l l m a n 、r a b i n 、o n g f i a t s h a m i r 、零 知识证明的算法、椭圆曲线酸法等。最有影响的公钥加密算法是r s a ,它 能够抵抗到目前为止的所有密码攻击。 1 2 2 数字签名和身份认证 加密只是解决了数据的保密问题,要防止数据在传输过程中被恶意篡 改以及对数据源进行身份认证和防止用户对发送过的数据抵赖,就必须引 入数字签名技术。数字签名技术利用了非对称算法的特陛,用户用自己的 私钥对要发送的数据加密作为数字签名,然后把明文和签名一起发送。接 收者收到后,用发送者的公钥对签名数据解密,在和明文对比,如果相同, 说明数据没有被修改,否则说明数据在传输过程中被篡改了。同时,通过 数字签名,可以确定数据的来源,并可以防止发送者否认发送过的数据, 这样就实现了身份认证和防抵赖功能。 由于非对称算法运算量比非对称算法大得多,因此对所有数据进行私 钥加密作为签名效率很低。在真正的应用中采用的方式是:首先对数据使 用某种消息摘要( m e s s a g ed i g e s t 或h a s h ) 算法进行处理,产生很短的消 息摘要,再对消息摘要进行私钥加密作为数字签名,就大大提高了运算速 度。接收者收到数据和签名后,用同样的算法算出数据的消息摘要,并用 发送者的公钥对签名进行解密,最后把解密结果和上一步得到的消息摘要 比较,就可以对签名进行校验。常用的消息摘要算法有s h a 、m d 5 等。数 安全中间件资源信息服务器的设计和实现 字签名和校验过程如图1 3 和1 4 。 图1 - 3 :数导签名流程 1 2 3 个人证书和p k i 如果使用数字签名保证数据完整性,校验签名的用户必须得到签名者 的公钥,并且保证得到的公钥是正确可靠的。为了保证这一点,就必须采 用p k i ( p u b l i ck e yi n f r a s t r u c t u r e ) 规范。p k i 是应用于i n t e r n e t 环 境下,保证信息安全的规范。p k i 使用i t ux 5 0 9 个人证书来保证公钥的 可靠性。个人证书把用户的个人信息和公钥绑定在一起。需要校验其他用 户签名时,先取得签名者的证书,从证书的个人信息中可以验证签名者的 身份,再用证书中的公钥校验签名。为了保证证书本身的可靠性,证书必 须由专门的机构认证机关c a ( c e r t i f i c a t ea u t h o r i t y ) 颁发。c a 颁发 的证书中有c a 的数字签名,而c a 证书是可以通过可靠的途径获取的。 1 2 安全中间件资源信息服务器的设计和实现 1 2 4 安全的协议 光有加密技术还不能完全解决信息安全的问题,因为计算机间需要通 讯协议才能传递信息。传统的t c p i p 协议没有考虑网络安全的问题,这 使得我们必须对t c p i p 协议进行改进以达到要求,当然核心的技术还是 加密。 t c p i p 是一个分层的协议,根据解决安全问题的方案不同安全服务可 以加入到不同的协议层里面,如下图所示。 t h s e e u r e f li n t e m e tl a y e r 皿- i m s p o r ta p p l i c a t i o n s t a n d a r d i p s e c u r i t yl a y e r s e c u r i t yl a i rs e c u r i t y 厂 霉攀 【ll!l 圈圈 回回 二巫l 二亟口 二三口 二三j i p v 4i n 籼i 鸭虻i p - 6 ip - 4 卜s s u t i s h 岬 t b s ,m 【 田1 - $ :t 曲f l p 西议不同层上的安全协议 在t c p i p 网络层中可以引入加密方案,常用的有i p s e k ,s k i p , s w i p e ,i p s e c u r e 等。在网络层实施加密方案往往是对m 包的数据区进 行加密,再把会话密钥传给对方。p 层数据通信的特点是非面向连接的数 据报通信,每个口数据报都是一个独立的整体,分组数据到达目的地的 顺序可能不是发送时的顺序,因此在妒层引入加密机制不能事先建立一 个面向连接的握手过程交换或分配会话密钥,必须考虑如何在同一数据包 内既把密钥的数据传给对方,同时也要把会话密钥传过去。s k i p 和i p s e k 也是采用类似的方法实现的。 s s l t l s 是建立在传输层上的加密方案。他们都通过握手过程协商一 个共同的加密算法和会话密钥后,便可以用该算法及加密密钥进行通讯。 s s l 是一个非常成功的协议,它已经成为事实上的工业标准。s s l 为上层 的协议提供以下的安全服务:身份验证:服务器的身份验证和可选的用户 身份验证。保密性:传输的数据用会话密钥加密。完整性:在消息传输的 饿同时一个消息鉴别码产生并一同传送来保障数据的完整。 安全中间件资源信息服务器的设计和实现 如上图,安全的服务同样可以加在应用层里面。s h t t p 协议就是个很 好盼例子。s h 们 p 协议是h 订p 协议的扩展,加入了身份确认,保密性, 完整性,和防抵赖。该协议不依靠具体的加密系统,密码基础设施和加密 格式c 消息以各种不同形式封装达到多种的安全目的。它的头定义规定了 密钥传输、证书传输等功能。很多其他的协议与它有相似的安全机制。例 如:p e m 和s m i m e ,用来实现安全的电子邮件。s s h 协议被广泛地用来 进行安全的远程控制和文件传输。 1 3 中间件技术 1 3 1 中间件的定义 顾名思义,中间件是处于应用软件和系统软件之间的一类软件,是独 立于硬件或数据库厂商( 处于其产品的中间,实现其互连) 的一类软件, 是客户方与服务方之间的连接件,是需要进行二次开发的中间产品。 但是,中间件正处在迅速发展之中,目前尚不能精确定义。比较流行 的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借 助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作 系统之上,管理计算资源和网络通讯。 从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间 件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处 理的软件,定义中特别强调了其网络通讯功能。 1 3 2 中间件解决的问题 首先,应用的互连和互操作是中间件要解决的第一位的问题。不管这 些应用分布在什么硬件平台上,使用了什么数据库,透过了多么复杂的网 络,或是同一电脑中的不同应用系统。这里所说的互连和互操作是应用之 间而不是说系统之间的,因为中间件是一种应用级的软件,是一种应用集 成的关键构件,一个好的中间件产品要能解决应用互连带来的各种问题, 通讯要支持各种通讯协议、各种通讯服务模式、传输各种数据内容、数据 格式翻译、流量控制、数据加密、数据压缩等;中间件核心要解决名字服 务、安全控制、并发控制、可靠性保证、效率保证等。应用开发要能提供 基于不同平台的丰富的开发接口、支持流行的开发工具、支持流行的异构 互连接口标准( 如x a 、i d l 等) :系统管理要解决对中间件本身的配置、 监控、调谐,为系统的易用易管理提供保证。 其次,针对不同的应用领域,对中间件又有各种不同的要求。由于实 1 4 塞竺! 堕堡茎鲨旦! ! 墨壁塑堡盐塑壅翌 际的应用环境千差万别,不能指望有一种包罗万象的中间件解决所有的问 题。对于邮件系统需要提供存储转发功能;对工作流应用需要以条件满足 状态将信息从一个应用传递到另一个应用;对联机交易处理系统,需要保 证数据一致性、不停机作业、大量并发的高效率;对于一个数据采集系统 需要保证可靠传输,等等。 1 3 3 中间件的分类 中间件的分类方式很多,有些软件在中间件的概念产生以前可能就已 经存在了,有些软件虽然不是作为中间件开发出来的,但是符合中间件的 定义,我们也把它归人中间件的范畴,有些软件,尽管具有中间件的特征, 我们却并不把它叫做中间件( 如h t t p d ) 。 按照i d c 的分类方法,中间件可分为六类。 1 、数据访问中间件 适用于应用程序与数据源之间的互操作模型,客户端使用面向数据库 的a p i ,以提请直接访问和更新基于服务器的数据源,数据源可以是关系 型、非关系型和对象型。这类中间件大都基于s q l 语句,采用同步通讯 方式。此类中间件使应用开发简单,但如果是透过广域网使用,回带来严 重的效率问题,因为在低速网上来回交互s q l 语句会使通讯流量过大, 同时对数据压缩、加密带来不便。 2 、远程过程调用中间件 r p c 机制是早期开发分布式应用时经常采用的一种同步式的请求应答 协议。通过这种协议,程序员编写客户方的应用,需要时可以调用位于远 端服务器上的过程。r p c 扩展了过程语言中的“功能调用,结果返回”的机 制,使得它可以适用于一个远程环境。当编译一个采用r p c 机制的客户 方应用时,编译器告之代表远程功能调用的句柄,客户方需要调用远地的 过程时,引用相应的功能调用的句柄,由r p c 机制来负责客户方程序实 时地调用到远地的过程。服务器上的过程返回后,客户方的程序得到结果 并继续往下进行。在采用r p c 机制时,调用远端的过程只需去引用它, 而不必告之网络地址或其它底层信息。r p c 机制可用以构造客户机服务 器方式的应用,但由于它是同步方式,因而在工作的时候,要求客户方和 服务方均能正常工作才能很好地运行,有一方不能工作将导致r p c 失败。 这在网络故障、机器故障存在的情况下,这一要求是很难保证的。还有一 点值得注意的是,不管客户方能做什么或做的多快,它必须依靠服务方才 能有效工作。有些恢复机制可以在一个远程调用阻塞时转而去调用另一个 服务器上的过程,但这种路由方式也会影响效率。 也有的r p c 机制采用 窒全! 璺堡塑望堕星! ! 墨墅塑堡盐塑壅里 异步方式,客户方非阻塞地调用远端的过程,但这种方式不太标准而且很 难采用。另外,由于大多数r p c 机制很难建立点到点的关系,因而也很 难用在面向对象的编程当中。 3 、消息中间件 尽管消息中间件不象r p c 机制那样流行,但越来越多的分布式应用采 用消息中间件来构建,通过消息中间件来把应用扩展到不同的操作系统和 不同的网络环境基于消息的机制更多地适用于事件驱动的应用,当一个事 件发生时,消息中间件通知服务方应该进行何种操作。事件可以是一个请 求,也可以只是一种警示,警示到来后,即可进行某种处理,但不需等待 应答。使用消息中间件编程采用的是消息中问件的a p i ,可以很好地扩展 到不同的操作系统和硬件平台上。消息中间件的核心安装在需要进行消息 传递的系统上,在它们之间建立逻辑通道,由消息中间件实现消息发送。 消息中间件可以既支持同步方式,又支持异步方式,实际上它是一种点到 点的机制,因而可以很好地适用于面向对象的编程方式。中间件领域目前 最热门的技术是异步的消息中间件,异步中间件技术比同步中间件技术具 有更强的容错性,在系统故障时可以保证消息的正常传输,因而在过去的 两年里增长迅速。异步中间件技术可以分为两类:广播方式和发布舸阅方 式。广播方式把消息分发给系统的所有用户。发行订阅方式可以指定哪种 类型的用户可以接收哪种类型的消息。发布订阅方式由于更加智能有效, 事实上已成为异步中间件的非正式标准。 4 、交易中间件 交易中间件是专门针对联机交易处理系统而设计的。联机交易处理系 统需要处理大量并发进程,处理并发涉及到操作系统、文件系统、编程语 言、数据通讯、数据库系统、系统管理、应用软件,是一个相当艰巨的任 务,但是工作的难度可以通过采用一个交易中间件来简化。交易中间件就 是一组程序模块,用以大大减少开发一个联机交易处理系统所需的编程 量。x o p e n 组织专门定义了分布式交易处理的标准及参考模型,把一个 联机交易系统划分成资源管理( r m ) 、交易管理( t m ) 和应用( a p ) 三 部分,定义了应用程序、交易管理器、多个资源管理器是如何协同工作的。 资源管理器是指数据库和文件系统,交易管理器可归人交易中间件。交易 中间件管理由应用声明和提交的交易,并通过两阶段提交协议等方式保证 分布式交易的完整性、控制并发、实现交易路由和均衡负载。 交易中间件理论上相对成熟,功能和性能界定清晰,但基本上适用于联机 交易系统,如银行业务系统、定票系统等。尽管交易信息也是消息,交易 中间件也是基于消息的传输,也可支持同步和异步方式,但与消息中间件 的定位差距较大,属于一种较专用的中间件。 安全中间件资源信息服务器的设计和实现 5 、对象中间件 面向对象的技术一直是软件界努力追求的目标,传统的对象技术通过 封装、继承及多态提供了良好的代码重用功能。但是这些对象只存在一个 程序中,外面的世界并不知道它们的存在,也无法访问它们。面向对象的 中间件就是要解决这些问题,它提供一个标准的构件框架,能使不同的厂 家的软件通过不同的地址空间、网络和操作系统互相交互访问。该构件的 具体实现、位置及所依附的操作系统对客户来说都是透明的。例如,我们 可以通过简单的组装或扩展已有的构件就可以建立一个客户机,服务器结 构的信息系统。面向对象的中间件技术的目标就是为软件用户及开发者提 供一种应用级的即插即用的互操作性,就象现在使用集成块和扩展板一 样。 有关对象中间件的标准相继问世,像o m g 组织的c o r b a 、m i c r o s o f t 的c o m 以及i b m 公司的s o m 等,这些标准都极大地促进了对象中间件 技术的发展,随着面向对象的应用系统的逐渐增长,对象中间件的需求也 在逐年加大。对象技术的优势和对象中间件的标准化,促使对象中间件的 功能将最终涵盖其它几类中间件的功能而成为中间件产品的主流。 6 、安全中间件 安全中间件提供完备的信息安全基础构架,屏蔽安全技术的复杂性, 使设计开发人员无须具备专业的安全知识背景就能够构造高安全性的应 用。随着i n t e m e t 的普及,网上交易安全成了电子商务关注的问题:能否 有效阻止黑客入侵、防止信息灾难事故、简化网络应用等,是考察有无良 好的电子商务环境的标准;进行身份认证、身份鉴别、数字签名防止抵赖 和篡改、交易数据的加密解密等,是保障电子商务安全交易的重要手段。 安全中间件产品一般基于p k i ( p u b l i ck e y i n f r a s t r u c t u r e ) 公开密钥基础设 施) 体系思想,对p k i 基本功能如对称加密与解密、非对称加密与解密、 信息摘要、单向散列、数字签名、签名验证、证书认证,以及密钥生成、 存储、销毁,进一步扩充组合形成新的p k i 功能逻辑,进而形成系统安全 服务接口、应用安全服务接口、储存安全服务接口和通信安全服务接口。 1 3 4 中间件技术的发展趋势 根据有关组织的预测,消息中间件是目前中间件技术的发展热点,如 果也把交易中间件看成是一类特殊的消息中间件的话,那么消息中间件在 目前的市场上占据主导地位,而且发展势头迅猛。消息中间件以其独特的 优势为各种分布式应用的开发注入了强大动力,极大地推动了应用系统集 成的发展。 1 7 至兰! 塑竺塑翌堕星坚墨堑竺堡茎塑窭望 对象中间件技术也发展迅速,各大硬软件厂商都在积极参与有关标准 的制定和产品开发工作,象i b m 、h p 、d e c 、a t t 、i c l 、m i c r o s o f t 等 都制定了相应的战略。许多对象中间件的专f j - 商也相继诞生,未来的对 象中间件市场会出现群雄逐鹿的局面。中间件的另一个发展动向是向 i n t e m e t 的延伸,i n t e m e t i n t r a n e t 技术早已在全球范围内广泛采用,但由 于其自身的技术特点,在构造许多大型企业级应用时仍显不足,如并发控 制、负载均衡、可靠传输、数据路由等,因而仍然存在供中间件发展的中 间地带。总之,中间件技术作为软件行业新崛起的一个崭新的分支,正在 全球范围内迅猛发展,根据i d c 组织的预测,到2 0 0 2 年,全球的中间件 市场将达到7 0 亿美元。中间件技术的发展,也将把分布式应用的带到一 个新的境界。 随着国内电子商务的发展,自去年起,应用服务器开始成为中间件市 场的热点之一,预计今后还会得到进一步的发展。同理,安全中间件今年 的市场表现也不会很好,但随着电子商务的发展,对认证与加密技术的需 求会呈现出几何级的增长态势,明年或者后年,安全中间件便会“红得发 紫”。 1 4 安全中间件技术发展的国内外现状 由于事关国家信息安全、网上金融秩序和经济安全,一般国家扶持国 内企业形成具有自主知识产权的安全中间件产品。这对广大民族企业来 说,不能不说是一个好消息。目前国内的产品有:东方通科技的t o n g s e c 、 上海华腾软件系统有限公司自主的安全服务管理中间件t o p s e c u r e 。 1 9 9 6 年,i n t e l 的体系结构实验室提出了公共数据安全体系结构 ( c o m m o nd a t as e c u r i t ya r c h i t e c t u r e ,c d s a ) ,是专为解决i n t e r n e t 和i n t r a n e t 应用中日益突出的通讯和数据安全问题而提出的一系列分级 的安全服务构架。c d s a 是一个整体的安全解决方案,在设计时充分考虑了 各种基本的安全协议组件之间的互操作性。 因为在设计安全中间件的体系结构的在很大程度上参考了c d s a 的框 架,吸取了他的很多优点。所以这里有必要详细说明一下c d s a 的特点。 c d s a 定义了3 个层次,逐级向上提供服务。最底层是实现基本算法的 插件式安全模块,包括加密算法和证书处理等组件。这些基本功能模块在 公共安全服务管理器( c o m m o ns e c u r i t ys e r v i c e sm a n a g e r ,c s s h ) 的协 调下向最顶端的系统安全服务( s y s t e ms e c u r i t ys e r v i c e s ,s s s ) 层提 供服务。其总体结构如图所示。 墨竺囹堡塑塑堡垦! ! 墨堑竺堡兰塑壅翌 c s s m 是c d s a 的核心部分,它表现为一组公开的应用程序接口( a p i ) , 为应用程序提供安全功能的调用,如确定证书持有者的信任级别和数据访 问等。而具体功能的实现由下层完成,下层共有4 个基本的插件式安全模 块: 1 加密服务提供( c r y p t o g r a p h i cs e r v i c ep r o v i d e r ,c s p ) 模块c s p 负责加解密、数字签名和私钥保存等工作,是整个c d s a 结构的基 础。 2 信任规则( t r u s tp o l i c y ,t p ) 模块t p 负责信任规则的具体实施, 判定特定行为( 如开支票或访问涉密信息) 所需的信任级别。由于 具有模块化的结构,t p 能够对不同的机构应用不同的规则,比如, 对商业银行和政府机构运用的规则就有所不同。 3 证书库( c e r t i f i c a t el i b r a r y ,c l ) 模块c l 提供证书的维护、撤 销和数字签名等功能。 4 数据存储库( d a t as t o r a g el i b r a r y ,d l ) 模块d l 进行安全相关 数据对象的存储,包括证书、密钥和信任规则对象等,而实际的存 储位置可能在大型数据库、原始的文件系统或某种特定的硬件设备 中。形象地说,d l 是一个保险柜。 另外,任何软、硬件厂商都可以建立自己的服务提供模块,无缝嵌入 到c d s a 的开放式框架中。在c d s a2 , 0 中又增加了任选模块管理,支持 更方便地增加模块。 为了使c s s ma p i 适应不同的编程语言,系统安全服务层通过编程接 安全中间件资源信息服务器的设计和实现 口适配器( l a n g u a g ei n t e r f a c ea d a p t e r ) 来把c s s ma p i 翻译成c c + + j a v a 语言的函数和方法引用。由于c s s ma p i 大都属于低级调用,易用性较差, 一些软件开发商提供了对c s s ma p i 进行封装的类库,仍属于系统安全服 务层。 目前与c d s a 相似的还有m i c r o s o f t 的c a p i 。两者的不同主要在于c a p i 是w i n 3 2 编程接口的一部分,紧密集成在w i n d o w s 系统中,它本身要基 于w i n d o w s 系统提供的多种其他服务。客观地讲,c d s a 相当于c a p i 加 上整个w i n d o w s 安全框架。因此,在平台无关性方面,c d s a 显然占了上 风。在类u n i x 世界中相当流行的插件认证模块( p a m ) 机制也同c d s a 有某种程度的相似,但从根本上讲它只是在特定层次上实现了c d s a 的部 分功能。 安全中间件资源信息服务器的设计和实现 第二章安全中间件体系结构 安全中间件,不是一个简单的概念,而是实施安全策略、实现安全服 务的基础架构。安全中间件由六大部分、五层结构和四级接口组成。 2 1 安全中间件六大部分 安全中间件六大部分包括应用程序、组件服务层、安全服务层、通用 安全管理程序、安全服务提供者和资源信息服务器组成,如图2 - i 。如此 庞大的架构一般不可能由一家公司全部提供。 图2 - 1 :安全中间件体系结构 2 1 1 安全服务提供者 应由基础安全提供商( 如加密机厂商、智能卡厂商等) 提供,并以基 础安全服务接口的方式。根据现有的安全提供服务,我们将各种安全服务 分为加密服务、证书服务、可信策略服务、数据存储服务和其它可扩展的 服务,相应的模块就是加密服务提供者、证书服务提供者、可信模型提供 者、数据存储提供者和其他扩展安全服务提供者。安全提供者的灵活加载 2 1 安全中间件资源信息服务器的设计和实现 提供了动态装载机制,这在e r i ( 扩展资源接口) 有所体现。注意,为了 方便,本文的c p i 、c e r t p l 等接口全部采用模板方式提供,不定以具体的 接口方法。 2 1 2 资源信息服务器 这为五层安全模块的灵活组态提供实质性支持,因为所有的安全服务、 通用安全管理程序和基础安全提供者都必须注册,提供其各种能力表。另 外,如果为各个模块发布属性证书,安全中间件本身能保证其核心的安全 性,特别对动态加载的扩展安全提供者,基于p k i 的认证算法提供了强鉴 别功能。 2 1 3 通用安全管理程序 应由安全中间件平台提供商提供,因为这是安全中间件的核心,由它 来屏蔽基础算法复杂性,提供平台无关性和开发运行高效性。它提供的高 级接口非常简单、易用,只有8 个函数,通用接口可根据实际环境选择算 法,当然算法的种类由加密服务提供者提供,该层提供了常规模式的安全 中间件。无论加密模块是通过串口、u s b 、t c p 硬件加密机还是纯软件加 密模块,c p i ( 加密提供者接口) 屏蔽了这些细节。另外,通用安全管理 程序也为各种基础安全提供者的灵活加载提供了动态装载机制,这在e r ( 扩展资源接口) 有所体现。注意,为了方便,本文的c p i 、c e n h 等接 口全部采用模板方式提供,不定以具体的接口方法。 2 1 4 安全服务层 应由体系结构或安全服务厂商提供,如常用的t l s 、s e t 、c o r b a 安全 服务、j 2 e e 安全服务。该层延伸了现有的常规的安全中间件的概念,使 安全中间件成为真正的“中间件”,它提供了分布式环境下安全模块之间 的互操作,不仅简化了体系结构级安全的开发和维护,还提供了基于对象 的安全服务,对整个安全系统的设计、开发、集成和维护将产生革命性的 影响,从而真正保证电子商务的顺利实施。 2 1 5 组件服务层 应由组件提供商提供,并以组件级接口方式出现,如商场组件工具、 x m l 工具等。组件安全服务常常建立在c o r b a 安全服务和 2 e e 安全服务 安全中闻件资源信息服务器的设计和实现 之上c 这种组件级开发,是软件开发发展中继o o t 技术后的新里程碑。 本文目前只提供j a v a d o j l 配置工具。 2 1 6 应用层 由具体的应用开发厂家提供。如果建立在组件级、安全服务级之上开 发,它可以不用关心加密模块的细节、网络分布的细节。如果建立在基础 安全接口或通用级接口之上开发,该用户可以是安全专家。 2 2 安全中间件的四级接口 安全中间件的四级接口是:组件级、体系接口级、通用接口级和基础 级。 2 2 1 组件级 提供最方便的安全接口工具,甚至透明的方案,真正屏蔽安全概念的 复杂性,这是安全中间件得最终目标。例如,通过一个w i z m f d 、一个编辑 器,就可以完成电子商场的开发,安全已隐含其中。 2 2 2 体系结构级 提供协议级、互操作级和通用中间件的安全服务接口,如t l s 、s e t 和c o r b a 安全服务等。正是在体系结构级的基础上,我们才能提供面向对 象、面向组件的、透明的安全组件服务。 2 2 3 通用接口级 这是安全中间件的核心接口。它承上启下,在多种平台上屏蔽了安全 实现的细节,也是目前许多厂商所提的“安全中间件”。根据分析,这一 层涉及到大量的安全知识,因此即使多平台、多厂商的a p i 统一了,开发 者仍要了解大量的安全背景才能选择使用合适的算法。为此,安全中间件 还应提供一个简单的高级接口,至少所有算法都是确省的,此类接口不应 太多,1 0 个足以。这样一般用户也能使用。另外,通用接口级还要解决多 厂家在同一平台上安全产品的互操作,保证这些模块是可信的,保证多种 模块共存的综合高性能( 也许一个厂家的产品已经考虑了性能,但不会考 虑多种产品共存的性能) 。 安全中间件资源信息服务器的设计和实现 2 2 4 基础级 这是为安全专家提供的接口,由安全产品提供者直接提供,当然是符 合安全中间件一个统一规范的接口。为了方便和模块化,根据安全产品的 功能,安全中间件将其细化为多个接口:密码学接口、证书接口、策略接 口、存取控制接口、扩展的接口。 2 3 小结 安全中间件是由应用程序、组件服务层、安全服务层、通用安全管理 程序、安全服务提供者和资源信息服务器六层结构组成。它为它的使用者提供 了组件级、体系接口级、通用接口级和基础级接口。 2 4 安全中间件资源信息服务器的设计和实现 第三章资源信息服务器的设计 资源信息服务器( r i s ) 是与安全中间件独立但又十分重要的部分,它 提供了描述和定位可执行对象以及这些可执行对象的证书信息的服务。它 可以被看成多个数据库和建立在这些数据库上且用来安全装载和使用这 些软件模块方法组成。同时,它也是一个在系统范围内的服务,也即是说 它可以被所有进程使用。安全中间件是r i s 最直接的使用者。r i s 为安全 中间件中定义的安全模块提供特别的支持和服务,提供方法进行注册和获 取模块的能力信息。 3 1 安全中间件中的r i b r i s 实际上是一个平台独立的注册服务,它主要被设计用来支持安全 地装载和使用软件模块。同时,它还是一个系统范围的服务,能够被所有 的进程使用。有别于其他的目录服务的是r i s 为安全中间件作了特别的支 持,所以特别适合安全中间件使用。r i s 定义了一个基本的对象目录表数 据库,该数据库包含有一

温馨提示

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

评论

0/150

提交评论