0Pricing
Cryptology Academy · Leçon

Bourrage PKCS#1 v1.5 et Bleichenbacher

Expliquez les attaques adaptatives à texte chiffré choisi contre PKCS#1 v1.5.

Bourrage PKCS#1 v1.5 et Bleichenbacher 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.

Bienvenue

Le bourrage PKCS#1 v1.5 a été la principale norme de bourrage RSA pendant 20 ans. En 1998, Daniel Bleichenbacher a montré qu’il était vulnérable à une attaque adaptative à texte chiffré choisi.

Structure de PKCS#1 v1.5

Format : 0x00 0x02 [octets aléatoires non nuls] 0x00 [message] Le préfixe 0x00 0x02 indique un bourrage de chiffrement (contre 0x00 0x01 pour la signature). Les octets aléatoires empêchent le déterminisme et ne doivent pas être nuls.

Pourquoi PKCS#1 v1.5 était utilisé

PKCS#1 v1.5 a été conçu par RSA Security en 1993, bien avant l’existence des preuves de sécurité IND-CCA2. Il a ajouté de l’aléa et des vérifications de structure. Il a été largement déployé dans SSL/TLS à partir de 1995.

L’attaque de Bleichenbacher

Bleichenbacher (1998) : si un serveur révèle si le déchiffrement RSA produit un bourrage PKCS#1 v1.5 valide (par un message d’erreur ou la durée de traitement), un attaquant peut déchiffrer n’importe quelle valeur chiffrée avec RSA en environ 1 million de requêtes.

Définition d’un oracle

Un « oracle de bourrage » est tout canal auxiliaire qui distingue un « bourrage valide » d’un « bourrage invalide ». Même une infime différence de durée ou un message d’erreur différent crée un oracle exploitable.

Mécanisme de l’attaque

L’attaquant multiplie le texte chiffré cible C par s^e mod n et envoie C×s^e modifié. Si le serveur répond « bourrage valide », s a été correctement choisi. En répétant l’opération, il réduit la plage des textes en clair possibles jusqu’à retrouver M.

Attaque DROWN (2016)

DROWN a exploité Bleichenbacher via SSLv2. Les serveurs TLS modernes qui partageaient une clé avec un serveur SSLv2 étaient vulnérables. Les échanges de clés RSA chiffrés de TLS moderne étaient déchiffrés en utilisant SSLv2 comme oracle. 33 % des serveurs HTTPS étaient concernés.

Attaque ROBOT (2017)

ROBOT (Retour de la menace de l’oracle de Bleichenbacher) a redécouvert des oracles temporels dans 7 des 10 implémentations TLS les plus populaires, notamment Cisco, F5 et Radware. Bleichenbacher reste une menace, car les implémentations sont difficiles à sécuriser correctement.

Déchiffrement RSA à temps constant

Défenses : poursuivez toujours le déchiffrement, quelle que soit la validité du bourrage ; renvoyez une réponse identique lorsque le bourrage est invalide. Utilisez du code à temps constant pour empêcher les différences de durée. La mise en œuvre correcte est difficile.

Pourquoi OAEP a remplacé v1.5

OAEP inclut une fonction de hachage à sens unique avec trappe qui fournit une preuve de sécurité IND-CCA2 (résistante aux textes chiffrés choisis). Même avec un oracle de bourrage, la structure aléatoire d’OAEP rend les requêtes adressées à l’oracle inutiles.

Les systèmes anciens utilisent encore v1.5

Malgré l’existence d’O​​AEP, PKCS#1 v1.5 subsiste dans les anciens systèmes de paiement, les applications Java anciennes et certaines implémentations PKI. TLS 1.3 a complètement supprimé l’échange de clés RSA, éliminant ainsi cette surface d’attaque.

Vérification rapide

Qu’est-ce qu’un « oracle de bourrage » dans le contexte de l’attaque de Bleichenbacher ?

Récapitulatif

L’attaque de Bleichenbacher est un jalon de la cryptanalyse pratique. Nous étudions ensuite OAEP, le bourrage démontrablement sûr qui remplace v1.5.

Questions Fréquemment Posées

La leçon « Bourrage PKCS#1 v1.5 et Bleichenbacher » est-elle gratuite ?

Oui — le texte complet de « Bourrage PKCS#1 v1.5 et Bleichenbacher » 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 « Bourrage PKCS#1 v1.5 et Bleichenbacher » ?

Expliquez les attaques adaptatives à texte chiffré choisi contre PKCS#1 v1.5. 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 « Bourrage PKCS#1 v1.5 et Bleichenbacher » ?

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

  1. RSA théorique et raisons de son insécurité
  2. Bourrage PKCS#1 v1.5 et Bleichenbacher
  3. OAEP : bourrage optimal pour le chiffrement asymétrique
  4. RSA-PSS pour les signatures numériques
← Retour à Cryptology Academy