Benutzer:Bananenfalter/GMR (Signaturverfahren)

aus Wikipedia, der freien Enzyklopädie
< Benutzer:Bananenfalter
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 11. August 2010 um 08:18 Uhr durch imported>Bananenfalter(599085).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Weblinks

Alter Artikel

GMR ist ein digitales Signaturverfahren, das nach seinen Erfindern Shafi Goldwasser, Silvio Micali und Ronald L. Rivest benannt ist.

Wie auch RSA beruht GMR auf der Faktorisierungsannahme, dass es bijektive Funktionen gibt, die schnell zu berechnen sind, bei denen die Berechnung der Umkehrfunktion jedoch sehr aufwändig ist.
Im Gegensatz zu RSA lässt sich für GMR jedoch beweisen, dass es selbst bei einem adaptiven aktiven Angriff nicht möglich ist, auch nur eine neue Signatur zu fälschen.

Das Verfahren im Einzelnen

Man benötigt ein kollisionsresistentes Permutationspaar mit Geheimnis mit dem Definitionsbereich . Der Besitzer des Geheimnisses kann die Umkehrfunktionen und leicht berechnen. Für alle anderen ist das schwer.

Um eine einzige Nachricht zu signieren muss der Sender eine Referenz aus zufällig wählen und authentisch veröffentlichen. Um eine n bit lange Nachricht zu signieren berechnet er die Signatur . Der Empfänger kann die Umkehrfunktion davon berechnen und das Ergebnis mit der Referenz vergleichen.

Offensichtlich besteht das Problem darin, für jede Nachricht eine neue Referenz zu veröffentlichen. Dies wird mit Referenzbäumen realisiert.


Notizen

http://www.infosec.pku.edu.cn/course/2004/GMR84.pdf – Originalpaper http://www.semper.org/sirene/publ/FoPf_91GMR.VIS91.ps.gz

Permutationspaar:

  • Verifizieren beginnend mit MSB
  • einfach zu berechnen

Umkehrpermutation:

  • Signieren beginnend mit LSB
  • Wurzelziehen mod n ist schwer, Berechnung nur mittels Kenntnis von p, q prim mit n = p · q

Probleme:

  • Jedes Zwischenergebnis ist die korrekte Signatur der bis dahin verkürzten Nachricht. → präfixfreie Nachricht
  • Einmalreferenzen müssen authentisch sein. → Referenzenbaum

Handbook of Cryptography, S.468 ff.

  • GMR ist Einmal-Signatur-Schema → durch Erweiterung mit Referenzbaum kann man mehrere Nachrichten signieren
  • eher theoretischer Natur, aber trotzdem praktisch umsetzbar → Sirene: Fox/Pfitzmann
  • kollisionsfreie Permutation: es ist praktisch unmöglich ein Paar x,y \in D, x \neq y zu finden, für welches f_0(x) = f_1(y)
  • Einwegpermutation mit Falltür: unter Kenntnis einer Zusatzinformation (hier p, q) ist es effizient möglich f_0^{-1} und f_1^{-1} zu bestimmen.
  • Wenn ein Angreifer die Umkehrpermutation berechnen könnte, dann wäre es leicht eine Kollision zu finden: wähle x, berechne z = f_0(x) und y = f_1^{-1}(z), dann ist f_0(x) = f_1(y).
  • Wahl von p und q: p \equiv 3 \pmod 4 und q \equiv 7 \pmod 8 – notwendig, da sonst nicht gewährleistet ist, dass die Permutation kollisionsresistent ist (siehe Beweis) → Sicherheit kann auf Faktorisierungsannahme zurückgeführt werden

Parameter:

… zufällig gewählter Verifikationsparameter (Referenz, eine binäre Zeichenkette)
… öffentlicher Verifikationsschlüssel
… privater Signierschlüssel

Eine binäre Zeichenkette kann mit dem Verifikationsparameter signiert werden. Man beachte dabei die umgekehrte Reihenfolge, in der die einzelnen Zeichen bearbeitet werden:

Der Signierer sendet Nachricht und Signatur an den Empfänger. Dieser kann nun die Signatur überprüfen:

Ist die berechnete Referenz gleich dem Verifikationsparameter , so kann davon ausgegangen werden, dass die Nachricht vom Besitzer des privaten Schlüssels signiert und seit dem nicht verändert wurde. Die Authentizität des Signierers muss auf andere Weise sichergestellt werden, zum Beispiel indem öffentliche Schlüssel zertifiziert werden.

Der Verifikationsparameter sollte erst mit der Nachricht veröffentlicht werden, da es für einen Angreifer sonst über einen längeren Zeitraum mit entsprechend hohem Rechenaufwand möglich sein könnte, eine Kollision und somit eine andere Nachricht zu finden, welche bei gleichem Verifikationsparameter die gleiche Signatur erzeugt. [Quelle!?]


Referenzbaum

  • authentication trees
  • öffentlicher Binärbaum mit Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 2^k} Blattknoten
  • (vorerst) nicht-öffentliche Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 2^k} zufällige Referenzen Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle R_i}

Erstellen eines Referenzbaumes:

  1. Wähle zufällige Wurzelreferenz Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r} und weitere Referenzen Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_0} und Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_1} .
  2. Erstelle mittels GMR Signatur für Verkettung von Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_0} und Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_1} mit dem Verifikationsparameter Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r} : Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle sig_r(r_0|r_1)}
  3. Wähle zufällige Referenzen Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_{00}} und Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_{01}} . Signiere diese mit dem Verifikationsparameter Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_0} : Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle sig_{r_0}(r_{00}|r_{01})}
  4. Und so weiter: Dies kann für jeden Ast beliebig oft wiederholt werden. Immer werden zwei neue zufällig gewählte Referenzen Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_{j0}, r_{j1}} mit der übergeordneten Referenz Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r_j} signiert. Um Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 2^k} Blattknoten zu erhalten muss der Binärbaum Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle k} Ebenen haben.

Es muss mindestens die Wurzelreferenz öffentlich bekannt sein. Neue Äste können bei Bedarf erstellt werden. Soll eine Nachricht signiert werden, dann wählt man eine der noch nicht veröffentlichten Referenzen Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle R_i} . Diese wird mit einem noch nicht verwendeten Blattknoten als Verifikationsparamter signiert: Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle sig_{R_i}(r_i)} . Um eine Signatur zu überprüfen benötigt der Verifizierer immer mindestens die Referenzen und deren Signaturen des gesamten Astes vom Wurzelknoten bis zum entsprechenden Blattknoten sowie den Verifikationsparameter für die Nachricht Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle R_i} und dessen Signatur Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle sig_{R_i}(r_i)} . Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle R_i} und dessen Signatur werden, wie im Fall ohne Referenzbäume immer erst mit der Nachricht veröffentlicht.

→ Beispiel

Referenzbaum…
Referenzbaum…