Mode SIV : AEAD résistant à la mauvaise utilisation des nonces
Découvrez le mode Synthetic IV (SIV) et la manière dont il protège contre la réutilisation catastrophique des nonces.
Mode SIV : AEAD résistant à la mauvaise utilisation des nonces est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.
Réutilisation d'un nonce : une défaillance catastrophique
Les chiffrements AEAD fondés sur le mode CTR, comme AES-GCM, exigent un nonce unique pour chaque chiffrement. Si le même nonce est réutilisé avec la même clé, un attaquant qui observe deux textes chiffrés peut les combiner par XOR pour retrouver le XOR des deux textes en clair, compromettant immédiatement la confidentialité.
La réutilisation d'un nonce dans GCM divulgue la clé d'authentification
La réutilisation d'un nonce dans AES-GCM est encore plus catastrophique qu'en mode CTR simple. Lorsque deux messages sont chiffrés avec le même nonce et la même clé, un attaquant peut retrouver entièrement la clé d'authentification GHASH H. Une fois H connue, l'attaquant peut forger des messages arbitraires accompagnés d'une authentification valide.
Introduction du mode IV synthétique
Le mode IV synthétique (SIV), défini dans la RFC 5297, a été conçu pour éliminer les vulnérabilités liées à la réutilisation des nonces. Au lieu d'exiger un nonce aléatoire ou fondé sur un compteur, SIV dérive synthétiquement l'IV à partir du texte en clair lui-même à l'aide d'une fonction pseudo-aléatoire, ce qui le rend déterministe et résistant à la mauvaise utilisation des nonces.
Mécanisme de dérivation du nonce SIV
Dans SIV, le nonce, appelé IV synthétique, est calculé comme suit : SIV = PRF(key, plaintext, associated_data). Cet IV est ensuite utilisé comme compteur pour le chiffrement en mode CTR. Comme l'IV est dérivé du texte en clair, le chiffrement d'un même texte en clair produit toujours le même texte chiffré.
Conséquence de la réutilisation du nonce dans SIV
Si un nonce est réutilisé dans SIV parce que le même texte en clair est chiffré deux fois, un observateur apprend seulement que deux messages identiques ont été envoyés. Le contenu du texte en clair lui-même reste dissimulé. Il s’agit d’une amélioration spectaculaire par rapport à l’AEAD fondé sur CTR, dans lequel la réutilisation du nonce révèle le XOR des textes en clair.
Construction d’AES-SIV
AES-SIV (RFC 5297) utilise la fonction S2V, une PRF chaînée fondée sur AES-CMAC, pour générer l’IV synthétique, puis effectue un chiffrement AES-CTR avec une seconde sous-clé. Il nécessite deux clés AES, ce qui rend la gestion des clés légèrement plus complexe que celle des modes AEAD à clé unique.
AES-GCM-SIV : alternative moderne
AES-GCM-SIV (RFC 8452) est un AEAD plus efficace, résistant à la mauvaise utilisation des nonces, conçu pour associer les performances de GCM à une sécurité de type SIV. Il dérive des sous-clés propres à chaque message à partir du nonce et utilise un authentificateur Polyval, ce qui lui permet d’être plus performant qu’AES-SIV tout en conservant sa résistance à la mauvaise utilisation des nonces.
Coût de performance de deux passes
SIV nécessite deux passes sur les données : une pour calculer l’IV synthétique et une pour le chiffrement. Le coût de calcul est ainsi approximativement deux fois supérieur à celui des modes AEAD à passe unique comme AES-GCM. Pour les applications sensibles à la latence ou à haut débit, cette surcharge doit être prise en compte.
Quand préférer SIV à GCM
SIV est à privilégier lorsque la génération des nonces n’est pas fiable, lorsque l’application est sans état et ne peut pas gérer un compteur de nonces, ou lorsque le chiffrement déterministe est une exigence. Cela concerne notamment le chiffrement de champs de base de données lorsqu’une même valeur doit toujours produire le même texte chiffré à des fins d’indexation.
Services sans état et chiffrement déterministe
Les microservices sans état qui ne peuvent pas coordonner l’état des nonces entre leurs réplicas sont particulièrement adaptés au mode SIV. Plutôt que de risquer une réutilisation accidentelle des nonces par l’intermédiaire d’un compteur global, SIV assure automatiquement la sécurité. L’enveloppement de clés (RFC 3394) utilise également des principes de SIV pour le chiffrement déterministe des clés.
SIV en pratique
AES-SIV est disponible dans de grandes bibliothèques cryptographiques, notamment libsodium, sous la forme de crypto_aead_aes256gcm_siv dans les versions récentes, ainsi que dans Google Tink. AES-GCM-SIV est pris en charge par BoringSSL et la bibliothèque standard de Go. Lorsque la gestion des nonces est difficile, ces solutions constituent des choix par défaut plus sûrs qu’AES-GCM standard.
Vérification de la mauvaise utilisation du nonce dans SIV
Que se passe-t-il lorsque la même clé est utilisée pour chiffrer deux fois le même texte en clair avec AES-SIV ?
Récapitulatif de la leçon : SIV pour sécuriser les nonces
Le mode SIV élimine les catastrophes liées à la réutilisation des nonces en dérivant l’IV du texte en clair lui-même. La réutilisation d’un nonce révèle seulement que des messages identiques ont été envoyés, et non leur contenu. AES-GCM-SIV (RFC 8452) offre une résistance efficace à la mauvaise utilisation des nonces pour les applications modernes qui nécessitent un chiffrement sans état ou déterministe.
Questions Fréquemment Posées
La leçon « Mode SIV : AEAD résistant à la mauvaise utilisation des nonces » est-elle gratuite ?
Oui — le texte complet de « Mode SIV : AEAD résistant à la mauvaise utilisation des nonces » 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 « Mode SIV : AEAD résistant à la mauvaise utilisation des nonces » ?
Découvrez le mode Synthetic IV (SIV) et la manière dont il protège contre la réutilisation catastrophique des nonces. 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 2 sur 4.
Combien de temps prend la leçon « Mode SIV : AEAD résistant à la mauvaise utilisation des nonces » ?
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