Zum Inhalt

47-Tage-Zertifikate sind im Anmarsch. Sind Sie bereit?

Jetzt handeln →

RSA-Padding erklärt: PKCS#1 v1.5 vs. OAEP vs. PSS

CBOM

Wer mit Sicherheitssystemen, APIs oder kryptografischen Bibliotheken arbeitet, ist wahrscheinlich schon einmal auf RSA-Verschlüsselung gestoßen . RSA ist einer der weltweit am häufigsten verwendeten Public-Key-Verschlüsselungsalgorithmen. Er bildet die Grundlage für TLS-Verbindungen, digitale Signaturen, zertifikatsbasierte Authentifizierung und sicheren Schlüsselaustausch in nahezu allen Branchen. Doch eines wird oft nicht ausreichend erklärt: RSA allein ist nicht sicher. Es benötigt zusätzliche Sicherheitsmaßnahmen (Padding).

Padding ist der Schlüssel zur praktischen Sicherheit von RSA-Verschlüsselung und digitalen Signaturen. Ohne Padding können Angreifer vorhersehbare Muster in den verschlüsselten Daten ausnutzen. Unverschlüsseltes RSA ist deterministisch, d. h. dieselbe Eingabe erzeugt immer dieselbe Ausgabe. Diese Vorhersagbarkeit ermöglicht es Angreifern, ausnutzbare Muster zu erzeugen, die sie seit Jahrzehnten zu missbrauchen wissen. Padding-Verfahren durchbrechen diese Vorhersagbarkeit, indem sie vor der Verschlüsselung oder Signierung der Daten Zufälligkeit und Struktur hinzufügen.

Es gibt drei gängige RSA-Padding-Verfahren: PKCS#1 v1.5, OAEP und PSS. Jedes wurde für einen bestimmten Zweck entwickelt und weist ein sehr unterschiedliches Sicherheitsprofil auf. Die Verwendung des falschen oder eines veralteten Verfahrens in einem neuen System ist kein geringfügiges Konfigurationsproblem, sondern eine Sicherheitslücke. Dieser Blog erklärt die Funktionsweise der einzelnen Verfahren, ihre jeweiligen Anwendungsbereiche und die notwendigen Maßnahmen für Ihr Unternehmen.

Was ist RSA-Polsterung und warum ist sie notwendig?

Bei der VerschlĂĽsselung von Daten mit reinem RSA erzeugt dieselbe Nachricht stets denselben Geheimtext . Diese Vorhersagbarkeit stellt ein gravierendes Problem dar. Ein Angreifer, der den verschlĂĽsselten Datenverkehr ĂĽberwacht, kann Muster erkennen und diese nutzen, um Informationen zu erlangen, die er nicht wissen sollte.

Padding behebt dieses Problem, indem es der Nachricht vor der Verschlüsselung Struktur, Zufälligkeit und Integritätsprüfungen hinzufügt. Dadurch ist jedes Verschlüsselungsergebnis unterschiedlich, selbst bei identischer Eingabe. Padding kann man sich als Schutzschicht vorstellen, die RSA benötigt, um sicher eingesetzt werden zu können.

Padding ist unerlässlich. Die Verwendung von RSA ohne Padding in einem Produktivsystem stellt eine kritische Sicherheitslücke dar. In der Praxis werden hauptsächlich drei RSA-Padding-Verfahren eingesetzt: PKCS#1 v1.5 , OAEP und PSS . Jedes dieser Verfahren wurde für einen spezifischen Zweck entwickelt und weist ein eigenes Sicherheitsprofil auf.

PKCS#1 v1.5 verstehen: Funktionsweise und Grenzen

PKCS#1 v1.5 wurde 1993 eingeführt und war viele Jahre lang das Standard-RSA-Padding-Verfahren. Es findet sich noch immer in zahlreichen Legacy-Systemen, TLS-Implementierungen und älterer Unternehmenssoftware. Bei der Prüfung oder Wartung älterer Infrastrukturen werden Sie wahrscheinlich darauf stoßen.

Für die Verschlüsselung formatiert PKCS#1 v1.5 die Nachricht vor der eigentlichen Verschlüsselung. Sie beginnt mit einer festen Bytefolge, gefolgt von zufälligen Bytes ungleich null, einem Nullbyte und schließlich der eigentlichen Nachricht. Die zufälligen Bytes sorgen dafür, dass sich jeder Chiffretext unterscheidet, und die Struktur ermöglicht es dem Empfänger, die Füllbytes nach der Entschlüsselung zu finden und zu entfernen. Für digitale Signaturen verwendet das Format ein anderes Bytemuster und enthält einen Hash-Identifikator.

Das Problem besteht darin, dass der Forscher Daniel Bleichenbacher 1998 den sogenannten Bleichenbacher-Angriff entdeckte. Dieser Angriff funktioniert, indem eine große Anzahl speziell präparierter Chiffretexte an einen Server gesendet und auf eine bestimmte Antwort gewartet wird: ob die Padding-Daten gültig waren oder nicht. Mithilfe dieser Antwort kann ein Angreifer schließlich eine Nachricht entschlüsseln, ohne jemals den privaten Schlüssel zu besitzen.

Besonders besorgniserregend ist, dass der Angriff auch heute noch funktioniert. Eine Studie aus dem Jahr 2017 mit dem Namen ROBOT (Return of Bleichenbacher's Oracle Threat) ergab, dass Produkte fĂĽhrender Anbieter wie F5, Citrix und Palo Alto Networks fast zwei Jahrzehnte nach der ursprĂĽnglichen Entdeckung immer noch SicherheitslĂĽcken aufwiesen.

Einschränkungen von PKCS#1 v1.5:

  • Anfällig fĂĽr Bleichenbacher-Padding-Oracle-Angriffe
  • Seine Struktur erzeugt Fehlersignale, die Angreifer ausnutzen können.
  • Es gibt keinen formalen Sicherheitsnachweis gegen moderne Angriffsmodelle.
  • Sollte in keiner neuen VerschlĂĽsselungsimplementierung verwendet werden.

PQC-Beratungsdienste

Erreichen Sie die Post-Quanten-Bereitschaft mit einer von Experten geleiteten kryptografischen Bewertung, einer Migrationsstrategie und einer praktischen Implementierung gemäß den NIST-Standards.

OAEP erklärt: Der moderne Standard für RSA-Verschlüsselung

OAEP (Optimal Asymmetric Encryption Padding) wurde 1994 eingefĂĽhrt und ist heute Bestandteil von PKCS#1 v2.0. Es gilt als empfohlene Methode fĂĽr die RSA-VerschlĂĽsselung. Im Gegensatz zu PKCS#1 v1.5 verfĂĽgt OAEP ĂĽber einen formalen Sicherheitsbeweis, d. h. seine Sicherheit ist mathematisch mit der Schwierigkeit der RSA-VerschlĂĽsselung selbst verknĂĽpft.

OAEP verwendet eine Maskengenerierungsfunktion (MGF) basierend auf einem kryptografischen Hash, üblicherweise SHA-256, um vor der Verschlüsselung einen Zufallswert in die Nachricht einzufügen. Dieses Verfahren ist gründlicher als das bloße Hinzufügen von Zufallsbytes am Anfang. Die Zufälligkeit ist tief in die Struktur des aufgefüllten Blocks integriert. Mit OAEP führt die Änderung eines einzigen Bits im Chiffretext zu einem völlig unvorhersehbaren Ergebnis bei der Entschlüsselung. Dadurch werden die strukturierten Fehlersignale beseitigt, auf denen der Bleichenbacher-Angriff beruht.

In der Praxis sollten Sie bei der Konfiguration eines HSM , der Festlegung einer TLS-Richtlinie oder der ĂśberprĂĽfung einer kryptografischen Bibliothek sicherstellen, dass RSA-VerschlĂĽsselungsoperationen OAEP mit einem sicheren Hash-Algorithmus verwenden. Falls in einem neuen System noch PKCS#1 v1.5 fĂĽr die VerschlĂĽsselung angegeben ist, sollten Sie dies umgehend vermerken.

Warum OAEP die richtige Wahl fĂĽr die VerschlĂĽsselung ist:

  • Im Rahmen des Random-Oracle-Modells als sicher erwiesen
  • Eliminiert die bei Bleichenbacher-Angriffen verwendeten Fehlerkanäle
  • Erzeugt jedes Mal einen anderen Chiffretext, selbst bei gleicher Eingabe.
  • Wird von allen modernen kryptografischen Bibliotheken unterstĂĽtzt
  • Gemäß den NIST-Richtlinien fĂĽr die RSA-VerschlĂĽsselung erforderlich.

PSS erklärt: Sichere Padding-Daten für digitale RSA-Signaturen

PSS steht für Probabilistic Signature Scheme und wurde speziell für digitale RSA-Signaturen entwickelt. Es arbeitet mit OAEP zusammen, dient aber einem anderen Zweck. Während OAEP die Verschlüsselung übernimmt, ist PSS für die Signatur zuständig. Beide verfolgen einen ähnlichen Designansatz: Sicherheit sollte formal beweisbar und nicht nur vorausgesetzt werden.

Ein Punkt, der oft zu Verwirrung fĂĽhrt: PKCS#1 v1.5 wurde sowohl fĂĽr VerschlĂĽsselung als auch fĂĽr Signaturen verwendet. PSS ist ein dediziertes Signaturverfahren. Man verwendet PSS nicht fĂĽr VerschlĂĽsselung, genauso wenig wie OAEP fĂĽr Signaturen. Jedes Verfahren hat seinen Anwendungsbereich.

Beim Signieren mit PSS generiert das Verfahren ein zufälliges Salt und berechnet dessen Hashwert zusammen mit dem Message Digest. Das Ergebnis wird anschließend mithilfe einer Maskierungsfunktion kodiert. Der Verifizierer ermittelt das Salt, berechnet den Hashwert neu und prüft, ob alles übereinstimmt. Zwei Signaturen für dieselbe Nachricht sehen zwar unterschiedlich aus, lassen sich aber beide korrekt verifizieren.

Das Brechen von PSS ist mathematisch gleichbedeutend mit dem Brechen von RSA selbst. PKCS#1 v1.5-Signaturen können dies nicht von sich behaupten. Für Organisationen, die auf FIPS 186-5 hinarbeiten oder unter den Rahmenwerken von SOC 2 oder ISO 27001 arbeiten, ist PSS das empfohlene oder vorgeschriebene Verfahren.

Wann sollte PSS verwendet werden?

  • Jede neue Implementierung, die digitale RSA-Signaturen erfordert
  • CodesignaturArbeitsabläufe fĂĽr die Zertifikatsausstellung und die Dokumentenintegrität
  • Einhaltung von FIPS 186-5 oder NIST SP 800-131A
  • Ersetzen veralteter PKCS#1 v1.5-Signaturverfahren in bestehenden Systemen

PKCS#1 v1.5 vs. OAEP vs. PSS: Wichtigste Unterschiede und optimale Anwendungsfälle

Hier folgt ein direkter Vergleich aller drei Systeme.

PKCS#1 v1.5 wurde zwar für Verschlüsselung und Signaturen entwickelt, birgt aber heutzutage erhebliche Sicherheitsrisiken. Sein Sicherheitsniveau ist nach heutigen Maßstäben schwach, es verwendet nur minimale Zufälligkeit und ist hochgradig anfällig für den Bleichenbacher-Angriff. Es sollte nur in Systemen beibehalten werden, in denen ein Austausch noch nicht möglich ist, und selbst dann sollte eine Migration geplant werden.

OAEP wurde speziell für Verschlüsselung entwickelt. Es ist der moderne, sichere Standard, der durch formale Beweise gestützt und weltweit unterstützt wird. Durch einen Seed wird echte Zufälligkeit erzeugt, wodurch die Angriffsfläche von PKCS#1 v1.5 eliminiert wird. Alle neuen RSA-Verschlüsselungen sollten OAEP verwenden.

PSS wurde speziell fĂĽr digitale Signaturen entwickelt. Wie OAEP nutzt es Zufallszahlen mithilfe eines Salt-Werts und verfĂĽgt ĂĽber einen strengen Sicherheitsnachweis, der direkt mit RSA verknĂĽpft ist. Es ist die optimale Wahl fĂĽr jede neue RSA-Signatur-Implementierung und wird von mehreren wichtigen Compliance-Rahmenwerken gefordert.

Die Schlussfolgerung ist eindeutig: PKCS#1 v1.5 sollte in keinem neuen kryptografischen Design mehr verwendet werden. Nutzen Sie OAEP für die RSA-Verschlüsselung und PSS für digitale RSA-Signaturen. Dies ist keine Frage der Präferenz, sondern spiegelt den aktuellen Stand der kryptografischen Forschung und regulatorischen Vorgaben wider.

Für viele Organisationen mit heterogenen IT-Umgebungen besteht die größere Herausforderung darin, die Verwendung dieser Systeme aufzudecken, nicht sie zu beheben. Man kann ein Problem nicht lösen, das man nicht gefunden hat. Kryptografische Agilitätsanalysen und PKI-Integritätsprüfungen sind die zuverlässigsten Methoden, um diese Probleme zu erkennen, bevor sie zu Sicherheitsvorfällen führen.

CBOM Secure

Erhalten Sie vollständige Transparenz durch kontinuierliche kryptografische Erkennung, automatisierte Inventarisierung und datengesteuerte PQC-Sanierung.

Wie VerschlĂĽsselungsberatung helfen kann

Es ist klar, dass PKCS#1 v1.5 ersetzt werden sollte. Doch die Suche nach allen Stellen, an denen es in der eigenen Umgebung verwendet wird, stellt eine ganz andere Herausforderung dar. Die meisten Unternehmen mit heterogener Infrastruktur verwenden RSA-Padding-Verfahren über verschiedene kryptografische Bibliotheken, APIs, HSMs, TLS-Konfigurationen und ältere Anwendungen verteilt – und es fehlt der Überblick darüber, wo genau diese Verfahren zum Einsatz kommen. Genau dieses Problem löst CBOM Secure.

CBOM Secure ist die Lösung von Encryption Consulting zur Erkennung und Inventarisierung kryptografischer Ressourcen. Sie durchsucht kontinuierlich Ihren Code, Ihre Cloud-Umgebungen und HSMs, um alle verwendeten kryptografischen Assets aufzudecken, einschließlich der zugrunde liegenden Algorithmen, Padding-Verfahren und Schlüsselkonfigurationen. Wird PKCS#1 v1.5 in Ihrer Umgebung verwendet, findet CBOM Secure es.

Folgendes wird im Kontext der Themen dieses Blogs behandelt:

Kryptografische Erkennung in Code und Infrastruktur: CBOM Secure identifiziert die RSA-Nutzung in Ihrer Umgebung und ordnet die Padding-Schemata den einzelnen Implementierungen zu, sodass Sie genau wissen, wo OAEP und PSS veraltete Konfigurationen ersetzen mĂĽssen.

Quantum Risk Scoring: Über Padding-Verfahren hinaus bewertet es Ihre kryptografische Sicherheitslage im Hinblick auf das Quantenrisiko und hilft Ihnen so, Prioritäten für die Maßnahmen zu setzen, die auf der Grundlage tatsächlicher Risiken und nicht auf Vermutungen angegangen werden sollten.

Compliance-Abgleich: CBOM Secure gleicht Ihr kryptografisches Inventar mit Frameworks wie FIPS, CMMC und PCI DSS ab und deckt Konfigurationen auf, die nicht den Compliance-Anforderungen entsprechen, einschlieĂźlich veralteter Padding-Schemata, die unter NIST SP 800-131A gekennzeichnet sind.

Unterstützung für kryptografische Agilität: Sobald Sie wissen, was sich in Ihrer Umgebung befindet, bietet Ihnen CBOM Secure die notwendige Grundlage für eine methodische Migrationsplanung – genau das, was für den Aufbau kryptografischer Agilität erforderlich ist.

Für Organisationen, die den Bedarf an einer Überprüfung und Modernisierung ihrer RSA-Implementierungen erkannt haben, ist CBOM Secure der Ausgangspunkt, der die restlichen Arbeiten erst möglich macht.

Fazit

RSA-Padding-Verfahren mögen auf den ersten Blick ein Nischenthema sein, doch sie sind zentral für die Funktionsweise der Public-Key-Kryptographie in realen Systemen. Ihre korrekte Anwendung ist unerlässlich. Die Wahl von PKCS#1 v1.5 für eine neue Verschlüsselungsimplementierung ist kein geringfügiger Fehler; sie öffnet Tür und Tor für eine Klasse von Angriffen, die seit über zwei Jahrzehnten bekannt sind und aktiv ausgenutzt werden.

Der Weg ist einfach: Verwenden Sie OAEP für die RSA-Verschlüsselung und PSS für digitale RSA-Signaturen. Überprüfen Sie Ihre bestehenden Systeme auf PKCS#1 v1.5. Integrieren Sie kryptografische Flexibilität, damit zukünftige Migrationen nicht von Grund auf neu durchgeführt werden müssen.