简介:
IPSec是一个开放标准的框架,用以保证IP网上的私有通信的安全。IPSec提供了网上的数据完整性,可靠性和保密性。(加密)
IPSec协议可通过 鉴别头(AH)和 安全负载封装(ESP)协议来提供IP层的安全服务。所提供的安全服务包括访问控制、无连接完整性、数据鉴别、防止重放和加密。
IPSec技术概述:
鉴别头(AH)
此模式提供对IP头和IP包中负载的鉴别。这是通过在共享密值(shared secret value)中使用带主键的哈希运算来实现的。AH服务保护了外部IP头和负载。它提供对所有在传输过程中不发生改变的IP头区域的保护。如TTL、TOS和头校验等区域在完整性检查值被计算之前都被置0。这么做的原因是因为这些区域的值在传输过程中会发生改变,发送者无法预知接收者收到数据包时它们的值是多少。
原IP头 | AH | TCP | 数据 |
|<----------被鉴别------------->|
安全负载封装(ESP)
安全负载封装(ESP)提供在IP层的负载加密。如果使用可选的完整性检查值(ICV),还可提供鉴别功能。如果使用鉴别功能,ICV的值在加密完成后被计算。
新IP头 | ESP | 原IP头 | TCP | 数据 | ESP尾 | ESP鉴别 |
|<---------被加密---->|
|------------被鉴别------->|
IPSec运行模式
1、连接终端直接提供安全措施(传输模式)。好处:对传输网络没有影响。网络的设计、拓扑和路由对安全服务没有影响。缺点:所有的连接终端都必须运行IPSec软件,且用户必须是“IPSec认知”的(意思是用户必须负责决定哪类流量应该被加密和/或被鉴别)。在大多数情况下,这涉及到配置更改,用户必须对相关技术有一定的了解才行。
2、(隧道模式)
对终端用户来说是完全透明的。在隧道模式中,传输网负责提供安全性。其好处当然是终端用户不必直接参与安全配置也不必做到“IPSec认知”了。缺点是网络拓扑和路由在提供安全性的同时必须被考虑,而且路由器也需要额外的处理能力来提供安全服务。
传输模式
只使用传输模式时,只有IP负载被加密,IP头保持原样。ESP头被插入到IP头和上层协议头之间。上层协议与ESP头一起被加密和鉴别。ESP并不鉴别IP头。上层协议与ESP头一起被加密和鉴别。ESP并不鉴别IP头。鉴别功能在保护数据负载的同时通过保护IP头中不变数据也提供了对IP头的保护。
|原IP头 | ESP头 | TCP | 数据 | ESP尾 | ESP鉴别 |
|<---- 被加密 -->|
|--------被鉴别 --------->|
隧道模式
在隧道模式中,整个IP包被加密并成为一个新IP包的负载。新的IP头包含了它的IPSec对等体的目标地址。IP包中的所有信息都受到了保护,包括IP头。由于IP包的真正端点无法
被得知----只有IPSEC隧道的端点是可见的,因此也就防止了流量分析。
验证功能可以通过AH或ESP中的验证选项来实现。如果通过AH来实现,原IP头和新IP头以及负载都将被验证。要是靠ESP中的验证选项来实现,则只有原IP数据报和ESP头受到保护,新IP头不被验证。
IPSEC工作机理
当路由收到一个数据包时,它将检查安全策略以决定是否为此数据包提供保护措施。通过IPSEC,你可以利用access-list来定义何种类型的数据应该受保护。如果流量和访问表相匹配,则此流量将被定义过的安全协议所保护。
根据己定义过的策略,路由器决定何种安全服务被用于此数据包,并决定IPSEC隧道端点所使用的地址。然后路由器检查是否已存在一个scurity association
如果没有security association存在,路由器将同与之相连的对等体协商一个。为此,IKE被用来在两台路由器之间建立一个提供验证的安全通道,在此通道之上进行IPSEC security association的协商。IKE首先验证它的对等体,这可通过使用 pre shar预共享钥匙、公钥密码或数字签名来实现。一旦对等体被验证通过,Diffe-Hellman协议便被用来产生一个共有的会话密钥。
此时,IPSEC security association通过安全通道被协商。发起会话的对等体将发送其配置好的ISAKMP策略给远程对等体。在此策略中包含了定义了的加密算法、哈希算法、验证方法、Diffe-Hellman生存期。在路由器上使用show crypto isakmp policy就能够看到此策略。
收到ISAKMP策略后,远程对等体将查找一个相匹配的策略。当接收对等体找到了一个和它的远程对等体策略相同的加密算法、哈希算法、验证类型和Diffe-Hellman参数的已定义了的策略时,便产生了一个匹配。远程对等体上的生存期必须<=此路由器上设置的生存期。在两边对采用何种算法达成一致后,它们便推导出密钥。IPSEC所使用的密钥和IKE用的不同。IPSEC共享密钥可通过再次对Diffe-Hellman的使用推导出来,或将IKE协商的密钥同一个伪随机数进行哈希运算而推导出来。
策略统一后,IKE将结束协商进程,一个security association将被创建。它被用来记录所有与某一IPSEC通信会话相关的细节。此security association通过将一个被称为安全参数索引(SPI)的随机数与目标IP地址的组合来唯一确定。
一旦建立好,security association被用于所有与access-list相匹配的流量,正是此access-list导致了初始的协商。SA是单向性的,每一个会话只需要两个SA。当处理进出对等体的流量时,相应的SA被使用。每个SA都有一个与协商值相等的生存期。SA过期后,新的SA将被产生。
clear crypto sa
crypto dynamic-map
crypto ipsec security-association lifetime
crypto ipsec transform-set
crypto map (global)
crypto map (interface)
debug crypto isakmp
debug crypto ipsec
debug crypto engine
set peer
show crypto ipsec sa
show crypto ipsec transform-set
show crypto dynamic-map
show crypto map
后一篇:RIP和IGRP重分布