Digitale Signatur
Material:
- 05_iud_ab_digit_signatur.odt
- 00_krypto.odp (Folien 32-39)
Mit einem Zertifikat kann man seinen öffentlichen Schlüssel ‚fälschungssicher‘ an Personen verteilen, die einem damit vertrauliche Nachrichten schicken können.
Ein Zertifikat bietet aber noch mehr Möglichkeiten:
Immer, wenn eine elektronische Unterschrift eine Unterschrift auf Papier ersetzen soll, kann eine digitale Signatur eingesetzt werden. (Anträge bei Behörden, Steuererklärung beim Finanzamt, Firmen, die anderen Firmen Rechnungen stellen,…)
So verschlüsselt Frau Müller zum Beispiel ihre Steuererklärung mit dem öffentlichen Schlüssel des Finanzamts, dessen Zertifikat sie erhalten hat. Damit ist die Nachricht vertraulich und kann nicht mitgelesen werden. Aber wie kann das Finanzamt sicher sein, dass die Steuererklärung tatsächlich von Frau Müller stammt? Dazu benötigt Frau Müller ein eigenes Zertifikat.
Ablauf
Um Zeit zu sparen, wird nicht die komplette Nachricht signiert, sondern nur ein kleiner Teil, der Fingerabdruck der Nachricht. Dazu wird mit einer Hash-Funktion ein Hash-Wert berechnet. Das ist der Fingerabdruck der Nachricht. Nur auf diesen (viel kleineren) Hash-Wert wird der private Schlüssel angewendet. Das Ergebnis ist die Signatur. Die Signatur wird zusammen mit der Nachricht an den Empfänger geschickt. Das Zertifikat ihres öffentlichen Schlüssels schickt Alice gleich mit. Der Empfänger trennt die Nachricht von der Signatur. Auf die Nachricht wendet er die Hash-Funktion an und erzeugt den Fingerabdruck der Nachricht. Parallel dazu wendet er den öffentlichen Schlüssel aus dem Zertifikat auf die Signatur an und erhält den Fingerabdruck der Nachricht. Diese beiden Fingerabdrücke vergleicht er. Sind sie gleich, stammt die Nachricht tatsächlich von Alice.
Die Hashfunktion erzeugt eine Art Fingerabdruck der eigentlichen Nachricht. Also einen Text, der viel kürzer ist als die Nachricht und aus dem man die ursprüngliche Nachricht nicht wieder herleiten kann. Weiterhin ist es nicht möglich, die Nachricht so zu verändern, dass der Hash wieder gleich ist. (Diese Genauigkeit genügt in Klasse 10.)
In Aufgabe 1 analysieren die SuS den im Diagramm dargestellten Ablauf und bringen ihn mit der Definition aus Wikipedia in Zusammenhang. In Teilaufgabe (d) wird das Szenario dahingehend erweitert, dass die eigentliche Nachricht zusätzlich verschlüsselt wird. Damit sind dann Authentizität und Vertraulichkeit gewährleistet.
In den Aufgaben 2-4 spielen die SuS die Szenarien des Signierens und Verschlüsselns mit den Chat-Tool durch. Zunächst ohne Zertifikat (Aufgabe 2-3), dann mit Zertifikat Aufgabe 4).
In Aufgabe 5 wird eine asymmetrisch-symmetrische Browserkommunikation analysiert, bei der nur der Austausch eines (symmetrischen) Schlüssels asymmetrisch erfolgt (siehe Diagramm). Alice schickt dazu eine Anfrage an Bobs Internetseite, und teilt mit, dass sie kommunizieren will. Bob sendet ihr sein Zertifikat. Alice Browser entschlüsselt das und merkt sich Bobs öffentlichen Schlüssel. Es wird eine Nachricht an Bob geschickt mit einem symmetrischen Schlüssel. Die folgende Kommunikation findet mit diesem symmetrischen Schlüssel statt. Wenn die Seite verlassen wird, wird der Schlüssel wieder gelöscht.
Hintergrund — Hybride Verschlüsselung
In der praktischen Anwendung wird das RSA-Verfahren verwendet, um einen symmetrischen Schlüssel sicher auszutauschen. Die eigentliche Verschlüsselung erfolgt dann mit einem symmetrischen Verfahren, z.B. AES.
Solche hybride Verschlüsselungsverfahren kombinieren symmetrische und asymmetrische Verschlüsselungsverfahren und nutzen so die jeweiligen Vorteile:
Symmetrische Verschlüsselungsverfahren sind sehr schnell und eignen sich auch für große Datenmengen. Asymmetrische Verschlüsselungsverfahren sind hingegen sehr langsam und nur für kleine Datenmengen geeignet, also z.B. um einen Schlüssel für ein symmetrisches Verfahren zu verschlüsseln. Dafür löst asymmetrische RSA-Verfahren das Problem des Schlüsseltauschs, das bei symmetrischen Verfahren ein Angriffspunkt ist. Der symmetrische Schlüssel wird nur für die Dauer einer Sitzung verwendet.
In Aufgabe 6 informieren sich die SuS, wie ein echtes Zertifikat aussieht und recherchieren nach den einzelnen Bestandteilen. Dazu kann man sich im Browser z.B. Zertifikate anzeigen lassen, die der Browserhersteller direkt in den Browser integriert hat.
Firefox: Einstellungen → Daten-schutz & Sicherheit → Sicherheit → Zertifikate → Zertifikate anzeigen. |
Chrome: Je nach Version: kleines grünes Schloss links der Adresszeile. Oder: rechts der Adresszeile die drei Punkte anklicken → weitere Tools → Entwicklertools (oder F12) → Sicherheit → Zertifikat anzeigen → Details. |
Internet Explorer: Menü: Datei → Eigen-schaften → Zertifikate → Zertifizierungspfad → Zertifikat anzeigen → Details. |
Mögliche Probleme werden in Aufgabe 7 und 8 betrachtet.
In Aufgabe 9 wird im Chat-Tool mit der Hashfunktion experimentiert und die SuS gelangen zu folgenden Erkenntnissen:
-
Der Hashwert ist immer gleich lang, unabhängig von der Länge des Ursprungstextes. (Bei der MD2(128 bits)-Variante ist er 128 Bit bzw. 16 HexZahlen lang)
-
Selbst wenn nur ein einzelnes Zeichen geändert wird, ändert sich der Hashwert wesentlich. (um mindestens fast 50%)
-
Weil der Hashwert kürzer ist als der Ursprungstext, muss es zu einem Hashwert mehrere Ausgangstexte geben.
-
Es ist quasi unmöglich, zu einem Hashwert den Ausgangstext zu rekonstruieren.
Ergänzung / Differenzierung
Alternativ oder zur Differenzierung können die SuS mit Cryptool experimentieren und Hashwerte erzeugen. Eine Anleitung sowie Aufgaben findet man auf inf-schule.de
Ebenfalls als Differenzierung recherchieren die SuS in Aufgabe 9 gängige Hashfunktionen und deren Algorithmen.
In Aufgabe 11 und 12 recherchieren die SuS PGP-Systeme (pretty good privacy) und Web-of-Trust, das auf transitiven Vertrauensbeziehungen der Teilnehmer beruht. Ausgehend davon können Vor- und Nachteile analysiert und diskutiert werden.
Hintergrund: Pretty Good Privacy (PGP)
Um Zeit und Rechenkapazität zu sparen, wird nicht die ganze Nachricht mit dem öffentlichen Schlüssel des Empfängers ver-schlüsselt. Vielmehr wird ein zufälliger symmetrischer Schlüssel erzeugt, womit die Nachricht verschlüsselt wird. Nur der symmetrische Schlüs-sel wird mit dem öffentlichen Schlüssel verschlüsselt. Vorteile:
-
benötigt weniger Zeit
-
weniger Rechenkapazität
-
geht dieselbe Nachricht an mehrere Empfänger, muss nur einmal verschlüsselt werden.
Mit PGP kann man eine Nachricht nur signieren, nur verschlüsseln oder sowohl signieren als auch verschlüsseln.
PGP wurde 1991 von Phil Zimmermann entwickelt und basiert auf dem Web of Trust.
Web of Trust (WOT)
Das WOT ist eine Alternative zum Prinzip der hierarchisch gegliederten Zertifizierungs-instanzen. Die Echtheit der Schlüssel wird durch ein Netz von gegenseitigen Vertrauens-beziehungen gewährleistet: Alice vertraut Bob, ich vertraue Alice, also vertraue ich auch Bob.
Siehe dazu auch https://de.wikipedia.org/wiki/Pretty_Good_Privacy, https://de.wikipedia.org/wiki/Web_of_Trust sowie https://www.inf-schule.de/kommunikation/kryptologie/sicherheitsinfrastruktur/konzept_weboftrust .
Aufgabe auf dem AB |
zugehörige Folie in der Präsentation |
Nr. 1 (1 d ) |
32, 33 (34) |
5 |
35 |
6 |
36 |
9 |
37 |
11, 12 |
38, 39 |
Unterrichtsverlauf: Herunterladen [odt][28 MB]
Unterrichtsverlauf: Herunterladen [pdf][407 kB]
Weiter zu Vergleich der Verfahren