




已阅读5页,还剩66页未读, 继续免费阅读
(通信与信息系统专业论文)主机标识协议hip的实现—基本通信模块.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在目前的口v 4 网络和i p v 6 网络中,p 地址常常被用来标识主机身份和标 识主机在网络中的位置。当主机在网络中移动时,作为主机标识,i p 地址不应 该改变,而作为主机在网络中的位置标识。i p 地址应该改变,这样容易造成逻 辑概念上的混乱。i e t f 引入一个新的名字空间:主机标识( h o s ti d e n t h y ) 和 一个新的子层:h i p ( h o s t i d e n t i t y p r o t o c 0 1 ) 层,h i p 层位于d 层以上,t c p u d p 层以下。这样,在h i p 层以上,我们可以利用m 来专门标识主机,把i p 地址 从这一任务中解脱出来专门用来标识主机在网络中的位置。在此基础上,当主 机在网络中移动时,作为主机标识, 不变,变的只有作为网络位置标识的i p 地址。与此同时,人们对主机在通信中的安全性要求越来越迫切,于是h i p 对 安全的实施提出一些合理方法。 本文首先对h i p 协议产生的背景进行了分析然后对h i p 协议中一些基本 概念进行了说明,随后对h i p 的基本通信过程进行了比较详尽的分析,其中包 括基本通信中安全连接建立的过程、基本通信过程中的报文类型、格式以及基 本通信过程中的报文交互过程。根据这些分析,本文提出了两种实现h i p 基本 通信的方案,通过比较各自的优缺点,最终选择了用内核模块来实现p 基本 通信。在具体实现部分,本文分析了h i p 基本通信中主要报文的软件处理流程 并且对其主要的数据结构和主要功能函数作出了分析。在实验部分,对基本通 信模块进行了铡试,并对实验结果进行了分析。 关键词:主机标识,安全连接,h i p a b s t r a c t a tp r e s e n t ,e i t h e ri ni p v 4n e t w o r ko ri p v 6n e t w o r k ,i pa d d r e s si su s u a l l yb es e tf o r i d e n t i f yh o s ta n di t sl o c a t i o ni nt h en e t w o r k w h e nt h eh o s tm o v e si nt h en e t w o r k ,a s h o s ti d e n t i t y , i ps h o u l dn o tb ec h a n g e d h o w e v e r , a st h el o c m i o ni d e n t i t y , i ps h o u l d b ec h a n g e d t h e r e b y , l o g i cc o n f u s i o nw i l lc o m ei n t ob e e n s oi e t fi n t r o d u c e da n e wn a m es p a c e :h o s ti d e n t i t ya n dan e ws u b l a y e r - 一一h i p h i pi sa b o v ei pl a y e ra n d b e l o wt r a n s p o r tl a y e ra n db y p - h ic o u l db es e ts p e c i f i c a l l yt oi d e n t i f yh o s t sa n d i pi ss e tf r e ej u s tt o s p e c i f i c a l l yi d e n t i f yt h el o c a t i o no fh o s t si nt h en e t w o r k t h r o u g ht h i sm e t h o d ,w h e nt h eh o s tm o v e si nt h en e t w o r k , a sh o s ti d e n t i t y , h 1w i l l n o tb e c h a n g e d ,t h eo n l yt h i n gc h a n g e di s i pm e a nw h i l e ,b e t t e rs e c u r i t y p e r f o r m a n c ed u r i n gc o m m u n i c a t i o ni sr e q u i r e ds os o m er e a s o n a b l em e t h o d st o i n s u r es e c u r i t ya r ei n t r o d u e e db yh i p i nt h i sp a p e r , t h eb a c k g r o u n do fh i pi sa n a l y z e df i r s t ,a n ds o m eb a s i cc o n c e p t so f h i pa r ee x p l a i n e d ,a n dt h e n ,t h eb a s i cc o m m u n i c a t i o np r o c e s so fh i pi sa n a l y z e di n d e t a i l ,i n c l u d i n g t h ep r o c e s so ft h e s e t u p o fs e c u r ec o n n e c t i o ni nb a s i c c o m m u n i c a t i o n , m e s s a g et y p e ,f o r m a t i n b a s i cc o m m u n i c a t i o na n dt h e t r a n s p o r t a t i o np r o c e s so fp a c k e t sa c c o r d i n gt oa l lo ft h ea n a l y s i s ,t w os c h e m e so f h i pb a s i cc o m m u n i c a t i o na r e p r e s e n t e d b yc o m p a r i n gt h ea d v a n t a g e sa n d d i s a d v a n t a g e so ft h e s e t w os c h e m e s ,w ef i n a l l yc h o o s et o i m p l e m e n th i p c o m m u n i c a t i o nb yk e r n e lm o d u l e s i nt h ep a r to fi m p l e m e n t a t i o n ,t h es o f t w a r e p r o c e s sf l o wo fm a i nm e s s a g e s i nb a s i cc o m m u n i c a t i o na sw e l la sm a i nd a t a s t r u c t u r e sa n dm a i nf u n c t i o n sa r ea n a l y z e di nt h el a s tp a r t ,t h et e s tw o r kf o r c o m m u n i c a t i o nm o d u l e si sd o n ea n dt h er e s u ki sa n a l y z e d k e y w o r d :h o s t i d e n t i t y ,s e c u r k ya s s o c i a t i o n ,h o s ti d e n t i t yp r o t o c o l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献已在论文中作了明确的说明并表示谢意。 签名:翌盥l 日期:2 0 0 5 年月 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅 和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复印手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 日期:2 0 0 5 年月日 h m 瑚t h i s p i s a h a t l v 符号与缩略语说明 h o s ti d e n t i t yp r o t o c o l h o s ti d e n t i t yt a g h o s ti d e n t i t y s e c u r i t yp a r a m e t e ri n d e x s c u r k ya s s o c i a t i o n h o s ti d e n t i t yp r o t o c o la s s o c i a t i o n t y p e l e n g t h v a l u e 第章引言 第一章引言 在过去几十年里,以i p v 4 为核心的互连网技术得到迅速发展同时,随 之丽来的还有i p v 4 的诸多问题,如i p 地址缺乏、i p 网络缺乏足够的q o s 质量保证、安全性和移动性等。为了解决上述问题,1 9 9 5 年i e t f 首次推 出i p 协议的第六版本,即i p v 6 。近年来,i p v 6 在全球范围受到普遍关注, i p v 6 协议框架和各项技术己逐步成熟,并逐渐从技术研究、标准制定转向 试验网络建设和商业运营模式的探讨。 1 1 课题介绍 “i p v 6 关键技术研究”课题是本教研室2 0 0 4 年新申请到的课题。在 研究的过程中,课题划分为七个子课题,分别进行i p v 6 实验网组建、i p v 6 过渡技术、i p v 6 安全性、i p v 6 路由算法、移动i p v 6 、i p v 6q o s 和h i p 等 方面研究。其中h i p 比较新,现在只有草案,还没有r f c 。 在h i p 子课题中,要求对h i p 协议进行深入分析,并进行基本功能实 现,为下一步的深入研究提供一个试验平台。协议实现分为基本通信、安 全管理、移动和多宿主机地址管理和a p i 接口四个部分。本人负责h i p 基 本通信过程的分析以及基本通信模块的实现。 1 2 研究背景 i p 的主要问题之一就是安全性的不足,尽管现在i p s e c 和d n s s e c 给 i p 提供了一定的安全支持,例如数据源认证,加密以及完整性的检查等。 使用h i p 协议后,通过h i t 进行通信时,在上层发送数据前,如果没有 h i p 建立起来的安全连接,会通过4 次基本报文交互( 类似于t c p 的3 次 握手) 建立起一个安全连接,使得数据通信的安全性大大提高。 其次,在i p v 4 和i p v 6 中,往往r p 地址既被用来标识主机又被用来提 供路由信息,这就导致了在许多方案中用i p 地址来标识身份。为解决i p 地址的这种困境【2 j ,给网络层i p 协议关联了新的层次协议h i p ( h o s t i d e n t i t y p r o t o c 0 1 ) 协议。h i p 协议定义了一个新的名字空间h o s ti d e n t i t y ( h i ) 。h i 可 以用来认证主机间的信任问题,增强对移动性的支持j 减少 d e n i a l o f - s e r v i c e 攻击,和抗m i t m 同时由于h i p 子层基于i p 层以上, 第一章引言 t c p u d p 层以下,所以在和上层通信过程中h i 可以替代i p 地址,于是i p 地址可以从表示身份的任务中解脱出来,专门进行网络位置的表述。 1 3 论文工作 本文反映了笔者在h i p 技术研究专题部分的基本通信模块的的设计和 实现所做的工作: 分析h i p 的基本技术,展示h i p 的优点,提出在已有的i p v 6 协议 栈中增加h i p 的可行性。 提出基本通信模块的设计方案。 分析基本通信模块软件的主要数据结构和函数以及报文处理流 程。 本文后续章节内容安排如下: 第二章h i p 协议分析 第三章h i p 基本通信过程 第四章方案设计 第五章h i p 的基本通信模块的实现 第六章实验测试 第七章结束语 第二章h i p 协议分析 第二章h i p 协议分析 在i p v 4 和i p v 6 【1 1 1 中,只有两种名字空间:i p 地址和域名。i p 地址既 被用来标识主机又被用来提供路由信息,这就导致了在许多方案中用i p 地 址来标识身份。为解决i p 地址的这种困境,给网络层i p 协议关联了新的 子层h i p ( h o s t i d e n t i t yp r o t o c 0 1 ) 层。h i p 协议定义了一个新的名字空间h o s t i d e n t i t y ( h 1 ) 。h i 可以用来认证主机间的信任问题,增强对移动性的支持。 而且由于h i p 基于i p 层以上,t c p u d p 层以下,所以在和上层通信过程 中h i 可以替代i p 地址,于是i p 地址可以从表示身份的任务中解脱出来, 专门用于路由。h i p 的使用可在两个主机之间提供快速的主机身份交换, 旦交换完成,则产生一对安全连接,以后数据的发送的安全性将会得到 大幅度提高。h i p 协议被设计为抗拒绝服务( d e n i a lo fs e r v i c e :d o s ) 攻击 和中间人( m a ni nt h em i d d l e :m i t m ) 攻击。如果它和i p s e c 相结合,则能 给上层协议( 如t c p 和u d p ) 提供抗d o s 和m i t m 保护。 2 1 主机标识h i 在h i p 引入了新的名字空间:主机身份( h o s ti d e n t i t y ) 。主机身份有 两种表示方法:f u l lh o s ti d e n t i t y ( h i ) 和h o s ti d e n t i t yt a g ( h i t ) 。h i 是 个非对称密钥对中的公钥,主机本身持有此密钥对中的私钥,不同的公 钥算法的公钥长度并不一定相同,也就是说不同的的公钥算法所产生的h i 的长度并不固定,所以用h i 来作为报文的标示或者指向不同表项的索引, 理论上是可行的,但是实际操作很不方便。 2 2h i 标记h i t 由于h i 长度的不固定性,而h i t 是定长的,所以我们常常使用h i t 来表示主机。 2 2 1h i t 的优点 h i t 是由h i 通过哈希运算得来的,h i t 长1 2 8 位,并且有如下优点: 1 ) 、根据h a s h 运算原理,给定一个数,计算它的h a s h 值非常容易, 但是根据它的h a s h 值通过反向计算来确定它是非常困难的。所以想根据 h i t 计算得到它的h i 几乎不可能的。从这一点来讲,h i t 具有很强的安全 1 第二章h i p 协议分析 性。 2 ) 、由于i p v 6 地址 5 1 也是1 2 8 位,h i t 的长度和它相同,所以在a p i 和协议中的地址域常常用h i t 。 3 ) 、两个主机之间h i t 冲撞的可能性很小。 4 ) 、由于h i t 是定长的,所以使得协议编码和计算报文长度等等很方 便。 5 ) 、由于h i t 是定长的,所以对于下层协议来讲具有统一的格式。 2 2 2h i t 的分类 h i t 分为两类:类型l 和类型2 。类型l 最高两位固定为0 1 ,第1 2 6 位取自于h i 的s h a 1 哈希值的低1 2 6 位。类型2 最高两位固定为1 0 ,其 次6 2 位为h a a ( h o s ta s s i g n i n ga u t h o r i t yf i e l d ) 而低6 4 位来自h i 的s h a - 1 哈希值。本次实现中使用的是类型1 。类型1 的h i t 的以0 l 开头,而以 0 1 开头的i p v 6 地址尚来被分配,所以可以轻易地将类型1 的h i t 和已分 配的i p v 6 地址区分开。 2 2 3 h i 到h i t 的计算 现在常用的非对称密钥算法有d s a 和r s a ,所以常用的h i 有r s a 和 d s a 公钥,从这样的h i 得到h i t 包括3 个步骤: 1 ) 、对h i 进行编码。 2 ) 、对以上编码结果进行s h a 1 哈希算法。 3 ) 、对于类型1 的h i t :取结果的低1 2 6 作为h i t 的低1 2 6 位,最高 两位固定取值为0 1 。对于类型2 的h i t :取结果的低6 4 位作为h i t 的低 6 4 位,最高两位固定取值为1 0 ,再以h a a 作为h i t 的中间6 2 位构成。 2 3 安全索引参数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 l 和h i t 的。因此在网络中每个主机内部就要使用一个标号来代替h i t ,作 为网络中主机的标识。在正常通信过程中就利用这个标识找到对应的h i t , 再用h i t 找到对应的安全连接;而e s ps p i 就正是具有这种特性。在e s p 中接收端利用接收到的报文中的目的i p 地址( d s t ) 和s p i 组成的 4 第二章h i p 协议分析 对来标识一个安全连接的。在理论上讲,当一个主机a 和不同 的主机( b 、c 、d ) 同时通信时可能使用相同的s p i ,但是对于主机a 来 讲,由于接收到的报文的目的i p 地址不一样,从而 对也不一样, 他就可以区分出它和b 、c 、d 主机的安全连接。在实际应用中,当一个 主机a 和不同的主机( b 、c 、d ) 同时通信时一般采用的策略是使用不相 同的s p i 每个主机设定自己的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 i 到h i t 的映射表。主机在收到报文后,就可以利用 这个映射关系,找到对应的h i t ;从而找到对应的h i p 安全连接。通过这 种方法就可以实现在h i p 连接建立后,主机之间的报文不再包含h i t 和 h i 。 s p i 的选择规则: 1 ) 、和一个主机进行的每次h i p 交换,每次都应该采用不同的s p i ,这 样可以避免某种重放攻击。 2 ) 、当一个主机重新产生密钥,也应该改变s p i 。 3 ) 、当一个主机使用一个不同的i p 地址时,也应该改变s p i 。 2 4h i p 的层次结构 引入了h i p 层后,t c p i p 协议栈的结构发生一些变化,i p 地址仅在网 络层中出现,担当路由的功能,在网络层以上,由h i 来替代i p 地址表示 主机身份的功能,把i p 地址解放出来了。在应用中,用h i t 来代替h i 来表示主机的身份。 从应用层看,没有i p 地址,只有h i t ,通信的时候不需要填写对方和自己 的i p 地址了,仅需要知道通信对端的h i t 就可以顺利和通信对端进行正 常通信了。 第二章h i p 协议分析 ( i p 地址,p o r t ) ( i f 地址) ( i n ) ( i j 地缝) 图2 - 1 加入h i p 协协前后i p 协议栈的变化( 网络层以上部分) 2 5h i p 的c o o k i e 机制 h i p 在h i p 基本通信建立安全连接的过程,为了防止拒绝服务攻击, 采用了一种比较好的机制一一h i p c o o k i e 【”】机制。c o o k i e 机制里面有好几 个特点:( 1 ) 、复杂程度的可控制性,此c o o k i e 机制中定义了一个八比特的 数k ,它要求发送方在一系列计算后结果的最后k 比特为0 ,才能算是解 答。( 2 ) 、可以让响应端在接收到正确的1 2 才开始为本次h i p 通信建立状态, 而收到r 1 报文,以及对r 1 报文进行处理后并不建立状态。相比之下,i k e 中的c o o k i e 机制就简单得多了,它仅仅是通信双方在建立通信时交互一对 随机数,然后在后续过程中通信双方所发送的报文必须携带这对随机数来 预防d o s 服务攻击,这种c o o k i e 机制虽然简单,这种思想也比较很好, 但是这种机制在耗费发起端的c p u 时间不多,也就是说发起端处理起来不 太耗时间,比较快。h i p 的c o o k i e 机制通过比较消耗时间的求解过程,让 一个试图发起拒绝服务攻击的机器攻击失败。 h i p 中为了加快对1 1 报文的响应,响应端一般会预先产生一些r l 报 文,这些预产生的r 1 报文中填写了一些信息,例如发起端的h i t 、谜题 ( p u z z l e ) 的参数等,当响应端需要构建r 1 报文时,把这些报文取一个 第二章h i p 协议分析 过来,再把些其它的信息填进去( 例如发起端的h i t ) ,再发送这个r 1 报文,并且将这个报文存入已发送r i 报文表列中的。这样可以加快响应 端对接收到的1 1 报文的处理速度。响应端的c o o k i e 中设计的算法复杂度 是不对称的,求饵难度远远高于验证解答的难度。当响应端收到1 2 报文后, 根据源h i t 和目的h i t 找到与这个1 2 报文对应的r 1 报文;并验证1 2 报 文中的c o o k i e 参数是否与r 1 中的相同以验证发起端是否进行了c o o k i e 运算,这样可以防治发起端更改1 2 报文中的谜题的各项参数,这些参数使 得生成的谜题解答正好能解答修改过的谜题,换句话说,这样防止发起端 自设谜题自求解,虽然解答正好是谜题的答案,但是谜题已经不是响应端 给出的谜题了,那样的1 2 报文对于响应端来讲一点意义都没有,所以应该 毫不犹豫的丢弃。通过这样简单得比较,响应端就可以很容易的找出这种 假冒的1 2 ,避免了响应端在验证虚假谜题的解答上的时间浪费,这样做避 免了这种拒绝服务攻击,一个发起端构造并发送大量由发起端伪造的包括 谜题、谜题解答、以及其它谜题参数的1 2 报文,从而想让响应端浪费时间 来验证谜题解答,这种设计从根本上杜绝了这种可能性。h i p 的c o o k i e 机 制可分为3 个步骤来解释,如下: 1 ) 、当响应端处理1 1 报文时,启动c o o k i e 机制。在构造r 1 报文时响 应端可以为不同的发起端选定不同的c o o k i e 难度系数k 和一个不同随机 数i ,然后把r 1 报文发送给发起端,并且将已发送的r l 报文存入已发送 r i 表列中。 2 ) 、发起端接收到r 1 报文后,将r 1 报文中的随机数i 、发起端的h i t 、 响应端的h i t 和一个随机数j 连接成一个数g 。然后对g 进行s h a 1 运 算,如果运算结果的最后k 比特都为0 ,则说明谜题解答成功,这个随机 数j 就是谜题的解答;但是如果不成功则改变这个随机数j 的值,继续尝 试。尝试的次数可以设定为2 “2 ,如果在规定的次数内仍然得不到正确的 解答,则放弃解答谜题。 3 ) 、如果解答成功,发起端将正确的谜题解答j 以及r 1 的谜题参数 填入j 2 的谜题解答( 一种t l v 格式的结构) ,构造好正确的1 2 报文,然 后把1 2 发送给响应端。响应端对1 2 中的谜题参数进行验证,以及验证谜 题解答是否正确。验证谜题的解答方法为:把l 、发起端的h i t 、响应端的 h i t 和j 连接成一个数g 。然后对g 进行s h a 1 运算,如果运算结果的最 后k 比特都为0 ,则说明谜题解答成功 h i p 中为c o o k i e 机制定义了谜题( p u z z l e ) 和谜题解答( s o l u t i o n ) 两 , 第二章h i p 协议分析 种t l v 。其格式分别为 t y pe le 1 1 9 t h “l 字节 o p a q u e ,3 字节 随机数i 。8 字节 s o lu t jo n 结构 t y p e l en g t h k1 字节 o p a q u e ,3 字节 随机数1 ,8 字节 随机数j ,8 字节 图2 - 2p u z z l e 和s o l u t i o n 结构 表2 - 1p u z z l e 和s o l u t i o n 中的参数表列 p u z z l e s o l u t i o n t y p e 5 t y p e 7 l e n g t h 1 2 l e n g t h 2 0 k 难度系数 k p u z z l e 中设 定的难度系 数 o p a q u e 必须在 o p a q u e p u z z l e 中 s o l u t i o n 中重设定的数 现的数 r a n d o m # i发起端设 r a n d o m # i 发起端设 定的随定的随机 机数数 p ( a n d o m 群j 谜题解 答 8 第二章h i p 协议分析 2 6d i f f i e h e l l m a n 密钥交换 d i m e h e l l m a n 密钥交换是第一个公开的密码方案,现在应用比较广 泛。这一密钥交换协议基于离散对数问题。假如a l i c e 和b o b e 希望使用 d i m e h e l l m a n 密钥交换协议在个不安全的信道上交换密钥,他们可以这 样做: a l i c e ; f l b o b 确定一个适当的素数p 和整数g ,使得1 a l i c e 将x 传送给b o b ;b o b 将y 传送给a l i c 。 a l i c e 计算k l = y 8 ( m o dp ) ;b 计算k 2 = x 8 ( m o dp ) : 在经过了以上交换后k = k l = k 2 = g 曲( m o dp ) 。a l i c e n b o b 获得相同的秘 密值k ,双方以k 作为生成密钥的材料生成密钥。d i f f i e 。h e l l m a n 密钥交换的 安全性基于这样的假设:从x 或者y 以及g 计算a 或者b 在计算上是不可行的, 因为这样等价于求解离散对数问题。 d i f f i e h e l l m a n 密钥交换容易受到中间人攻击,在这一攻击中,入侵者 ( 称之为e v e ) 拦截消息并篡改它,然后再把篡改后的消息发送给b o b 弄l l a l i c e ,如下图所示。a l i c e 认为它是利用b o b 的y 生成密钥,但实际上它使 用了e v e 的y 。同样b o b 认为他是用a l i c e 的x 生成密钥,但是实际上它使 用了e v e 的值x 。因此,a l i c e 年l l b o b 所生成的密钥被e v e 共享,但双方却不 知道这一点。 a 1 i c e 兰 ,e v e 兰 ,b 。l , y 7 y a1ice i e ve b o b 图2 - 3 中间人攻击示意图 d i m e - h e l l m a n 密钥交换的适当变形可以挫败中间人攻击,这就是利用 数字签名来签署和认证a l i c e 干h b o b 所交换的整数x 和y 。这个方案类似于 d i f f i e - h e l l m a n 交换,不同的是:a l i c e 用一个数字签名算法签署x 产生签名 s i g ( x ) ,然后把x 和s i g ( x ) 传送给b o b 。b o b 乐意用a l i c e 的公开验证算法 来确定s j g ( x ) 是否真是a l i c e 对x 的签名。同样,b o b 对y 签名并把y 和s i g ( y ) 同时送给a l i c e ,她能够利用b o b 的公开验证算法来判断s i g ( y ) 是否 是b o b 对y 的签名。这样双方都能够确定他们从对方那里收到的消息没有被 9 第二章h i p 协议分析 篡改过。因此,a l i c e ( 或b o b ) 就不会受到欺骗:即不会收到了e v e 的消息 用来生成密钥,却误以为这些消息来自b o b ( 或a l i c e ) 。 建立h i p 安全连接的过程中,最后三个报文r l 、1 2 、r 2 的交互构成一 个标准的认证d i 艏e h e l l m a n 密钥交换过程。在r i 报文中,响应端向发起端 发送其d i f f i e h e t l m a n 计算的结果、对整个报文的签名和它的公钥h i 。发起 端可以通过验证r 1 报文中的数字签名使得发起端相信r 1 报文不是伪造的, 而是来自于响应端的,然后发起端,就可以利用d i f i l e h e l l m a n 交换结果产 生密钥生成材料,并且从中获得本次会话所用的密钥,然后用这个密钥对 自己的公钥h i j 1 密。 发送端在发给响应端的1 2 报文中包含自己的d i f f i e h e l l m a n 计算结果 以及经过加密后的h i ,和对整个报文签名。当响应端收到1 2 报文后,它先 根据发起端的d i f f i e h e l l m a n 计算结果计算出本次会话的密钥,并根据这个 密钥对1 2 的加密字段进行解密,从中获得发起端的h i ,然后对报文的数字 签名进行验证。对报文的数字签名的验证成功后,响应端就利用 d i 缳e h e l l m a n 的计算结果计算出h m a c 运算( 一种加密h a s h 运算) 所用的 密钥。 响应端利用计算出的h m a c 运算所用的密钥r 2 报文进, 行h m a c 运算, 然后将这个运算结果和自己的数字签名一起放在r 2 报文中发送给发起端。 发起端在对r 2 报文中的h m a c 字段和数字签名字段验证成功后,整个认证 d i 艏e h e l l m a n 密钥交换过程过程结束。通过这个认证d i f i l e h e l l m a n 交换, 通信双方可以得到对后续报文进行加密运算的共享密钥。 2 7h i p 应用于移动方面的优势 在传统通信中,1 p 地址扮演了两种角色,其一,在一台主机内部,常 用i p 地址来标识这台主机本身,即标识了主机的身份;在报文传输时,常 用i p 地址来标识一个节点在网络中的位置,路由的选择依靠i p 地址。这 样就导致了一个问题,当主机在网络中进行移动的时候,作为主机身份标 识,i p 地址不应该改变,但是作为主机在网络中的位置标识。i p 地址应该 改变。目前有两种途径解决这个问题,第一种途径是利用多个i p 地址来标 识一台移动主机,第二种途径是引入一个新的标识来表示主机身份。前一 种方法被广泛应用在移动i p 技术f “i 中,在移动i p 技术中,引入了家乡地 址和转交地址这两个概念,用转交地址来标示移动主机在网络中的位置, 用家乡地址标示移动主机的身份,当主机移动时,家乡地址不变,转交地 1 n 第二章 玎咿协议分析 址变化,家乡地址和转交地址的绑定不断变化。h i p 协议本身就将主机的 本身身份和网络位置标识区分开了,主机身份用h i 或者是h i t 来标识, 网络位置用i p 地址来标示,很显然h i p 协议满足第二种方法应用条件,所 以h i p 协议应用在移动方面时,在主机移动时,代表主机身份的h i 或者 h i t 不变,代表主机在网络中的位置的i p 地址不断变化,两者之间的绑定 不断变化,从而能够满足主机移动的要求1 9 】。应用h i p 协议后,通过h i t 进行通信会在通信的两端建立安全连接,所以把h i p 应用到移动方面时, 可以增加移动主机的安全性。 第三章h 皿基本通信过程 第三章h i p 基本通信过程 h i p 基本通信的目的,是为了为通信双方建立一对安全连接以向系统 提供安全性,并且把i p 地址从代表身分的功能中解脱出来专门进行路由功 能服务。h i p 基本通信可以在发起端和响应端建立一对安全连接,也就是 一个流入安全连接和一个流出安全连接。安全连接建立后,h i p 并不直接 管理安全连接,而是通过i p s e c 来维护和管理安全连接。一旦安全连接状 态需要更新,则调用h i p 模块来重新建立安全连接。 3 1 建立安全连接的过程 为了更好的解释h i p 的基本通信过程,我们把触发h i p 基本通信过程 的一方称为发起端,一般来讲发起端也就是发起1 1 报文这一端,通信的另 一端被称为响应端。在基本通信过程中,通信双方通过认证的 d e f i l e h e l l m a n 密钥交换来完成双方的身份验证以及s p i 、密钥的交换,以 及h i t 、i p v 6 地址、安全连接、s p l 之间的映射。虽然每次建立安全连接 会花费一定的时间,会处理额外的报文,但是安全连接一旦建立,则双方 以后就可以通过安全连接快速的安全的进行通信。所以相对来讲,那些开 销是值得的。h i p 建立安全连接的过程图如下: 当一台主机想和另外一台主机利用h i t 进行通信,但是它们之间却没 有h i p 安全连接时,则此主机作为发起端,构造好一个l l 报文,报文中包 含有发起端的h i t 和响应端得h i t ,然后报构造好的1 1 报文发送给响应端。 1 1 报文一旦发出,则安全连接的建立被触发,以后三个报文r i 、1 2 f 、r 2 就开始了一个认证的d e m e h e l l m a n 密钥交换。响应端收到1 1 报文后,构 造好一个r 1 报文,报文中包括响应端的h i t 、发起端的h i t 、谜题、d h 参数等,谜题中设置了难度系数k ,以及能在返回的1 2 报文中原封不动发 送回来的o p a q u e 域等一系列参数,并对r l 进行签名。然后将r 1 报文发 送给发起端。发起端接收到r l 报文后,验证签名并开始解答响应端给定 的谜题,如果在规定的时间内,找不到符合要求的整数j ,则发送端终止 解谜,然后重发1 1 或者是终止h i p 建立安全连接过程。如果当在规定的时 间内解密成功,则发送端构造好1 2 报文,1 2 报文中包含对响应端谜题的解 答答案,d h 参数等,并对1 2 报文进行签名,把1 2 报文发送给响应端。 响应端接收到1 2 报文后,开始验证签名和1 2 报文中的谜题解答答案,如 第三章h i p 基本通信过程 果验证成功,则准备生成r 2 报文,并对r 2 进行签名,把r 2 报文发送给 发起端。发送端接收到r 2 报文,验证签名,如果成功,则安全连接建立 成功。值得注意的是:一旦安全连接建立成功,则不再区分哪台主机是发 送端哪台主机是响应端,在此对安全连接上通信的两台主机之间完全平等。 h i p 建立安全连接的过程用框图简略表示如下: 1 1 : 触发基本交换 r 1 : 1 2 : r 2 : 图3 - lh i p 建立安全连接的过程 3 2 基本通信过程中的报文类型 在h i p 基本通信过程中,h i p 定义了五种基本类型的报文:1 1 、r 1 、 1 2 、r 2 、u p d a t e 。前面四个报文用来刨建安全连接的,而u p d a t e 报文 用于密钥更新及移动中地址更新。 1 1 报文用于触发h i p 安全连接的建立。般由发起端产生,其报文内容为: h e a d e r : p a c k e tt y p e = l 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 sh i t i p ( h i p 0 ) 。 第三章h i p 基本通信过程 在1 1 报文中,需要将发起端的h i t 作为源h i t ,响应端的h i t 作为目 的h i t ,报文只包含h i p 固定头部部分,不包含任何的t l v 参数( t l v : 类型长度值) ,这是由于i l 仅仅用来触发,而不是为了交换信息。 r 1 报文相对i l 报文来说要复杂得多,其报文内容为: h e a d e r : p a c k e tt y p e22 s r c h i t = 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 i p( h i p( 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 t 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 o _ r e q u e s t 】) 在h i p 基本通信过程中,为了加快对1 1 报文的响应,响应端可以在发 起端建立连接请求之前预先产生一些r 1 报文,这些预先产生的r 1 报文中 填写了一些信息,例如发起端的h i t 、p u z z l e 、d i f f i eh e l l m a n , h i pt r a n s f o r m ,e s pt r a n s f o r m ,h o s ti d 字段的值。当响应端 接收到1 1 报文,需要对其进行回应时,则需构造一个r 1 报文,此时可以 从预先产生的r 1 报文表列中取出一个,把一些其它的信息补填进去( 例 如发起端的h i t ) 。再发送这个r l 报文,并且将这个报文存入已发送r 1 报文表列中。r i 报文中的p u z z l e 字段应填入h i p 的c o o k i 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 字段的值是对r l 报文进行s h a l 运 算,然后对运算的结果用私钥进行加密所得的结果。发起端收到r l 报文 后应对报文进行验证,验证方法是利用h o s ti d 中的h i 值对加密的结果 进行解密,然后比较解密的结果和对报文进行s h a 1 运算的结果。 1 2 报文是对r l 报文的回应,它的主要内容为: h e a d e r : p a c k e tt y p e23 s r ch 1 t = i n i t i a t o r sh i t d s th i t ;r e s p o n d e r sh i t i p ( h i p ( 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 e _ h e l l m a n 1 4 第三章h 口基本通信过程 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 t i dj , 【e c h o _ r e s p o n s e 】,h i p s i g n a t u r , e c h or e s p o n s e 】) ) 1 2 报文中的s p i 参数中所填的是发起端给响应端分配的s p i 值,当安 全连接创建成功后,此s p i 表示了从响应端出发进入发起端这个方向的安 全连接。s o l u t i o n 字段的整数j 是r 1 报文中的p u z z l e 的解答, s o l u t i o n 中的整数k ,随机数i 以及o p a q u e 域和对应的r l 报文中 p u z z l e 里的值完全相同;d i f f i eh e l l m a n 字段中填入的是发起端的 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 进行加密计算的结果,当发起端收到响应端发送过来的r l 报文后,就可以从中获取响应端的d i f f l eh e l l m a n 参数和公钥,发起 端就可以通过设置自己的d i f f i eh e l l m a n 的私钥,并且计算出用于加 密的公共密钥,然后用这个公共密钥对h i 进行加密。响应端收到1 2 报文 后,可以通过1 2 报文中的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 可以明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025呼伦贝尔农垦集团有限公司社会招聘50人考试备考及参考答案详解
- 2025内蒙古兴安盟乌兰浩特市第一批公益性岗位招聘部分岗位调整笔试备考附答案详解
- 教师招聘之《幼儿教师招聘》考前冲刺训练试卷含答案详解(基础题)
- 2025年教师招聘之《小学教师招聘》通关练习题和答案及完整答案详解【名校卷】
- 教师招聘之《幼儿教师招聘》考试黑钻押题附答案详解【满分必刷】
- 教师招聘之《幼儿教师招聘》综合提升练习试题及完整答案详解一套
- 教师招聘之《小学教师招聘》通关检测卷及参考答案详解(基础题)
- 2025年教师资格证中学综合素质试题及答案解析
- 押题宝典教师招聘之《小学教师招聘》模考模拟试题附答案详解(a卷)
- 教师招聘之《小学教师招聘》能力检测试卷及完整答案详解【考点梳理】
- 同济大学《通信原理》2024-2025学年第一学期期末试卷
- 物流业务员培训课件
- 基于核心素养的小学体育综合实践活动设计研究
- 数码摄影基础 课件 第四章 光线与影调
- 2025年上海市选调生考试(行政职业能力测验)历年参考题库含答案详解(5套)
- 1.1 观察物体(1)(课件)人教版三年级数学上册
- 2025年国家网络安全宣传周知识竞赛题库(试题及答案)
- 2025年秋季学期“1530”安全教育记录表
- 骨折夹板固定技术课件
- 细胞生物学-第五章-物质的跨膜运输
- 中成药相关培训课件
评论
0/150
提交评论