AH-RFC-2402

AH提供无连接完整性、数据验证和可选的反重放保护,不提供机密性。

AH的报头:

 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Next Header   |  Payload Len  |          RESERVED             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Security Parameters Index (SPI)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Sequence Number Field                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                Authentication Data (variable)                 |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

AH是一种IP协议,在IP报头中用51表示。“下已报头”字段指出AH报头后面是什么内容。在传输模式下,这是被保护的上层协议(如UDP或TCP)的编号;在隧道模式下,这个值为4。

原始数据包:
BEFORE APPLYING AH
            ----------------------------
      IPv4  |orig IP hdr  |     |      |
            |(any options)| TCP | Data |
            ----------------------------
传输模式下,加了AH验证的数据包:
      AFTER APPLYING AH
            ---------------------------------
      IPv4  |orig IP hdr  |    |     |      |
            |(any options)| AH | TCP | Data |
            ---------------------------------
            |<------- authenticated ------->|
                 except for mutable fields
AH适用于传输模式。

IPv6模式:
原始数据包:
                  BEFORE APPLYING AH
            ---------------------------------------
      IPv6  |             | ext hdrs |     |      |
            | orig IP hdr |if present| TCP | Data |
            ---------------------------------------
加了AH后的数据包:
     AFTER APPLYING AH
            ------------------------------------------------------------
      IPv6  |             |hop-by-hop, dest*, |    | dest |     |      |
            |orig IP hdr  |routing, fragment. | AH | opt* | TCP | Data |
            ------------------------------------------------------------
            |<---- authenticated except for mutable fields ----------->|
隧道模式下:
IPv4:
     ------------------------------------------------
    IPv4  | new IP hdr* |    | orig IP hdr*  |    |      |
          |(any options)| AH | (any options) |TCP | Data |
          ------------------------------------------------
          |<- authenticated except for mutable fields -->|
          |           in the new IP hdr                  |
IPv6:
--------------------------------------------------------------
    IPv6  |           | ext hdrs*|    |            | ext hdrs*|   |    |
          |new IP hdr*|if present| AH |orig IP hdr*|if present|TCP|Data|
          --------------------------------------------------------------
          |<-- authenticated except for mutable fields in new IP hdr ->|
“有效负载长度”字段指出了AH报头的长度。“保留”字段未被使用,因此被设置为零。SPI和序列号的作用与ESP中相同。验证摘要同ESP有一个重要的不同:在AH中,对IP报头和有效负载进行验证。由于AH根据包括IP报头在内的整个分组计算验证数据,而有些IP字段在传输过程中会发生变化,因此计算验证摘要时将把IP报头中传输过程中可能发生变化的字段排除在外。被排除在外的字段包括服务类型(Tos)Type of Service (TOS)、标记Flags、分段偏移Fragment Offset、存活时间(TTL)Time to Live (TTL)和报头校验和Header Checksum。之所以将这些字段排除在外,是因为验证在传输过程中被修改的值(如TTL)将导致验证散列值与发送方的不同,进而导致分组被丢弃。
posted @ 2016-01-07 17:29  Tiphannie  阅读(435)  评论(0编辑  收藏  举报