首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

基于openswan klips的IPsec VPN兑现分析(三)安全协议

2013-01-23 
基于openswan klips的IPsec VPN实现分析(三)安全协议基于openswan klips的IPsec VPN实现分析(三)安全协议

基于openswan klips的IPsec VPN实现分析(三)安全协议

基于openswan klips的IPsec VPN实现分析(三)安全协议参考rfc2402,rfc2406转载请注明出处:http://blog.csdn.net/rosetta博客格式显示有问题,只能将就了。   AH(Authentication Header)认证头和ESP(Encapsulating Security Payload)封装安全载荷是IPsec主要安全协议,当然IKE也是IPec安全协议,只不过 IKE用于秘钥协商建立IKE SA和IPsec SA,而AH和ESP用于数据传输时对隧道内数据的保护。AH用于认证和校验;ESP主要用于加密、认证和检验,是IPsec最常用的安全协议。IPsec封装有两种模式:传输模式和隧道模式,传输模式主要用于主机到主机通信,隧道模式用于网络到网络间通信,传输模式不常用。ESP使用到的加密算法为对称加密算法,比如:AES,3DES等;校验算法为哈希算法,比如:MD5,SHA1等。一、AH格式协议头(IPv4、IPv6、或者扩展)紧靠AH头之前,协议号51。    0                   1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |   下一个头    |    载荷长度   |            保留               |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |                        安全参数索引(SPI)                    |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |                         序列号字段                            |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |                                                               |   +                       认证数据(变长的)                      |   |                                                               |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+下一个头(Next Header)   8位字段,其指定了认证头后面的下一个载荷的类型。其值可参考rfc2408 3.1节载荷长度(Payload Length)8位字段,其长度以4字节为单位。保留(Reserved)   16比特字段保留给将来使用。它必须(MUST)被设置成“零”。安全参数索引(Security Parameters Index (SPI))   SPI是一个任意的32比特值,它与目的IP地址和安全协议(ESP)结合,就唯一   地标识了这个数据报的安全关联。序列号(Sequence Number)   为无符号的32比特字段,包含一个单调递增的计数器值(序列号)。认证数据(Authentication Data)   这是一个变长的字段,其包含这个报文的完整性校验值(Integrity Check   Value (ICV))。这个字段的长度必须是32比特的整数倍。二、AH数据封装格式传输模式中,AH插在IP头之后,且在一个上层协议之前,例如TCP、UDP、ICMP   等。或者在其它任何已经插入的IPsec头之前              应用AH之前            ----------------------------      IPv4  |    原IP头   |     |      |            | (所有选项)| TCP | Data |            ----------------------------                  应用AH之后            ---------------------------------      IPv4  |    原IP头   |    |     |      |            | (所有选项)| AH | TCP | Data |            ---------------------------------            |<--------- 认证范围 ---------->|                      除了可变的字段 AH IPV4传输模式在IPv6环境中,AH被看作是一个端到端的载荷,出现在逐跳(hop-by-hop)、路由(routing)和分片扩展头(fragmentation extension headers)之后。目的选项扩展头(destination options extension header)既可以出现在AH头之前,也可以在AH头之后。下面的图表说明了一个IPv6报文的AH传输模式布局。                 应用AH之前            ---------------------------------------      IPv6  |             |  扩展头  |     |      |            |    原IP头   |(如果存在)| TCP | Data |            ---------------------------------------                      应用AH之后            ------------------------      IPv6  |             |  逐跳、目的选项*、|    | 目的 |     |      |            |    原IP头   |  路由、分片。     | AH | 选项*| TCP | Data |            ------------------------            |<------------ 认证范围,除了可变的字段 ------------------>|                 * = 表示如果存在,可以在AH之前,AH之后,或者前后都出现。                         AH IPV6传输模式隧道模式AH可以在主机或者安全网关上采用。当AH在一个安全网关上实现时必须采用隧道模式。隧道模式中,“内部”IP头携带最终的源和目的地址,而“外部”IP头可能包含不同的IP地址,例如安全网关地址。隧道模式中,AH保护整个内部IP报文,包括整个内部IP头。相对于外部IP头,隧道模式中AH的位置与传输模式中AH的位置相同。下面的图表说   明了IPv4和IPv6报文的AH隧道模式的布局。          ------------------------------------------------    IPv4  |   新IP头*   |    |    原IP头*    |    |      |          | (所有选项)  | AH |  (所有选项)   |TCP | Data |          ------------------------------------------------          |<--- 新IP头中的认证范围,除了可变的字段 ----->|                      AH IPV4隧道模式          --------------------------    IPv6  |           |  扩展头* |    |            |  扩展头* |   |    |          |  新IP头*  |(如果存在)| AH |   原IP头*  |(如果存在)|TCP|Data|          --------------------------          |<---------- 新IP头中的认证范围,除了可变的字段 ------------>|                           AH IPV6隧道模式三、ESP格式ESP头紧紧跟在协议头(IPv4,IPv6,或者扩展)之后,协议号50。0                   1                   2                   3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ----|               安全参数索引              (SPI)                 | ^Auth.+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov-|                      序列号                                   | |erage  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ----|                    有效载荷数据* (可变的)                     | |   ^   ~                                                               ~ |   ||                                                               | |Conf.+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov-|               |     填充    (0-255 bytes)                     | |erage*+-+-+-+-+-+-+-+-+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |   ||                               |  填充长度     | 下一个头      | v   v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------|                 验证数据  (可变的) 可选的                  |   ~                                                               ~|                                                               |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  *如果加密同步数据,例如初始化向量(IV),包含在有效载荷字段中,通常它本身并不加密,虽然常常把它作为密文的一部分。四、ESP数据封装格式其封装格式和AH类似。传送模式中,ESP插在IP头之后,上层协议之前,例如TCP,UCP,ICMP等,或者在任何已经插入的IPsec头之前。IPv4中,下面数据报图示了IPv4分组中ESP传送模式位置。             ESP应用前            ----------------------------      IPv4  |原始IP头     |     |      |            |(所有选项)   | TCP | 数据 |            ----------------------------                 ESP应用后            -------------------------------------------------      IPv4  |原始IP头     | ESP |     |      |   ESP   | ESP|            |(所有选项   )| 头部| TCP | 数据 |  尾部   |验证|            -------------------------------------------------                                |<----- 已加密    ---->|                          |<------      已验证   ----->|                    ESP IPV4传输模式下面数据报图示了IPv6分组中ESP传送模式位置。                      ESP应用前            ---------------------------------------      IPv6  |            | 如果有   |     |      |            | 原始IP头   |扩展头    | TCP | 数据 |            ---------------------------------------                     ESP应用后            ---------------------      IPv6  | 原始 |逐跳,     目的* |   |目的 |   |    | ESP   | ESP|            |IP 头 |路由,分片       |ESP|选项*|TCP|数据|尾部   |验证|            ---------------------                                         |<---- 已加密     ---->|                                     |<---- 已验证         ---->|                         ESP IPV6传输模式下面数据报图示了IPv4和IPv6分组中ESP隧道模式的位置。            -----------------------      IPv4  | 新IP头*     |     | 原始IP头 *    |   |    | ESP   | ESP|            |(所有选项)   | ESP | (所有选项)    |TCP|数据|尾部   |验证|            -----------------------                                |<--------- 已加密    ---------->|                          |<----------- 已验证        ---------->|                         ESP IPV4隧道模式            ------------------------      IPv6  | 新 * |新 扩展 |   | 原始*|原始扩展 |   |    | ESP   | ESP|            |IP 头 | 头  *  |ESP|IP 头 | 头   *  |TCP|数据|尾部   |验证|            ------------------------                                |<--------- 已加密    ----------->|                            |<---------- 已验证        ---------->|                           ESP IPV6隧道模式

热点排行