Attaques sur le chiffrement symétrique
Portail > Sécurité avancée et conformité
La plupart des compromissions ne viennent pas d'une faiblesse de l'algorithme, mais de son usage : mode inadapté, nonce réutilisé, intégrité absente, fuite par canal auxiliaire. Cette page recense les grandes familles d'attaques et leurs parades.
Force brute
Essayer toutes les clés. Contrée par une taille de clé suffisante (≥ 128 bits ; 256 bits avec marge post-quantique). C'est la seule attaque qui dépend directement de la longueur de clé.
Cryptanalyse
Attaques différentielle et linéaire exploitent des biais statistiques de l'algorithme. Les chiffrements modernes (AES, ChaCha20) sont conçus avec une marge contre ces techniques ; aucune attaque pratique ne les menace.
Oracle de padding
En CBC sans contrôle d'intégrité, un système qui distingue « padding invalide » d'« autre erreur » permet de déchiffrer octet par octet (POODLE, Lucky13). Parade : AEAD, ou Encrypt-then-MAC avec vérification avant déchiffrement (Remplissage (padding)).
Réutilisation de nonce
Réutiliser un (clé, nonce) en mode flot/GCM révèle le XOR des clairs et, en GCM, compromet la clé d'authentification (forge possible). Parade : nonce unique garanti, ou mode misuse-resistant (AES-GCM-SIV, XChaCha20-Poly1305).
Taille de bloc : Sweet32
Avec un bloc de 64 bits (3DES, Blowfish), des collisions de blocs apparaissent après ~232 blocs sous une clé et fuient de l'information. Parade : blocs de 128 bits (AES) et rotation de clé.
Canaux auxiliaires
Le timing, le cache, la consommation électrique ou les émanations peuvent fuiter la clé même si l'algorithme est sûr. Les implémentations à tables d'AES sont sensibles au cache. Parades : implémentations en temps constant, AES-NI, ChaCha20 (constant par conception), comparaison de tags en temps constant.
Absence d'intégrité
Chiffrer sans authentifier laisse un attaquant modifier le chiffré (bit-flipping en CTR/flot, manipulation en CBC). Parade : toujours AEAD ou MAC.
Rejeu
Rejouer un message chiffré valide (sans le casser) peut suffire à nuire. Parade : numéros de séquence, horodatage, nonces applicatifs — au niveau protocole, pas du chiffrement seul.
Synthèse
| Attaque | Cause | Parade |
|---|---|---|
| Force brute | Clé courte | ≥ 128/256 bits |
| Oracle de padding | CBC sans intégrité | AEAD / Encrypt-then-MAC |
| Réutilisation de nonce | Nonce répété | Nonce unique / SIV |
| Sweet32 | Bloc 64 bits | Bloc 128 bits + rotation |
| Canaux auxiliaires | Implémentation | Temps constant, AES-NI, ChaCha20 |
| Altération | Pas d'intégrité | AEAD / MAC |
| Rejeu | Niveau protocole | Séquence / horodatage |
Points clés à retenir
- Les algorithmes modernes sont sûrs ; les failles viennent de l'usage.
- AEAD + nonce unique + temps constant éliminent l'essentiel des risques.
- Bloc 128 bits et rotation contre Sweet32 ; toujours vérifier l'intégrité.
- Le rejeu se traite au niveau protocole, pas par le seul chiffrement.
Voir aussi
- Chiffrement authentifié (AEAD)
- Vecteurs d'initialisation et nonces
- Remplissage (padding)
- Choix d'algorithmes et conformité
| Cryptographie symétrique — Portail | |
|---|---|
| Fondamentaux | Principe · Bloc et flot · Modes opératoires · Padding · IV et nonces |
| Intégrité / auth. | MAC et HMAC · AEAD |
| Gestion des clés | Aléa / CSPRNG · KDF · Échange de clés · Stockage / rotation |
| Algorithmes | AES · ChaCha20/Salsa20 · DES / 3DES · Blowfish et Twofish · RC4 · Camellia, ARIA et SM4 · AES-GCM · ChaCha20-Poly1305 · Hachage |
| Applications | Données au repos · En transit / hybride |
| Sécurité avancée | Attaques · Conformité · Post-quantique |