Choisir un AEAD pour les systèmes de production
Appliquez une méthode de décision pour choisir le schéma AEAD adapté selon le modèle de menace et les exigences de performance.
Choisir un AEAD pour les systèmes de production est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
AES-GCM : choix par défaut
AES-GCM est l’AEAD à choisir par défaut pour la plupart des systèmes en production. Il bénéficie d’une accélération matérielle via AES-NI sur pratiquement tous les processeurs x86 et ARM64 modernes, est largement pris en charge par les piles TLS et les bibliothèques cryptographiques, et bénéficie de nombreuses années de cryptanalyse ainsi que d’une vaste expérience de déploiement en conditions réelles.
Limites des nonces d’AES-GCM
AES-GCM utilise un nonce de 96 bits. Avec des nonces générés aléatoirement, le seuil des anniversaires est atteint après environ 2^32 messages sous la même clé ; à partir de ce moment, la probabilité d’une collision de nonces devient non négligeable. Pour les systèmes à gros volume, la gestion des nonces au moyen d’un compteur ou la rotation de la clé après 2^32 messages est essentielle.
ChaCha20-Poly1305 : en l’absence d’AES-NI
ChaCha20-Poly1305 est le choix approprié lorsqu’AES-NI n’est pas disponible ou lorsque la génération des nonces risque de ne pas être fiable. Il est rapide en logiciel, conçu pour fonctionner en temps constant et résistant aux canaux auxiliaires temporels, et constitue la suite de chiffrement obligatoire dans TLS 1.3 pour les environnements dépourvus de prise en charge matérielle d’AES.
AES-GCM-SIV pour sécuriser les nonces
Lorsque les nonces risquent d’être réutilisés ou doivent être générés de manière déterministe, notamment dans les services sans état ou pour l’enveloppement de clés, AES-GCM-SIV (RFC 8452) est le choix approprié. Il offre une résistance à la mauvaise utilisation des nonces pour un coût de performances modéré par rapport à AES-GCM standard.
AEGIS pour un débit maximal
AEGIS-128L est le choix approprié lorsqu’un débit de chiffrement maximal est requis et que la présence d’AES-NI est garantie sur toutes les cibles de déploiement. Les équipements réseau à haut débit, les concentrateurs VPN et les systèmes de chiffrement du stockage sont des candidats particulièrement adaptés, car AEGIS y offre des gains de performances significatifs par rapport à AES-GCM.
Choix de la taille de clé : 128 ou 256 bits
AES-128 offre une sécurité de 128 bits, considérée comme suffisante face à toutes les menaces actuelles et prévisibles liées au calcul classique. AES-256 fournit une marge supplémentaire contre les progrès futurs et est requis par certains référentiels de conformité, comme la classification TOP SECRET de la Suite B de la NSA. Pour la plupart des applications, AES-128 est suffisant et légèrement plus rapide.
Considérations relatives à la taille des nonces
AES-GCM utilise des nonces de 96 bits, tandis qu’AES-GCM-SIV utilise également des nonces de 96 bits. XSalsa20, utilisé dans secretbox de libsodium, utilise des nonces de 192 bits, ce qui rend la génération aléatoire de nonces sûre pour un nombre bien plus élevé de messages sous la même clé. Des nonces plus longs réduisent le risque de réutilisation accidentelle dans les systèmes à gros volume.
Bibliothèques recommandées
Utilisez des bibliothèques AEAD éprouvées plutôt que d’implémenter directement les primitives. libsodium fournit une API AEAD simple (crypto_aead_aes256gcm_encrypt, crypto_aead_chacha20poly1305_ietf_encrypt). Google Tink encapsule les primitives AEAD et gère la rotation des clés ainsi que le versionnage. Les bibliothèques TLS natives du langage gèrent automatiquement l’AEAD pour la sécurité des communications.
Migration depuis AES-CBC
AES-CBC avec un HMAC-SHA256 distinct, dans l’ordre EtM, est acceptable, mais ancien. La migration vers AES-GCM simplifie l’implémentation en remplaçant deux primitives par une seule et élimine le risque d’une composition incorrecte. Les données au repos chiffrées avec CBC-HMAC doivent être rechiffrées avec AES-GCM lors d’une rotation planifiée des clés.
Tests des implémentations AEAD
Les implémentations AEAD doivent être testées avec les vecteurs de test officiels de NIST pour AES-GCM et de la RFC 8439 pour ChaCha20-Poly1305. Vérifiez toujours qu’un échec de la vérification de l’étiquette d’authentification entraîne le retour d’une erreur par le déchiffrement, plutôt que le retour d’un texte en clair partiel. Une mauvaise gestion des erreurs constitue un défaut d’implémentation courant.
Organigramme de décision
Choisissez AES-GCM lorsque AES-NI est présent et que les nonces sont uniques. Choisissez ChaCha20-Poly1305 lorsque AES-NI est absent ou que les nonces sont moins fiables. Choisissez AES-GCM-SIV lorsque la réutilisation des nonces est préoccupante. Choisissez AEGIS lorsque le débit maximal avec AES-NI garanti est la priorité. Ne choisissez jamais de modes sans AEAD pour les nouveaux systèmes.
Vérification du choix de l’AEAD
Un microservice sans état déployé sur plusieurs réplicas doit chiffrer des données, mais ne peut pas coordonner un compteur de nonces partagé. Quel mode AEAD est le plus approprié ?
Récapitulatif de la leçon : choisir le bon AEAD
AES-GCM est le choix par défaut. ChaCha20-Poly1305 convient aux environnements dépourvus d’AES-NI. AES-GCM-SIV gère les environnements où les nonces ne sont pas sûrs. AEGIS maximise le débit lorsque la présence d’AES-NI est garantie. Utilisez des bibliothèques comme libsodium ou Tink plutôt que de composer manuellement les primitives. Effectuez toujours des tests avec les vecteurs officiels et vérifiez que les échecs d’authentification sont correctement gérés.
Apprends Cryptology Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 67
- Leçons
- 261
Questions Fréquemment Posées
La leçon « Choisir un AEAD pour les systèmes de production » est-elle gratuite ?
Oui — le texte complet de « Choisir un AEAD pour les systèmes de production » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Choisir un AEAD pour les systèmes de production » ?
Appliquez une méthode de décision pour choisir le schéma AEAD adapté selon le modèle de menace et les exigences de performance. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Choisir un AEAD pour les systèmes de production » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer
- Mode SIV : AEAD résistant à la mauvaise utilisation des nonces
- AEGIS : chiffrement authentifié à haut débit
- Choisir un AEAD pour les systèmes de production