Attaques sur le chiffrement symétrique

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

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

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