对IPsec协议的分析与优化Word格式.docx
《对IPsec协议的分析与优化Word格式.docx》由会员分享,可在线阅读,更多相关《对IPsec协议的分析与优化Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
参考文献:
........................................15
1、概述
1.1课程设计的背景
随着科学技术的飞速发展,计算机技术和网络技术已经深入到社会的各个领域,开放的、大众化的互联网已经普及到人们生活的各个方面。
然而,在人们得益于信息革命带来的巨大机遇的同时,也不得不面对信息安全问题的严峻考验。
不断出现的网络安全事件,已经严重影响到人们的日常工作和生活。
同时,网络信息的安全保密问题,也关系到一个国家的主权、安全和发展。
“电子战”、“信息战”已经成为现代战争中一种重要的攻击与防卫手段。
因此,信息安全、网络安全已经引起各国、各部门、各行业以及每个计算机用户的充分重视。
深入分析存在的网络安全隐患,重要的原因是目前的因特网和大多数包交换网络都是建立在IP协议(InternetProtocol)基础上的。
由于IP协议本身没有任何安全措施,使得建立在该协议基础上的网络体系本身就存在着大量的安全隐患。
IP协议存在的安全漏洞主要有:
缺乏对IP地址进行保密的机制;
缺乏对IP地址真实性的认证机制;
缺乏对IP数据包的加密保护;
缺乏对广播信息的认证;
缺乏对ICMP(Internet控制消息协议)信息的认证和保护;
缺乏对路由信息的认证和保护等。
正是由于IP协议存在这些安全漏洞,使得攻击口协议的新方法和新手段不断地涌现,基于IP协议标准的各种应用网络面临着越来越激烈的安全挑战。
如何有效地保障机密信息在网络中的安全传输,不仅成为人们日益关注的核心问题,而且也是科研人员一个重要的研究课题.而为IP协议提供安全保障,是保障网络安全行之有效的方法。
1.2课程设计的研究意义
为了解决由于TCP/IP协议的不完善所带来的各种不安全因素,IETF(因特网工程任务组)制定了IP安全标准——IPsec,为“IP网络”的安全性提供一种切实可行的保障手段。
IPsec提供了一种标准的、健壮的、包容广泛的机制,可以为IP层及上层协议提供安全保证;
IPsec规定了在对等层之问如何选择安全协议、确定安全算法和密钥交换算法;
提供访问控制、数据源认证、数据加密等网络安全服务.IPsec协议为IP网络的安全性提供了一整套的解决方案。
而且,IPsec协议自身是一个完全开放的标准,用户可以根据实际的应用进行功能扩展。
由于网络安全问题的日趋严重以及IPsec协议的强大功能与优点,对IPsec协议的研究和实现对于网络安全状况的改善具有重要的价值和意义。
1.3课程设计的研究内容
1.研究IPsec协议的体系结构、各部分构成、工作方式及提供的服务,在此基础上分析和总结了IPsec协议的优势,安全漏洞以及局限性。
2.分析IPsec协议的复杂性,改进原有的IPsec协议构造新的IPsec协议IPsec*,既保证原有安全性,增加网络传输性能,又优化IPsec协议,有利于实际的应用。
3.研究IPsec*导致网络,特别是VPN网络传输性能降低的主要原因,提出性能的改进方案,使之在应用时达到安全性与传输性能的平衡。
1.4课程设计的研究目标
设计的目标是在了解网络安全技术和深入研究IPsec协议的基础上,提出一个可以在Linux和Windows2000两种网络操作系统上运行的、适用于主机的、能够实现端到端的信息安全传输系统;
实现在两种操作系统下IPsec协议的驱动引擎,并根据具体的网络环境,解决IPsec协议在实施过程中所遇到的问题。
2、问题分析
2.1系统需求
根据实际的工作要求,系统应满足以下要求:
1.应覆盖网内的所有主机,为所有主机提供可配置的、可选择的安全通信方式。
2.为网络用户提供身份鉴别、访问控制、数据完整性、认证等网络安全服务。
3.分别在Linux和Windows2000两种系统下实现IPsec协议,并保证能在两种操作系统之间互联互通。
4.安全系统对原有的网络结构应透明。
即系统不占用原网络系统中任何IP地址;
装入系统后,不影响原有网络整体性能;
原有的网络结构不需要改变。
2.2系统设计目标
系统的实际目标如下:
1.实现方式的模块化;
系统内部要实现加、解密(包括验证)算法的独立,以便用户可以扩展自己的加密/认证算法;
AH协议和ESP协议实现的独立,保证可以被单独联合使用;
加密流程和解密流程独立,保证单位工作的独立性;
密钥管理和IPsec流程的独立,方便扩展密钥交换协议。
2.系统应实现IETF规定的默认加密/认证算法,包括HMAC-MD5、HMAC-SHA1、DES、3DES;
系统应支持软件和硬件加密,并为扩展加密/认证算法和硬件加密方式预留接口。
3.支持安全联盟的手工配置和自动协商建立。
4.支持对报文先压缩的传输方式,以提高效率。
5.灵活方便,安全配置简单。
用户可以根据实际需要,自由地选择是否选择安全访问服务、所使用的安全协议和加密/认证算法等。
3、IPsec协议
3.1协议简介
IPsec提供了一种标准的、健壮的以及包容广泛的安全机制,可以用它为IP及上层协议(如TCP、UDP等)提供安全保证。
IPsec工作在网络层,其目标是为IPV4和IPV6提供具有较强的互操作能力、高质量和基于密码的安全;
为在未经保护的网络上传输敏感信息提供安全。
IPsec对于IPV4是可选的,对于IPV6是强制性的。
IPsec是一个开放的标准体系,所使用的协议被设计成与算法无关的。
密码算法的选择取决于IPSce的具体实现。
但为了保证各种IPsec系统之间的互操作性,IETF规定了一组标准的默认算法.主要的默认算法有:
1.加密算法:
DES(DateEncryptionStandard,数据加密标准)
3DES(TripleDES)
2.消息完整性(散列)函数:
HMAC(Hash-basedMessageAuthentication,基于散列的消息认证码)
MD5(MessageDigest5,消息摘要算法5)
SHA-1(SecureHashAlgorithm-1,安全散列算法1)
3.对等实体认证:
RSA(RivestShamiAdelman)数字签名
4.密钥管理:
D-H(Differ-Hellman)
CA(CertificateAuthority,证书授权)
IPsec提供以下网络安全服务,这些服务是可选的,可以根据通信双方的安全策略指定一个或者多个这些服服务:
1.数据机密性:
IPsec发送者在发送时能够加密数据包。
2.数据完整性:
IPsec接收者可以认证由IPsec发送者发送的包,确定在传输过程中没有被更改。
3.数据起源验证;
IPsec接收者可以验证发送IPsec数据包的真正来源,这项服务是依赖于数据完整性来实现的。
4.抗重放服务:
IPsec接收者可以检测和拒绝重放的数据包。
IPsec是一组协议的集合。
它包括安全协议和密钥协商两个部分。
安全协议部分定义了对通信的安全保护机制;
密钥协商部分定义了如何为安全协议提供所需要的各种参数,以及如何对通信实体的身份进行鉴别。
IPsec安全协议给出了ESp协议(封装安全载荷)和AH协议(认证头)两种通信保护机制。
IPsec协议使用IKE(Internet密钥交换)协议实现安全协议的安全参数协商.IKE协商的安全参数包括加密/鉴别算法、通信的保护模式(传输模式或隧道模式)、密钥的生存期等,IKE将这些安全参数构成的集合称为安全关联SA。
下面的章节对IPsec的体系结构进行简单的阐述。
3.2IPsec的安全协议
3.2.1AH协议
设计认证头(AH)协议的目的是用来增加IP数据报的安全性。
AH协议提供无连接的完整性、数据源认证和抗重放保护服务。
然而,AH不提供任何保密性服务:
它不加密所保护的数据包。
AH的作用是为IP数据流提供高强度的密码认证,以确保被修改过的数据包可以被检查出来。
AH使用消息认证码(MAC)对IP进行认证。
MAC是一种算法,它接收一个任意长度的消息和一个密钥,生成一个固定长度的输出,称作消息摘要或指纹。
MAC不同与散列函数。
因为它需要密钥来产生消息摘要,而散列函数不需要密钥。
最常用的MAC是HMAC。
HMAC可以和任何迭代密码散列函数(如MD5,SHA-1,RIPEMD-160等)结合使用,而不用对散列函数进行修改。
因为生成IP数据报的消息摘要需要密钥,所有IPsec的通信双方需要共享密钥。
假设:
如果采用的密钥不同,对一个MAC输入指定数据计算出相同的消息摘要是计算上不可行的。
于是,只有共享密钥的通信双方才可以采用预先定义的MAC对一个确定的消息生成确定的认证数据。
AH协议头格式如下:
图1AH头格式
下面对这些字段进行简要说明。
●下一个头指明AH之后的下一载荷的类型,如可能是ESP或是其他传输层协议。
●载荷长度是以32位字为单位的AH的长度减2。
AH实际上是一个IPv6扩展头,按照RFC2460,它的长度是从64位字表示的头长度中减去一个64位字而来,由于AH采用32位字为单位,因此需要减去两个32位字。
●保留该字段目前置为0。
●安全参数索引该字段用于和源或目的地址以及IPsec相关协议(AH或ESP)共同唯一标识一个数据报所属的数据流的安全关联(SA)。
●序列号该字段包含一个作为单调增加计数器的32位无符号整数,它用来防止对数据包的重放攻击。
●认证数据这个变长域包含数据包的认证数据,通过该认证数据具体提供数据包的完整性保护服务。
3.2.2AH协议的操作模式
AH协议可以应用于两种操作模式;
传输模式和隧道模式,下图显示了AH协议的两种操作模式是如何对原始IP数据报进行操作的。
IP头
传输协议头
数据
原始IP包
IP头
AH头
传输模式保护的IP包
新IP头
原IP头
通道模式保护的IP头
AH协议可以应用于两种操作模式:
传输模式和隧道模式。
在传输模式中,原始的数据报IP头为最外层的IP头,然后是AH协议头和原始IP数据报的有效载荷。
整个原始的数据报(除了IP头中的可变域)和AH协议头都进行了验证,对任何域(除了IP头中的可变域)的任何改变都可以被检测到。
但是数据报中的所有信息都采用明文传输方式。
在隧道模式中,产生了一个新的IP头作为最终数据报的最外层的口头。
后面依次是AH协议头和原始的整个数据报(IP头和有效载荷)。
整个数据报被AH协议所保护,对隧道模式数据报的任何域(除了新IP头中的可变域)的任何改变都可以被检测到。
同样,数据报以明文方式传送,不提供任何机密性保护。
AH协议可以单独使用,也可以同ESP协议联合使用或进行嵌套使用.通过这些方式,AH协议可以在一对通信主机之间、一对防火墙之间、主机和防火墙之间实现验证服务。
3.2.3ESP协议
ESP协议提供数据保密、数据源认证、无连接完整性、抗重播服务.实际上,ESP协议提供和AH协议类似的服务,只是增加了数据保密性服务.ESP协议的保密服务通过使用对称密钥体制的密码算法,加密IP数据报的相关部分来实现。
1.ESP协议头模式
ESP数据报由4个固定长度的域和3个变长的域组成,下图说明了这些域在ESP中的相对位置。
32比特安全参数索引(SPI)
32比特序列号
变长载荷数据
0-255个填充字节
填充长度
下一个头
变长认证数据
07152331
保留认证覆盖范围
覆盖
范围
2.ESP协议的操作模式
ESP协议可以用于两种操作模式:
下图显示了ESP协议的两种操作模式是如何对原始的IP数据报进行操作的。
原始IP包
ESP头
ESP尾部
ESP认证数据
传输模式保护的IP包
隧道模式保护的IP包
在ESP协议的传输模式中,数据报的原始IP头得以保留.只有原始数据报中的有效载荷和ESP尾部被加密,而IP头即未加密也未被验证。
因此,在传输的过程中。
外层IP头中的地址信息对于攻击者来说是可见的。
在ESP协议的隧道模式中,产生了一个新的IP头.整个原始的数据报(包括头和有效载荷)和ESP尾部被加密。
因为原始IP头被加密,所以当被传输时,其内容对于攻击者来说是不可见的。
因此,ESP隧道模式的一个重要的用途是数据报在两个网关传输时,可以实现将内部地址信息隐藏起来的目的。
3.23AH与ESP的比较
AH协议和ESP协议都是IPsec协议独有的网络层安全协议,但二者的侧重点不同,下面对两个协议加以比较:
1.认证服务:
AH协议和ESP协议都据供认证服务功能。
AH是专门用以提供认证服务的安全协议。
认证功能拿常强大;
ESP协议的认证服务是它的可选项。
2.保密服务:
AH协议不提供保密服务;
ESP协议主要用于数据保密.隧道模式下,由于内层的口包被加密,所以隐藏了报文的实际源头和终点。
而且,ESP使用的填充字节隐藏了报文的实际尺寸,从而更好的隐藏了这个报文的外在特性。
3.在传输模式中,ESP协议的验证功能仅保护原始的口有效载荷,而不保护原始的IP报头:
AH协议模式既保护原始的IP报头又保护原始的IP有效载荷信息。
4.在隧道模式中,ESP验证功能保护原始的IP有效载荷和原始的IP报头,而不保护新的IP报头;
而AH协议模式既保护原始的IP报头和原始的IP有效载荷信息,又保护新的IP报头。
3.3SA(安全关联)
SA(SecuriteAssociation)是两个通信实体之间经协商建立起来的一种协定。
它决定了通信双方所使用的IPsec安全协议(AH或ESP)、协议的操作模式(传输模式或隧道模式)、密码算法、密钥和密钥的生存期等参数。
安全关联是单向的,输出和输入的数据流需要独立的SA。
而且SA还是“与协议有关的”,每种协议都有一个SA。
也就是说,如果主机A和B同时通过AH和ESP进行安全通信,那么每个主机都会针对每一种协议来构建一个独立的SA。
SA由一个三元组唯一地标识,该三元组包含一个SPI(安全参数索引),一个源或者目的IP地址,一个IPsec协议(AH或ESP).其中,SPI实际上是一个长度为32位的数据实体,用于唯一地标识出接收端SA。
它在AH和ESP头中传输。
因此,IPsec数据报的接收方易于识别SPI。
任何IPsec实施方案都须要构建一个SAD(安全关联数据库)来维护SA记录。
一个SA协商完成时,两个对等方都在它们的SAD中存储该SA参数;
当一个SA终止时,它的条目将从SAD中删除。
3.4SAD(安全关联数据库)
SAD包含了正在执行的SA条目。
SAD中除了可以唯一标识SA的三元组索引之外,还包含以下域:
序列号计数器,序列号溢出,抗重放窗口,AH认证密码算法和所需要的密钥,ESP认证密码算法和所需要的密钥,ESP加密算法和所需要的密钥,IPsec协议操作模式,SA生存期等。
IPsec处理在输入和输出时要保存单独的SAD。
对于输入和输出通信,将搜索各自的SAD来查找与从数据包头域中解析出来的与选择符相匹配的索引。
如果找到一个匹配的条目,则将该SA的参数与AH或ESP头中的适当域相比较.当头域与数据库中的SA参数一致时,就处理该数据包;
如果不一致,就丢弃该数据包。
当没有SA条目与选择符相匹配时,如果数据包是一个输入包,就将它丢弃;
如果数据包是一个输出包,则创建一个新的SA,并将其存入输出SAD中。
3.5SPD(安全策略数据库)
SPD指定了用于数据流的策略,它包含了一个策略条目的有序列表,通过使用一个或多个选择符来确定每一个条目。
IPsec协议要求在所有通信流处理的过程中都必须查询SPD。
IPsec允许的选择符有:
目的IP地址、源IP地址、传输层协议(可以从IP头中的下一个头域得到)、系统名(可以是完整的DNS名、e-mail地址和X.500DN)和用户ID(可以是完整的DNS名或X.500DN)。
选择符与数据通信流相匹配的第一个条目将被应用到通信中。
如果没有发现匹配的条目,通信数据包将被丢弃。
SPD的每一个条目都包含一个或者多个选择符和一个标志,该标志用于表明与条目的选择符相匹配的数据报的策略:
丢弃、绕过或者实施IPsec处理。
3.6IKE(Internet密钥交换)协议
IKE为IPsec通信双方提供用于生成加密密钥和认证密钥的信息,还可以动态建立SA,并对SAD数据库进行填充。
IKE是一个混合协议,它使用到了三个不同协议的相关部分:
沿用了ISAKMP(Internet安全连接和密钥管理协议)的基础部分、Oakley(密钥确定协议)的模式部分以及SKEME(安全密钥交换机制)的密钥更新技术,从而定义出自己的验证加密材料生成技术,以及协商共享策略。
此外,IKE还定义了它自己的两种密钥交换方式.
IKE使用了两个阶段的ISAKMP。
在第一阶段,通信各方彼此间建立了一个己通过的身份认证和安全保护的通道,即建立IKE安全联盟(这个安全联盟是双向的)。
在第二阶段,利用已经建立的IKE安全联盟,为IPsec协商具体的安全联盟。
四、IPsec协议安全性分析
4.1服务内容
1.机密性服务
IPsec提供了数据机密性服务,以保护数据在传输过程中不被非法用户窃听,它由ESP提供,算法采用加密快链接方式,这样确保了即使是信息在传输过程中被非法用户窃听,也无法得知信息的真实内容。
2.源地址验证和完整性服务
IPsecAH和ESP的认证机构均由单向散列函数对包中源IP地址、数据内容等传输过程中不变字段计算出来的HMAC。
HMAC具有唯一性,改动数据的内容将使其无法在接收端通过验证,从而保证了数据的源IP地址和信息内容不会在转发过程中被篡改。
3.抗重播服务
IPsecAH和ESP头中都定义了一个序列号字段,它在一个SA生命周期内是唯一的,在接收端则采用滑动窗口技术,丢弃所有重播的包,从而进一步提供了IPsec的抗重播服务。
4.2IPsec的局限性
虽然IPsec协议是一个功能强大的协议簇,但IPsec协议也有一定的局限性,主要表现在:
1.IPsec协议本身只能严格地以单播数据报韵形式工作,不能以组播或者广播口数据报的形式工作。
目前,虽然有技术人员提出了几种IPsec组播的方案。
但都还存在一定的缺陷和不足。
2.由于IPsec要为每个分组数据提供认证。
因此它比CET的运行效率更低。
3.IPsec提供分组扩展,它导致分段存储以及IPsec分组的重新组装。
这也是导致IPsec效率低的一个原因。
4.IPsec需要已知范围的IP地址或固定范围的IP地址,因此在动态分配IP地址时不适合应用IPsec。
5.除了IP协议外,IPsec不支持其他的网络层协议。
6.除了“包过滤”之外,IPsec没有指定其他的访问控制方法,IPsec存在的这些局限性,在一定程度上制约了它的应用范围。
但就总体上看,我个人认为IPsec协议仍然不失是一种功能强大、适用范围较宽韵网络安全技术。
因此。
开发基于该协议的网络安全系统是必要的,是有实际应用价值的。
4.3IPsec优化技术
4.31工作模式的简化
IPsec提供AH和ESP两种安全协议都分为传输模式和隧道模式,其本质的区别在于他们保护的数据包的范围不同。
实际应用中这种区分完全没有必要的。
首先,隧道模式提供的功能是传输模式的超集,传输模式所能达到的保护目的,隧道模式都完全可以达到,其次,选择对上层数据还是对整个数据包保护只是概念上的区别。
由于两种模式的实际操作方式、效率、和代价差别甚微,这种区分是没有实际的意义的,实际使用时完全可以只选择对整个数据报的保护。
因此,建议消除传输模式。
4.32协议的优化
IPsec中AH提供验证功能,ESP在提供加密功能的同时也提供验证功能。
AH和ESP可单独使用,也可以结合使用。
当同时使用AH和ESP时,由AH提供验证功能,ESP提供加密功能。
ESP提供的验证范围小于AH的验证范围。
IPsec协议的制定者为了功能分配上的清晰,对AH和ESP进行了区分,体现了一定的灵活性。
然而,这种区分是没有必要的。
首先,两种协议提供的功能性也有些重叠,AH提供了对负载和数据包头的鉴别,而ESP提供了对负载的鉴别和机密性。
而且为什么IP头领域需要完全被验证还是一个尚未明了的问题。
对负载的验证证明它源于某个知道正确验证密钥的人,就其自身来说可以提供足够的信息。
IP头领域只用于获得数据到接受者,并且无法影响对数据包的解释,AH区别于ESP存在的唯一基础在于他的验证范围比ESP大,AH验证了没有任何资料显示AH验证和ESP验证在于安全性方面有什么区别。
其次,两者实现的验证功能完全一样,例如他们选用的验证算法、验证步骤都完全一样。
然而这种