Cryptography Reference
In-Depth Information
PKCS-hash( x ) berechnet und dieser wird dann gemäß dem RSA-Signierschema signiert.
Der Hashwert PKCS-hash( x ) , dargestellt in hexadezimaler Schreibweise, ist dabei wie
folgt definiert:
PKCS-hash( x )= x 00 · 0 x 01 · (0 x FF) l
· 0 x 00 · ID-SHA-256 · SHA-256( x )
ID-SHA-256 = x 30
·
0 x 31
·
0 x 30
·
0 x 0D ·
0 x 06
·
0 x 09
·
0 x 60
·
0 x 86
·
0 x 48
·
0 x 01
·
0 x 65 · 0 x 03 · 0 x 04 · 0 x 02 · 0 x 01 · 0 x 05 · 0 x 00 · 0 x 04 · 0 x 20
l = 4 ,
wobei (0 x FF) l für die l -fache Konkatenation von 0 x FF steht. Für SHA-1, zum Beispiel,
würde eine andere (kürzere) Identifikationsnummer verwendet werden und auch der Hash-
wert selbst ist kürzer, nämlich 160 statt 256 Bits. Entsprechend würde l größer sein.
Bisher gilt dieses Signierschema als sicher, zumindest wurde kein schwerwiegender An-
griff gefunden, wenn man die Hashfunktion als kollisionsresistent voraussetzt (siehe auch
Abschnitt 10.8). Deutlich besser wäre natürlich ein Sicherheitsbeweis, den es aber bisher
leider nicht gibt. Ein wesentliches Problem ist, dass die Menge der möglichen PKCS-
Hashwerte den Definitionsbereich der RSA-Signierfunktion bei weitem nicht ausschöpft.
Sie umfasst nur einen winzigen Bruchteil: Das Verhältnis ist
2 256 / 2 1023 =1 / 2 767 .(Man
beachte, dass 2 1023 ≤ n< 2 1024 gilt.) Von »full domain« kann also keine Rede sein, so
dass die RSA-Annahme nicht direkt greift.
Aufgrund des mangelnden Sicherheitsheitsbeweises enthält der neue PKCS#1-Stan-
dard, PKCS#1 v2.1, ein weiteres Signierschema, mit der Empfehlung verstärkt dieses
neue Schema zu verwenden. Das neue Schema, mit der Bezeichnung RSA-PSS ( Proba-
bilistic Signature Scheme/Standard ), basiert auf einem von Mihir Bellare und Phillip
Rogaway vorgeschlagenen Signierschema. Wie der Name vermuten lässt, handelt es sich
dabei um ein zufallsgesteuertes Signierverfahren, bei dem verschiedene Hashoperationen
durchgeführt werden und ein zufällig gewählter Bitvektor in die Signatur einfließt. Der
entscheidende Vorteil dieses Verfahrens ist, dass man es, ähnlich wie FDH-RSA, im ROM
(siehe Abschnitt 10.4.1) und unter der RSA-Annahme als sicher nachweisen kann. Die
Reduktion auf die RSA-Annahme gelingt hier sogar deutlich besser als im Fall von FDH-
RSA (vgl. Satz 10.4.1): Während das Verhältnis des Ressourcenverbrauchs von Invertierer
und Fälscher ähnlich ist wie im Fall von FDH-RSA, kann der Vorteil des Fälschers für
RSA-PSS deutlich besser durch den Vorteil des Invertierers für RSA nach oben abge-
schätzt werden als im Fall von FDH-RSA. Es sei, wie auch an anderer Stelle, betont,
dass eine »enge Reduktion« ( tight reduction ) wichtig ist, um möglichst wenig Sicherheit
beim Übergang von einem kryptographischen Primitiv zum anderen zu verlieren. Im kon-
kreten Fall gilt: Nimmt man an, dass RSA als Einwegfunktion mit Hintertür bzgl. einer
gewissen Modulgröße sicher ist, dann bietet RSA-PSS unter Verwendung einer ähnlichen
Modulgröße ein ähnliches Maß an Sicherheit.
10.5.2 DSA
Neben den in PKCS#1 definierten Signierschemen ist der Digital Signature Algorithm
(DSA) , welcher 1991 vorgeschlagen und 1994 vom US National Institute of Standards and
Technology (NIST) zum Standard, Digital Signature Standard (DSS) , erhoben wurde, ein
weiteres, in der Praxis weitverbreitetes Signierschema.
Search WWH ::




Custom Search