13.07.2015 Aufrufe

Digitale Signaturen - Tibor Jager

Digitale Signaturen - Tibor Jager

Digitale Signaturen - Tibor Jager

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4. Zum Schluss prüft Vfy, ob die auf den ASN.1-String folgenden l H Bytes identisch zum Hashwertder Nachricht ist. Falls ja, so wird die Signatur akzeptiert.Dieser Algorithmus, der recht natürlich ist, hat den folgenden Fehler. Es wird nicht geprüft, obnach dem Hashwert noch weitere Daten stehen. Bei einer Signatur die über einen korrekt gepaddetenHashwert gebildet wurde dürften dort keine weiteren Daten stehen. Der Algorithmus überprüft diesjedoch nicht. Eine Signatur wird also auch dann akzeptiert, wenn σ 3 mod N die Formσ 3 mod N = 0x00||0x01||0xFF|| . . . ||0xFF||0x00||ASN.1||H(m)||Anhanghat, wobei Anhang ein beliebiger Wert ist.Der Angriff. Die Tatsache, dass die Bits Anhang am Ende von σ 3 mod N ignoriert werden, gibt demAngreifer die Freiheit dort einen beliebigen Wert anzugeben. Die Idee von Bleichenbacher ist, den WertAnhang so zu wählen, dass˜M = 0x00||0x01||0xFF|| . . . ||0xFF||0x00||ASN.1||H(m)||Anhangeine dritte Wurzel in Z hat. Falls dies gelingt, so kann man einfach σ als die dritte Wurzel von ˜M in Zberechnen – ohne „Modulo-Reduktion“.Beispiel 111. Betrachten wir einen RSA-Modulus N der Länge 3072-Bit, und nehmen wir an dass dieHashfunktion SHA-1 benutzt wird. 7 Um eine beliebige Nachricht m zu signieren geht der Angreifer wiefolgt vor:1. Der Angreifer berechnetD := 0x00||ASN.1||H(m) und ν := 2 288 − D.Falls ν nicht durch 3 teilbar ist, so ändert der Angreifer die Nachricht m ein wenig ab, so langebis ν ein Vielfaches von 3 ist.2. Dann berechnet der Angreifer den Wertund gibt diesen Wert als Signatur für m aus.σ := 2 1019 − ν 3 · 234 ,Um zu zeigen, dass diese Signatur vom oben beschriebenen Verifikationsalgorithmus akzeptiertwird, müssen wir zeigen dass σ 3 ≡ ( 2 1019 − ν 3 · 234) 3 mod N die Form(2 1019 − ν 3 · 234) 3= 0x00||0x01||0xFF|| . . . ||0xFF||0x00||ASN.1||H(m)||Anhanghat, für einen beliebigen String Anhang.Durch Anwendung der Formel (A − B) 3 = A 3 − 3A 2 B + 3AB 2 − B 3 erhalten wir(2 1019 − ν 3 · 234) 3= 2 3057 − ν · 2 2072 + (ν 2 /3 · 2 1087 ) − (ν 3 /27 · 2 102 )= 2 3057 + (D − 2 288 ) · 2 2072 + (ν 2 /3 · 2 1087 ) − (ν 3 /27 · 2 102 )= 2 3057 − 2 288 · 2 2072 + D · 2 2072 + (ν 2 /3 · 2 1087 ) − (ν 3 /27 · 2 102 )= 2 3057 − 2 2360 + D · 2 2072 + (ν 2 /3 · 2 1087 ) − (ν 3 /27 · 2 102 )7 In diesem Falle gibt es ein besonders einfaches Beispiel aus [Fin06].89

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!