Aller au contenu principal

Annexe B. Analyse des algorithmes AEAD (AEAD Algorithm Analysis)

Cette annexe inclut une analyse des limites d'utilisation des algorithmes AEAD utilisés dans QUIC. Cette analyse a été utilisée pour dériver les limites documentées dans la section 6.6.

B.1. Analyse de AES-GCM (AES-GCM Analysis)

Le mode Galois/Counter Mode (GCM) d'AES fournit à la fois la confidentialité et l'intégrité. L'analyse dans [AEBounds] établit que l'algorithme sous-jacent AES est sûr contre les attaques choisies en texte clair.

L'analyse établit que la fuite d'information maximum est limitée par :

(ℓ × q)² / 2^129

où :

  • est la longueur maximale du texte chiffré en blocs de 128 bits
  • q est le nombre de textes chiffrés

AES-128-GCM

Pour AEAD_AES_128_GCM, la limite de confidentialité est calculée comme suit :

Limite de confidentialité : 2^23 paquets

Cette limite est dérivée en supposant une taille de paquet maximale de 2^11 octets (2048 octets), ce qui donne une longueur maximum de 2^7 blocs par paquet.

Limite d'intégrité : 2^52 tentatives d'authentification échouées

Cette limite garantit que la probabilité qu'un attaquant forge avec succès un paquet reste négligeable.

AES-256-GCM

Pour AEAD_AES_256_GCM, les limites sont similaires à AES-128-GCM car les propriétés de GCM sont indépendantes de la taille de clé AES :

Limite de confidentialité : 2^23 paquets
Limite d'intégrité : 2^52 tentatives d'authentification

B.2. Analyse de ChaCha20-Poly1305 (ChaCha20-Poly1305 Analysis)

ChaCha20-Poly1305 combine le chiffrement de flux ChaCha20 avec l'authentificateur Poly1305. L'analyse dans [NAN] et les considérations de sécurité dans [RFC8439] établissent les limites suivantes.

Limite de confidentialité : 2^23 paquets

Le risque de collision de nonce devient significatif après ce nombre de paquets.

Limite d'intégrité : 2^36 tentatives de falsification

Cette limite est plus conservatrice que celle d'AES-GCM en raison des propriétés différentes de Poly1305.

B.3. Analyse de AES-CCM (AES-CCM Analysis)

Counter with CBC-MAC (CCM) est un mode d'opération pour AES qui combine le mode compteur (CTR) pour le chiffrement avec CBC-MAC pour l'authentification.

AES-128-CCM

Pour AEAD_AES_128_CCM, les limites sont dérivées de [CCM-ANALYSIS] :

Limite de confidentialité : 2^21.5 paquets (approximativement 2.9 millions de paquets)

Cette limite plus restrictive reflète les contraintes du mode CCM.

Limite d'intégrité : 2^23.5 tentatives d'authentification (approximativement 11.8 millions de tentatives)

B.4. Résumé des limites (Summary of Limits)

Le tableau suivant résume les limites pour tous les algorithmes AEAD pris en charge :

Algorithme AEADLimite de confidentialitéLimite d'intégrité
AEAD_AES_128_GCM2^23 paquets2^52 tentatives
AEAD_AES_256_GCM2^23 paquets2^52 tentatives
AEAD_CHACHA20_POLY13052^23 paquets2^36 tentatives
AEAD_AES_128_CCM2^21.5 paquets2^23.5 tentatives

Tableau B.1 : Limites d'utilisation AEAD

B.5. Implications pour les implémentations

Les implémentations DOIVENT (MUST) suivre ces limites lors de l'utilisation de ces algorithmes avec QUIC. Lorsqu'une limite est atteinte :

  1. Pour la limite de confidentialité : Initier une mise à jour de clé (voir section 6) avant d'atteindre la limite
  2. Pour la limite d'intégrité : Compter toutes les tentatives de déchiffrement échouées et fermer la connexion si la limite est atteinte

Références pour cette annexe :

  • [AEBounds] : Limits on Authenticated Encryption Use in TLS
  • [NAN] : Nonces Are Noticed: AEAD Revisited
  • [RFC8439] : ChaCha20 and Poly1305 for IETF Protocols
  • [CCM-ANALYSIS] : Analytical studies of CCM mode