IPSec(IPSecurity)
该协议把密码技术应用在网络层,以向信息的发送方和接收方提供源地址验证、数据传输的完整性、存取控制、保密性等安全服务,保护通信免遭窃听、抵御网络攻击,而且更高层的应用层协议也可以直接或间接地使用这些安全服务,为其上层协议如TCP、UDP等提供透明的安全保护服务,在Internet这样不安全的网络中为通信提供安全保证。
在IPv6中,IPSec协议是一个必备的组成部分,被强制实施;在IPv4中,它是一个可选的扩展协议。
由于Internet等网络具有公共特性,因此在通信过程中难以确认传输媒介是安全的,所以要进行安全的通信,则通信数据必须经过加密。IPSec协议对数据的加密以数据包而不是整个数据流为单位,这不仅非常灵活,也有助于进一步提高IP数据包的安全性。
IPSec协议的基本工作原理是
发送方在发送数据前对数据实施加密,然后把密文数据发送到网络中去,开始传输。在整个传输过程中,数据都是以密文方式传输的,直到数据到达目的节点,才由接收方对密文进行解密,提取明文信息。
IPSec协议对网络层的通信使用了加密技术,它不是加密数据包的头部和尾部信息(如源地址、目的地址、端口号、CRC校验值等),而是对数据包中的数据进行加密。由于加密过程发生在IP层,因此可在不改变HTTP等上层应用协议的情况下进行网络协议的安全加密,为通信提供透明的安全传输服务。
IPSec协议中使用端到端的工作模式,掌握加密、解密方法的只有数据的发送方和接收方,两者各自负责相应的数据加密、解密处理,而网络中其他节点只负责转发数据,无须支持IPSec,从而可以实现加密通信与传输媒介无关,保证机密数据在公共网络环境下的适应性和安全性。因此,IPSec可以应用到非常广泛的环境中,能为局域网、拨号用户、远程站点、Internet之上的通信提供有力的保护,而且还能用来筛选特定数据流,还可以用于不同局域网之间通过互联网的安全互联。
IPSec协议不是一个单独的协议,它包括应用于IP层上网络数据安全的一整套协议,主要包括AH(AuthenticationHeader,IP认证头部协议)、ESP(EncapsulatingSecurityPayload,封装安全负载协议)、IKE(InternetKeyExchange,Internet密钥交换协议)和用于网络认证及加密的一些算法等。
AH提供数据的完整性和认证,但不包括保密性;而ESP原则上只提供保密性,但也可在ESPHeader中选择适当的算法及模式来实现数据的完整性和认证。AH和ESP可分开使用也可一起使用。IKE则提供加密算法、密钥等的协商。
1.安全关联和安全策略
安全关联(SecurityAssociation,SA)是指提供通信安全服务的发送方和接收方之间的一种单向关系。安全关联是构成IPSec的基础,它是进行通信的双方经协商建立起来的一种协定。安全关联可以用一个32位的安全参数索引(SecurityParameterIndex,SPI)来唯一标识,一个SPI值决定一个特定的SA,它通常放在AH或ESP头中;安全关联是单向的,如果要对两台主机A与B实现双向安全,则需要两个安全关联,每个方向一个:(A,B)、(B,A)。安全关联的内容包含了IP数据包是否加密、认证,以及加密、认证采用的算法、密钥等相关信息。所有的SA记录都存放在安全关联数据库中,按散列方式存取。
安全策略(SecurityPolicy)定义了两个IPSec系统之间的安全通信特征,并决定在该通信中为数据包提供的安全服务。一个IPSec系统的所有安全策略都存放在安全策略数据库中,根据选择符包括源地址、目的地址、协议、端口等)进行检索。安全策略通常与SA合作,共同作用于通信的数据包。
2.AH
AH协议先将数据进行校验和加密,然后封装为IP包,从而实现无连接通信的数据完整性、数据源认证和防止重放攻击。AH能完成除数据加密外的所有的ESP所能提供的功能。在认证机制上,它所覆盖的范围比ESP的广,包括对IP头中一些选项的认证。
为了应用IPSec协议,IP数据包的格式要有所改变,即在IP头和被保护的数据之间插入一个AH头;
AH头的格式,包括:下一报头、有效载荷长度、保留位、安全参数索引、序列号、认证数据。
AH使用的典型的认证算法是一种迭代型的消息摘要算法。AH中采用MD5算法,可以提供完整性服务。从前面的讲述可以知道MD5可以对任意长度的信息进行散列运算产生一个唯一的128位消息摘要。由于消息摘要是唯一的,所以对信息的任何修改都将得到另一个不同的消息摘要,因此能防止消息被篡改,从而保证了数据的完整性。AH也可以采用SHA算法提供更强的抗攻击能力,SHA是在MD5的基础上,增加了分组处理的迭代次数和复杂性,产生一个160位的消息摘要。接收者在收到数据后可以通过检验数据包中的单向递增的序列号来确定数据包的合法性,防止重放攻击。
3.ESP
ESP通过对数据包的数据进行加密来提供传输信息的保密性,从而实现了数据完整性、数据源认证、数据保密性的安全服务。ESP是一个通用的、可扩展的安全机制,其加密认证算法主要由SA的相应数据项决定。接收者也可以通过在收到数据后检验数据包中的单向递增的序列号来确定数据包的合法性,防止重放攻击。
在应用中,需要在IP数据包的头和被保护的数据之间插入一个ESP头,在被保护的数据后附加一个ESP尾;
ESP头的格式如图所示,包括:安全参数索引(标识用于处理数据包的安全关联)、序列号(用于防止重放攻击)、有效荷载数据。ESP头的所有字段都是不加密的,因为在解密数据包时需要先读取头部字段。
ESP尾的格式如图所示,包括:填充项(某些加密算法要求被加密数据的长度是密钥长度的整数倍,若受保护的数据的长度不满足这个要求,就需要在后面追加一些填充项)、填充项长度(指明填充项的长度)、下一个头部、认证数据(数据完整性的检验结果)。
ESP在提供加密功能的同时,还可以提供认证功能。对于发出的数据包,首先进行加密处理;而对于收到的数据包,则先进行认证处理。
ESP支持多种加密算法。DES是ESP中默认的加密算法,它采用64位的密钥,对明文进行加密,加密、解密使用同一个密钥,该算法简单高效。此外还可以选择采用3DES、AES、RC5、RC6、Blowfish等算法。
4.IP密钥交换
IKE是一个混合协议,它使用了Internet安全关联和密钥管理协议(InternetSecurityAssociationandKeyManagementProtocol,ISAKMP)、密钥确定协议Oakley和描述支持匿名和快速密钥刷新的密钥交换的SKEME协议。IKE除了实现通信双方的密钥交换,还使用ISAKMP实现IPSec的安全关联。
ISAKMP协议是IKE的核心组成部分,它定义了包括协商、建立、修改、删除安全关联的过程和数据格式。ISAKMP的工作分为两个阶段:第一阶段,通信双方协商并建立一个安全的通道,并对该通道进行验证,为第二阶段的进一步通信提供安全服务;第二阶段,为IPSec建立起具体的IPSec安全关联,用于保护通信双方的数据传输安全。在IKE的协商过程中,使用了Diffie-Hellman机制、Oakley的密钥交换模式和SKEME的共享和密钥更新技术。
5.IPSec的工作模式
IPSec的工作模式有两种:传输模式和隧道模式。
传输模式首先将要传送的数据使用IPSec加密封装起来,再把相关的IPSec头插入IP头和被保护的数据之间封装起来。因为IP头没有加密,接收端收到封装的数据包时直接处理IP头,然后从IPSec头读取SPI值得到相对的SA,再利用SA所定的解密参数解出所加密的数据。
传输模式的IPSec头直接加在欲传送的数据前,由于加密的部分较少,没有额外的处理,因此比较节省带宽和CPU负载,通信和处理效率较高。
在传输模式中,解密者就是目的地址端的使用者。
隧道模式首先使用SA的相关信息将IP的数据包全部加密,接下来在前面加上ESPHeader,然后把它们作为数据为它们再加上一个新的IP头。接收端收到ESP封包后,使用ESPHeader内容中的SPI值提供的SA,然后解出ESPHeader后的装载数据,就可以取回原始的IP头与封包。
隧道模式可以在两个终端之间建立一个安全的隧道,经由这两个终端之间的通信均在这个隧道中进行,因此安全性较高。
两种模式的IP数据包的格式如图所示。
责任编辑人:CC
-
协议
+关注
关注
2文章
597浏览量
39139 -
IPSec
+关注
关注
0文章
59浏览量
22783
发布评论请先 登录
相关推荐
评论