Aller au contenu principal

3.14. Payload chiffré

3.14. Payload chiffré​

Le payload chiffré contient des données de payload chiffrées. Ce payload est chiffré à l'aide de l'algorithme de chiffrement et de la clé de la IKE SA.

Le format du payload chiffré est le suivant :

                 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 Payload |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Initialization Vector (IV) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Plaintext Encrypted Payload ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Integrity Checksum Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 18 : Format du payload chiffré

o Initialization Vector (IV) (longueur variable) - Vecteur d'initialisation requis par l'algorithme de chiffrement. Sa longueur est déterminée par l'algorithme de chiffrement négocié (par exemple, l'IV d'AES-CBC est de 16 octets).

o Plaintext Encrypted Payload (longueur variable) - Données de payload chiffrées. Contient une série de payloads IKE chiffrés.

o Integrity Checksum Data (longueur variable) - Données de somme de contrôle d'intégrité, calculées à l'aide de l'algorithme d'intégrité de la IKE SA. Sa longueur est déterminée par l'algorithme d'intégrité négocié (par exemple, 12 octets pour HMAC-SHA1, 16 octets pour HMAC-SHA256).

Note : le payload chiffré est le payload principal dans les échanges IKE_AUTH, CREATE_CHILD_SA et INFORMATIONAL. Après l'échange IKE_SA_INIT, tout le corps des messages IKE est encapsulé dans un payload chiffré.

Le processus de chiffrement est le suivant :

  1. Construction du texte en clair : une série de payloads IKE (commençant par le premier en-tête de payload).
  2. Si nécessaire, remplir le texte en clair pour que sa longueur soit un multiple de la taille de bloc de l'algorithme de chiffrement.
  3. Chiffrer le texte en clair à l'aide de l'algorithme et de la clé de chiffrement de la IKE SA.
  4. Calculer la valeur de contrôle d'intégrité du texte en clair (ou du texte chiffré, selon l'algorithme) à l'aide de l'algorithme et de la clé d'intégrité de la IKE SA.
  5. Concaténer l'IV, le texte chiffré et les données de somme de contrôle d'intégrité pour former le payload chiffré.

Le récepteur déchiffre et vérifie l'intégrité à l'aide des clés correspondantes. Si la vérification d'intégrité échoue, le message DOIT être ignoré.