Digitale Signaturen
🎯 Um was geht es?
Alice 👧 möchte Bob 🧔 eine Nachricht zukommen lassen, aber so, dass Bob sicher sein kann, dass die Nachricht 1:1 von Alice stammt. Bob soll überprüfen können, ob die Nachricht von einer anderen Person geschickt wurde, welche sich als Alice ausgibt. Und er soll auch überprüfen können, ob eine andere Person die originale Nachricht von Alice abgefangen und abgeändert hat. Beides kann mit einer Digitale_Signatur erreicht werden.
- digitale Signatur
Beim digitalen Signieren geht es nciht darum, die Nachricht zu verschlüsseln. Es geht um die Authentifizierung der herausgebenden Person (z.B. Alice) und um die Integritätsprüfung der Nachricht (wurde es verändert)?
Um die Integrität prüfen zu können, wird ein Fingerabdruck der Nachricht erstellt. Dazu werden spezielle Verfahren verwendet, die man Hash-Funktionen nennt. Diese Funktionen berechnen eine kurze charakteristische (hexadezimale) Zahl - dem Hash aus der Nachricht. Aus dem Hash heraus können die Original-Daten nicht wieder hergestellt werden. Jede Änderung der Nachricht führt zu einem anderen Hash.
Um die herausgebende Person authentifizieren zu können, wird der Hash mit dem privaten Schlüssel der herausgebenden Person verschlüsselt, sodass der Hash nur mit dem öffentlichen Schlüssel der herausgebenden Person entschlüsselt werden kann.
Ablauf
Alice erzeugt ein Schlüsselpaar (privater und öffentlicher Schlüssel) und publiziert den öffentlichen Schlüssel zum Entschlüsseln.
Alice berechnet den Hash ihrer Nachricht.
Alice verschlüsselt den Hash mit ihrem privaten Schlüssel.
Alice schickt ihre Nachricht sowie den verschlüsselten Hash an Bob.
Bob berechnet selber den Hash der Nachricht, welche er von Alice erhalten hat.
Bob entschlüsselt auch den verschlüsselten Hash von Alice mit dem öffentlichen Schlüssel von Alice.
Bob vergleicht die beiden Hash. Wenn diese übereinstimmen, dann war die Authentifizierung und Integritätsprüfung erfolgreich.
Auftrag
Wieso kann Bob davon ausgehen, dass wenn die beiden Hashwerte gleich sind, die Nachricht von Alice gekommen sein muss und die Nachricht nicht verändert worden ist?
2. Man in the Middle Attack
Die Frage, die sich nun stellt ist Folgende:
Bis jetzt sind wir immer davon ausgegangen, dass es sicher ist, wenn man den öffentlichen Schlüssel einfach teilt. Ist es das aber?
Auftrag
Stell Dir vor, Alice schickt Bob ihren öffentlichen Schlüssel per Post.
Was könnte der böse Hacker Mallory anstellen, um Alice und Bob zu überlisten?
Mallory könnte den Schlüssel von Alice abfangen und seinen eigenne Schlüssel an Bob weiterleiten.
Da der öffentliche Schlüssel nur aus Zahlen besteht, ist es für Bob nicht erkennbar, ob er den richtigen Schlüssel erhalten hat.
Auftrag
Wie könnte man eine Man-In-The-Middle-Attacke verhindern? Kann man irgendwie dafür sorgen, dass die öffentlichen Schlüssel besser überprüfbar sind?
Wir könnten eine weitere Person, Trent, einsetzen. Trent ist bekannt udn akzepiert als Zertifizierungsstelle. Alle kennen seinen öffentlichen Schlüssel. Wenn Trent die Kunden gut überprüft und deren Schlüssel signiert, kann Bob sicher sein, den richtigen Schlüssel zu verwenden. Er akzeptiert folglich keine unsignierten Schlüssel mehr.r