文章一:IPSec中安全协议ESP、AH精解
ESP 的协议号为50
AH 协议号为51
一、ESP详解
(一)ESP提供:confidentiality,data integrity,optional data origin authentication,anti-replay services
(二)ESP结构为:
1、Security Parameter Index(SPI)
2、Sequence Number
3、Payload Data(Variable)
4、Padding(0-255)Bytes
5、Pad length
6、Report Handler
7、Authentication Data(varaible)
SPI:
1、destination address
2、protocol
3、identify the security association(SA)
SPI number是在Internet Key Exchange(IKE)协商过程中,可以任意指定的。利用这个number可以在security association database(SADB)中查询相关信息。
Sequence number:
提供anti-replay services.这点在AH中也是同样的
原理是通过increasing序号
Payload data:
被保护的数据,加密算法需要一个initialization vector(IV),注意IV需要认证,但是不是加密的,DES使用前8个字节做为IV,3DES、AES也使用8字节的IV.
Padding Bytes:
根据加密算法不同,补足的字节也不同。
二、AH详解
(一)AH提供:connectionless integrity,data authentication,optional replay protection,但是不提供confidentiality(加密)
(二)AH的包结构:
1、Next header
2、Payload Length
3、Reserved
4、Security Parameter Index(SPI)
5、Sequence Number
6、Authentication Data(Variable)
三、ESP、AH对比
1、AH没有ESP的加密特性
2、AH的authtication是对整个数据包做出的,包括IP头部分,因为IP头部分包含很多变量,比如type of service(TOS),flags,fragment offset,TTL以及header checksum.所以这些值在进行authtication前要全部清零。否则hash会mismatch导致丢包。
相反,ESP是对部分数据包做authentication,不包括IP头部分。
文章二:IPsec AH:IPsec 认证头协议(IPsec Authentication Header)IPsec 认证头协议(IPsec AH)是 IPsec 体系结构中的一种主要协议,它为 IP 数据报提供无连接完整性与数据源认证,并提供保护以避免重播情况。一旦建立安全连接,接收方就可能会选择后一种服务。 AH 尽可能为 IP 头和上层协议数据提供足够多的认证。但是,在传输过程中某些 IP 头字段会发生变化,且发送方无法预测当数据包到达接受端时此字段的值。 AH 并不能保护这种字段值。因此, AH 提供给 IP 头的保护有些是零碎的。
AH 可被独立使用,或与 IP 封装安全负载(ESP)相结合使用,或通过使用隧道模式的嵌套方式。在通信主机与通信主机之间、通信安全网关与通信安全网关之间或安全网关与主机之间可以提供安全服务。 ESP 提供了相同的安全服务并提供了一种保密性(加密)服务,而ESP 与 AH 各自提供的认证其根本区别在于它们的覆盖范围。特别地,不是由 ESP 封装的IP 头字段则不受 ESP 保护。有关在不同网络环境下如何使用 AH 和 ESP 的详细内容,可参见相关文件。
通常,当用与 IPv6 时, AH 出现在 IPv6 逐跳路由头之后 IPv6 目的选项之前。而用于IPv4 时, AH 跟随主 IPv4 头。
协议结构
8 16 32 bit
Next Header Payload Length Reserved
Security parameters index (SPI)
Sequence Number Field
Authentication Data (Variable)
Next Header ― 识别认证头面后的下一个有效负载的类型。
Payload Leng th ― 规定 AH 的长(32位字,4-字节单元),减去“2”)
SPI ― 专有32位值,与目的 IP 地址和安全协议(AH)相结合,唯一识别数据报的安全联接(Security Association)。
Sequence Number ― 包含无变化的增长计数器值,该值是强制性的,即使接收端不为特定 SA 提供 Anti-Replay 服务,它仍然存在。
Authentication Data ― 一个可变长字段,包括在 ESP 数据包上计算的减去Authentication Data 的完整校验值(ICV)。
文章三:IPsec 协议(ESP/AH)
ipsec协议是用来保护通过vpn传输数据流的。使用的协议及其密钥是由ike协商的。
与ipsec相关的协议有2种:ah和esp。下面对它们进行详细说明。
认证头(authentication header)
ah是一种认证数据流的协议。它运用加密学复述功能,根据ip包的数据生成一个mac。此mac随包发送,允许网关确认原始ip包的整体性,确保数据在通过因特网的途中不受损坏。
除ip包数据外,ah也认证部分ip头。