Cryptography Reference
In-Depth Information
Die Zufallsbytes und die ursprüngliche Nachricht sind frei wählbar. In man-
chen Einsatzszenarien kann Mallory dies dazu nutzen, für ihn vorteilhafte
Inhalte in den RSA-Klartext zu bringen. Auch das widerspricht dem Ziel,
Muster im Klartext zu vermeiden.
Um auch diese Schwächen zu beheben, führte Version 2 von PKCS#1 eine neue
Formatierung für die RSA-Verschlüsselung ein. Diese wird als OAEP-Kodierung
bezeichnet (die Abkürzung steht für »Optimal Asymmetric Encryption Padding«)
und spielt auch im P1363-Standard eine Rolle [P1363]. Im PKCS#1v2-Standard
wird empfohlen, zukünftig die OAEP-Kodierung zu implementieren, wobei eine
PKCS#1-konforme Implementierung aber nach wie vor auch die herkömmliche
Methode gemäß PKCS#1v1 unterstützen muss.
Die OAEP-Kodierung sieht vor, dass Alice ihre Zufallsbytes nicht einfach
zwischen das Erkennungszeichen und den Klartext schreibt. Stattdessen nimmt
sie die Zufallsbytes (im Normalfall 32 Bit) als Startwert für einen Pseudozufalls-
generator, der in der Regel mithilfe der ohnehin verwendeten kryptografischen
Hashfunktion realisiert wird. Auf diese Weise generiert sie eine Zufallsfolge, die
mit dem Klartext exklusiv-oder-verknüpft wird. Das Resultat wird maskierter
Klartext genannt, der Vorgang wird als Maskierung bezeichnet. Der Startwert für
den Zufallsgenerator wird dem maskierten Klartext vorangestellt. Dieser wird
jedoch selbst auch maskiert, wobei der maskierte Klartext den Startwert für den
Pseudozufallsgenerator bildet. Da Bob die Länge des maskierten Startwerts
kennt, kann er auf einfache Weise erst den Startwert und dann den Klartext wie-
derherstellen. An einem Erkennungszeichen erkennt er, dass es sich um einen gül-
tigen Klartext handelt.
Der Vorteil bei der OAEP-Kodierung liegt darin, dass Mallory (vorausgesetzt,
die verwendete kryptografische Hashfunktion ist sicher) kein einziges Bit des for-
matierten Klartexts direkt beeinflussen kann - die Datenformatierung ist in die-
sem Fall also ein Zufallsorakel. Daher enthält ein formatierter PKCS#1v2-Klar-
text auch keinerlei Muster, die Mallory weiterhelfen könnten. Trotzdem kann
Bob nach der Demaskierung anhand der Kodierung feststellen, ob es sich um
einen gültigen Klartext handelt.
19.4.3
Datenformatierung für RSA-Signaturen
Auch bei RSA-Signaturen kann sich Alice die Sache einfach machen, indem sie
den zu signierenden Text nimmt, darauf eine kryptografische Hashfunktion
anwendet und den Hashwert unverändert signiert. Natürlich ist es dabei sinnvoll,
wenn Alice an die Nachricht einige Zusatzinformationen (wie etwa die OID des
verwendeten Verfahrens) hängt, die mit in den Hashwert eingehen. Derartige
Zusätze sind beispielsweise in PKCS#7 standardisiert und sollen an dieser Stelle
nicht interessieren. Hier interessiert uns vielmehr, was Alice mit dem Hashwert
Search WWH ::




Custom Search