扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
IPSeC用来提供通信安全的协议是AH以及ESP。这两种协议被认为是纯粹的IPSec协议,并且严格地用于IPSec。每种协议都在它们自己的RFFC中进行描述。可以在IPSec连接上分别使用AH和ESP,或着也可以同时使用它们。
IKE和IPSec在对等实体之间协商加密及认证服务。这种协商过程以在安全对等实体之间建立SA作为结束。IKESA是双向的,但是IPSec SA却不是双向的,为了建立双向通信,VPN对等实体的每个成员必须建立IPSec。为了在对等实体之间建立安全通信,在每个对等实体上必须有一个相同的SA。与每个SA相关的信息存储在安全关联数据库中,并且为每个SA都分配一个SPI(Security Parameters Index,安全参数索引),当它与目的地IP地址以及安全协议 (AH或者ESP)结合在一起时,就惟一地标识了一个SA.
IPSec的关键是建立这些SA。当满足某个条件时,一旦开始IPSec会话就开始协商SA,并且周期性地贯穿整个会话过程。为了避免为每个分组协商安全措施,不得不利用安全对等实体之间已达成一致的SA来进行通信。
那就是使用AH和ESP协议的地方。这两种协议仅仅确定是什么用来预协商适用于从一个对等实体到其他对等实体的分组安全特性的一种手段。这两种协议都可以在第3层(IP层)与第4层 (通常是TCP或UDP)协议头之间将附加协议头添加到IP数据报中。在每个协议头中包含的关键元素是SPI,给出了需要用来认证及解密分组的目的对等实体的信息。
1.认证头
在RFC1826和2402中定义了AH协议,它提供数据完整性。数据源认证以及可选的反重传服务。AH不能提供加密服务,这就意味着分组将以明文的形式传送。由于AH的速度比ESP稍微快一点,因此仅当需要确保分组的源和完整性而不考虑机密性的时候,可以选择使用AH.
在IP头与第4层协议的头之间,被配置为使用AH的设备将附加的协议头插入"感兴趣的流量"的IP数据报中。由于处理开销与IPSec相关,可以通过配置VPN来选择保护哪个流量,而且在安全对等实体之间,IPSec和非IPSec流量是可以共存的。比如,可以选择保护电子邮件流量而不是保护Web流量。插入AH头的过程如下图所示。
AH中包含以下一些:
Next Header(8位)----该字段包含跟在IPSec头之后的第4层协议头的协议号。如果第4层协议是TCP,这个字段的值是6。对于UDP,它的值将是17。
注意:当AH被用作IPSec协议的时候,在IPSec头前的IP头中的Next Header或协议值将包含51这个值。
Payload Length(8位)----在32位字中,这个字段包含IPSec协议头长度减2的值。协议头的固定部分是96位,即3个32位字。认证数据部分是可变长的,但有一个标准长度为96位,同样也是3个32位字。这样总共是6个32位字。最后减去2并进入Payload Length字段的值将是4。
Reserved(16位)------目前没有使用,协议头的这部分必须用0填充。
Security Parameters Index(SP)(32位)----目的IP地址、IPSec协议以及编号,它们用来惟一地为这个分组确定SA。
Sequence Number Field(32位)-----这是一个无符号单调递增的计数器,对于一个特定的SA,它实现反重传服务。这些信息不被接收对等实体使用,但是发送方必 须包含这些信息。当建立一个SA时,这个值被初始化为0。如果使用反重传服务重传,那么这个值决不允许重复。由于发送方并不知道接受方是否使用了反重传功能,该字段中的值不能被重复的事实就要求终止SA,并且在传送第23个分组之前建立一个新的SA。
认证数据(变长)----该字段包含了针对分组的ICV(Integrity CheckValue,完整性校验值)。该字段长度必须是32位的整数倍,并且可以包含填充位来填充下32位增量。
通过使用认证算法来计算ICV,这些算法包括MACs(Message Authentication Codes,消息认证码)。MACs基于对称加密算法 (比如DES,3DES)或是基于单向函数 (比如MD5或SHA-1)。当计算ICV时,使用整个新的分组来完成计算过程。为了保证元素正确排列,任何不可预知的可变字段以及IPSec头的认证数据字段都应该被置为0。可预知的可变字段应该置为预知的值。假设上层的数据是不可变的。为了使得MAC很难伪造,在MAC计算中通常使用共享密钥。
在VPN端点的每个对等实体都分别计算这个ICV。如果这些ICV不能匹配,分组将被丢弃,因此可以确保分组在传送过程中没有被修改。
2.封装安全负载
其他IPSeC协议是ESP协议。该协议通过原始分组的加密来提供数据机密性。另外,ESP还提供数据源认证、完整性服务、反重传服务以及一些有限制的流量的机密性。当在IPSec流量中需要数据机密性时,应该使用ESP协议。
ESP协议的工作方式与AH不一样。正如它的名字暗示的那样,ESP使用一个头和一个尾包围原始阳数据报,从而封装它的全部或部分内容。下图与给出了封装的过程。
下图给出了关于各种ESP组件的长度和位置的详细内容。
在ESP中包含下面一些字段:
Security Parameters Index(SPI)(32位)----目的IP地址。TPSec协议以及编号,它们为该分组惟一地确定一个SA.
SequenceNumberField(32位) 它是一个无符号单调递增的计数器,它为一个特定的SA实现反重传服务。这些信息不能被接收对等实体使用,但是发送方必须包含它。当SA被建立时,这个值被初始化为0。如果使用反重传服务,那么这个值不允许重复。由于发送方并不知道接收方是否使用反重传功能,这个值不能被重复的事实需要终止SA,并在传送第232个分组之前建立一个新的SA。
Payload(可变)-----它是原始IP数据报,或者数据报的一部分。它是否是完整的数据报依赖于使用的模式。当使用隧道模式时,负载包括完整的IP数据报。在传输模式中,它仅包含原始IP数据报的上层部分。TPSec模式将在下面的章节中讨论。负载的长度总是字节的整数倍。
Paddmmg(0-255位)----PadLength以及NextHeader字段必须在4字节 (32位)边界内右对齐,如图2.7所示。如果负载不能实现右对齐,必须添加填充字段以确保右对齐。另外,可以添加填充字段来支持加密算法的多块尺寸请求。还可以添加填充字段来隐藏Payload的真正长度。
PadLength(8位)-----该字段包含前面填充字段中包含的填充字节数。
Next Header(8位)-----该字段包含在IPSec头之后的第4层协议头的协议号。如果第4层协议是TCP,该字段的值为6。对于UDP,该字段的值为17。
注意:当把ESP用作IPSec协议时,在IPSec协议头前的IP协议头中的NextHeader或Protocol值包含50。
Authentication Data(可变)------该字段包含用于分组的TCV。该字段必须是32位的整数倍,并可以包含填充位来填充增加的下32位。当在SA中指定认证时,该字段是可选的。
上面的图给出了加密和认证覆盖的数据字段。如果在SA中指定了加密,从Payload到Next Header之间的字段都应该被加密。如果指定了认证,那么它应该出现在从SPI字段到NextHeader宇段之间的可变字段上。
3.AH和ESP的操作模式
先前使用几个实例讨论了AH和ESP协议,这些实例展示了将IP数据报的IP协议头调整至数据报的左边,插入AH或ESP协议头,以及将数据报的上层部分附加在那些后面。这是对IPSec一种操作模式的典型描述,这种操作模式被称为传输模式。IPSec的另外一种操作模式就是隧道模式。
这两种模式为IPSec提供更进一步的认证或加密支持。下面将讨论这两种IPSec模式。
传输模式
传输模式主要用于主机或充当主机的设备之间的端对端连接。隧道模式则用于其他所有情况。当一个管理人员为了配置或者其他管理操作而访问一个IPSec网关时,该网关(比如CiscoIOS软件路由器,CiscoPIX防火墙或Cisco VPN3000系列集中器等)都可能充当主机。
下图给出了传输模式如何影响AHIPSec连接。第3层以及第4层协议头被分开,在它们之间添加了AH。认证可以保护原始IP协议头中除了可变字段以外的其他部分。
下图给出了ESP传输模式。同样,IP协议头被调整到数据报左边,并插入ESP协议头。ESP协议尾以及ICV附加在数据报末端。如果需要加密(在AH中无效),仅对原始数据和新的ESP协议尾进行加密。认证从ESp协议头一直延伸到ESP协议尾。
即便在两种情况中原始协议头根本就是保持原封不动,但是由于改变源IP协议头中的IP地址将导致认证失败,因此AH传输模式不支持NAT。如果需要在AH中使用NAT,必须确保NAT出现在IPSec之前。
需要注意的是在ESP传输模式中并不存在这个问题。对于ESP传输模式的数据报,IP协议头位于认证及加密部分之外。
隧道模式
IPSec隧道模式用于两个网关之间,比如CiscoIOS软件路由器、CiscoPIX防火墙以及CiscoVPN3000系列集中器。当一台主机为了获得对某个网关控制的网络的访问而与这些网关中的某一个建立连接时,通常使用IPSec隧道模式"比如大多数远程访问用户通过拨号接入一个路由器或集中器就是这种情况。
在隧道模式中,不是将原始的IP协议头移到最左边然后插入IPSeC协议头,而是复制原始IP协议头,并将复制的IP协议头移到数据报最左边作为新的IP协议头。随后在原始IP协议头与IP协议头的副本之间放置IPSec协议头。原始IP协议头保持原封不动,并且整个原始IP协议头都被认证或由加密算法进行保护。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。