由于IPsec在网络层进行数据包加密,在网络传输过程中防火墙无法有效地将加密的带有病毒的数据包进行有效的监测,这样就对接收端的主机或路由器构成了威胁。
可能发生的拒绝服务攻击 密钥管理分为手工密钥管理和自动密钥管理。Internet密钥管理协议被定位在应用程序的层次,IETF规定了Internet安全协议和密钥管理协议ISAKMP(Internet Security Association and Key Management Protocol) 来实现IPSec的密钥管理需求, 为身份验证的SA 设置以及密钥交换技术定义了一个通用的结构, 可以使用不同的密钥交换技术;IETF还设计了OA KL EY密钥确定协议(Key Determination Protocol) 来实施ISAKMP的具体功能, 其主要目的是使需要保密通信的双方能够通过这个协议证明自己的身份、认证对方的身份、确定采用的加密算法和通信密钥, 从而建立起安全的通信连接。
对IPsec最主要的难应用性在于它们所强化的
系统的复杂性和缺乏清晰性。IPsec中包含太多的选项和太多的灵活性。对于相同的或者类似的情况常常有多种做法。
IKE的协议容易受到拒绝服务攻击。攻击者可以在因特网初始化许多连接请求就可以做到,这时服务器将会维护这些恶意的“小甜饼”。
加密是有代价的。进行模数乘幂运算,或计算两个非常大的质数的乘积,甚至对单个数据包进行解密和完整性查验,都会占用cpu的时间。发起攻击的代价远远小于被攻击对象响应这种攻击所付出的代价。例如,甲想进行一次Diffie-Hellman密钥交换,但mallory向她发送了几千个虚假的Diffie-Hellman公共值,其中全部填充伪造的返回地址。这样乙被动地进入这种虚假的交换。显然会造成cpu的大量浪费。
IPsec对相应的攻击提出了相应的对策。但它并不是通过抵挡服务否认攻击来进行主动防御,只是增大了发送这种垃圾包的代价及复杂度,来进行一种被动防御。
但是攻击者仍然可以利用IKE协议的漏洞从而使服务中断。
以下是基于签名的IKE阶段1主模式的认证失败(如图4所示)。
(Malice 对I使用他的真实身份信息,而对R则冒充I)
1. I到Malice:HDRI,SAI;
1’Malice(“I”)到R:HDRI,SAI;
2’R到Malice(“I”):HDRR,SAR;
2.Malice到I:HDRR,SAR;
3.I到Malice:HDRI,gx,NI;
3’Malice(“I”)到R:HDRI,gx,NI;
4’R到Malice(“I”):HDRR,gy,NR;
4.Malice到I:HDRR,gy,NR;
5.I到Malice:HDRI,{IDI,CertI,SigI}gxy?;
5’Malice(“I”)到R:HDRI,{IDI,CertI,SigI}gxy;
6’R到Malice(“I”):HDRR,{IDR,CertR,SigR}gxy;
6. Dropped。
这样,R认为刚才和他对话并和他共享会话密钥的是I,而I却认为刚才是和Malice进行了一次不成功的通信。R根本不会被通知存在任何异常,并且也许会拒绝来自I的服务;实际上R进入了这样一种状态,只接受来自I的服务请求(也许直到“超时”后,R才会脱离这样的状态。)
面对越来越多的网络安全问题,唯有各种安全协议有效地结合起来使用才会降低攻击的可能性。由于IPsec是IPv6下强制使用的,加上网络层加密的特殊优点,把工作于IP层的IPsec和其他的安全协议(SSL等)结合起来可以将网络安全的质量提高到更高的一个水平。但是同时道高一尺,魔高一丈,新的安全问题会接踵而至,对于协议的漏洞,要先知先觉,这样才会未雨绸缪,防患于未然。

发表评论