(计算机软件与理论专业论文)ipv6中安全协议ipsec的分析与研究.pdf_第1页
(计算机软件与理论专业论文)ipv6中安全协议ipsec的分析与研究.pdf_第2页
(计算机软件与理论专业论文)ipv6中安全协议ipsec的分析与研究.pdf_第3页
(计算机软件与理论专业论文)ipv6中安全协议ipsec的分析与研究.pdf_第4页
(计算机软件与理论专业论文)ipv6中安全协议ipsec的分析与研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机软件与理论专业论文)ipv6中安全协议ipsec的分析与研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 i p 安全是i n t e r n e t 以及t c p i p 网络安全的基础,随着人们对i n t e r n e t 的依赖性越来越强,i p 安全性显得尤为重要,甚至关系到i n t e r n e t 的未 来发展。 i p 安全协议i p s e c 是i e t f 制定的安全i p 协议建议标准,在网络层 提供基于密码学的安全服务。i p s e c 提供的安全服务包括访问控制、完整 性( 无连接) 、数据源头的认证、数据保密和防重放功能。它包括两个主要 的安全协议:认证头协议和封装安全协议,并应用了密钥管理协议。 i p s e c 实现了i p 包级的安全,保护了i p 和1 p 以上层的协议,是实现 i n t e r n e t 安全的最佳解决方案。i p s e c 适用于i p v 4 和i p v 6 ,是i p v 6 自身 必备的安全机制。但i p s e c 仍然存在有安全缺陷,因此,增强i p s e c 的安 全性、完善其功能是计算机网络界的一个重要研究课题。 本文对i p s e e 在i p v 6 网络中的应用进行了实验研究。在这些实验中, 实现了针对不同的通信流应用不同的i p s e c 策略;通过选择符的使用形成 了比较细致的保护策略。对应用i p s e c 策略前后的网络性能进行了量化分 析。得出了应用i p s e c 策略会对网络传输性能产生影响以及其程度大小的 初步结论。在进行了有关测试之后,根据这些测试数据,总结了实验结 果;分析了目前实验的不足;并对技术的进一步研究提出了自己的建议 和思考。 关键词:i p s e c ;i p v 6 :网络安全;a h ;e s p 华南理下大学硕士学位论文 a b s t r a c t t h es e c u r i t yo fi pi st h ef o u n d a t i o no fn e t w o r ks e c u r i t y ,w i t h d e p e n d e n c et ot h en e t w o r ko fp e o p l eb e i n gs t r o n g e ra n ds t r o n g e r ,i p s e c u r i t ys e e m sp a r t i c u l a r l yi m p o r t a n t ,e v e nc o n c e r n st h ed e v e l o p m e n to f n e t w o r k i p s e c u r i t yp r o t o c o l ( i p s e c ) i st h es t a n d a r ds e c u r i t y 1 p p r o t o c o l s d e f i n e db yt h ei n t e r n e te n g i n e e r i n gt a s kf o r c e ( i e t f ) ,a n di t p r o v i d e s c r y p t o g r a p h i c a l l y - b a s e ds e c u r i t y a tn e t w o r kl a y e r t h es e to f s e c u r i t y s e r v i c e so f f e r e di n c l u d e sa c c e s sc o n t r o l ,c o n n e c t i o n l c s si n t e g r i t y ,d a t a o r i g i na u t h e n t i c a t i o n ,c o n f i d e n t i a l j t ya n dp r o t e c t i o na g a i n s tr e p l a y s i p s e c i n e l u d e st w oi m p o r t a n ts e c u r i t yp r o t o c o l s :t h ea u t h e n t i c a t i o nh e a d e r ( a h ) a n dt h ee n c a p s u l a t i n gs e c u r i t y p a y l o a d ( e s p ) , a n dt h r o u g ht h eu s eo f c r y p t o g r a p h i ck e ym a n a g e m e n tp r o t o c o l s i p s e cp r o v i d e s s e c u r i t y a t i p l a y e r o ft h en e t w o r k ,a n do f f e r s p r o t e c t i o nf o ri pa n d o ru p p e rl a y e rp r o t o c o l s i p s e ei st h eb e s ts o l u t i o nf o r i n t c r n e ts e c u r i t yi p s e cc a nb eu s e db yi p v 4a n dm u s tb es u p p o r t e db yl p v 6 b u ti ts t i l lh a ss o m es e c u r i t yf l a w s s oi ti st h ei m p o r t a n tt a s ko nh o wt o i r n p r o v et h es e c u r i t ya n dp e r f o r m a n c eo fi p s e cf o rt h ec o m p u t e rn e t w o r k w o r d 1h a v ed e s i g n e dag r o u po fe x p e r i m e n t sb a s e dt h ef o r et h e o r y i nt h e s e e x p e r i m e n t s ,r e a l i z e dt oa i ma tt h ed i f f e r e n tc o m m u n i c a t i o ns t r e a ma p p l y t h ed i f f e r e n tt h ep o l i c yo fi p s e c i nt h ed i s s e r t a t i o nih a v ee o m p a r e dt h e n e t w o r kt r a n s m i s s i o np e r f o r m a n c et h a tb e f o r ea n da f t e ra p p i e di p s e cp o l i c y t oc a r r yt h r o u g ht h eq u a n t i t a t i v ea n a l y s i s g e t t i n gaf r i n g ec o n c l u s i o nt h a t a p p l i e dt h ei p s c cp o l i c yw o u l di n f l u e n c en e t w o r kt r a n s m i s s i o np c r f o r m a n c e a n di t sd e g r e e a f t e ri m p l e m e n t e de x p e r i m e n t s ,a c c o r d e dt o t h e s et e s t d a t a e s ,a n a l y z e dd e f i c i e n c yo fc u r r e n t l ye x p e r i m e n t s ,a n dp u tf o r w a r do u r s u g g e s t i o na n dc o n s i d e r a t i o nf o rf u r t h e rr e s e a r c ho ft e c h n i c a ii nf u t u r e k e yw o r d s :i p v 6 ,i p s e c ,s e c u r en e t w o r k ,a h ,e s p u 华南理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研 究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文 不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律后果由本人承担。 作者签名:d 朴 日期:,年6 月二日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权华南理工大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密口。 ( 请在以上相应方框内打“4 ”) 作者签名:d 洮朴日期:加,年6 月2 日 导师签名:荡俅待 日期:埘年6 月。日 第一章绪论 1 1 研究背景及意义 第一章绪论 信息技术的发展导致了人类社会f 在由工业经济为主的社会向知识 经济过渡,随着i n t e r n e t 的飞速发展和网上电子商务的繁荣,i n t e r n e t 已 从最初的科研教育网转变成为一个庞大的商业通信骨干网。网络系统的 开放性、资源共享性和互联性的特点,给人们的生活和社会生产带来了 极大的便利。但是开放和安全自身就是一对矛盾,正由于其开放性,决 定了它容易受到攻击和破坏,人们在享受网络带来便利的同时,也不得 不面临一个严重的问题就是网络安全问题。 网络安全可以定义为:保障网络用户的可用性和网络信息的完整性、 真实性与机密性。从广义上讲,网络安全性主要有两个方面的内容: ( 1 ) 保证用户数据的私有性,防止非法窃取、篡改和伪造: ( 2 ) 限制用户的访问权限,防止非法用户入侵。 要提高i n t e r n e t 的安全性,需要一个包括安全策略、安全过程、安全 技术和安全实践在内的全面解决方案。由于网络中种种不安全因素的存 在,不能确保收到的i p 数据包:来自原先要求的发送方;包含的是发送 方当初放在其中的原始数据;原始数据在传输途中未被其他人看过。i p s e c 的出现可以很好的解决以上问题。它提供了一种标准的,健壮的以及包 容广泛的机制,可用它为i p 层及上层协议提供安全保证。 1 2 国内外目前的研究现状 i t e r n e t 工程任务组i e t f 于1 9 9 4 年开始了一项i p 安全工程,专门成 立了i p 安全协议工作组i p s e c ,来制定和推动一套称为i p s e c 的i p 安全 协议标准,其目标就是把安全集成到1 p 层,以便对i n t e r n e t 的安全业务 提供低层的支持。从l9 9 5 年开始,i e t f 着手研究制定了一套用于保护 i p 通信的i p 安全( i ps e c u r i t yi p s e c ) 协议,并于1 9 9 5 年8 月公布了一 系列关于i p s e c 的建议标准| 2 6 1 。 如今i p s e c 协议己成为新一代i n t e r n e 、的安全标准,它可以“无缝” 地为i p 引入安全特性,并对数据源提供身份验证、数据安全完整性检查 以及机密性保证机制,可以防范数据受到来路不明的攻击。由于是处于 网络层的安全协议,i p s e c 协议可被上层的任何协议所使用,如t c p 、u d p 、 i c m p 、b g p 等等。在当今的网络环境下,对新一代的网络安全标准1 p s e c 华南理工大学硕士学侥论文 及其相关协议进行分析是十分必要和意义重大的。 随着 p v 6 网络研究的逐步深入,已经有越来越多的厂商在其发布的 操作平台上支持i p v 6 协议。s u ns c ou n i x s 0 以上、f r e e b s d 4 ,0 以上、 r e d h a tl i n u x 6 2 以上,w i n d o w sn t 以上的版本都支持i p v 6 协议。 l n u x 下的f r e e s w a n 代码;w i n d o w s2 0 0 0 及以上版本中随i p v 6 协议栈 一同发布的i p s e c 代码。 就i p v 6 网络中i p s e c 的研究来说,国内较早研究的是北京邮电大学 和中国科技大学【2 7 】。国外的一些研究组也从未停止过研究。但综合国内 情况来说,大多停留在理论阶段,对于移动i p v 6 网络中应用i p s e c 策略 的情况更是如此。同时,应用i p s e c 策略对网络传输的影响也少有量化分 析。 1 3 本文研究的主要内容 第一章 介绍课题研究的背景与意义及当前国内外对该课题的研究 现状及实施情况。 第二章详细阐述了i p s e c 协议体系结构,包括它的几大组件、各 个组件之间的交互是如何进行的、各协议运行的模式以及i p s e c 如何给网 络通信提供安全保护。 第三章介绍了i p s e c 协议中的密码学知识,a h 和e s p 所提供的安全 保障完全依赖于它们采用的加密算法和验证算法,a h 要求的验证算法是: h m a c m d 5 9 6 ,h m a c s h a i 9 6 :e s p 要求强制实现的加密算法是 d e s c b c 。 第四章在w i n d o w sx p 的环境下,验证了在正确配置了i p s e e 的网 络环境里,通信受到了i p s e c 策略的保护。针对应用i p s e c 策略前后网络 传输( 吞吐量) 性能进行了量化分析,分析了应用i p s e c 策略后对网络传输 性能造成的影响,网络安全访问是要以网络传输性能的损失为代价的。 第五章i p s e c 并不是全能的安全体制,也不可能解决t c p i p 体系 中所有安全问题,本章从加密、认证算法和网络攻击方法分析了i p s e c 体系中存在的一些需要解决的问题。 结论对前凡章进行总结,并提出对i p s e c 体系发展的进一步展望。 2 第二章i p s e c 系统的研究 第二章i p s e c 系统的研究 本章主要着重讨论i p s e c 的体系结构。其中包括各种不同的i p s e c 组件、 各组件之间的交互是如何进行的、i p s e c 套件中的各个协议以及各协议的 运行模式。 2 ii p s e c 体系结构 2 1 1 概述 i n t e r n e t 采用的网络层协议是“互联网协议( i n t e r n e tp r o t o e 0 1 ) ”, 即常说的i p 协议。i p 作为网络层协议,其安全机制可以为上层的各种应用 服务提供透明的安全保护,因此,i p 安全是整个t c p i p 安全的基础,是 i n t e r n e t 及t c p i p 网络安全的核心。 i p 数据包本质上是不安全的。伪造i p 地址、篡改i p 数据报的内容、重 播以前的包,监测传输中的数据包的内容都是比较容易的。因此,既不 能保证一个i p 数据报确实来自它所声称的来源,也不能保证1 p 数据报在从 源到目的地的传输过程中没有被第三方篡改或者窥视。 设计 p s e c 就是为了防止这种i p 地址欺骗,防止任何形式的i p 数据报 的篡改和重放,为i p 数据报提供多种形式的安全服务,包括:数据源地 址验证;数据完整性验证;数据的机密性验证;抗重播保护;以及有限 的数据流机密性保证。i p s e c 在网络层提供这些服务,所提供的安全服务 是通过使用密码协议和安全机制的联合实现的。i p s e c 可以让系统选择所 需要的安全协议,选择所希望的与已选择的安全协议一起使用密码算法, 同时生成为提供这些请求的服务所必须的密钥并将他们放在合适的位 置。 2 1 2i p s e c 体系结构 i p s e c 是指i e t f 以r f c 形式公布的一组安全i p 协议集,是在i p 包级为i p 业务提供保护的安全协议标准,其基本目的就是把密码学的安 全机制引入l p 协议,使用现代密码学方法支持保密和认证服务,使用户 有选择的使用,并得到所期望的安全服务。 i p s e c 由一系列协议组成,r f c 2 4 0 1 定义了i p s e c 的基本结构,所 有的具体的实旌方案均建立在它的基础之上。i p s e c 安全体系结构包含: 华南理工大学硕士学位论文 封装安全有效载荷( e s p ) :覆盖了为了包加密( 可选身份验证) 与e s p 的使用相关的包格式和常规问题; 验证头( a h ) :包含使用a h 进行包身份验证相关的包格式和 一般问题; 加密算法:描述各种加密算法如何用于e s p 中; 验证算法:描述各种身份验证算法如何用于a h 中和e s p 身份 验证选项; 密钥管理:密钥管理的一组方案,其中i k e( i n t e r n e t 密钥交 换协议) 是默认的密钥自动交换协议; 解释域:彼此相关各部分的标识符及运作参数; 策略:决定两个实体之间能否通信,以及如何进行通信。策略的 核心由三部分组成:s a 、s a d b 、s p d b 。s a ( 安全关联) 表示 了策略实施的具体细节,包括源目的地址、应用协议、s p i ( 安 全策略索引) 、所用算法密钥长度;s a d b 为进入和外出包 处理维持一个活动的s a 列表;s p d b 决定了整个v p n 的安全需 求。策略部分是唯一尚未成为标准的组件1 3 】。 p s e c 发展规划定义了i p s e e 各组件之间的交互方式,如图3 1 图 所示:i p s e c 通过是用两种通信安全协议来达到保护通信的目的:认证头 和封装安全载荷,以及像i n t e r n e t 密钥交换( i k e ) 协议这样的密钥管理过 程和协议来达到这些目标。 图2 1i p se c 发展规划 4 第二章i p s e c 系统的研究 a h 协议提供数据源认证,无连接的完整性,以及一个可选的抗重放 服务。e s p 协议提供数据保密性,有限的数据流保密性,数据源认证,无 连接的完整性,以及抗重放服务。对于a h 和e s p ,都有两种操作模式:传 输模式和隧道模式。i k e 协议用于协商a h 和e s p 协议所使用的密码算法, 并将算法所需要的必备密钥放在合适的位置。 i p s e c 所使用的协议被设计成与算法无关的。算法的选择在安全策略 数据库( s p d b ) 中指定。可供选择的密码算法取决于i p s e c 的实现,由于这 些安全机制是不依赖于具体的密码算法独立,所以在选择和改变算法时 不会影响其它部分的实现,对用户和和上层应用是透明的。然而,为了 保证全球i n t e r n e t 上的互操作性,i p s e c 规定了一组标准的默认算法。 i p s e c 允许系统或网络的用户和管理员控制安全服务提供的粒度。例 如,一个组织的安全策略可能规定来自特定子网的数据流应该用a h 和 e s p 保护,并且应该用d e s ( 数据加密标准) 算法来加密,用m d 5 ( 消息摘要 函数) 杂凑算法来验证数据的完整性。另一方面,策略可能规定来自另一 个站点的数据流应该只用e s p 保护,并且应该对数据流提供a e s ( 高级加 密标准) 加密。同时,通过使用安全关联( s a ) ,i p s e c 能够区分不同的数据 流提供的安全服务。 2 1 3 安全关联 安全关联( s a ) 的概念是i p s e c 的基础。i p s e c 使用的两种协议( a h 和 e s p ) 均使用s a ;i k e 协议的一个主要功能就是s a 的管理和维护。 s a 是两个通信对等方之间经协商建立起来的一种协定。决定了用来 保护数据包安全的i p s e c 协议、转码方式、密钥以及密钥的有效存在时间 等等。任何i p s e c 实施方案始终会构建一个s a 数据库( s a d b ) 由它来维 护i p s e c 协议用来保障数据包安全的s a 记录。 s a 是单向的,换言之,它的设计非常简化。如果两个主机( 比如a 和 b ) 正在通过e s p 进行安全通信,那么主机a 就需要有一个s a ,即s a ( o u t ) , 用来处理外发的数据包;另外还需要有一个不同的s a ,即s a ( i n ) ,用来 处理进入的数据包。主机a 的s a ( o u t ) 和主机b 的s a ( i n l 将共享相同的加密 参数( 比如密钥) 。类似地,主机a 的s a ( i n ) 和主机b 的s a ( o u t ) 也会共享同 样的加密参数。由于s a 是单向的,所以针对外发和进入处理使用的s a , 分别需要维护一张单独的( 数据) 表。另外,s a 还是“与协议相关”的。 每种协议都有一个s a 。如果主机a 和b 同时通过a h 和e s p 进行安全通信, 那么每个主机都会针对每一种协议来构建一个独立的s a 。术语s a 柬用于 华南理工大学硕十学位论文 描述一组s a ,该组s a 应用于始自或者到达特定主机的数据。 s a 是通过像i k e 这样的密钥管理协议在通信对等方之间协商的。当一 个s a 的协商完成时,两个对等方都在他们的安全关联数据库( s a d b ) 中存 贮该s a 参数。s a 参数之一是它的生存期,它以个时间间隔或者是i p s e c 协议利用该s a 来处理的一定数量的字节数的形式存在。当一个s a 的生存 期过期,要么用一个新的s a 来替换该s a ,要么终止该s a 。当一个s a 终 止时,它的条目将从s a d b 中删除。 s a 由一个三元组 唯一的标识,该三元组包 含一个安全参数索引( s p i ) ,一个用于输出处理s a 的目的i p 地址( d s t ) 或者 一个用于输入处理s a 的源l p 地址( s r c ) 以及一个特定的协议( 例如a i i 或者 e s p ) 。s p i 是为了唯一标识s a 而生成的一个3 2 位整数。它在a h 和e s p 头中 传输。因此,i p s c e 数据包的接受方易于识别s p i 并利用它连同源或者目的 i p 地址和协议来搜索s a d b ,以确定与该数据报相关联的s a 或s a 束。 ( 一) 、安全参数索引( s p i ) 在s a 中,s p 是一种非常重要的元素。s p i 实际上是一个长度为3 2 位的数据实体,用于独一无二地标识出接收端上的一个s a 。要解决在目 的地( 目标主机) 上标识s a 的问题,随每个数据包一道,需要发送一个 s p i ,以便将s a 独一无二的标识出来。目标主机再利用这个值,对接收 s a d b 数据库进行检索,提取出适当的s a 。但这种做法也存在一个显而 易见的问题:由谁来保证s p i 和s a 之间映射的唯一性呢? 事实上,要由 接收端目标主机来保证这种独一无二的性质( 唯一性) 。针对每种协议, 都有必要维护一个独立的s p i 域。目标主机可利用任何一种“连贯性” 机制,来确保每个域内的唯一性。 接收端会对在发送端上作为s a 一部分保存的s p i 进行分配。接收端 可用它唯一地标识出一个s a 。基于这一假定,发送端会在它发送的每个 包中把它包括进来。假如接收端不能保证唯一性,数据包便不能通过安 全检查,这也许是使用了无效的密钥和转码方式造成的。 发送主机根据选择符对发送s a d b 进行检索。检索操作的输出便是一 个s a ,其中已协商好所有安全参数一一包括s p i 。负责分配s p i 的主机也 要担保其唯一性。旦s a 过期,s p i 便会重新使用,但要保证每一点上 能匹配,而且s a 是一对一。假如主机属于多宿主类型( 换言 之,一个主机含有多个i p 接口) ,便许使用源地址。假如系统上插有多张 网卡,或者同一张网卡上配置了多个i p 接口,在这种情况下, 索引可能失去其唯一性,所以要用源地址( s r c ) ,来加一道保险,对此作 进一步的澄清。 6 第二章i p s e c 系统的研究 ( 二) s a 管理 s a 管理的两大主要任务是创建与删除。s a 管理既可手工进行,亦可 通过一个i n t e m e t 标准密钥管理协议来完成,比如i k e 。为进行s a 的管 理,要求用户应用( 含i k e ) 的一个接口同内核通信,以便实现对s a d b 数据库的管理。 创建:s a 的创建分两步进行一一先协商s a 参数,再用s a 更新s d a b 。 人工密钥协商过程中,通信双方需要离线同意s a 的各项参数。所谓 人工协商,不外乎是电话或电子邮件的方式。s p i 的分配、参数的拟定均 是人工进行的,整个过程既麻烦,容易出错又不安全,另一不足之处是 这些s a 永不过期,直到以人工方式删除。在已经有一种稳定的、可靠的 密钥管理协议的前提下,再进行人工密钥协商就不必要了。 在已经配置好i p s e c 的一个环境中,s a 的建立通过一种i n t e r n e t 标准 密钥管理协议( 比如i k e ) 来完成。如果安全策略要求建立安全、保密 的连接,但却找不到相应的s a ,i p s e e 的内核便会自动调用i k e 。i k e 会与目标主机或途中的主机路由器协商具体的s a ;而且如果策略要求, 还需要创建这个s a 。s a 创建好且加入s a d b 数据库后,保密数据包便 会在两个主机间正常“流动”。 删除:可能有多方面的理由需要删除s a : 存活时间过期; 密钥已遭破解; 使用s a 加密解密或验证的字节数已超过策略设定的某一个 阈值; 另一端要求删除这个s a 。 s a 可以手工删除或通过i k e 来删除。为降低别人破解系统的可能性, 经常需要更改密钥。i p s e c 本身没有提供更新密钥的能力。为此,我们必 须先删除现有的s a ,再协商并建立一个新的s a 。一旦s a 被删除,它所 使用的s p i 便可以重新使用。 为避免耽搁通信,必须在现有的s a 过期之前,协商好一个新的s a 。 如果s a 的存活周期非常短,那么在即将到期的s a 被删除之前,拥有多个 s a 的通信双方便可利用老的s a 来保障通信的安全。然而,最好的做法还 是创建s a ,尽量避免使用以前的s a 。 7 华南理j 二大学硕士学位论文 2 1 4 安全关联数据库 对于i p s e c 数据流处理而言,有两个必要的数据库:安全策略数据库 s p d b 和安全关联数据库s a d b 。s p d b 指定了用于到达或者源自特定主机 或者网络的数据流的策略。s a d b 包含活动的s a 参数。对于s p d b 和s a d b , 都需要单独的输入和输出数据库。 ( 一) 、安全策略数据库 i p s e c 协议要求在所有通信流处理的过程中都必须查询s p d b ,不管通 信流是输入还是输出。s p d b 中包含一个策略条目的有序列表。通过使用 一个或者多个选择符来确定每个条目。这些选择符是从网络层和传输层 的数据包头里提取出来的。i p s e c 当前允许的选择符有: 1 ) 源i p 地址:源i p 地址可以是一个3 2 位的i p v 4 地址,也可以是一个 1 2 8 位的i p v 6 地址。该地址可以是一个通配符、一个地址范围、一个网络 前缀或者一个指定的主机。对源自一个主机的所有包来说,假如为它们 采取的策略都一样,那么通配符便显得特别有用。网络前缀和地址范围 用于安全网关,以便为隐藏在它后面的主机提供安全保护,以及用来构 建v p n ( 虚拟专用网络) 。在一个主机安全要求已经明确的前提下,要么在 一个多宿主( 多址) 主机使用一个特定的地址,要么可在网关上使用。源【p 地址从a h 、e s p 或者i p 头的源i p 地址域中得到。 2 ) 目标i p 地址:目标i p 地址也可以是一个3 2 位的i p v 4 地址,也可以是 一个1 2 8 位的i p v 6 地址。同样,该地址也可以是通配符、一个地址范围、 一个网络前缀或一个指定主机。前三个都用于隐藏在安全网关背后的主 机。目的i p 地址从a h 、e s p 或者i p 头( 如果没有对数据包应用i p s e c 的话) 的目的i p 地址域中得到。对于经过隧道处理的i p 包,用作选择符的目标地 址字段有别于用于查找s 、的目标地址。在这种情况下,只要包以隧道方 式传输,外部头的巨 的l p 地址便可与内部头的不一样。但是,目的网关中的策略是根拒真正 的目标地址而设的,而最终要用这一地址对s p d b 数据库进行索引。 3 ) 系统名:系统名字段用于标识与一名有效用户或者系统名称关联在 一起的策略。它可以是一个d n s 名、x 5 0 0 区分名或者在i p s e cd o 工中定 义的其它名字类型。只有在i k e 协商期间( 丽非包处理期间) 名字字段才 能作为一个选择符使用。在包处理期间,这一字段不能作为选择符使用。 这是由于目前无法把一个i p 地址和一个名字结合在一起。 4 ) 传输层协议:协议字段指定了传送协议( 只要传送协议能够访问) 。 许多情况下,只要使用了e s p ,传输层协议便无法访问。在这种场合下, 第二章i p s e c 系统的研究 需要使用通配符。 5 ) 上层端口( u p p e rl a y e rp o r t s ) :在进行面向会话的密钥交换时,上层 端口代表着源和目标端口,真正应用协议的便是这些端口。如果端口不 能访问,便需使用通配符。 s p d b 中的每一个条目都包含一个或者多个选择符和一个标志,该标志 用于表明与条目中的选择符匹配的数据包是否应该丢弃、是否应该进行 i p s e c 处理。如果应该对数据包进行i p s e c 处理,则条目中必须包含一个指 向s a 内容的指针,其中详细说明了应用于匹配该策略条目的数据包的 i p s e c 协议、操作模式和加密验证算法。 选择符与数据通信流相匹配的第一个条目将被应用到该通信中。如果 没有发现匹配的条目,考虑中的通信数据包将被丢弃。因此,s p d b 中的 条目应该是按照应用程序希望的优先权排序。 s p d b 中的条目决定了处理通信流的粒度。例如,策略可能规定于某特 定的s a 或者s a 束对应的i p s e c h 艮务应该应用到任何源自任何源或者去往 任何目的地的所有通信流,策略也可能规定应该基于特定的选择符来决 定不同s a 或者s a 束的应用。s p d b 在控制通过一个i p s e c 系统的所有通信 中发挥着非常重要的作用。 ( 二) 、安全关联数据库 s a d b 中包含现行的s a 条目,每个s a 又包含一个s p i ,一个源或者目 的i p 地址和一个i p s e c 协议的三元组索引。此外,一个s a d b 条目还包含 下面的域: 1 1 序列号计数器( s e q u e n c en u m b e r ) :序列号是一个3 2 位的整数,用于 生成a h 或e s p 头中的序列号域,在数据包的“外出”处理期间使用。它 同时属于a h 及e s p 头的一部分。每次用s a 来保护一个数据包,序列号的 值便会递增1 。通信的目标主机利用这个字段来侦测所谓的“重播”攻击。 s a n 4 剐建立时,该字段的值设为0 。通常,在这个字段的值溢出之前,s a 会重新进行协商一一因为你能够想象,假定用同一个密钥来发送4 g 以上 的数据包( 4 ,0 0 0 ,0 0 0 ,0 0 0 个) ,那么显然是非常不安全的1 2 ) 序列号溢出( s e q u e n c en u m b e ro v e r f l o w ) :这是一个标志,用于外出 包处理,表示是否对序列号计数器的溢出进行审核;对于特定的s a ,是 否阻塞额外通信流的传输。 3 ) 抗重放窗口:该字段在数据包的“进入”处理期间使用。它使用一 个3 2 位计数器和位图确定一个输入的a h 或者e s p 数据包是否是一个重放 包。 4 ) a h 认证密码算法和所需要的密钥。 9 兰童堡三查堂堡兰垡堡塞 - _ _ - h _ _ - _ _ _ _ _ _ _ _ 。_ 。_ _ - _ 。_ 。一一 2 2 封装安全载荷( e s p ) 封装安全载荷( e s p ) 是插入数据报内的一个协议头,以便为i p 提 供机密性、数据源验证、抗重拨以及数据完整性等安全服务。e s p 可在 不同的模式下使用。这些模式中,它需要插入i p 头与上层协议( 比如t c p 或u d p 头) 之间,或者用它封装整个i p 数据报。 e s p 用一个加密器提供机密性,数据完整性则由十分验证器提供。 加密器和身份验证器两者采用的算法是e s p 安全联盟的相应组件决定 的。把基本的e s p 定义和实际提供安全服务的算法这两者分开来看,e s p 则是一个通用的、易于扩展的安全机制。e s p 选择性地提供一些抗重拨 服务。至于时候采用提供抗重拨服务,由数据包的接收者来决定。一个 唯一的、单向递增的序列号肯定由受e s p 保护的数据报的发送端插入, 但却并不要求接收端对该数据报进行检验。由于这项保护对接收端大有 好处,所以一般都会采用。 2 2 1e s p 头 不管e s p 头处于何种模式,e s p 头都会紧紧跟在一个l p 头之后。在 i p v 4 中,e s p 头紧跟在i p 头后面。这个i p 头的协议字段将是5 0 ,以表 明i p 头之后是一个e s p 头。但在i p v 6 中,e s p 头的放置与扩展头是否 存在有关。e s p 头肯定插在扩展头( 它可以改变源到目的主机之间的路 由) 之后。e s p 头应插在目的地选项头之前,因为我们希望它能对这些 目标选项进行保护。如果扩展头存在,他的下一个头字段就会立即出现 在设为5 0 的e s p 头之 前。如果扩展头不存 在,i p v 6 头的下一个头 字段就会被设成5 0 。 在e s p 头之后,是 一个向t c p 的上层协 议头,还是另一个i p 头昵? 这要由e s p 头 本身( 以及对用于处理 这个e s p 包的安全联 盟) 决定。e s p 为自己 保护的这个包同时提 图2 - 2e s p 头( 与尾) 笙三童! ! 塑! 墨笙堕堕塑 供了机密性和完整性安全保障。对这个i p 包实行的这两项服务所涉及的 范围不完全相同。 作为一个i p s e c 头,e s p 头中会包含一个s p i 字段。这个值,和i p 头之前的目标地址以及协议结合在一起,用来标志用于处理数据包特定 的那个安全联盟。 传送模式e s p s p i 本身是个一个 任意数,是在i k e 交换过程中由目标 主机选定。需要说 明的是,s p i 经过 了验证,但没有加 密,因为s p i 用于 状态的标志一一指 定用何种加密算法 及密钥,并用于对 包进行解密。 通过序列号, e s p 具有了抵抗重 拨攻击的能力。序 列号经过了验证却 没有加密。这是由 于我们根据它判断 一个包是否重复, 以决定是否丢弃这 个包,不至于动用 更多的资源对其进 行解密。事实上, 序列号没有要求保 证机密性一一它没 有泄露明文形式中 的任何机密。 2 2 2e s p 模式 t 己加密 j l t p 头 s p i 序碉i 号 初始化向量 t c p 头 特 撮 填存埔填存i i f i * 睁 下一个4 骆缸舯棍 下一个头是t c p l 一一一一一一一一一l 图2 - 3 传送模式下受e s p 保护的i p 包 t p 婆 s pt 庠硎号 初始化向量 1 p 头 t c p 头 舯撮 i + 。古恬+ 。古饼。出i f 。 酴柞斯耀 下一个头是i p i n - i p l 一一一l 图2 - 4 通道模式下受e s p 保护的1 p 包 e s p 头可选用两种方式中的一种来应用于i p 包:传输模式或通道模 一下i上 t上一 丁上 华南理工大学硕士学位论文 式。其间的差别决定了e s p 保护的币在对象是什么。在传送模式中,e s p 头插在i p 头和i p 包的上层协议之间;通道模式下,整个受保护的i p 包 都封装在一个e s p 头中,还增加了一个新的i p 头。 2 2 3e s p 处理 用e s p 处理i p 包与e s p 采用的具体模式有着部分联系。两种模式下, 密文是得到验证的,验证的明文则是未加密的。其间的含义在于,对于 外出包来说,首先进行的是加密处理;而对进入的包来说,验证是首先 进行的。 ( 一)处理外出数据包 对在i p v 4 上运行的传送模式应用来说,e s p 头紧跟在i p 头( 包括i p 头可能有的选项) 之后,插入一个外出的i p 包中。i p 头的协议字段被复 制到e s p 头的“下一个”字段中;填充序列号字段的是序列号中的下一 个序列值;填充数据会被插入,其值被分配:同时被分配的还有填充长 度值。随后,i p 头的协议字段得到的是e s p 的值,或者5 0 。对于i p v 6 的处理来说,规则基本上类似于l p v 4 。e s p 头可插在任意一个扩展头之 后。 对于通道模式应用来说,e s p 头是加在i p 包前面的。如果封装的是 一个i p v 4 包,那么e s p 头的“下一个头”字段分配到值4 ;如果封装的 是一个i p v 6 包,则分配到值4 l 。其他字段的填充方式和传送模式的一样。 随后,在e s p 头的前面新增一个i p 头,并对相应的字段进行填充( 赋值) 一一源地址对应于应用e s p 的那个设备本身;目标地址取自于应用e s p 的s a ;协议设为5 0 :其他字段的值则参照本地的i p 处理加以填充。 小管在哪种模式下,接下去的步臻都是相同的。从恰当的s a 中选择 加密器( 加密算法) ,对包进行加密( 出= 从载荷数据的开头,一直到“下 一个头”字段) 。随后,用恰当的s a 中的验证器,对包进行验证( 自e s p 头开始,中间经过加密的密文,一直到e s p 尾) 。随后,将验证器的结果 插入e s p 尾的“验证数据”字段中。 对外出数据包进行最后的一步处理是:重新计算位于e s p 前面的i p 头的校验和。 ( 二)处理进入数据包 接收端在收到一个e s p 包之后,若不对这个包进行处理,就无法得 知它究竟处于通道模式,还是传送模式。根据对这个包进行处理的s a , 第二章i p s e c 系统的研究 便可知道它到底处于什么模式下。但除非完成了对它的解密,实际上不 可能知道e s p 保护的是什么。这样,安全便要了强有力的保障。 如果收到的| p s e c 包是一个分段,必须把他保留下来,直到这个包的 其它部分收完为止。我们不能对一个不完整的i p s e c 包进行处理,因为可 能会导致实行的初次校验失败一一次数据完整性校验。 收到e s p 包之后,进行的第一件事情是:检查处理这个包的s a 是 否存在一一这是基本的i p s e c 要求,而不是e s p 专有的。如果没有s a , 这个包就会被丢弃。只有在s a 存在的情况下,才开始进行输入处理。 一旦验证通过了一个有效的s a ,就可用开始包的处理。首先检查序 列号,如果这个包的序列号是有效的一一也就是说,它不是一个重复( 重 拨) 的包,也不是出现在包含在s a 中的序列号窗口的右边一一就开始处 理。由于e s p 身份验证密文而不是明文,接下来就是对这个包进行身份 验证。利用恰当的密钥,把整个完整的e s p 包( 除开身份验证数据) 传 递到验证器那里( 取自s a ) 。如果其结果能与“身份验证数据”字段中 包含的数据相符,就可对这个包进行身份验证。接下来是解密。通过取 自s a 的密钥和密码算法,就可对e s p 包进行解密,这个e s p 包在载荷 数据开始之处到下一个头之间。判断解密成功的一个最简单的测试是检 验其填充。由于填充内容具有决定意义一要么是一个从1 开始的单向 递增的数,要么通过加密算法决定一一对填充内容进行验证将决定这个 包是否已成功解密。 传送身份验证和解密检查成功之后,就可对结果数据包进行初步的 有效信检验。如果用来处理这个数据包的s a 表明在某一特定的模式下一 一要么是通道模式,要么是传送模式一一只能处理e s p 包,那么还必须 检验这个包的适用性。如果这个包与要求的模式不同,就必须把丢弃。 对传送模式而言,上层协议头与i p 头是同步的,e s p 头的下一个头 字段被复制到i p 头的协议字段中,并计算出一个新的校验和;而对通道 模式而言,就抛开外部i p 头和e s p 头一一我们需要的是解开封装的包。 这时,必须进行另一个有效性检验。i p s e cs a 可能要求它处理的那个包 只针对某一个特定的主机一一如果是通道模式一一和或针对某一个特定 端口或协议的。如果这个包和所要求的地址和或端口、和协议( s a 表 琨的) 不福符,必须将它丢弃。 为了进行下一步的处理,可将一个经过改造和验证的包转发出去。 如果它是一个传送模式包,就会转让到一个高一级的协议层一比如 t c p 或u d p 一一由它们对这个包进行处理;如果它是一个普通模式包, 就会重新插入i p 处理流中,继续转发到它的最终目的地。 华南理丁大学硕士学位论文 如果这个经

温馨提示

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

评论

0/150

提交评论