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 bitsqest 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 AEAD | Limite de confidentialité | Limite d'intégrité |
|---|---|---|
| AEAD_AES_128_GCM | 2^23 paquets | 2^52 tentatives |
| AEAD_AES_256_GCM | 2^23 paquets | 2^52 tentatives |
| AEAD_CHACHA20_POLY1305 | 2^23 paquets | 2^36 tentatives |
| AEAD_AES_128_CCM | 2^21.5 paquets | 2^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 :
- Pour la limite de confidentialité : Initier une mise à jour de clé (voir section 6) avant d'atteindre la limite
- 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