全称:Additianal Authenticated Datahtml
翻译成中文就是附加的验证数据。算法
AEAD,简单的来讲就是一份数据在完成加密的时候同时完成了消息认证,或者反过来。加密
见:[crypto] AEAD是啥spa
也就是说,加密用的数据和消息认证用的数据是同样的。翻译
好,那么下面引出一个场景,就是加密仍是一样的加密,可是消息认证须要给丰富的信息才能完成。好比序号。code
这个时候多出来的那个须要就叫作附加验证数据,即AAD。orm
那么这段数据的长度就是AAD length。htm
ESP封装既如此。当使用AEAD算法时,并不能知足额外的消息认证能力。由于加密内容自己不包含序列信息,没法防止重放攻击blog
因此消息认证须要增长SPI和seq信息。ip
又由于SEN的存在。见[crypto][ipsec] 简述ESP协议的sequence number机制
AAD的长度就有了两种状况,
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 32-bit Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: AAD Format with 32-bit Sequence Number 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 64-bit Extended Sequence Number | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: AAD Format with 64-bit Extended Sequence Number
SPI + SEQ(low32)
或 SPI + SEQ(low32)+ SEQ(high32)
即:8字节或12字节。