[ipsec][crypto] 在IPSec ESP使用AES-GCM加密时的IV

Posted hugetong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ipsec][crypto] 在IPSec ESP使用AES-GCM加密时的IV相关的知识,希望对你有一定的参考价值。

IV

IV是指初始化向量。

在我们当前讨论的场景中: 在IPSec ESP使用AES-GCM加密

IV有两个含义:

1. ESP报文封装时的IV,RFC中称为 AES-GCM IV

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Initialization Vector                    |
   |                            (8 octets)                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                       Ciphertext (variable)                   ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

2. 在讨论加解密设备的时候,我们讨论的IV,与1中不同,称为 AES-GCM-ESP IV, 也称作nonce

  nonce由 salt 和1中IV组成。

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Salt                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Initialization Vector                     |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

总结:

  ESP的IV协议规定了固定长度是8字节,salt是固定的4字节。所以在当前场景内,GCM的IV长度,固定为12字节。

 

参考:

https://tools.ietf.org/html/rfc4106#section-3.1

 

以上是关于[ipsec][crypto] 在IPSec ESP使用AES-GCM加密时的IV的主要内容,如果未能解决你的问题,请参考以下文章

[ipsec][crypto] 有点不同的数字证书到底是什么

ipsec隧道影不影响流量

ipsec over gre 和GER OVER IPSEC分别用在啥场合

[转帖] IPsec相关知识 --未知来源

IPsec ××× 总结

IPSec