(通信与信息系统专业论文)主机标识协议hip的实现—安全模块.pdf_第1页
(通信与信息系统专业论文)主机标识协议hip的实现—安全模块.pdf_第2页
(通信与信息系统专业论文)主机标识协议hip的实现—安全模块.pdf_第3页
(通信与信息系统专业论文)主机标识协议hip的实现—安全模块.pdf_第4页
(通信与信息系统专业论文)主机标识协议hip的实现—安全模块.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(通信与信息系统专业论文)主机标识协议hip的实现—安全模块.pdf.pdf 免费下载

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

文档简介

电子科技大学硕士学位论文 摘要 现阶段i p 地址描述了一台主机在网络中的物理位置,这个地址信息用于从 源端到目的端的路由,但同时i p 地址又是网络中主机身份的标识。正是i p 地址 的这种双重身份使得现在的i p 网络有一个问题始终没有得到很好的解决,即如何 保证主机在移动过程中的安全。i e t f 新提出的h i p 协议引入了一个新的命名空 间h o s ti d e n t i t y ( h i ) 来标识主机的身份,而主机的i p 地址只标识主机在网络中 的位置。并且使用h i 的h a s h 值h i t 来保证h i p 协议和i p v 6 协议兼容。h i p 这 种方式使得网络中主机的身份和位置信息彻底分离,使得现在的i p 网络更容易 保证主机在移动过程中的安全。 本论文首先分析了现有的移动i p 技术和特点,然后针对现有的技术的一些 问题提出了在现阶段的网络中使用h i p 的优势。本论文的重点是如何使h i p 和 i p s e c 可以结合在一起,实现在h i p 交换完成后,可以很自然地利用e s p 安全连 接来保证网络通信的安全。在此基础上对h i p 安全连接作概述,然后是对总体方 案的分析,接着描述h i p 安全模块在l i n u x 操作系统下的实现,最后给出了在 i p v 6 试验网络中h i p 软件的测试数据和结果分析。 关键词:h i p 、安全连接、i p s e c 、e s p 电子科技大学硕士学位论文 a b s t r a c t i nt h ec u r r e n tn e t w o r kt h ei pa d d r e s sr e p r e s e n t st h el o c a t i o no ft h ec o m p u t e r , w h i c h c o u l db eu s e dt or o u t i n ga n di nt h es a m et i m ei ti st h ei d e n t i t yo f t l l eh o s t i ti st h ed u l e f u n c t i o no ft h ei pa d d r e s st h a ti n d u c e sap r o b l e mh o wt op r o v i d es e c 谢t vf o rt h e m o b i l eh o s t i no r d e rt oc o v e rt h ed e f i c i e n c yo ft h ei pa d d r e s s ,i e t fd e s i g nan e w p r o t o c o lh i p w h i c hi n t r o d u c ean e w n a m i n gs p a c eh it or e p r e s e n tt h ei d e n t i t yo f t h e h o s t , a n dt h e i pa d d r e s si s o n l yu s e df o rr o u t i n g a n di no r d e rt om a k et h eh i p c o m p a r a b l ew i t ht h ec u r r e n ti p v 6n e t w o r k ,h i tt h eh a s hr e s u l to ft h eh 1h a sb e e n i n t r o d u c e d t h ed e s i g no f t h eh i p d i s t i n g u i s ht h ei d e n t i t yo f t h eh o s tf r o mt h el o c a t i o n i n f o r m a t i o n ,a n dm a k e st h es e e u r i t 、,o f t h em o b i l eh o s tp o s s i b l e f i r s t l yt h i st h e s i sa n a l y z e dt h ec u r r e n tt e c h n o l o g yo f t h em o b i l ei p , a n dd e s c r i b e dt h e a d v a n t a g eo f t h eh i et h i st h e s i sf o c u s do nh o wt om a k et h eh i pa n di p s e cw o r k t o g e t h e r a f t e rt h ec o m p l e t i o no f t h eh i p e x c h a n g e ,e s pc o u l db eu s e dt op r o t e c tt h e c o m m u n i c a t i nf r o ma t t a c k sa n da l lt h i sp r o c e s si st r a n s p a r e n tt ou s e r s ,w h i c hi st os a y u s e r sa r en o ta w a r eo ft h ee x s i t i o no ft h ee s et h e nt h i st h e s i sd e s c r i b e dt h eh i p e x c h a n g eb r i e f l y , a n di n t r o d u c e dt h ea r c h i t e c t u r eo ft h eh i ps y s t e m a f t e rt h a tt h i s t h e s i sd e s c r i b e dh o wt oi m p l e m e n tt h eh i ps e c u r i t ym o d u l ei nt h el i n u xo p e r a t i o n s y s t e m l a s tt h i st h e s i sa n a l y z e dt h er e s u l to f t h ee x p e r i m e n t s k e yw o r d s :h i p , s e c u r i t ya s s o c i a t i o n ,i p s e c ,e s p i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:型! 丝日期:年厂月2 蝈 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 导师签名: 日期:了 彩n 力 年f 月。t 日 电子科技大学硕士学位论文 h i p h i h i t s p i e s p i p s e c 缩略字表 h o s ti d e m i t yp r o t o c o l h o s ti d e n t i t y h o s ti d e n t i t yt a g s e c u r i t yp a r a m e t e r i n d e x e n c a p s u l a t i n gs e c u r i t yp a y l o a d 1 1 1 t e m + tp r o t o c o ls e c u r i t y x 主机标识协议 主机标识 h l 标记 安全参数索引 封装安全载荷 网络安全协议 电子科技大学硕士学位论文 第一章引言 在过去的2 0 年中计算机网络得到了飞速发展,现有的i p v 4 网络已逐渐向 i p v 6 网络过渡。i p v 6 协议可以解决i p v 4 网络中的很多问题如:i p v 4 网络中的 i p 地址缺乏、i p 网络缺乏足够的q o s 质量保证等。m o b i l ei p 的安全性仍是研究 的热点。近年来为了保证i p 网络中的主机在移动过程中的安全,i e t f 提出了 h o s ti d e m i t yp r o t o c o l ( h i p ) 。目前h i p 仍然处于研究阶段,本文主要内容也正 是对h i p 的安全性的分析和安全模块的实现。 1 1 课题介绍 本文是“i p v 6 关键技术研究”课题的一部分。在研究的过程中,课题划分 为i p v 6 实验网组建、i p v 6 过渡技术、h i p 协议研究、i p v 6 安全性、i p v 6 路由算 法、移动i p v 6 和i p v 6q o s 等方面研究。 现阶段i p v 6 研究的热点是如何保证m o b i l ei p v 6 网络中的主机在移动中的 安全。如何保证一台i p v 6 网络中的主机从一个网络移动到另外一个网络时,通 信的安全。即保证主机在发生移动后,通信对端不会被仿冒,通信报文不会被篡 改、窃听。 1 2 研究背景 在i n t e m e t 网络建立的初期,网络的结构相当的简单;网络中的主机都是固定 在网络中,不能移动。并且早期的i n t e m e t 网中没有恶意的用户,用户之间也都互 相信任对方。到了8 0 年代中期,计算机的应用已经越来越普及,网络的规模也 在日益的扩大,网络中的用户虽然不知道通信对端的身份也仍然相信对方;同时 由于当时的计算机非常的巨大、笨拙,所以网络中的用户没有移动性方面的要求。 到了9 0 年代早期网络的情况开始出现了变化:随着电信和计算机制造业的发展, 通信设备和计算机越来越小巧;并且w o r l dw i d ew e b 的出现及其所支持的服务 类型的不断丰富,i n t e m e t 吸引了大量的用户。用户数量的增加和移动通信的发 展使网络用户对移动网络的安全提出了更高的要求。随着计算机网络的商业化, 网上交易也越来越多;用户对网络安全性的需求也随之增加。现行的网络中比较 电子科技大学硕:学位论文 流行的安全协议有s s l t l s 。但是这些协议都不支持m o b i l ei p 。由于对移动网 络的安全性的需求不断增加,i e t f 提出了m o b i l ei p 标准,不久之后m o b i l ei p v 6 也随之闯世。这些标准都是为了支持下一代网络通信。现阶段网络的安全性服务 主要是由i p s e c 及其相关的协议来完成。比如:各种各样的密钥交换协议。但是 移动网络中的安全性问题一直没有得到很好的解决【】“。 移动网络中的安全问题之所以一直都没有得到很好的解决,其根源在于i p 地址自身的缺陷:在i p 网络中i p 地址即代表主机的身份,又代表主机的地址。现 阶段i p 地址描述了一台主机在网络中的物理位置,这个地址信息用于从源端到 目的端的路由,但同时i p 地址又是网络中主机的标识。所以当网络中的主机发 生移动时由于主机的物理位置发生了变化,网关必须给主机分配新的i p 地址; 但是同时如果主机使用新的l p 地址,则主机的标识也发生了变化。正是这样一 个冲突使得移动网络中的安全问题一直没有得到彻底解决。i e t f 新提出的h i p 协议引入了一个新的命名空间h o s ti d e n t i t y ( i q l ) 来标识主机的身份,而主机的 i p 地址只标识主机在网络中的位置。并且使用h i 的h a s h 值h i t 来保证h i p 协 议和i p v 6 协议兼容。 论文工作 本文反映了笔者在保证移动i p v 6 网络中通信安全技术研究专题部分的对主 机身份协议f 7 】( h i p ) 安全性的分析和实现所作的工作: 1 分析h i p 协议的安全性。 2 设计一种h i p 协议安全模块的实现方案。如何使h i p 和i p s e e 可以结合 在一起,实现在h i p 交换完成后,可以很自然地利用e s p 安全连接来保 证网络通信的安全。 3 分析实现上述模块所用到的主要数据结构,报文处理流程。 一2 , 电子科技大学硕士学位论文 第二章h i p 协议的背景和概念 为了克服t c p i p 协议栈在设计思想上的缺陷,h i p 引入了一个新的命名 空间h o s ti d e n t i t y ( h i ) 来标识主机的身份,而主机的i p 地址只标识主机在网络 中的位置。但是由于m 的长度并不固定,所以h i p 引入h i 的标识h i t 来对h i 进行归一化。为了不给网络传输增加负载,在h i p 连接( 见第三章) 建立后,传 输的报文都不再带有h i 或h i t ;同时为了识别报文源端主机的身份h i p 利用e s p 中的s p i ,在主机内部建立s p i 、h i t 、i p 地址的映射表;以此来达到即识别主 机身份,又不增加网络的负载的目的。 2 1h i p 协议的背景 在传统的网络中由于1 p 地址既标识主机的身份又标识主机在网络中的位置 所以在主机发生移动时会给通信带来一定的困难。在i p v 4 网络中为了支持主机 的移动,引入了家乡代理和外地代理。当主机移动到外地网络后,从外地代理那 里得到一个新的转交地址,然后移动接点把这个地址通知家乡代理。家乡代理把 这个转交地址和主机原来的家乡地址绑定起来。以后发向这个主机的报文必须先 发给家乡代理,再通过家乡代理转发给外地代理,然后再转发给移动主机。如图 2 1 所示: 移动主机 图2 - li p v 4 协议中规定的主机发生移动后的报文的转发机制 电子科技大学硕七学位论文 显然在上图的转发机制中,由于发给移动主机的报文不能直接发到目的地, 而要通过家乡代理转发。这样就使报文的路由不能最优化。i p v 6 为了解决这个 问题,在主机移动到外地网络后就向家乡代理进行家乡注册,同时向通信对端进 行地址更新,这样来通知通信对端把报文直接发向其转交地址这样来避免i p v 4 中的三角路由问题f 】4 】。如图2 2 所示: 端绑定 图2 - 2i p v 6 协议中规定的主机发生移动后的报文的转发机制 i p v 6 3 1 协议解决了i p v 4 协议中的三角路由问题,但是i p v 6 协议中规定的主 机在发生移动后的绑定机制很复杂【i ”,这主要是由于主机在发生移动后,身份随 着i p 地址的变化而变化,这样就存在安全隐患【l0 】:家乡代理和通信对端收到的 绑定更新可能是其它主机伪造的【2 】。这种隐患的根源在于i p 协议中的i p 地址既 标志着主机在网络中的位置同时又标识着主机的身份。为了彻底解决这个隐患, i e t f 提出了h i p 协议。其协议的核心在于为网络中的每一台主机分配一个标识, 主机的i p 地址只代表主机在网络中的位置( 主要用于路由) ,而不代表主机的身 份旧。这样就可以解决由于i p 地址的双重性而带来的问题。 2 2 h i 和唧t 2 2 1h i 和h i t 的定义 h i p 协议引入了一个新的名字空间:h o s ti d e n t i t y ( h i ) 。h i 是非对称密钥体 4 电子科技大学硕士学位论文 制中定义的公钥,在h i p 网络中直接代表某台主机【8j 。但是现行的非对称密钥体 制太多,而且每一种体制所使用的密钥长度也不相同。因此如果在传输的过程中 直接采用公钥来标识主机身份,则这种长度各异的标识会给传输过程带来不可预 计的困难,而且如果把其作为查表的索引,这也会给查表过程制造很多麻烦。为 了解决这个阎题,我们必须引入一个定长变量作为网络中主机的标识和查表的入 口。因此h o s ti d e n t i t yt a g ( n i t ) 应运而生。h i t 是h i 进行h a s h 运算的结果,是 网络中主机的标识。现在h i t 被暂时定义为1 2 8 位。 2 2 2h i 和m t 的特性 h i 是非对称密码算法中的公钥,所以瑚自身也就对应了一个私钥。现行的 比较流行的非对称密码算法有r s a 和d s a ,这两种算法都可以用来产生h i 。 h l 的h a s h 值h i t 可以应用于多种协议中,来标识网络中的主机。h i t 的长度是 1 2 8 位,其优点有: i ) h i t 的1 2 8 位长度恰好和i p v 6 地址的长度相同,可以直接填在a p i 和各种协议的地址域中;也可以很方便地作为查表地索引。 i i ) h i t 自身具有较强的安全性。根据h a s h 算法的原理:给定一个数,我 们可以根据h a s h 算法很方便地计算出其对应的h a s h 值;但是给定一 个值的h a s h 值,则很难根据其值反向推出其原来对应的数值。因此给 定一个h i 我们可以很方便地计算出其对应的h i t ;但是给定一个h i t , 则很难反向推出其对应的h 。 i i i )由于h i t 的长度是1 2 8 位,则两台主机使用一个h i t 的可能性很小, 这样h i t 几乎不可能出现碰撞。 为了和现行的i p v 4 网络兼容,h i p 还定义了3 2 位长的l o c a ls e o p e i d e n t i f i e r ( l s i ) 。l s i 也是对h i 进行h a s h 运算的结果。但是l s i 的长度只有3 2 位,所 以网络中l s i 出现碰撞的可能性会增加。所以h i p 协议并不推荐使用l s i 。 为了避免给网络带来更大的负载,在安全连接建立后,报文中不再含有h i t 、 h i 、l s i 。取而代之的是i p s e c 中定义的s e c u r i t yp a r a m e t e ri n d e x ( s p i ) 。在进行了 h i p 交换( 具体内容见第三章) 后,对于正常的报文传输,h i p 利用i p s e cs p i 和i p 地址来间接标识一对安全连接,以避免因为使用h i t 、h i 、l s i 给网络带来的额 电子科技大学硕士学位论文 外负载。 2 3 t h i t 是h i 的1 2 8 位h a s h 值。在传输过程中使用h i t 有两个优点: i 、1 2 8 位的h a s h 值可以减小h i p 报文的头部长度。 i i ) 1 2 8 位为以后基于主机身份的协议提供了统一的身份格式。 现在定义了两种h i t :类型l 是利用h i 进行s h a 一1h a s h 运算的结果生成1 2 8 位作为h i t ,类型2 是把h i t 把h i t 的前6 4 位用于域名解析【1 1 】,后“位从h i 进行s h a 1h a s h 运算的结果中获得( 具体计算方法如下) 。本论文中支持的是前 一种算法。 2 4h i t 的计算方法 现在产生h i t 的非对称密码算法有d s a 和r s a 。产生h i t 的步骤为: i 1对公钥进行编码。 i i )把编码的结果进行s h a 1h a s h 运算。 i i i )对于类型l ,把h i t 的最高两位置0 1 ,然后把h i 进行s h a 一1h a s h 运算 的结果的后1 2 6 位作为h i t 的后1 2 6 位;对于类型2 ,把h i t 的最高两位 置1 0 ,然后把h i 进行s h a lh a s h 运算的结果的后6 4 位作为h i t 的后 6 4 位,最后中间的6 2 位填入域名信息 6 1 。 2 5 安全连接参数s p i s p i 是报文在进行e s p 处理时用于寻找报文对应的安全连接的索引。在h i p 协议中e s ps p i 有着重要的意义:在s p i 对应着h i t 。由于在h i p 连接建立以后, 主机之间进行通行的报文不再带有h 1 和h i t 。因此在网络中每个主机内部就要 使用一个标号来代替h i t ,作为网络中主机的标识。在正常通信过程中就利用这 个标识找到对应的h i t ,再用h i t 找到对应的安全连接;而e s ps p i 就正是具有 这种特性。在e s p 中主机就是通过s p i 来对主机进行标识的,对于要借用i p s e c e s p 来保证通信安全的h i p 来说,使用s p i 正好可以解决在没有h i t 的通信过 - 6 电子科技大学硕士学位论文 程中主机的标识问题。 而每个主机设定自己的i n b o u n ds p i ,每一个发向此主机的报文都必须带有 这个s p i 值。这样主机就可以为不同的主机选择不同的s p i 。而s p i 是一个随机 值。通过这样的方式就可以保证在每个主机内部s p i 不会重复。在h i p 建立安全 连接的过程中,主机内部可以把一个s p i 值和一个h i t 绑定起来,建立一个s p ! 到h i t 的映射表。主机在收到报文后,就可以利用这个映射关系,找到对应的 h i t :从而找到对应的h i p 安全连接。通过这种方法就可以实现在h i p 连接建立 后,主机之间的报文不再包含h i t 和h i 。s p i 的分配如图2 3 所示 图2 3s p l 分配图 h o s t1 、h o s t2 、h o s t3 都向h o s t4 申请建立h i p 连接。h o s t4 分别为这3 台主机分配的s p i 为s p i1 、s p i2 、s p i3 。其中h o s tl 、h o s t2 、h o s t3 的h i t 分别为h i t1 、h i t 2 、h i t3 。在h o s t 4 中建立的s p i 、h i t 、安全联接的绑定如 图2 4 所示: 电子科技大学硕士学位论文 s p i1h i t1安全联接1 s p i2h i t2安全联接2 s p i3h i 了3 安全联接3 图2 - 4s p i 、h i t 、安全联接的绑定图 s p i 的计算方法为:在h i t 后级联3 2b i t s 的随机数,然后对这个随机数进行 s h a 1h a s h 运算,把运算结果的高3 2b i t s 作为s p l 值。 2 6h i p 网络中的层次结构 为了克服t c p i p 协议栈在设计思想上的缺陷,h i p 引入了一个新的命名空 间h o s ti d e n t i t y ( h i ) 来标识主机的身份,而主机的i p 地址只标识主机在网络中 的位置。在h i p 引入了h i 以后,由于主机的i p 地址只代表主机在网络中的位置 ( 主要用于路由) ,而不代表主机的身份;所以i p 地址信息只是用于报文传输过 程中的路由,在传输层和应用层就不必知道主机的i p 地址,而只需感知主机的 标识h i 。为此h i p 引入了一个新的h o s ti d e n t i t y 层( h 1 层) 来屏蔽主机的i p 地址信息,并完成i p 地址和h i 之间的映射。 由于应用层并不需要关心主机在网络中的位置信息,而更关心的是通信对 端的身份,所以在h i p 中主机的i p 地址应该在被屏蔽在传输层之下;而网络层 的主要功能是路由功能,主机的位置信息即主机的i p 地址正是网络层关注的焦 点。由以上的分析,应在传输层和网络层之间加入一个h o s t i d e n t i t y 层( h i 层) , 来对上层屏蔽主机的i p 地址和完成h i 与i p 之间的映射。h i 的位置如图2 5 所 不: 电子科技大学硕士学位论文 a p p l i c a t i o nl a v e r h t r a n s o o r tl a v e r 儿 i h o s ti d e m i t y1 a v e r 1 【 li n t e m e t w o r k i n g n il i n k ( n e t w 。r k l p a i r s h j o s t e n t i f i i ) a d 虹e s s e s l i n kl a y e ra d d r e s s e s , 图2 5h i p 网络的体系结构 在h i 层中完成了主机的i p 地址和主机标识h i 之间的一对一的映射。当报文经 上层送到h i 层后,h i 层根据主机标识找到与之对应的源i p 地址和目的i p j t :l j :,然 后再经下层发出。报文在传输过程中路由器可以根据目的i p 地址对主机进行路由 选择。 一9 电子科技大学硕士学位论文 第三章h i p 安全连接 h i p 支持主机之间快速的身份交换1 9 。在交换的过程中主机之间可以建立一 对安全连接,并利用这个安全连接来实现i p s e ce n c a p s u l a t e ds e c u r i t yp a y l o a d ( e s p ) 。h i p 协议有卓越的安全特性,可以防止拒绝服务攻击( d o s ) 和中间人 攻击( m i t m ) ,当h i p 和e s p 结合起来工作时,可以为上层的协议比如t c p 和 u d p 提供安全的通信。h i p 载荷可以以i p 扩展头的形式直接加在i p 报文中传输。 但是h i p 载荷的长度比较长,至少4 0 个字节;所以如果每个i p 报文都带有h i p 扩展头,就会给网络带来额外的负载。同时e s p 已经可以给固定网络中的主机 提供很好的保护机制,因此在h i p 安全联机建立后h i p 扩展头就不再在网络中 传输,而直接使用e s p 来对报文进行加密保护;h i p 载荷只出现在h i p 交换的 报文中。 3 1 安全连接建立过程 3 i 1 报文类型 为了建立h i p 连接,h i p 定义了四种类型的报文:1 1 、r 1 、1 2 、r 2 。发起端 向响应端发送1 1 ,触发h i p 交换。响应端回复r 1 报文标志着h i p 交换的正式开 始。在r 1 报文中包含个密码口令,当r 1 报文发送到发起端时,发起端必须 根据难度系数k 得到一个解:同时在发送给响应端的1 2 报文中必须带有这个解。 响应端在收到1 2 报文后验证这个解的正确性,如果解不正确则丢弃改报文( 具 体过程见3 1 2 ) 。最后响应端回复r 2 报文标志着h i p 安全连接的建立。 在h i p 安全连接的建立过程中最后的3 个报文r 1 、1 2 、r 2 构成了标准的 d i f f i e h e l l m a n 交换( 具体过程见3 1 1 3 ) ,以此来建立会话密钥。h i p 定义的所有 报文是以i p v 6 扩展头的形式加在i p v 6 报文中传输的。 3 1 1 2 安全连接的建立 h i p 安全连接的建立过程是通过发起端和响应端经过i l 、r l 、1 2 、r 2 四个 报文的交互后才建立的。在这四个报文交换完成以后,d i f f i e h e l l m a n 交换,和 c o o k i e 认证机制也随之完成。所以通信双方可以产生共享密钥,建立一对h i p 1 0 电子科技大学硕士学位论文 安全连接报文的交互过程如图3 1 所示 i n i t i a t o r1 1 :r e s p o n d e r r 1 : 1 2 : r 2 : s e c t i t yc o n t e x te s t a b l i s h e d 图3 1h i p 安全连接建立过程中的报文交互 在h i p 安全连接的建立过程中,申请建立h i p 安全连接的主机被称为发起端, 而发起端的对端被称为响应端。h i p 安全连接建立的过程为 i 1由发起端向响应端发出1 1 请求报文,其中主要是包含了通信双方的h l , 如果不知道目的端的瑚,目的h i 也可以被置为0 。 m响应端在收到了1 1 报文后,就向发起端发送r 1 报文,其中主要包含了 响应端的h i t 和c o o k i e 口令和响应端进行d i 瓶e h e l l m a n 运算的计算结 果。 i i i )发起端在收至l j r l 报文后就对其中的c o o k i e 口令进行运算求解。如果成 功得到符合r 1 报文中难度系数的解,发起端就向响应端发出1 2 报文。 1 2 报文中包括了进行d i f t i e - h e l l m a n 运算的计算结果,对r 1 报文中的 c o o k i e 口令进行运算求解的结果,i p s e c 协议所需的s p i 值和被加密的发 起端公钥。由于此时发起端已经得到响应端的d h 公钥,所以它可以利 用d h 的计算结果对自己的h i 进行加密,并把加密的结果包含在1 2 报文 中发送。 i v )响应端在收到了1 2 报文后,验证发起端得到的解。如果求解正确,发 起端的身份得到验证,就会利用发起端的d i f f i e h e l l m a n 运算结果继续 电子科技大学硕士学位论文 进行d i f f i e h e l l m a n 计算( 此时响应端的d h 交换完成) 。响应端这时生 成自己的s p i 值,把其包含在r 2 报文中发往发起端。发起端收到r 2 后 就会和响应端建立h i p 安全连接。 3 1 3 报文格式 h i p 协议定义的头部结构如图3 2 所示: n e x th e a d e r p a y l o a dl e nt y p e v e rr e s c o n t r o l sc h e c k s u m s e n d e r sh o s ti d e n tit yt a g ( h i t ) 1 2 8b i t s r e c e i v e r sh o s ti d e n t i t yt a g ( h i t ) 1 2 8b i t s h i pp a r a m e t e r s 长度不定 图3 - 2h i p 协议定义的h i p 头部结构 从逻辑上讲,h i p 头部是i p v 6 的一个扩展头。现阶段h i p 扩张头定义为i p v 6 的最后一个扩展头,所以n e x th e a d e r 的值定义为5 9 ( i p p r o t on o n e ,表示 在这个扩展头之后没有其他的扩展头) 。头部中的长度字段定义为除了头部最初 的8 个字节外,h i p 整个头部的长度,长度值以8 字节为单位。t y p e 字段表示了 h i p 报文的类型,如果收到的报文中的类型不能识别,则必须丢弃该报文。v e r 字段表示了h i p 的版本号,目前被暂时定义为1 。h i pp a r a m e t e r 字段填充的是 h i p 报文中带有的参数。其基本格式为t l v 即类型,长度,值的格式。注意这 里的长度是以字节为单位。所有的t l v 格式都是8 字节对齐的。t l 的格式如 图3 3 所示: 电子科技大学硕士学位论文 t y p el e n g t h c o n t e n t s n i 3 1 4 报文中的参数 图3 3t l v 格式结构 i l 报文用于发起一个建立h i p 安全连接的请求。其报头内容为: h e a d e r : p a c k e t t y p e = 1 s r ch i t = i n i t i a t o r sh i t d s t h i t = r e s p o n d e r s h i t 发起端在1 1 报文种填入自己的h i t ,和目的端的h i t 。如果发起端不知道 目的端的h i t ,可以把目的h i t 置0 ,也可以通过域名解析得到对方的h i t 。在 1 1 报文中不加任何的参数。 r 1 报头的主要内容为: h e a d e r : p a c k e t t y p e = 2 s r ch i t 2 r e s p o n d e r 。sh i t d s th i t = i n i t i a t o r sh i t r 1 报文中的参数有: r i _ c o u n t e r ,p u z z l e ,d i f f i e _ h e l l m a n , h i p _ t r a n s f o r m ,e s p _ t r a n s f o r m ,h o s l i d , e c h o _ r e q u e s t 】, h i p _ s i g n a t u r e _ 2 , e c h or e q u e s t 】 如果发起端不知道响应端的h i t ,则可以通过r 1 报文中的s r ch i t 得到。 。1 1 电子科技大学硕士学位论文 为了加快对1 1 报文的响应,响应端可以在发起端发送连接请求之前预先产生一- 定数量的r l 报文,预先产生的r 1 报文中可以预先填入某些字段的值。当1 1 报 文到来的时候再根据1 1 报文中的信息填入剩余字段的值。这样就可以加快对i 】 报文的响应数度。r 1 报文中的p u z z l e 字段填入的是c o o k e 机制需要的用的参 数;d i f f i eh e l l m a n 中填入的是响应端产生的d i f f i eh e l l m a n 的参数和 公钥。h i ps i g n a t u r e2 字段的值是对前面字段进行s h a 1 运算,然后对运 算的结果用私钥进行加密。发起端收到r 1 报文后可以利用h o s ti d 中的h 1 值 对加密的结果进行解密,然后把解密的结果和对报文进行s h a 1 运算的结果比 较,以这种方式对报文进行验证。 1 2 报头的主要内容为: h e a d e l - : t y p e = 3 s r ch i t = i n i t i a t o r sh i t d s 】h i t 2 r e s p o n d e r sh i t 1 2 报文中的参数有:s p i ,【r 1 一c o u n t e r ,】s o l u t i o n ,d i f f i eh e l l m a n h i p t r a n s f o r m ,e s p _ t r a n s f o r m ,e n c r y p t e d h o s ti d) 【e c h o _ r e s p o n s e 】,h m a c ,h i p s 1 g n a t u r ,【e c h o _ r e s p o n s e 】 1 2 报文中的s o l u t i o n 字段包含了对r l 报文中的p u z z l e 的解; d i f f i e h e l l m a n 字段中填入的是发起端的d i f f i eh e l l m a n 的参数和公 钥。在1 2 报文中的e n c r y p t e d 字段中填入的是对发起端的h i 进行加密计算 的结果,由于此时对于发起端来说在收到了响应端的d i f f i eh e l l m a n 参数和 公钥之后,发起端就可以设置自己的d i f f i eh e l l m a n 的私钥,并计算出用于 加密的公共密钥。然后用这个密钥对h 1 进行加密。在响应端收到1 2 报文后,可 以通过1 2 报文中的d i f f i e h e l l m a n 的公钥,计算出用于加密的共享密钥, 然后对1 2 报文中的e n c r y p t e d 字段解密,得到发起端的公钥。因为发起端的 h i 是加密发送的,所以发起端的h i 是受到保护的。在网络中发起端可以看成是 客户端,而响应端可以看成是服务器端,所以这种机制可以保护客户端的身份; 而服务器的身份是公开的以便于客户连接。e n c r y p t e d 字段中对h i 加密所用 的加密算法是h i pt r a n s f o r m 中定义的算法,响应端可以通过对这个字段中 电子科技大学硕士学位论文 的参数的解释,得到所用的加密算法用于解密。 r 2 报头的主要内容为: h e a d e r : p a c k e t t y p e = 4 s r ch i t 2 r e s p o n d e r sh i t d s th i t = i n i t i a t o r sh i t r 2 报文中的参数有:s p i ,h i t s i g n a t u r e 。 r 2 报文中的h i ps i g n a l u r e 是响应端对报文进行的数字签名的结果,这 个字段用于验证报文的完整性。 h i p 中还定义了u p d a t e 报文用于支持主机的密钥更新和移动。u p d a t e 报头的内容为: h e a d e r : p a c k e t t y p e = 6 s r ch i t = s e n d e r sh i t d s t h i t = r e c i p i e n f sh i t u p d a t e 报文中的参数有: n e s ,p e a ,s e q ,a c k ,d i f f i e _ h e l l m a n , h m a c ,h i p - s i g n a t u r e 。 当主机发生移动的时候,新接入的子网会为主机分配新的i p 地址。这时主 机可以通过u p d a t e 报文中的r e a 字段发送自己新得到的i p 地址,用s e q 参 数来标识这个绑定更新,然后把u p d a t e 报文发送到通信对端。通信对端收到 报文后,可以从中提取移动主机新的i p 地址,然后把这个i p 地址和移动主机的 h i t 绑定起来,然后向移动主机发一个u p d a t e 报文,这个报文中的a c k 中的 值与移动主机绑定更新中的s e q 中的数值相等,用这个值可以表示这个a c k 是 对哪一个u p d a t e 报文的应答。在收到u p d a t e 报文后,可以等待一段时间再 对其进行应答,在a c k 中可以包含几个s e q 值,这样可以用一个报文对多个移 动主机的u p d a t e 进行应答。 一1 5 - 电子科技大学硕士学位论文 u p d a t e 除了可以发送地址更新外,还可以发送对安全连接参数的更新。n e s 域中包含的新设定的s p i 值,和重新进行密钥避行计算的参数。当需要更新密钥 计算材料时,还可以通过d i f f i eh e l l m a n 参数重新进行d i f f i eh e l l m a n 交换。 3 。1 。5h i p 的c o o k i e 机制 h i p 中的c o o k i e 机制主要是为了保证通信过程中的响应端免于受到拒绝访 问服务攻击【l ”。并且这种机制还可以使响应端在收到1 2 报文后才为本次h i p 通 信建立状态( 有关通信状态的描述,请参考第五章) 。c o o k i e 机制中口令的设计 使得发起端要耗费一定的c p u 资源来得到符台难度系数k 的解,而响应端很容 易验证发起端的计算结果是否正确;因此这种设计可以避免响应端免于拒绝访问 服务攻击。 一神可以使响应端可以把状态的建立推迟到其收到1 2 之后,并且可以识别 1 2 报文的真伪的方法是在c o o k i e 的计算函数中以发起端的h i t 作为参数。具体 的方法是响应端预先产生一系列的r l 报文。当其收到1 1 报文后可以把i l 报文 中的一些信息( 比如发起端的h i t ) 填入一个r l 报文中,然后把这个报文送回 发起端;并且在本机内部保存c o o k i e 参数。当响应端收到1 2 报文后,验证1 2 报文中的c o o k i e 参数是否与r l 中的相同以验证发起端是否进行了c o o k e 运算。 通过这种方式可以避免发起端在发起请求后篡改c o o k i e 计算的参数,把以前计 算好的解连同以前的参数发给响应端,让响应端误以为发起端已经进行了必要的 c o o k e 求解运算。从而避免响应端因为进行不必要的费时的d i t i i e h e l l m a n 运算 而遭到的拒绝访问服务攻击( 这种攻击方式是:发起端在段时间里产生大量的假 冒的1 2 报文,而发起端就要在段时间里进行大量的d i f f i e h e l l m a n 运算,从而 耗费大量的c p u 资源) 。c o o k i e 机制的交互过程为: i )响应端在收到i 】报文后就启动c o o k i e 机制。其可以为不同的主机设 定不同的c o o k i e 难度系数k 和一个随机数i ,要求发起端找到一个数 j ,即i 在难度系数k 下的解。 i i )为了找到这个j ,发起端必须把i 、自己的h i t 、响应端的h i t 和一个 初始随机数连接成一个很长的数g 。然后对g 进行s h a 1 运算,如果 运算结果的最后k 位为0 ,则说明计算成功,这个初始随机数就是希 一】6 电子科技大学硕士学位论文 望找到的解j ;但是如果不成功则改变这个初始随机数,继续尝试。 尝试的次数可以设定为2 “2 ,如果超过了这个次数,仍然没有能够得 到j 则停止。 蛐如果得到j ,发起端就向响应端发送1 2 。响应端在收到1 2 后验证j 是 否是合理的解。验证的方法与j 的计算方法相同。 通过这种方法,可以保证在进行c o o k i e 交

温馨提示

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

最新文档

评论

0/150

提交评论