全稱: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字節。