




已阅读5页,还剩52页未读, 继续免费阅读
(通信与信息系统专业论文)ipv6环境下ipsec协议在linux中的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电太学研究生学位论文i p v 6 环境下i p s e e 协议在l i n u x 中的实现 中文摘要: i n t e r n e t 网络在发展初期,只注意到了网络的连接性、开放性和兼容性,而 没有考虑网络的安全性。在这样的网络环境下,传输过程中的i p 数据包的完整 性、机密性、真实性和信息发送者的不可抵赖性得不到保证。i p s e c 安全协议的 制定,从根本上为毫无安全性可言的“i p 网络”提供了安全保障。 目前各大网络设备商纷纷在自己的设备中增加了对i p v 6 和i p s e c 的支持, 在主机系统中,目前做的最好的是b s d 平台下的k a m e 和l i n u x 平台的u s a g i , 但还不是很完善,存在着互通性差,内核体积大,对原内核修改较大甚至对协议 本身也未完全实现等缺点,不利于在自主操作系统中使用。 在本论文中我们利用l i n u x 的i p 层n e t f i l t e r 框架结构实现i p v 6 的i p s e c 协议。 n e t f i l t e r 是l i n u x 2 4 推出的一个新的i p 层的处理框架,用户可以注册自己的i p 层处理模块,从而方便的增加和删除各种对i p 层数据包的特殊处理,例如i p s e c 或m o b i l ei p 等。我们在实现中利用这一特性使i p 层和i p s e c 的处理完全融合, 提高了效率,减小了内核体积。认证头a h 、安全净核封装e s p 以及安全关联库 s a d b 和安全策略库s p d b 在l i n u x 内核中实现,在用户用户态实现i k e 守护进 程以及一些统计和日志的功能,i k e 守护进程实现和其它i p s e c 实体的s a 协商。 系统内核和用户态之间的通信采用p fk e y ( r f c 2 3 6 7 ) 实现。它被授权的密钥管 理应用程序用来与操作系统内部的密钥管理通信,提供i p s e cs a 的接口。 本论文分为五章,下面简要介绍一下各章的内容: 第一章,概述当前网络安全现状。首先分析了当前t c p i p 协议栈存在地系 统漏洞,然后给出了目前黑客的主要攻击手段。 第二章,介绍了口v 6 的一些基本特性,然后重点讲述了i p v 6 下的安全协议 i p s e c 。主要讲述了i p s e c 下的a h ,e s p 和i k e 协议以及相关内容。包括a h , e s p 的各种运行和实施模式,i k e 相关的安全关联库s a d b 和安全策略库s p d 等。 第三章,介绍了i p s e c 协议必须要求实现的几种安全算法,包括3 d e si n c b c t r i o d e ,h m a cw i t hm d 5 ,h m a c 埘t ls h a 1 。 第四章,本章是全文的重点给出了利用l i n u x 的n e t f i l t e r 和开放源代码特 性实现i p s e c 的方案和具体细节,以及需要的相关理论知识。 第五章,本章对第四章中实现系统进行测试分析,并提出改进计划。 关键字:i p v 6 ,i p s e e ,n e t f i l t e r ,v p n ,a h ,e s p ,i k e 。 北京邮电大学研究生学位论文i p v 6 环境下i p s e c 协议在l i n u x 中的实现 a b s t r a c t i nt h ei n i t i a l s t a g eo fi n t e r a c t ,o n l yi t sc o n n e c t i o n ,o p e n n e s s ,a n dc o m p a t i b i l i t ya r e t a k e ni n t oc o n s i d e r a t i o n i ns u c han e t w o r ke n v i r o n m e n tw h o s e s e c u r i t y i s n t c o n s i d e r e d ,t h ei n t e g r i t y , s e c u r i t y , r e l i a b i l i t y , a n dd a t ao r i g i na u t h e n t i c a t i o no f t r a f f i c a ti pl a y e rc a r l tb eg u a r a n t e e dd u r i n gt r a n s m i s s i o n t h ee s t a b l i s h m e n to ft h es u i t eo f i p s e ce n s u r e st h es e c u r i t yf o rt h et r a f f i ct r a n s m i t t e da ti pl a y e r n o wa l m o s ta i lt h en e t w o r ke q u i p m e n tm a n u f a c t u r e r sp r o v i d et h es u p p o r tf o ri p v 6 a n di p s e ci nt h e i rp r o d u c t s i n l ef i e l do fh o s to p e r a t i o ns y s t e m 血eb e s td e v e l o p e r s a r ek a m ef o rb s da n du s a g if o rl i n u x h o w e v e r , o nt h eo t h e rh a n d t h e yh a v e s u c hd e f e c t sa sd e f i c i e n ti n t e r c o n n e c t i o nw i t ho t h e rs y s t e m s ,l a r g ek e r n e lv o l u m e , g r e a tm o d i f i c a t i o nt ot h eo r i g i n a lk e r n e l ,a n di n c o m p l e t ei m p l e m e n t a t i o no f p r o t o c o l s t h e r e f o r et h e ya r en o tf i tf o ru s ei ne m b e d d e d o p e m t i o ns y s t e m s i nt h ed i s s e r t a t i o n w em a k eu s eo fn e t f i l t e ra ti pl a y e ro fl i n u xt oi m p l e m e n ti p s e c p r o t o c o l s n e t f i l t e ri san e wd i s p o s a lf r a m e w o r kp r o v i d e db yl i n u xa f t e rt h er e l e a s e o f2 4 d e v e l o p e r sc a nr e g i s t e rs p e c i f i cm o d u l e ss u c ha si p s e ca n dm o b i l ei p t h u s e a s i l ya d do rr e m o v ea c t i o n st o 廿a m ca tt h ei pl a y e r i nt h ei m p l e m e n t a t i o n s w e i n t e g r a t e i p 1 a y e ra n di p s e cm o d u l ef u l l ya n di m p r o v et h ee 伍c i e n c y a h e s p s a d ba n ds p da r ep r a c t i c e di nt h ek e r n e l a tt h ea p p l i c a t i o nl a y e rw er e a l i z ei k e d e a m o na n ds o m ea d d i t i o n a lf u n c t i o n s i k ed e a m o nc a nn e g o t i a t es aw i t ho t h e ri k e d e a m o n s t h ec o m m u n i c a t i o nb e t w e e nk e m e la n d a p p l i c a t i o n i sb a s e do n p fk e y ( r f c2 3 6 7 ) w h i c hi su s e dt op r o v i d ei p s e cs ai n t e r f a c eb ya u t h e n t i c a t e d k e y m a i l a g e m e n td e a m o n t h ed i s s e r t a t i o ni n c l u d e sf i v ec h a p t e r s t h ef o l l o w i n gg i v e sab r i e fi n t r o d u c t i o nt o e a c h c h a p t e r c h a p t e r o n eg i v e sa s u m m a r y o f t h ea c t u a l i t yo f n e t w o r k s e c u r i t y f i r s t l yi tf i g u r e so u t t h eb u go ft c p i pe s p e c i a li p v 4 ,a n dt h e ng i v e sab r i e fi n t r o d u c t i o no fa t t a c km e a s u r e o fh a c k e r c h a p t e rt w oi n t r o d u c e st h e b a s i cf e a t u r eo fi p v 6 ,a n dm a k ea l l e m p h a s e so nt h e s e c u r i t yf e a t u r ei p s e c ,a n dt h e ng i v e sa ni n t r o d u c t i o no fa h ,e s p a n di k e p r o t o c o l s a n d s o m e t h i n g i n t e r r e l a t e dw i t hi k e ,s u c ha ss a d ba n ds p d c h a p t e rt h r e eg i v e sa ni n t r o d u c t i o no fs o m es e c u r i t ya l g o r i t h m ,w h i c hm u s tb e r e a l i z e db yi p s e cr e q u e s t e db yr f c ,s u c ha s3 d e si nc b c ,h m a cw i t hm d 5a n d h m a cw i ms h a 一1 c h a p t e rf o u ri st h ek e y s t o n eo f t h i sd i s s e r t a t i o n t h i sc h a p t e rg i v e st h es c h e m ea n d p r a c t i c a l d e t a i l sb a s e do nt h ef e a t u r eo fl i n u xs u c ha so p e n n e s so r i g i n a lc o d ea n d n e t f i l t e rf r a m e w o r k c h a p t e r f i v et e s t st h e s y s t e m r e a l i z e b yc h a p t e rf o u r - a n da n a l y z e t h e s y s t e m p e r f o r m a n c e ,l a s t l yb r i n gf o r w a r dt h ei m p r o v e m e n to f t h es y s t e m k e y w o r d s :i p v 6 , i p s e c ,n e t f i l t e r ,v p n ,a h ,e s p ,i k e 。 i i 北京邮电大学研究生学位论文 p v 6 环境下i p s e c 协议在l i n u x 中的实现 第一章网络安全概述 目前风靡全球的i m e m e t 是建立在t c p i p 协议基础之上的。t c p i p 协议是 d a r p a ( 美国国防部高级研究规划局) 为了实现异种网之间的互联,于1 9 7 7 年 一1 9 7 9 年间推出的一组体系结构和协议规范。其最大的特点是开放性,而这一 特点也是基于t c p i p 协议的i n t e m e t 能够飞速发展的主要原因之一。遵循开放性 原则的因特网,其最终目标是要在全世界范围内建立起一个技术共享、信息共享、 人人平等、人人互助的虚拟网上社会。但在现实社会中由于不同国家之间、不同 企业之间以及不同个人之间存在利益的差别甚至对立,意识形态的多元化,以及 在政治、军事、经济上存在激烈的竞争,这些因素都不可避免地要在互联网上体 现出来,从而成为互联网上安全问题的根源。随着因特网在全球的迅速发展,电 子商务在因特网上也随之展开,对因特网的安全问题也就提出了更高的要求。由 于t c p i p 协议发展的初衷是遵循开放性的原则,在网络安全方面并没有作过多 的考虑,使得现行t c p i p 协议体系结构本身就存在许多安全隐患。 目前的t c p i p 协议存在着如下安全漏洞: i p 地址假冒( i ps p o o f i n g ) 一个i p 数据包是否来自其真正的源地址,i p 协议本身并不提供任何保障。 从理论上讲,任意一台主机可以发出含有任意源地址的i p 数据包。这样一来, 基于i p 地址标识的数据包事实上是不可信的,这就使得一些基于i p 地址实现的 访问控制技术失效;同时这个缺点也使得对网络攻击者的追查与取证变得较为困 难,使得攻击者更加肆无忌惮。目前网络上的很多攻击如s y nf l o o d i n g , d o s d d o s ,s m u r f 等攻击都利用了这个缺陷,发起攻击。 源路由攻击( s o u r c er o u t i n gs p o o f i n g ) 源路由是i p 数据包的一个选项,它可使i p 数据包沿指定的路径从源地址 到达目的地址。这一选项原本是用来测试某一特定网络的吞吐率,也可使数据包 绕开出错网络。但与此同时,它一方面方便了假冒源i p 地址的数据包到达目的 地址,另一方面也使得入侵者能够绕开某些网络的安全措施,从对方没有预料到 的路径到达目的地址。 路由选择信息协议攻击( r i pa t t a c k s ) r i p 协议用来在局域网中发布动态路由信息。它是为了在局域网中的节点 提供一致路由选择和可达性信息而设计的。但是各节点对收到的信息是不检查它 的真实性的( t c p i p 协议没有提供这个功能) ,因此攻击者可以在网上发布假的 路由信息,利用i c m p 的重定向信息欺骗路由器或主机,将正常的路由器定义为 失效路由器,从而达到非法存取的目的。 t c p 序列号欺骗( t c p s e q u e n c en u m b e rs p o o f i n g ) 2 北京邮电大学研究生学位论文1 p v 6 环境下i p s e c 协议在l i n u x 中的实现 出于t c p 序列号可以预测,因此攻击者可以构造一个t c p 包序列,对网 络中的某个可信节点进行攻击。 t c p 序列号轰炸攻击( t c ps y n f l o o d i n ga t t a c k ) 简称s y n 攻击( s y na t t a c k ) 。t c p 是一个面向连接、可靠的传输层协议。 黑客可以不断向服务器发送连接请求,而又不返回应答包,使得服务器总处于等 待状态,而无法释放资源。 针对t c p i p 协议存在着上述的种种漏洞,目前黑客常用的攻击手段包括: 口令攻击 当前,无论是计算机用户,还是一个银行的户头,都是由口令来维护它的 安全,通过口令来验证用户的身份。发生在i n t e m e t 上的入侵,许多都是因为系 统口令被破译。对付口令攻击的有效手段是加强口令管理,选取特殊的不容易猜 测的口令,口令长度不要少于8 个字符。 拒绝服务的攻击 一个拒绝服务的攻击是指占据了大量的系统资源,没有剩余的资源给其他 用户,系统不能为其他用户提供正常的服务。拒绝服务攻击降低资源的可用性, 这些资源可以是处理器、磁盘空间、c p u 使用的时间、打印机、调制解调器, 甚至是系统管理员的时间。攻击的结果是减低或失去服务。去年2 月黑客对美国 y a h o o 等几家著名网站的攻击就是采用的拒绝服务攻击。对拒绝服务攻击,目前 还没有好的解决办法。限制使用系统资源,可以部分防止拒绝服务。管理员还可 以使用网络监视工具来发现这种类型的攻击,甚至发现攻击的来源。这时候可以 通过网络管理软件设置网络设备丢弃这种类型的数据包。 网络监听 网络监听工具是黑客们常用的一类工具。使用这种工具,可以监视网络的 状态、数据流动情况咀及网络上传输的信息。网络监听可以在网上的任何一个位 置,如局域网中的一台主机、网关上,路由设备或交换设备上,或远程网的调制 解调器之间等。黑客们用得最多的是通过监听截获用户的口令。当前,网上的数 据绝大多数都是以明文的形式传输。而且,口令通常都很短,容易辨认。当口令 被截获,则可以非常容易地登录到另一台主机。对付监听的最有效的办法是采取 加密手段。 缓冲区溢出 缓冲区溢出是一个非常普遍、非常危险漏洞,在各种操作系统、应用软件 中广泛存在。产生缓冲区溢出的根本原因在于,将一个超过缓冲区长度的字串拷 贝到缓冲区。溢出带了两种后果,一是过长的字串覆盖了相邻的存储单元引起 程序运行失败,严重的可引起当机、系统重新启动等后果;二是利用这种漏洞可 以执行任意指令,甚至可以取得系统特权,在u n i x 系统中,利用s u i d 程序中 北京邮电大学研究生学位论文i p v 6 环境下i p s e c 协议在l i n u x 中的实现 存在的这种错误,使用一类精心编写的程序,可以很轻易地取得系统的超级用户 权限。我们举一个缓冲区溢出的例子,l i n u x 操作系统在它的i p 数据包重装模块 有一个严重的错误,当l i n u x 收到一个个i p 包,送到i p 层进行组装,以形成发 送端原来的i p 包时,它将进入了一个循环中,将接收队列中的一个个数据包中 的有效数据拷贝到一个新分配的缓冲区中。在程序中,检查了每段数据区是否过 长。因为如果数据部分过长,将会向内核拷贝过多的数据,引起内核发生某种危 险。然而在程序中并没有检查包中有效数据的长度是否过分小,例如,当表示包 中数据长度的变量变成了一个负数时( 例如包长l e n s p d 和s a d b 中预期的条目数。 系统流通量,包括进入和外出包。 按需分配内存的成本对维护大型表格的成本,部分内存可能未用。 系统提供的任何一种最佳方案都将指向s a 或s p d 条目的指针隐藏起来。 s p d # u s a d b 的设计应该满足下列要求: _ 能够有效地查寻该结构,获得确切的或最特殊的、基于选择符的匹配源 地址、目标地址、协议和s p i 。 _ 能够为选择符保存通配、范围或确切的值。 - 通过隐藏指向s a d b 和s p d 的指针,实施方案得以优化时,这个结构的同步 机制。 - 条目排序,以便匹配一直能起决定作用。 正如前面提到的那样,如何选择s d a b 或s p d 的数据结构依赖于性能要求和 s a d b 或s p d 中的条目数。和进入处理查找比较起来,对外出处理的查找更为复杂。 对外出处理来说,查找建立在s p d 中的选择符基础上。也许没有一个确切的匹配, 北京邮电太学研究生学位论文i p v 6 环境下i p s e c 协议在l i n u x 中的实现 因为针对源和目标地址的选择符可以是网络前缀。但是,这个问题已经在路由选 择中得到了解决。在没有主机路由的情况下,为了找到抵达目的地的路由,一个 选择符必须和虽近的网络前缀匹配( 主机路由的路出表中有目的地址) 。隐藏s p d 条目中的s 时旨针,可为查寻s a 进行优化处理。如果s a 指针没有隐藏在s p d 条目中, 对外出s a 的查找会干i j s p d 查找一样复杂。 i p s e c 包的进入处理稍微简单一些,因为查找是根据收到的数据包中的信息 来进行的。和s a 对应的s p d 条目可隐藏在s a d b 条目中。这样,根据i p s e c 的处理结 果,优化了策略校验和避免了另一次查找。对进入i p s e c 包来说,在处理了i p s e c 头之后,就开始查阅s p d ,根据为之提供的安全服务,判断这个包是否得到了承 认。如果策略未经校验,系统的安全就会遭到损害。我们来看看下图: s p d 自 l到l 协议i 端口l 策略 o l 随鬣竽用 卜蛐卜l + i 随瓣 进入s a d b 源l 目的地l 协议ls p i ls a 条目 2 2 2 2 1 1 1 1 1 l e s p i 1 0 l6 4 位d e s 密 z z z z l l l l e s p i ,- l 。【 蹴 s a 2 s a l 圈2 1 5i p s e c 基本的日b 置 两个主机,a 和b ,其i p 地址是1 1 1 1 和2 2 2 2 ,已建立了两个s a ,s a l 和s a 2 ( 上图中的s a d b 中没有显示出所有的字段。序列号、生存期和其他字段都省略 了) 。s a l 是利用3 d e s 为e s p 配置的,s a 2 n 是利用d e s 为e s p 配置的。这一信息保 存在s p d 中。s a l 用于非常安全的应用,比如说银行业,运行于使用端口1 0 0 0 的一 个t c p 上。i p s e c 处理之后,如果策略未经过校验就判断银行应用是否真的在用 3 d e s ,安全就会遭到侵害。只有在i p s e c 处理之后,才能校验策略,因为在此之 前,选择符是无效的,因为它们可能被加了密。对那些不是i p s e c 包的进入包来 说,必须查阅s p d ,才能决定为这个包提供哪种类型的处理。其原因是,如果特 定通信要求i p s e c 安全保护,就需要丢弃任何一个进入包,只要是能与没有恰当 i p s e c 保护的那个通信的s p d 定义匹配的即可。进入和外出处理是完全独立的。但 2 1 北京邮电太学研究生学位论文i p v 6 环境下i p s e c 协议在l i n u x 中的实现 是,用s p d 的同一种数据结构和同时针对进入和外出处理的s a d b 要容易得多。对 数据结构的选择有好几种:己分类的散列表、p a t r t i c i a 树、r a d i x 一4 树等等。对 面向连接的连接来说,在终端主机中,如果有这样一个套接字数据结构存在,可 通过把指向s p d 条目的指针隐藏在其中的方式,进一步优化查找。对利用套接字 生成的每个外出包来说,这样能避免查找s p d 之苦。多个套接字可都隐藏在同一 个s p d 中。但是,在终端主机或路由器实施中隐藏指针会导致实施变得更复杂。 在多线程操作系统中,这意味着提供了多个对这些共享数据结构的同步访问的封 锁。另外,在从s a d b 或s p d 中删除s p d 条目本身时,还增加了删除指向s a 和s p d 条 目的指针的复杂性。s a d b 和s p d 可在同一个模块中实施。实际上,由于两个实体 间的指针引用,它有助于它们在同一个模块中实施。这模块会提供下面几个接 口: - 增添一个或多个s a 或s p d 条目。 删除一个或多个s a 或s p d 条目。 一查找一个或多个s a 或s p d 条目。 2 2 _ 3 2i l c j c i k e 是一种“混合型”协议,它沿用了i s a k m p 的基础、o a k l e y 的模式以及s k e m e 的共享和密钥更新技术,从而定义出自己独一无二的验证加密材料生成技术,以 及协商共享策略。i s a k m p 本身投有定义具体的密钥交换技术。密钥交换的定义留 给其他协议处理。对i p s e c 而言,已定义的密钥交换就是i k e ,即i n t e r n e t 密钥交 换。i k e 币i j 用i s a k m p 语言来定义密钥交换,是对安全服务进行协商的手段。事实 上,i k e 定义了为数众多的交换方式,以及相关的选项。i k e 交换的最终结果是一 个通过验证的密钥以及建立在双方同意基础上的安全服务,亦即所谓的“i p s e c 安全联盟( i p s e cs a ) ”。但是,i k e 并非仅由i p s e c 专用的。只要其他协议需要, 比方说r i p v 2 或o s p f ,便可用它协商具体的安全服务。 i k e 使用了两个阶段的i s a k m p 。第一阶段建立i k e 安全联盟,第二阶段利用 这个既定的安全联盟,为i p s e c 协商具体的安全联盟。和i s a k m p 不一样,i k e 为其 安全联盟的属性进行了定义。但尽管如此,还是没有定义其他任何安全联盟的属 性。这种定义留待解释域( d o i ) 进行。对i p s e c 而言,目前已经规定了针对i n t e r n e t i p 安全的解释域。而对其他协议来说,可自由制订自己的i k e 专用d o i 。迄今为止, 人们已经拟定了用于r i p v 2 和o s p f 的一个d o i 。d o i 规定了i k e 在阶段2 交换中需要 协商解决的可选及必需属性。尽管i k e 没有定义自己的d o i ,但却围绕安全联盟的 使用,规定了相关的条款。i k e 定义了两个阶段1 交换;一个阶段2 交换;以及两 个额外的交换( 用于对安全联盟进行正确的维护) 。对阶段1 交换来说,i k e 采用 的是身份保护交换,以及根据基本i s a k m p 文档制订的野蛮交换法。对此,我们分 别叫作“主模式”和“野蛮模式”。但和i s a k m p 交换不同,i k e 对交换进行了完 北京邮电大学研究生学位论文i p v 6 环境下i p s e c 协议在l i n u x 中的实现 整的定义一涵括所有载荷的内容,以及处理它们所需的步骤。对阶段2 来说,i k e 则定义了一种快速模式交换。它的作用是为除i k e 之外的其他协议协商安全服务, 主要是i p s e c ;但再次提醒大家,i k e 是一种非常通用的协议,所以快速模式交换 足可为r i p v 2 o s p f 以及要求保密的其他任何协议协商解决安全服务的问题。i k e 定义的另外两种交换均属信息方面的交换。在这种交换中,i k e 通信双方可相互 间传达有关错误和状态的资讯,而且一种新的组交换模式可使各方协商如何在它 们之中使用个新的d i f f i e - i t e l l m a n 组。对两个阶段1 交换来说,亦即主模式和 野蛮模式交换,它们各自做的都是相同的事情:建立一个保密和验证无误的通信 信道( i k es a ) ,以及建立验证过的密钥,为双方的i k e 通信提供机密性、消息 完整性以及消息源验证服务。i k e 中定义的其他所有交换都要求一个验证过的i k e s a 作为首要条件。所以一次阶段1 交换一无论主模式还是野蛮模式一必须在进行 其他任何交换之前完成。i k es a 提供了各种各样的参数,它们是由通信双方协 商制定的。由于有些i k e 消息经过了加密处理,而且已经验证,所以通信双方必 须协商拟定种方式,对消息进行加密和验证。由于每一方都要验证对方的身份, 所以它们也必须协商好相应的验证方式。针对所有协商好的参数,i k e 规定了它 们可能用到的一系列属性以及取值范围。我们将所有参数称为一个“保护套件” 一包括加密算法、散列算法、验证方法以及d i f f i e h e l l m a n 组。保护套件将作为 一个整体进行协商,具体的作法是对i s a k m ps a 载荷进行交换。保护套件中的每 一种属性都包含在转码载荷中。除了这些强制使用的属性之外,还有一些可选属 性,它们可作为保护套件的一部份进行协商。在这些可选属性之前,必须加上一 个“存活时间”( 有效期) 。“存活时间”属性决定了i k es a 能够存在多久。 i k es a 存在的时间越长,密钥被破解的危险性就越高。因此,对一种具体的实 施方案来说,最好在其保护套件之内,设定一个比较短的存活时间。 对i k e 交换影响最深的是“验证方法”。其他属性决定了载荷的内容,以及 如何对消息加以保护,而验证方法却决定了如何交换载荷,以及在什么时候交换。 取决于由通信双方协商的验证方法,一次i k e 交换甚至可以发生改变! 可以接受 的验证方法包括: 1 ) 预共享密钥; 2 ) 使用“数字加密标准( d e s ) ”得到的数字签名; 3 ) 使用r i v e s t s h a m i r a d e l m a n 算法得到的数字签名; 4 ) 通过交换加密的n o l l c e ,从而实现的两种类似的验证方法。 作为通信双方交换的第一条消息的一部分,这些属性同时也会得到协商。i k es a 有一些外部及可见的特征。但每一方也要维持一些秘密信息,它们是一次i k e 交 换中某些不经意的人( 或者有意的攻击者) 所看不见的。我f l n 用这种秘密信息 来验证i k e 消息,保护i k e 消息以及为其他安全服务衍生出相应的密钥。 北京邮电大学研究生学位论文i p f 6 环境下i p s e c 协议在l i n u x 中的实现 i k es a 和i p s e cs a 的区别在于前者是“双向”的。对参与密钥交换的双 方来说,事先已经假定了一系列特殊的规则。特别要指出的是,有一方是发起者, 而另一方是响应者。但只要建立好s a ,便可用它对进入及外出的数据同时施以 保护。另外,无论当初由谁发起了建立i k es a 的阶段l 交换,双方都可主动发起 一次阶段2 交换,并用i k es a 对其加以保护。假如阶段l 中的响应者在阶段2 中变 成了发起者,那么i s a k m p 头内保存的小甜饼不会同时进行交换,因为在i k es a d b , 我们是用小甜饼对来标识相应的s a 。在后续的交换示意图中,用s k e y i de 作为密 钥进行加密的载荷以斜体字显示。i k e 中使用的所有加密算法必须采用c b c 模式, 所以除了一个密钥之外,还需要个初始化矢量( i v ) 。初始i v 的生成是通过对 两个d i f f i eh e l l m a n 公开值进行散列运算来进行的。在完成了后续的每一次加密 和解密之后,i v 便成为要处理的最后一个密文块。采用这种方式,i v 就将加密 器运算链接到了一块儿,而且以从一个块到另一个块的形式逐次“运行”。 北京邮电大学研究生学位论文i p v 6 环境下i p s e c 协议在l i n u x 中的实现 第三章安全算法 i p s e c 协议要求每个实现必须能够提供3 d e si nc b cm o d e ,h m a cw i t hm d 5 , h m a cw i t hs h a 一1 下面对这三个算法作一个介绍,算法的具体实现在 l i n u x 2 4 c r y p t o c i p h e r 和l i n u x c r y p t o d i g e s t 中已经实现。 3 13 d e si nc b cm o d e c b c 模式 c b c ( c i p h e r b l o c kc h a i n ) 模式,即密码分组链接模式,是对称密码算法的分 组密码算法中的一种重要的模式。分组密码( b l o c kc i p h e r ) 是在明文分组和密文分 组上进行运算,通常分组长为6 4 位,有时也更长。在c b c 模式中,链接将一种 反馈机制加进分组密码中:前一个分组的加密结果被反馈到当前分组的加密中, 换句话,每一个分组被用来修改下一个分组的加密。每个密文分组不仅依赖于产 生它的明文分组,而且依赖于所有前面的明文分组。具体来说,就是明文被加密 之前要与前面的密文进行异或运算。 d e s 算法 d e s 是一个对称分组加密算法,它以6 4 位为分组对数据加密。加密和解密 用的是同一种算法( 除密钥编排不同以外) 。密钥的长度为6 4 位。( 密钥r 的每个 第8 位都用作奇偶校验,可以忽略。因此只使用5 6 位。1 密钥可以是任意的6 4 位的数,且可在任意的时候改变。所有的保密性依赖于密钥的强度。 根据d e s - - c b c 模式的要求,要将明文数据分成6 4 位的分组,而明文数 据不可能都恰好被分成若干6 4 位组,经常会出现最后一组小于6 4 位的情况,这 时就需要将不足的位数补齐,即进行填充。c b c 模式的初始向量,将放在e s p 封装之前。 3 d e s i n c b c 3 d e s 是d e s 的变形,通俗的说就是“t r i p l ed e s ”或是“d e s e d e 3 ”,处 理每个块三次,每次都使用不同的密钥。 图3 13 d e s 流程 d e s e d e 3 c b c 算法是d e s c b c 算法的一种简单变形。“o u t e r ”链接技术 北京邮电大学研究生学位论文 i p v 6 环境下i p s e c 协议在l i n u x 中的实现 被使用。在d e s e d e 3 一c b c 中,一个初始化向量( i v ) 和第一个6 4 位( 8 字节) 的明文块( p 1 ) 进行“x o r ”运算。键控的d e s 函数被反复是使用三次,先是 一次加密( e k l ) 然后是一次解密( d k 2 ) 最后又是一次加密( e k 3 ) ,这样就产 生了这个块的密文。每次反复都使用互不相关的密钥:k 1 ,k 2 ,k 3 。对于后续 的块,前一个加密密文块和当前的明文块进行“x o r ”运算,键控的d e s e d e 3 加密函数为这个块产生密文( c i ) 。关于解密,函数的执行顺序被翻转:用k 3 解密,k 2 加密,k 1 解密,并和前一个密文块进行“x o r ”运算。3 d e s c b c 模 式分为内部c b c 模式和外部c b c 模式,他们的区别主要是初试向量的个数不同, 在本系统中使用外部c b c 外部模式,这种模式只使用一个初试向量c o ,起计算 公式为: c i = e ,( d 女2 ( e l ( po c h ) ) ) 只= c 。od i ( e k 2 ( d k 3 ( c 。) ) ) 3 d e s c b c 模式( 外c b c 模式) 流程如下: c p 。p p gc 。c j + : 图323 d e sc b c 外模式 注意当三个密钥( k 1 ,k 2 ,k 3 ) 相同时,d e s e d e 3 一c b c 就等同于d e s c b c 。 这种特性使d e s e d e 3 的不用更改软硬件就可以执行d e s 模式。 3 2h m a c 6 h a l - 9 6 和h m a c - r o d 5 - 9 6 算法 h m a c s h a l 9 6和h m a c m d 5 9 6算法是 i - l m a c ( h a s hm e s s a g e a u t h e n t i c a t i o nc o d e s ) 、散列算法和共享密钥结合产生的可以提供数据完整性和一 致性的数据源认证的算法。h m a c 可以与任何迭代散列函数捆绑使用。由于s h a l 和m d 5 本身的复杂性,而且已经有很成熟的源代码可以参考,所以下面重点介绍 一下h m a c 的一些特性。 m a c ( m e s s a g ea u t h e n t i c a t i o nc o d e s ) ,消息验证码,基于密钥的数据完整 北京邮电大学研究生学位论文i p v 6 环境下i p s e t 协议在l i n u x 中的实现 性检查机制。一个典型的应用是,两个实体共享一个密钥通过消息验证码来验证 他们之间传输的信息。t n a c 是一个基于散列函数的消息验证码机制,是一个密 钥认证算法,h m a c 可提供数据完整性和数据原始性认证,如果只有发送方和接 受方知道密钥,她就提供了收发方之间数据报的原始数据鉴定和完整性检查,如 果h m a c 是f 确的,那就能证明是发送方发来的消息。 h m a c 可以与任何迭代散列函数捆绑使用,比如m d 5 何s h a l ,而这两个散 列函数也是i p s e c 要求强制实现的。h m a c 使用一个密钥来计算和确认消息验证 码的值。首先定义如下: h :嵌入的哈希函数( 如s h a 1 ,m d 5 等) 。 m :输入到h m a c 的消息( 即需要处理的消息) 。 l :m 中块的总数。 b :块中的位数。 :m 中的第i 块,0 - i = n 。 k + :k 的左边补零,最终的长度为b 位 i p a d :0 0 1 1 0 1 1 0 ( 1 6 进制的3 6 1 ,重复b 8 次 o p a d :0 1 0 1 1 1 0 0 ( 1 6 进制的5 e ) ,重复b 8 次 h m a c 的计算表达式为: h m a c 女= 日 ( 足+ oo p a d ) ,h ( k + oi p a d ) ,m i 用于h m a c 的密钥可以是任意长度f 比b 长的密钥将首先被h 处理) 。但当 密钥长度小于n 时的情况时会造成很严重的后果,因为这样将降低函数的安全强 度。长度大于n 的密钥是可以接受的,但是额外的长度并不能显著的提高函数的 安全强度。 填充消息k 使其长度恰好为一个比5 1 2 的倍数仅小6 4 位的数。填充方法是 附加一个1 在消息后面,后接所要求的多个0 ,然后在其后附上6 4 位的消息长 度( 填充前) 。这样使消息长度恰好是5 1 2 位的整数倍,同时确保不同的消息在填 充后不相同。 i n a c 是按底层散列函数可以不修改源码就可使用这种方式定义的。尤其是 它在使用h 函数时还要依赖于预定义的初始化值i v ( 一个定值,由每个迭代散 列函数在初始化它的压缩函数时指定) 然而,如果你愿意的话,可以修改h 函 数的源码来支持可变的初始化值i v s 这个想法是这样的:压缩函数作用于b 字 长数据块( kx o ro p a d ) 和( kx o ri p a d ) 所产生的中间结果可以在密钥刚刚生成 北京邮电大学研究生学位论文i p v 6 环境下i p s e c 协议在 i n u x 中的实现 时就预先计算好的。先将这些中间结果存储,然后在每次有消息需要验证时来生 成h 函数的初始化值i v 。这种方法为每个要鉴别的消息保存了h 的压缩函数对 于两个b 字长数据块( kx o ro p a d ) 和( kx o ri p a d ) 的应用。当鉴别短数据流, 保存这样的信息是重要的。我们要强调的是:对待这些中间结果要象对待密钥一 样,并且要同样的进行保密。 通常消息鉴别方法是删节消息鉴别码的输出,而只输出部分结果。这样做 并不是绝对的说删节输出结果有全面的安全优势。它有优势的一面( 对一个攻击 者来说可用的散列函数结果信息将更少) ,也有劣势的一面( 攻击者要预测的字 长更短) 。基于h m a c 的应用程序可以只输出h m a c 计算结果的最左的t 个字 节( 也就是说,计算将按第二部分定义的方式执行,但输出结果将删节至t 个字 节) 。我们推荐的输出长度t 不小于散列函数输出长度的一半( 匹配生日攻击的 限度) 且不能少于8 0 字节( 一个适合的速度限制的字节数使得攻击者难以去预 测) 。我们建议使用h m a c h t 来表示基于输出长度为t 的散列函数的h m a c 的 实现。如果没有声明这项参数,则假定不删节输出结果。例如,h m a c - - s h a i 一8 0 表示h m a c 使用s h a 一1 函数并且输出被删节至8 0 字节。 北京邮电大学研究生学位论文 l p v 6 环境下i p s e e 协议在l i n u x 中的实现 第四章i p v 6 的i p s e c 协议实现 在第二章中已经指出i p s e c 协议对i p v 4 来说是个可选项,但i p v 6 系统必须 支持i p s e c 。目前无论是路由器还是主机都开始支持i p v 6 ,但是对i p s e c 的支持 仍然不是非常的完善。例如l i n u x 平台的l p v 6 协议栈u s a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁南县2025四川凉山州宁南县人力资源和社会保障局考试招聘事业单位工作人员13人公笔试历年参考题库附带答案详解
- 2025年进出口贸易代理合同模板
- 离婚协议书:全面放弃财产权益的简化协议
- 2025企业担保合同
- 离婚协议书附子女教育基金及抚养费调整协议
- 离异家庭子女轮流抚养及财产分割执行合同范本
- 高端私募股权投资转让合同中标的权的严格限制
- 离婚协议书撰写及子女抚养、财产分配方案参考
- 2025乙方代表聘任合同范本
- 园林景观设计树木种植与施工承包合同
- 热敏电阻器配方设计与制备工艺详解
- 监理工程师题库检测试题打印含答案详解【完整版】
- 2025年江西省高考生物试卷真题(含标准答案及解析)
- 2025年辅警笔试题库行测及答案指导
- 运维7×24小时服务保障方案
- 单招临床医学试题及答案2025年版
- 2025年辽宁省中考语文真题卷含答案解析
- 2《归园田居》任务式公开课一等奖创新教案(表格式)统编版高中语文必修上册
- 银行文明礼仪课件
- 儿童抽动障碍的诊断与评估(2025年)解读课件
- 国企纪委面试题目及答案
评论
0/150
提交评论