Attaque de Bleichenbacher
Qu'est-ce que Attaque de Bleichenbacher ?
Attaque de BleichenbacherAttaque adaptative a chiffre choisi (Bleichenbacher, 1998) qui recupere du texte clair RSA quand le serveur revele la validite du padding PKCS#1 v1.5.
Daniel Bleichenbacher a presente cette attaque a CRYPTO 1998 contre la negociation SSL utilisant le chiffrement RSA-PKCS#1 v1.5. Le serveur agit involontairement comme oracle de padding : toute reponse distinguable (code d'alerte TLS, reinitialisation de connexion ou temps de reponse) revele a l'attaquant si un chiffre falsifie se dechiffre en une valeur commencant par les octets 0x00 0x02. Comme RSA est multiplicativement homomorphe, l'attaquant multiplie le chiffre capture par des valeurs choisies s, soumet le resultat et utilise chaque reponse de "padding valide" pour reduire l'ensemble des textes clairs possibles. Apres environ un million de requetes, l'intervalle se reduit a une seule valeur et le premaster chiffre par RSA est recupere, sans jamais toucher a la cle privee, ce qui permet a l'attaquant de dechiffrer la session ou de forger une signature RSA.
La faille est difficile a eliminer car le depadding PKCS#1 v1.5 resiste a une implementation en temps constant. Elle est revenue sous la forme de DROWN (CVE-2016-0800), qui exploitait un oracle SSLv2 pour casser des sessions TLS modernes, et de ROBOT (Return Of Bleichenbacher's Oracle Threat, 2017) : les chercheurs Böck, Somorovsky et Young ont decouvert que F5 (CVE-2017-6168), Citrix, Cisco et d'autres restaient vulnerables, et l'ont demontre contre Facebook et PayPal. Parades : gestion d'erreurs identique pour un padding valide ou invalide, preferer RSA-OAEP, desactiver les suites de chiffrement a echange de cles RSA, et adopter TLS 1.3, qui supprime entierement le chiffrement RSA de la negociation.
flowchart TD
A[Attacker captures RSA ciphertext c] --> B["Pick multiplier s, send c·s^e mod n"]
B --> C{Server padding check}
C -->|"Starts 0x00 0x02 → valid"| D[Narrow plaintext interval]
C -->|"Invalid → distinct response"| E[Discard this s]
D --> F{Interval = 1 value?}
E --> B
F -->|No| B
F -->|Yes| G[Premaster secret recovered]● Exemples
- 01
Recuperer le premaster SSL sur un serveur des annees 90 qui renvoyait des alertes distinctes pour un padding errone.
- 02
DROWN et ROBOT reutilisent cet oracle contre des piles TLS modernes.
● Questions fréquentes
Qu'est-ce que Attaque de Bleichenbacher ?
Attaque adaptative a chiffre choisi (Bleichenbacher, 1998) qui recupere du texte clair RSA quand le serveur revele la validite du padding PKCS#1 v1.5. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.
Que signifie Attaque de Bleichenbacher ?
Attaque adaptative a chiffre choisi (Bleichenbacher, 1998) qui recupere du texte clair RSA quand le serveur revele la validite du padding PKCS#1 v1.5.
Comment se défendre contre Attaque de Bleichenbacher ?
Les défenses contre Attaque de Bleichenbacher combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Attaque de Bleichenbacher ?
Noms alternatifs courants : Million Message Attack.