




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
魍川丈学硕士学位论文s s l 协议在数据库系统安全中的应用研究 s s l 协议在数据库系统安全中的应用研究 通信与信息系统专业 研究生李哲指导教师周安民 摘要 数据库系统中用户的访问控制方法是衡量数据库系统安全性的重要标志之 。目前大多数数据库系统的访问控制安全策略都采用的是用户名h 令认证方 式,这种方式的安全保障是十分有限的,有可能遭遇被动的嗅探攻击、主动的 中间人攻击和口令猜测攻击。而且用户一旦登录数据库系统之后,客户端与服 务器之间进行频繁的数据交换时,如何保证数据在网络传输过程中的保密性和 完整性,以防数据被嗅探和篡改,这也是一个应该引起重视的问题。 s s l 历经多次修订,已经成为世界上部署最为广泛的安全协议,尽管s s l 最常见的用途是保证w e b 通信的安全,但实际上它也是一种相当通用的协议, 适用于保护种类繁多的各种通信数据的安全。在实际应用中,如果只是在s s l 连接一简单地承载应用数据,往往会引发事与愿违的安全隐患与性能瑕疵,应 用层协议需要协议设计者对s s l 有了足够的了解后才能在其上安全运行。通过 对s s l 工作原理及其安全特性的深入研究,我们认为s s l 基于证书的认证方式 能够很好她解决目前大多数数据库基于用户名,口令认证方式所暴露出来的诸 多问题,而且如果将证书与a c l 结合起来使用,还能对不同权限的数据库用户 进行访问控制。另外,在s s l 协议中,要求客户与服务器之间的数据是经过加 密的,而且在提供保密性的同时,s s l 还以它特有的数据整合方式提供完整性 保护。因此,利用s s l 的这一特点,我们也可以为数据库系统中客户端与服务 器的数据传输构建一条密文通道。 本文在指出了常用的基于用户名1 :i 令的数据库访问控制方法的弱点的同 时,详细研究了在s s l 协议应用中涉及到的数字证书、加密算法、性能优化等 眄川丈学碗士学位论文s s l 协议在数据库系统安全中的应用研究 问题,提出了在网络数据库系统的用户访问控制中使用基于s s l 协议的证书认 证这一双向身份鉴别方式,利用s s l 在数据库用户和服务器之问构建一条安全 的保密通道,将s s l 协议与数据库安全有机地结合起来,并在此基础上设计实 现了一个简单的数据库插件系统。 经测试表明,利用s s l 构建数据库用户与服务器之间的安全连接这一设想 是可行的,能够实行有效的双向身份认证,满足我们在访问控制和保密通信两 方面的安全需求。 关键词:数据库:s s l 协议:证书i 认证。 匹1 ) f l 大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 t h er e s e a r c ho nt h e a p p l i c a t i o n o fs s lp r o t o c o l i nd a t a b a s e s y s t e ms e c u r i t y m a j o r :c o m m u n i c a t i o n a n di n f o r m a t i o ns y s t e m p o s t g r a d u a t e :l iz h es u p e r v i s o r :z h o u a n m i n a b s t r a c t t h ea c c c s sc o n t r o lm e t h o di so f l eo ft h em o s ti m p o r t a n ta s p e n si nm e a s u r i n g t h e s e c u r i t y o fad a t a b a s es y s t e mn o w a d a y sm o s td a t a b a s es y s t e m sa l eu s i n g c l i e n t p a s s w o r da u t h e n t i c a t i o nm e t h o da s t h e i ra c c e s sc o n t r o l s e c u r i t ys t r a t e g y , w h i c hh a s p o o rs e c u r i t yp r e s e r v a t i o na n d h a sb e e n s u f f e r i n gv a r i e t i e sa t t a c k s ,s u c h a s p a s s i v es n i f f i n ga t t a c k , a c t i v em a n i n - t h e - m i d d l ea t t a c ka n dp a s s w o r dg u e s sa t t a c k f u r t h e rm o r e ,o n c ec l i e n t sh a v el o g g e di n t od a t a b a s es y s t e m sa n dw h i l et h ec l i e n t s a n ds e r v e r sa r ee x c h a n g m gt h e i rd a t a ,h o wt op r o t e c tt h ec o n f i d e n t i a l i t ya n di n t e 舒t y o fd a t af r o mi n t e r c e p t i n ga n dm o d i f y i n go nt h ew i r eh a sc a u g h tag r e a td e a lo f a t t e n t i o n m o d i f i e dt b r m a n yt i m e s ,s s lh a s b e c o m et h em o s tw i d e l yu s e ds e c u r e p r o t o c o li n t h ew o r l d a l t h o u g hi ti su s u a l l yu s e dc os e c u r cn e t w o r kc o m m u n i c a t i o n s s s li sa c t u a l l yac o m m o n p r o t o c o l ,w h i c hi ss m t a b l cf o rp r o t e c t i n gt h es e c u r i t y o f v a r i e t i e so fc o m m u n i c a t i o nd a t ai nr e a l i t y , j u s t s i m p l yt r a n s f e r r i n gd a t a o ns s l u s u a l l y c a u s e s u n e x p e c t e ds e c u r i t y a n df u n c t i o n p r o b l e m s t h es s l p r o t o c o l r c q u i r e sag o o du n d e r s t a n d i n go fs e c u r i t yp r i n c i p l e st oa p p l ys e c u r e l ys ot h a tt h e a p p l i c a t i o np r o t o c o ld e v e l o p e r s c a nm a k et h e i r d e s i g n s w o r k w e l l t h r o u g h p r o f o u n d l ys t u d y i n go i lt h ew o r kp r i n c i p l e s o fs s la n di t s s e c u r i t yf e a t u r e s ,w e r e a l i z et h a tt h ec e r t i f i c a t e - b a s e da u t h e n t i c a t i o nm e t h o dc a ns o l v et h e p r o b l e m s e x i s t i n gi nc l i e n t p a s s w o r d - b a s e da u t h e n t i c a t i o nm e t h o dm e n t i o n e da b o v e f o rt h e 四川丈学硕士学位论文s s l 协议在数据库系统安全中的应用研究 m o r e ,l fw e u s ec e r t i f i c a t e sc o m b i n e dw i t ha c l ,w ec a r lw e l lc o n t r o ld a t a b a s ec l i e n t s w i t hd i f f e r e n ta c c e s sa u t h o r i t i e si na d d i t i o n ,s s l r e q u i r e s t h ed a t at r a n s f e r r e d b e t w e e nc l i e n t sa n ds e r v e r ss h o u l db ee n c r y p t e df u r t h e rm o r e ,n o to n l yd o e ss s l p r o v i d eu sd a t ac o n f i d e n t i a l i t y , i ta l s op r e s e r v e st h ei n t e g r i t yo fd a t ab yi t ss p e c i a l w a yo fd a t ap a c k a g e t h e r e f o r e ,w e c a nu s et h i st ob u i l d u p a c i p h e r t e x t c o m m u n i c a t i o np i p ef o rd a t at r a n s f e r r i n gb e t w e e nc l i e n t sa n ds e r v e r so fd a t a b a s e s 3 。s t e m s i nt h i sp a p e r , w ed i s c u s st h es h o r t c o m i n g so fc l i e n t p a s s w o r d - b a s e dd a t a b a s e a g g c s sc o n t r o l m e t h o d ,a n dw ea l s ot a l ka b o u td i g i t a lc e r t i f i c a t e ,c r y p t o g r a p h i c a l g o r i t h m sa n df i m c t i o ni m p r o v e m e n ti ns s i ,a p p l i c a t i o n a f t e ra l lt h e s ew o r k ,w e r e c o m m e n dt h a tt h es s l - b a s e dc e r t i f i c a t ea u t h e n t i c a t i o nc a nb eu s e da sc l i e n ta c c e s s c o n t r o lm e t h o di nd a t a b a s es y s t e m s ,a n dw ec o na l s ou s es s lt os e tu pas a f es e c r e t c o m m u n i c a t i o nc h a n n e lb a s e do na b o v e s p e c i f i c a t i o n ,w ed e v e l o p e da n dr e a l i z e da s i m p l e d a t a b a s e p l u gs y s t e m i tp r o v e st h a tt h et e n t a t i v ei d e ao f u s i n gs s l i nd a t a b a s es y s t e m si sd e s i r a b l ei t n o to n l yc a np r o v i d eu sr e l i a b l ea u t h e n t i c a t i o n , b u ta l s oc a ns a t i s f yo u rd e m a n d si n b o t ha c c e s sc o n t r o l l i n ga n ds e c r e tc o n m a u n i e a t i o n k e y w o r d s :d a t a b a s e :s s i 。p r o t o c o l ;c e r t i f i c a t e ;a u t h e n t i c a t i o n 四川丈学硕士学位论文s s l 协议在数据库系统安全中的庞用研究 1 1引言 第一章绪论 数据库系统的安全性一直都是开发者_ 卜1 分关心的闷题,特别是在分布式数 据库系统中,数据的一致性和数据的频繁交换是系统稳定运行的关键i i j ,特别 是数据库应用系统跨地区时由于数据集中存放于少数几台可能分置于不同物 理地址甚至不同网络的服务器中,因此,除了数据库本身的数据加密、访问权 限管理、审计跟踪等安全问题之外,数据库用户的访问控制问题以及数据在网 络中的安全传输问题也是数据库安全性控制策略中应该加以重视的。 大多数数据库系统的访问控制安全策略都采用的是用户名1 2 1 令认证,这种 认证方式的安全保障是”卜分有限的1 3j ,有可能遭遇被动的嗅探攻击、主动的中 间人攻击和口令猜测攻击。我们可以利用基于证书的s s l t 2 客户端认证兼解决 这个问题,这种方法没有我们所描述的基于口令认证的弱点。特别是,攻击者 没有办法使用客户端认证信息来冒充客户端。我们可以为每个有权访问数据库 的用户颁发证书,同时在数据库服务器端维护一张用户列表,以便进行访问控 制。 用户一旦登录数据库系统,在客户端与服务器之间便会进行频繁的数据交 换。那么,如何保证在网络传输过程中数据的保密性和完整性,以防数据被嗅 探和篡改,这是一个应该引起重视的问题。这里,我们不妨借助s s l 提供的加 密和消息完整性服务,在客户端与服务器之间构建一条透明的安全通道,从而 杜绝数据在网络传输过程中的安全隐患。 基于以上两点,我们对s s l 协议及其在数据库安全方面的应爝进彳亍了深入 的研究,分析了现有数据库安全性控制策略的不足,并吸取其优点,提出了利 用s s l 协议来构建访问远程数据库系统的安全通道这一设想,并在此设想上设 计茹实现了一个初步方案,以期在今后的数据库安全应用研究中能够起到一个 抛砖引玉的作用。 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 1 2 国内外发展现状 数据库技术从6 0 年代产生以来,已得到快速的发展和广泛的应用,数据库 担负着日益艰巨的集中处理大量信息的任务。随着网络化开放环境的发展,数 据库安全问题日渐突出。从7 0 年代开始欧美发达国家就开始重视计算机系统的 安全性问题,美国国防部( i x ) d ) 于1 9 8 5 年公布了世界t 第一个计算机系统安 全评估标准t c s e c ( 可信计算机安全评估标准) ,之后又公布了t d i ( 可信数据 库管理系统解释) ,这也是目前国际上比较通用的标准。并且欧美一些发达国家 已经研制出成型的和实用的b 级以上的安全数据库产品投入国际市场,但它们 对于我国市场出口是受限的,且价格也十分昂贵。 我国现在使用的大多是国外研制的c 类数据库管理系统,如o r a c l e 、s y b a s e 、 d b 2 等,这些数据库管理系统均是采用自主访问控制的产品,其安全性较低, 不能确实地保证数据库系统的安全性 3 1 。根据对一些国家的数据库安全问题的 分析,在很多信息安全要求较高的领域,如军事、金融业、工业和司法等,自 主访问控制的c 类数据库管理系统远达不到安全需求,需要采用强制访问控制 方法,为系统中的信息和系统的用户赋予安全标签来控制访问的安全性。因此, 需要提高c 类数据库管理系统的安全性,达到t c s e c 的b 类安全标准才能满 足安全要求。 由于国外技术出口的限制,我国购买国外已有的b 类安全数据库产品价格 昂贵,而且钛安全角度考虑,购买没有自主产权的国外安全产品,本身就存在 着不安全的因素,因此要提高数据库管理系统的安全性,只能走我国自主研究 和开发安全产品的道路。 目前我国自主研发的b 类数据库管理系统还正在研制和完善中。已经有一 些研究机构在研发b l 级数据库管理系统,华中理工大学多媒体和数据库研究所 开发了b l 级数据库管理系统d m 2 ,东软集团中间件公司在大型数据库管理系 统【) p c r l b a s e 的基础上,自主研究开发了o l 瑚1 b a s es e c u r e1 0 ,北京大学牵头 研制了数据库管理系统c o b a s e 。这些研究工作为我国b 级数据库管理系统安 全产品的研究工作打下了良好的基础,但它们离投入实际的使用还有一段距离, 其安全性和实用性都难以得到保证。据了解,现在国内的大型的信息系统使用 的都是国外的数据库管理系统,若要整个更换数据库管理系统也是不现实的。 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 基于以上分析,开发数据库安全插件是一个开发成本低、节省培训费用和 见效快的切实可行的方案。数据库安全插传作为基于强制访问控制的部件外挂 于c 类数据库管理系统之上,在数据库系统基本的访问控制机制的基础上再增 加一层基于证书的强制访问控制,以使整个系统遵循强制访问控制规则,最终 使c 类数据库管理系统在安全插件的安全保护下能达到可信计算机安全评估标 准( t c s e c ) 的b 1 级安全标准。 1 3 本文的结构 第一章绪论介绍了将s s l 涛议应用于数据库系统中的设想及国内外针对 s s l 应用和数据库安全的研究现状。 第二章分析了数据库访问控制策略以及数据信道的安全性,指出将s s l 协 议与数据库安全有机地结合起来的必要性和可行性。 第三章是应用s s l 协议的相关技术研究。相关技术包括密码学、数字证书 的基本知识,并对s s l 及其工作服理作了简要的介绍,分析了安全使用s s l 的 一般规则。 第四章根据本文前面的研究,提出一个基于s s l 的远程数据库管理系统的 通信模块的具体实现。并对s s l 所涉及到的证书的结构体系、证书的内容以及 证书的检验进行分析。 第五章是结束语及深入思考。 1 4 英文缩写词 s s ls e c u r es o c k e tl a y e r 安全套接层 f l s t r a n s p o r tl a y e r , s e c u r i t y传输层安全 c ac e r t i f i c a t ea u t h o r i t y证书权威 p k c sp u b l i c k e yc r y p t o g r a p h ys t a n d a r d 公钥加密标准 p k p u b l i c k e y公钥 r kp r i v a t e k e y 私钥 s k s y m m e t r yk e y 对称加密密钥 d hd i f i e - h e l l r n a n d h 算法的两位提出者 1 四川大学硕士学位论文s s l 潍议在数据库系统安全中的应用研究 d s a d s s m a c d e s d n c r l o d b c a p i p f s i _ e t f d i g i t a ls i g n a t u r ea l g o n t h m d i g i t a ls i g n a t m e s t a n d a r d m e s s a g e a u t h e n t i c a t i o nc o d e d a t ae n o r y p t i o ns t a n d a r d d i s t i n g u i s h e d n a m e c e r t i f i c a t er e v o c a t i o nl i s t o p e n d a t a b a s e c o n n e c t i v i t y a p p l i c a t i o np r o g r a n m a i n gi n t e r f a c e p e r f e c tf o r w a r d s e c u r i t y i n t e m e te n g i n e e r i n gt a s kf o r c e - 4 数字签名算法 数字签名标准 信息验证码 数据加密标准 标识名 证书撤销列表 开放式数据库互连 应用编程接口 完美前向保密性 因特网工程任务组 四川丈学硕士学位论文s s l 协议莲数据库系统安全中的应用研究 第二章数据库安全性分析 2 1 访问控制策略 数据库系统信息安全性依赖于两个层次:一层是数据库管理系统本身提供 的用户名h 令字识别、视图、使用权限控制、审计等管理措施,大型数据库管 理系统o r a c l e 、s y b a s e 、i n g r e s s 等均有此功能;另一层就是靠应用程序设置的 控制管理,如使用较普遍的f o x b a s e 、f o r p r o 等。作为数据库用户,最关心自身 数据资料的安全,特别是用户的查询权限问题1 3 1 。对此,目前一些大型数据库 管理系统( 如o r a c l e 、s y b a s e 等产品) 都将用户进行了分类,不同类型的用户授 予不同的数据管理权限。一般将权限分为三类:数据库登录权限类、资源管理 权限类和数据库管理员权限类。 有了数据库登录权限的用户才能进入数据库管理系统,才能使用数据库管 理系统所提供的各类工具和实用程序。同时,数据库客体的主人可以授予这类 用户以数据查询、建立视图等权限。这类用户只能查阅部分数据库信息,不能 改动数据库中的任何数据。 具有资源管理权限的用户,除了拥有上一类的用户权限外,还有创建数据 库表、索引等数据库客体的权限,可以在权限允许的范围内修改、奁询数据库, 还能将自己拥有的权限授予其他用户。可以申请审计。 具有数据库管理员权限的用户将具有数据库管理的一切权限,包括访问任 何用户的任何数据,授予( 或回收) 用户的各种权限,创建各种数据库客体,完 成数据库的整库备份、装入重组以及进行全系统的审计等工作。这类用户的工 作是谨慎而带全局性的工作,只有极少数用户属于这种类型。 最传统的进行客户端认证的方法就是使用用户名h 令。用户将用户名和口 令提供给网络客户端。而它贝u 将其提供给用户要访问的数据库服务器。服务器 根据口令数据库检查用户口令。如果口令检查通过,那么网络客户端就会被认 证为合法用户。 这种方法通常与a c l 4 ) ( 存取控制列表) 机制结合起来使用。一个a c l 就 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 是一张包含用户和每个用户所具有的权限的列表。数据库中的每种资源都有一 个与之关联的a c l ,当客户端请求存取一种资源的时候,服务器就检查与那个 客户端关联的用户在帽应的a c i ,中是否具有该权限。 用户名口令方法经常遭受种简单的嗅探攻击:攻击者可以从线路上嗅探 口令,然后重新发起一次新的连接,将嗅探到的用户名v ! 令对作为自己的用户 名h 令来向服务器提供。 另外,数据传输的通道安全依赖于客户端形成到恰当的数据库服务器的安 全连接,如果没有一种严格的认证方式来确认服务器的身份,那么这种通道就 有可能遭受到中闯人攻击。攻击者可以插入到客户端和服务器之间,在通信双 方毫无察觉的情况下获得用户的口令。 还有一种攻击就是口令猜测攻击。用户经常选择低质量的口令,像用户名、 名字、出生日期等内容。这样的口令很容易被猜到,因此攻击者可以简单地初 始化到服务器的连接,并依次尝试每一个容易猜到的口令。这样的攻击并不是 对任何用户都能达到目的,但是如果用户的基数比较大,那么总能碰到有个别 用户选择劣质口令。 用户名l q 令的最后一个弱点就是它们是可传输的。当你向一台服务器证明 自己身份的时候,你会向它提供自己的用户名h 令。如果你在多台服务器上使 用相同的用户名口令对( 这种情况比较常见) ,那么其中的某个服务器就能对 别的服务器冒充成你。 基于以上分析,我们认为一种明显的解决方案就是采用基于证书的客户端 认证。这种方法的主要问题是操作上的,需要为每个能够认证的客户端颁发证 书,它没有我们所描述的基于口令认证的弱点。因为攻击者没有办法使用客户 端认证信息来冒充客户端,当然要做到这一点,前提必须是具有一套严格安全 的证书颁发机制。基于客户端认i 正的一个附加问题就是将证书映射为用户标识, 只要基于证书中的身份来查找a c l 条目就可以将a c l 与证书一起使用。 2 2 数据通道安全 在分布式数据库系统中,数据的一致性和数据的频繁交换是系统稳定运行 的关键。通常,数据库系统的信息交换方法有三种,一种是点对点通信,建立 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 用户与服务器之间的连接,直接用s q i 。语句来对数据库进行读写,或者使用工 具中的管道技术来传输信息。目前这种方法虽然编程简单,但是在充满干扰的 远程通信环境中,通信极为不可靠。第二种方法是用动态网页,人工填写表格, 通过对方w e b 服务器对数据库进行操作。此方法安全性和灵活性很差,只能发 送极少量的大众信息。第三种方法是建立一套通信协议,将交换信息转换成文 件,采用某种网络传输文件,接收方再将特定的数据文件写到数据库特定表中。 我们发现,s s l 正是一种在两台机器之间提供安全通道的协汉,它的首要 设计目的就是为客户与服务器之间的数据传输提供保密性和数据完整性,如果 能够将二者有机地结合起来,完全能够满足数据库系统的通信要求。 2 3 技术路线 根据以上我们对数据库系统的访问控制策略和数据通道的安全性分析,我 们的数据库安全应用插件要达到的目标是:在数据库用户和服务器之间进行双 向身份认证,并在客户端和服务器之间构建一条安全的密文通道。为此,我们 采用的技术路线如下: 为每个数据库用户以及服务器颁发数字证书,将证书同服务器或用户的 某些独一无二的信息绑定在一起。 根据将证书与a c l 相结台的方法来制定数据库的访问控制策略,以达到 对不同级别的用户授予不同的访问权限的要求。 按照s s l 协议的设计要求,在客户端与服务器彼此进行了双向身份认证 之后,对它们之间的数据交换进行加密处理,以期达到密文通信的目的, 从而保证数据在传输过程中的保密性和完整性。 在将s s l 应用于数据库插件系统的过程中,选择高强度的加密算法的同 时,还要考虑性能的优化,尽量减少开销。 翻川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 第三章s s l 及相关技术研究 3 1s s l 及其安全特性 3 1 1 s s l 概述 s s l 安全套接层是一种在两台机器之间提供安全通信的协议。它具有保护传 输数据以及识另i j 通信机器的功能。安全通道是透明的,意思就是说它对传输的数 据不加变更。客户与服务器之间的数据是经过加密的,一端写入的数据完全是另 一端读取的内容。透明性使得几乎所有基于t c p 的协议稍加改动就可以在s s l 上 运行,非常方便。 图31s s l 的通信过程 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 s s l 历经多次修改,从开始的版本l 到砸t f 最终所采纳的传输层安全标准 t i s 。图3l 描述了用s s l 进行通信的大致过程。s s l 的工作过程总是以客户端向 服务器发出一个握手信息开始的,作为回应,服务器会返回它的数字证书给客户 端。就像我们后面第4 章将要详细讨论的,数字证书实际上就是一些数据片段, 它包括了服务器的公钥和其他些和服务器有关的信息。在随后的连接过程中, 客户端用服务器的公钥加密一个公共密钥发送给服务器,服务器再用自己的私钥 解密。这样,双方便有了一个共同的会话密钥,以便为后来的数据传输提供保密 通信。 3 1 ,2s s l 与t c p i p 协议族 所有版本的s s l 与t l s 都采用相同的基本策略:它们在两个通信程序之间 提供一条在期间传递任意应用数据的安全通道1 6 j 。从理论上讲,s s l 连接非常 类似于“保密的”t c p 连接。从安全套接层这个名字就可以看出,目的就是为 了让s s l 连接像以t c p 连接起来的套接字那样。 让s s l 语义模仿t c p 语义的首要目的就是易于应用程序员的使用。依照 这个目的,大多数s s i 实现都提供了有意模仿最为流行的网络a p i 、b e r k e l e y s o c k e t s 的应用编程接口a p i 。图3 2 描述了调用典型s s la p i ( o t x n s s l n ) 以 及对应w i n d a w s a p i 的例子。 s o e k e 姆a p i o l a e n s s l s ( ) c k e t , s o c k e t ( i 札i n ti n t )s s l s s lf l e w ( s s lc t x ) i n tc o n n e c tt s o c y e t , c o n s ts t r u c ts o c k a d d rf a r + i i l t )i ms s i c 0 1 1 1 0 e g t ( s s l + ) i n ts e n d ( s o c k e t e o n s tc h a r 眦i n t , i n t )i n t s s w r i t e ( s s l4 c h a r j n t ) i n l 绺v ( s o c k e t , e l m r f 根i n t , i n t ) m t s s lr e a d s s i ,c h a r4 i n t ) 图32s a c i c e t s a p i 与s s l a p i 的比较 s s l 依赖于可靠传输协议发送数据,它假定其下层的数据包发送机制是可 靠的。写入网络的数据将依顺序发送给另一端的程序,不会出现丢包或重复发 送的情况。从理论上讲,有许多传输协议都能提供此种服务,但在实际应用中, 四川丈学硕士学位论文s s l 协议在数据库系统安全中的应用研究 s s l 几乎只是在t c p 上运行,它不能在u d p 或直接在p 上运行【2 1 。图33 描 述了协议栈中s s l 的位置,它正好位于应用层的下面,t c p 的上面。 应用层 1 p 伊 应用层 s s l t c p 疋 一般应用使用s s l 图33s s l 在协议栈中的位置 3 1 3 在s s l 上构建一切 由于许多协议都在t c p 上运行,而s s i 。连接与t c p 连接非常相似,所以 通过在s s l 上附加现有协议来保证其安全是一项非常吸引人的设计决策【8 。除 了s s l 之上的h t t p 和n n t p 以外,很快就出现了许多使用s s l 来保护主要闲 特网协议的提议,其中包括s m t p 、t e l n e t 和f t p 。许多厂商还使用s s l 来保 护他们的专有协议。 在设计协议时,可以简单地为协议分配一个不同与以往常用的端口,而服 务器实现让服务器在新的安全端口上进行监听。任何到达安全端口的连接都会 在协议通信开始之前自动执行s s l 磋商。 314 s s l 的工作原理 s s l 的连接分为两个阶段,即握手和数据传输阶段。握手阶段对服务器进 行认证并确立用于保护数据传输的加密密钥。必须在传输任何应用数据之前完 成握手。一旦握手完成,进入数据传输阶段,数据就被分成一系列经过保护的 记录进行传输。 3 1 4 1s s l 握手 s s l 握手有三个目的。第一,客户端与服务器需要就一组用于保护数据的 算法达成一致。第二,它们需要确立一组由那些算法所使用的加密密钥。第三, 四川丈学硕士学位论文s s l 协议在数据库系统安全中的应用研究 握手还可以选择对客户端进行认证。 整个工作过程如下( 请参见圈34 的图示) : ( 1 ) 客户端将它所支持的算法列表连同一个随机数( 该随机数在密钥产生 过程中用作输入) 发送给服务器。 ( 2 ) 服务器根据从列表的内容中选择一种加密算法,并将其连同一份包含 服务器公用密钥的证书发回给客户端。该证书还包含了用于认证目的的服务器 标识,服务器同时也提供了一个随机数,作为密钥产生过程部分的输入。 ( 3 ) 客户端对服务器的证书进行验证,并抽取服务器的公用密钥。然后, 再产生一个称作p r em a s t e rs e c r e t 的随机密码串,并使用服务器的公用密钥对 其进行加密。最后,客户端将加密后的信息发送给服务器。 ( 4 ) 客户端与服务器根据p r em a s t e rs e c r e t 以及客户端与服务器的随机数 值独立计算出加密和m a c 密钥。 ( 5 ) 客户端将所有握手消息的m a c 值发送给服务器。 ( 6 ) 服务器将所有握手消息的m a c 值发送给客户端。 客户 服务器 j 迎墅塑墼墼埋避 婴堂里塑螋墼擅照塾里l 一一 二塑墼芝堡娑! 翌 ( 4 ) 计算密钥 ( 4 ) 计算密钥 塑塑堕些堕 ( 6 ) 握手消息! ! ! ! 堡一 一一 图3 4s s l 握手概述【2 】 在以上过程中,第1 和第2 步通信双方就一组算法达成一致,实现了前面 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 提到的握手要达到的第一个目的。而第二个目的,确立一组加密密钥则是通过 第2 、第3 和第4 步来实现的。第5 和第6 步用以防止握手本身遭受篡改。 如果选择对客户端进行认证,那么在第2 步中,服务器还要给客户端发送 一条请求客户端提供证书的消息,相应的,客户端也会在第3 步中首先将一份 包含客户端公用密钥的证书以及一个用与此证书关联的私用密钥签名的字符串 发回给服务器。 3l42s s l 记录协议 在s s l 中,实际的数据传输是使用s s l 记录协议来实现的。s s l 记录协议 将数据流分割成一系列的片段,对每个片段单独进行保护和传输。在接受方, 对每条记录单独进行解密和验证。 那么,s s l 记录协议是如何对每个数据片段进行保护的呢? 原来,在传输 片段之前,为了防止其遭到攻击,先计算出数据片段的m a c 值,再将m a c 附 加到数据片段的尾部,并对数据与m a c 整合在一起的内容进行加密,最后装 上头信息,形成一个完整的记录,记录就是实际传输的内容。图3 5 描述了数 据片段整合的过程。 , j = 亚 囤三三 图3 5s s l 数据片段的整合过程1 2 四川大学硕士学位论文s s l 礴议在数据库系统安全中的应用研究 3 15 安全使甩s s 。的一般规则 31 51 保护m a s t e r s e c r e t 由于用以保护数据的所有加密密钥都是通过m a s t e rs e c r e t 来产生的,所以 m a s t e rs e c r e t 的保密是整个协议安全使用的基础 2 1 。如果某个会话的 r l l a s t e rs e c r e t 被攻破,这个会话就会完全暴露在攻击之下。 在通常的s s l 实现中,m a s t e rs e c r e t 都会驻留在主机的主存储器中,这意 味着任何可以读取s s l 进程存储空间的攻击者都能够读取m a s t e rs e c r e t 。为了 防止这类情况的发生,应当避免将保密数据写到磁盘上,如果一定要这么做, 那就应当小心设置文件的权限,以使其他用户无法读取这些数据。此外,对于 使用虚拟内存的操作系统来说,最好确保包含m a s t e rs e c r e t 以及其他保密数据 的内存永远不会被交换到磁盘上。 3 152 保护服务器的私钥 如果取得了服务器的私钥,攻击者不仅能够轻而易举地获得m a s t e r _ s e c r e t , 进而读取他所能捕获的任何通信数据,而且还能随意冒充服务器。为了防止这 类情况的发生,我们必须做好服务器私钥的保密工作。常用的方法是对磁盘上 的私钥进行加密,而且要提供口令才能对其进行解密。这就要求用户管理员产 生并记住一条高强度的口令。另一种方法是将密钥存储在受保护的硬件中。 3153 使用良好的随机性 s s l 在许多地方使用随机数,其实现的安全性完全依赖于它所产生的随机 数的质量。无论客户端还是服务器都需要拥有高强度的随机数生成能力。如果 服务器产生了弱强度的随机数,那么攻击者就能猜测出服务器的私用密钥,从 而导致p r em a s t e rs e c r e t 的泄露。如果是客户端产生了弱强度的随机数,那么 攻击者就能直接猜测出p r em a s t e rs e c r e t 。 有两种产生随机数的通用方法【2 】【8 j :一是通过某种随机的或几乎是随机的物 理过程获得真正的随机性,二是使用能产生看似随机序列的算法来获得伪随机 四川大学硕士学位论文s s l 协议在数据库系统安全中的应用研究 性。 无论选择何种策略,都需要满足下列属性: ( 1 ) 产生的随机数序列应当是无偏的,即0 和1 的数量平均起来应该大致一 样。 ( 2 ) 随机数序列的输出应当是互不相关的,即对序列中某一部分输出值的了 解不应当有助于了解其他部分的值。 本课题采取的是使用算法形式的伪随机数发生器。 3 154 检查证书链 仅有一份无法验证的证书跟没有证书没什么两样。然两,仅构造出到达某 个根结点的证书链并不足以对证书进行验证。为了确信你是在与自己认为的实 体进行通信,还要进行一些其他检查。这其中包括对服务器身份的检查,即服 务器提供的证书必须包含与期望的服务器身份相关联的身份,当然这些身份信 息不能在线路上进行传输,而必须是在初始化连接时客户端已经知道的。如果 使用了客户端认证,还需要对客户端身份进行验证。s s l 本身不会挑剔客户端 的身份,应用层应该知道如何对其进行解释。 当然,除了上面的工作,还必须考虑根证书的可信程度以及证书链的深度。 由于有关证书的研究是本课题的一个重要环节,我们将在第4 章傲更为详细的 探讨。 3 1 5 5 选择高强度的算法 s s l 支持各种各样的加密套件,这些加密套件指定一组供连接使用的算法, 这些算法的强度就决定了s s l 连接的安全。 建议认证算法及密钥交换算法使用至少具有7 6 8 位密钥的r s a 5 l 或 d h d s s “,而加密算法则使用3 d e s l 5 】或r c 4 1 2 8 5 1 ,前者侧重于安全性,后者 侧重于高性能。最后使用s h a 1 【2 1 来完成消息认证,即摘要算法。 四川大学硕士学位论文s s l 协议在效据库幕统安全中的应用研究 3 2 密码学应用 3 2 1 安全目标 通信安全由许多不同的但却相互关联的特性构成。具体对其怎样进行划分 则有赖于所谈论的对象。根据攻击者所其备的具体技能,他会对我们的数据安 全构成各种不同的危害。通常,我们认为对于通信安全最有用的特性划分就是 将其分成以下三个主要类另f j l m : 保密性( c o n f i d e n t i a l i t y ) 。 大多数人思考安全的时候,都是在考虑保密性。保密性的意思就是消息除 了发送方和接收方外,对无关的第三方保密,通常这些第三方为窃听者。显然, 如果你有秘密的话,就会希望没有别入知道这些秘密,所以你最少也需要保密 性。 消息完整性( m e s s a g el a t e 嘞) 。 消息完整性懿基本思想就是,我们想要确信自己所收到的消息就是发送者 发送的消息,攻击者不可能用假消息来代替真实消息。 端点认证( e n d p o i n ta u t h e n t i c a t i o n ) 。 通过端点认证所要达到的意图就是要知道通信中的某个端点( 通常为发送 者) 就是我们所指的那个端点。没有端点认证,要提供保密性和消息完整性就非 常困难。端点认证可以以非对称的方式提供。例如,给某人打电话就是一个接 受方认证的例子,这里你知道接电话的人是谁,但是对方却不知道发送方是谁。 而从另一个角度来讲,现金就是一个发送端认证的例子。一张百元现钞就像是 政府签名的消息。政府并不知道是谁拿到了这张钞票,但是你却可以深信钞票 实际上是由中国人民银行印刷的,原因就是货币很难伪造。 3 22 加密算法 从概念上来讲,最易于理解的算法就是加密算法。其思想是简单的:加密 算法接收一些数据( 称作明文) 并在密钥的控制下将其转化为密文。密文看上 去就像随机数据,不知道密钥就无法收集与明文有关的各种有用信息。现代密 码学的基本原则是:切秘密寓于密钥之中即算法公开,密钥保密【5 】。图3 6 四川大学碗士学位论文s s l 协议在数据库系统安全中的应用研究 中描述了这些元素之间的相互关系。 加密 解密 明文i p 密文卜 明文 图3 6 加密与解密 3 221 秘密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年门面租赁合同范本
- 2025河南郑州城建职业学院招聘管理岗、教师、辅导员考前自测高频考点模拟试题(含答案详解)
- 2025标准版委托贷款合同样本
- 2025机械设备的货物买卖合同
- 2025设备租赁合同书范本
- 2025年我国合同法中格式合同缺陷的法律调整及不安抗辩权的适用条件
- 2025年版个人借款合同范本下载
- 2025合规的独家经销合同
- 2025年浙江大学医学院附属邵逸夫医院招聘派遣岗位21人模拟试卷及答案详解(各地真题)
- 文秘业务考试题库及答案
- 分包单位与班组签订合同
- DZ∕T 0215-2020 矿产地质勘查规范 煤(正式版)
- 2024年初中升学考试九年级数学专题复习新课标要求-中考33讲
- (高清版)DZT 0289-2015 区域生态地球化学评价规范
- 冲压车间给员工培训课件
- 八年级上册数学课件综合与实践《哪个城市夏天更热》北师大版
- 过敏性鼻炎的症状和治疗方法
- 消防喷淋系统安装检验批质量验收记录(含内容)
- 社会保障学第一章
- 危险货物装载与卸载操作规程
- 《映山红》PPT课件(安徽省市级优课)-五年级音乐课件
评论
0/150
提交评论