Cryptology Academy · Lektion

PKCS#1-v1.5-Padding und Bleichenbacher

Erklären Sie adaptive Chosen-Ciphertext-Angriffe auf PKCS#1 v1.5.

Lektion 2 von 413 Schritte

PKCS#1-v1.5-Padding und Bleichenbacher ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

PKCS#1-v1.5-Padding war 20 Jahre lang der vorherrschende RSA-Padding-Standard. 1998 zeigte Daniel Bleichenbacher, dass es für einen adaptiven Chosen-Ciphertext-Angriff anfällig ist.

Struktur von PKCS#1 v1.5

Format: 0x00 0x02 [random non-zero bytes] 0x00 [message] Das Präfix 0x00 0x02 kennzeichnet Padding für die Verschlüsselung (im Gegensatz zu 0x00 0x01 für Signaturen). Die zufälligen Bytes verhindern Determinismus und dürfen nicht null sein.

Warum PKCS#1 v1.5 verwendet wurde

PKCS#1 v1.5 wurde 1993 von RSA Security entwickelt, lange bevor Sicherheitsbeweise für IND-CCA2 existierten. Es fügte Zufälligkeit und Strukturprüfungen hinzu. Ab 1995 wurde es umfassend in SSL/TLS eingesetzt.

Der Bleichenbacher-Angriff

Bleichenbacher (1998): Wenn ein Server offenlegt, ob die RSA-Entschlüsselung gültiges PKCS#1-v1.5-Padding erzeugt (etwa durch eine Fehlermeldung oder die Antwortzeit), kann ein Angreifer jeden RSA-verschlüsselten Wert mit ungefähr 1 Million Anfragen entschlüsseln.

Definition eines Orakels

Ein „Padding-Orakel“ ist jeder Seitenkanal, der zwischen „gültigem Padding“ und „ungültigem Padding“ unterscheidet. Schon ein winziger Zeitunterschied oder eine andere Fehlermeldung erzeugt ein ausnutzbares Orakel.

Ablauf des Angriffs

Der Angreifer multipliziert das Ziel-Chiffrat C mit s^e mod n und sendet das veränderte C×s^e. Antwortet der Server mit „gültiges Padding“, wurde s korrekt gewählt. Durch wiederholte Anwendung wird der mögliche Klartextbereich eingegrenzt, bis M wiederhergestellt ist.

DROWN-Angriff (2016)

DROWN nutzte Bleichenbachers Angriff über SSLv2 aus. Moderne TLS-Server, die einen Schlüssel mit einem beliebigen SSLv2-Server teilten, waren anfällig. RSA-Schlüsselaustausche moderner TLS-Verbindungen wurden entschlüsselt, indem SSLv2 als Orakel verwendet wurde. 33 % der HTTPS-Server waren betroffen.

ROBOT-Angriff (2017)

ROBOT (Return Of Bleichenbacher's Oracle Threat) entdeckte Timing-Orakel in 7 der 10 beliebtesten TLS-Implementierungen erneut, darunter Cisco, F5 und Radware. Bleichenbachers Angriff besteht fort, weil Implementierungen schwer korrekt umzusetzen sind.

RSA-Entschlüsselung in konstanter Zeit

Abwehrmaßnahmen: Führen Sie die Entschlüsselung immer vollständig aus, unabhängig davon, ob das Padding gültig ist, und geben Sie bei ungültigem Padding eine identische Antwort zurück. Verwenden Sie Code mit konstanter Laufzeit, um Zeitunterschiede zu verhindern. Das ist schwierig korrekt umzusetzen.

Warum OAEP v1.5 ersetzt hat

OAEP enthält einen Trapdoor-One-Way-Hash, der die IND-CCA2-Sicherheit (Sicherheit gegen Chosen-Ciphertext-Angriffe) beweist. Selbst bei einem Padding-Orakel sorgt die randomisierte Struktur von OAEP dafür, dass Orakelabfragen keine verwertbaren Informationen liefern.

Legacy-Systeme verwenden weiterhin v1.5

Obwohl OAEP existiert, wird PKCS#1 v1.5 weiterhin in älteren Zahlungssystemen, älteren Java-Anwendungen und bestimmten PKI-Implementierungen eingesetzt. TLS 1.3 hat den RSA-Schlüsselaustausch vollständig entfernt und damit diese Angriffsfläche beseitigt.

Kurzer Test

Was ist im Zusammenhang mit dem Bleichenbacher-Angriff ein „Padding-Orakel“?

Zusammenfassung

Bleichenbachers Angriff ist ein Meilenstein der praktischen Kryptoanalyse. Als Nächstes untersuchen wir OAEP – das nachweisbar sichere Padding, das v1.5 ersetzt.
Kostenlos starten

Lerne Cryptology Academy mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
67
Lektionen
261

Häufig gestellte Fragen

Ist die Lektion „PKCS#1-v1.5-Padding und Bleichenbacher“ kostenlos?

Ja — der vollständige Text von „PKCS#1-v1.5-Padding und Bleichenbacher“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „PKCS#1-v1.5-Padding und Bleichenbacher“?

Erklären Sie adaptive Chosen-Ciphertext-Angriffe auf PKCS#1 v1.5. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „PKCS#1-v1.5-Padding und Bleichenbacher“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Lehrbuch-RSA und warum es unsicher ist
  2. PKCS#1-v1.5-Padding und Bleichenbacher
  3. OAEP: Optimales asymmetrisches Verschlüsselungs-Padding
  4. RSA-PSS für digitale Signaturen
← Zurück zu Cryptology Academy