Attaques sur la cryptographie asymétrique
Portail > Sécurité et exploitation
Comme pour le symétrique, les compromissions viennent rarement des mathématiques sous-jacentes et le plus souvent de paramètres faibles, d'un aléa défaillant, de remplissages dangereux ou de canaux auxiliaires. Tour d'horizon.
Attaques mathématiques directes
- Factorisation (RSA) : progrès des algorithmes (crible algébrique) → d'où des modules ≥ 2048/3072 bits.
- Logarithme discret (DH, DSA, ElGamal) : mêmes exigences de taille (Tailles de clés et équivalences de sécurité).
Ces attaques restent infaisables à tailles correctes — sauf face à un ordinateur quantique (Cryptographie asymétrique et post-quantique).
Paramètres et clés faibles
- Premiers partagés / mauvais aléa : des clés RSA générées avec une entropie insuffisante peuvent partager un facteur, récupérable par PGCD entre clés (attaques « batch-GCD »). La faille ROCA a ainsi affaibli des clés générées par certaines puces.
- Petits exposants ou paramètres mal choisis.
Le piège du nonce (signatures)
DSA et ECDSA exigent un nonce k unique, secret, imprévisible. Réutilisation ou biais → récupération de la clé privée. Parade : nonce déterministe (RFC 6979) ou, mieux, EdDSA déterministe par conception.
Attaques sur le remplissage RSA
- Bleichenbacher / ROBOT : exploitent un oracle révélant la validité d'un remplissage PKCS#1 v1.5 pour déchiffrer ou forger. Parade : OAEP (chiffrement), PSS (signature), et traitement en temps constant des erreurs.
Attaques sur courbes elliptiques
- Invalid curve / point non vérifié : si l'implémentation accepte un point hors de la courbe attendue, la clé peut fuiter. Parade : valider les points reçus, utiliser des courbes/implémentations sûres (X25519, Ed25519).
Canaux auxiliaires
Timing, cache, consommation électrique peuvent fuiter la clé privée pendant les opérations (exponentiation modulaire, multiplication scalaire). Parades : temps constant, masquage, EdDSA/X25519 conçus pour cela.
Synthèse
| Attaque | Cible | Parade |
|---|---|---|
| Factorisation / log discret | RSA, DH, DSA | Tailles ≥ recommandations |
| Clés à facteur partagé (ROCA) | RSA | Bon CSPRNG, audit des clés |
| Nonce réutilisé/biaisé | DSA, ECDSA | RFC 6979, EdDSA |
| Oracle de padding (Bleichenbacher/ROBOT) | RSA PKCS#1 v1.5 | OAEP/PSS, temps constant |
| Invalid curve | ECC | Validation des points |
| Canaux auxiliaires | Tous | Temps constant, X25519/Ed25519 |
Points clés à retenir
- Les failles viennent surtout des paramètres, de l'aléa, du remplissage et de l'implémentation.
- Nonce DSA/ECDSA = danger n°1 → déterministe ou EdDSA.
- RSA : OAEP/PSS et temps constant contre les oracles de padding.
- Valider les points ECC ; tout en temps constant.
Voir aussi
| Cryptographie asymétrique — Portail | |
|---|---|
| Fondamentaux | Principe · Problèmes difficiles · Usages |
| Algorithmes | RSA · Diffie-Hellman et ECDH · ElGamal · DSA · ECDSA · EdDSA |
| Sécurité | Tailles de clés · Attaques · Post-quantique |