Integrität: Signatur mit Hash-Funktion
Arbeitsgrundlage: Krypto Skript 25 - Integrität.docx
Digitale Signatur mit Einweg-Hash-Funktion
Eigentlich gewährleistet die digitale Signatur aus dem vorigen Kapitel bereits die Integrität. In der Praxis wird sie aber nicht direkt auf die Nachricht selbst angewandt: RSA hat eine Eigenschaft (die Homomorphie), die das angreifbar macht. Außerdem wäre es viel zu aufwendig, eine lange Nachricht zweimal vollständig zu verschlüsseln.
Stattdessen wird mit einer Einweg-Hash-Funktion der digitale Fingerabdruck der Nachricht berechnet (auch Message Digest). Er hat drei Eigenschaften:
- Er ist leicht aus dem Dokument zu berechnen.
- Er lässt keinen Rückschluss auf die ursprüngliche Nachricht zu.
- Eine zweite Nachricht mit demselben Fingerabdruck lässt sich nur mit sehr hohem Aufwand erzeugen.
Aufgabe 1: Ein Hash zum Selberrechnen
Eine einfache Möglichkeit, einen Hash zu erzeugen: Ersetze jeden Buchstaben durch seine Position im Alphabet und addiere die Zahlen. Bilde damit den Hash der Nachricht „Guten Tag“.
| A | B | C | D | E | F | G | H | I | J | K | L | M |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
Das Hash-Werkzeug
Links die Buchstabensumme aus Aufgabe 1, rechts daneben derselbe Text durch die echte Hash-Funktion SHA-256. Im zweiten Feld kannst du eine zweite Nachricht zum Vergleich eintragen.
- Buchstabensumme
- –
- SHA-256
- –
Buchstaben einzeln ansehen
- Buchstabensumme
- –
- SHA-256
- –
Buchstaben einzeln ansehen
Die Buchstabensumme zählt nur A bis Z und unterscheidet keine Groß- und Kleinschreibung. SHA-256 rechnet dagegen mit jedem einzelnen Byte – auch mit Leerzeichen, Satzzeichen und Umlauten.
Aufgabe 2: Notieren Sie mit dem Werkzeug die SHA-256-Hashes von „Cusanus“, „Informatik“, „Informatik macht Spaß“ und „Informatik macht Spaß!“. Was fällt Ihnen an den Hash-Werten auf?
Aufgabe 3: Das Verfahren
In der folgenden Abbildung wird nicht die Nachricht signiert, sondern nur ihr Fingerabdruck. Die Nachricht selbst geht unverschlüsselt mit.
Das Verfahren zum Durchklicken – mit und ohne Mallory
Hier wird wirklich gerechnet: Der SHA-256-Fingerabdruck deiner Nachricht wird gebildet, auf eine Zahl unter N gekürzt und mit Alices privatem Schlüssel signiert. Lass Mallory die Nachricht unterwegs ändern und sieh nach, was bei Bob passiert.
Aufgabe 3: Beschreiben Sie das abgebildete Verfahren. Gehen Sie darauf ein, woran der Empfänger eine Manipulation bemerken würde.
Aufgabe 4: In Aufgabe 3 werden nur Integrität und Authentizität sichergestellt, nicht aber die Vertraulichkeit. Erweitern Sie das Verfahren, sodass zusätzlich die Vertraulichkeit gewährleistet ist.
Aufgabe 5: Erzeugen Sie eine sinnvolle(!) Nachricht, die denselben „Hash“ wie in Aufgabe 1 besitzt. Schaffen Sie das auch mit der echten Hash-Funktion des Werkzeugs? Begründen Sie.
Merke
Eine Einweg-Hash-Funktion macht aus einer beliebig langen Nachricht einen kurzen Fingerabdruck fester Länge. Signiert wird nur dieser Fingerabdruck. Das ist schnell, und es schützt zugleich die Integrität: Jede Änderung an der Nachricht ändert den Fingerabdruck und fällt damit auf.
Im Durchklick-Beispiel wird der 256-Bit-Fingerabdruck auf eine Zahl kleiner als unser winziges N gekürzt – sonst ließe er sich nicht signieren. Bei echten Schlüsseln mit mehreren hundert Stellen passt der ganze Fingerabdruck hinein.