Exkurs - Experimente mit GnuPG / Kleopatra
OpenPGP, GnuPG, Gpg4win, Kleopatra
OpenPGP ist ein Standard für Verschlüsselungssoftware, der in der RFC 4880 festgelegt ist. Dieser Standard beschreibt u.a. die Verschlüsselungsmethode und die zu benutzenden Formate (Schlüssel, Signaturen, etc.) der Software.
GnuPG oder GPG (GNU Privacy Guard, englisch für GNU-Privatsphärenschutz) ist ein Softwarepaket, das den Standard OpenPGP implementiert, d.h., die Vorgaben von OpenPGP umsetzt. Übrigens, GnuPG implementiert auch den S/MIME-Standard - das ist ein anderer Standard für Verschlüsselungssoftware.
GnuPG gibt es für verschiedene Betriebssysteme. Gpg4win ist ein Windows-Installationspaket für die Verschlüsselungssoftware GnuPG sowie zugehörige Anwendungen und Dokumentation. Wenn man das Windows-Installationspaket Gpg4win ausführt, wird neben GnuPG auch eine Programm mit dem Namen Kleopatra installiert. Dieses Programm stellt dem Benutzer eine grafische Oberfläche zur Ausführung von GnuPG-Befehlen zur Verfügung und erleichert so den Umgang mit GnuPG. Wir werden im Folgenden dieses Programm benutzen.
Realisierung eines asymmetrische Chiffriersystems
Wir betrachten die folgende Nachricht von Alice an Bob:
Hallo Bob, was hast du heute Abend vor? Alice
Bevor wir eine Verschlüsselung vornehmen können, muss erst einmal ein Schlüsselpaar für Bob (bestehend aus einem öffentlichen und einem privaten Schlüssel) erzeugt werden.
Mit den Menüpunkten [Datei][Neues Zertifikat...][Persönliches OpenPGP-Schlüsselpaar erzeugen] wird man aufgefordert, Namen und E-Mail-Adresse einzugeben.
Mit den Menüpunkten [Weiter][Schlüssel erzeugen] wird man aufgefordert, eine Passphrase festzulegen.
Nach Eingabe der Passphrase werden die Schlüssel erzeugt. Genau genommen werden hier Zertifikate erstellt. Mehr hierüber in Abschnitt ???.
Jetzt sollte man eine Sicherheitskopie des geheimen Zertifikats (mit dem geheimen Schlüssel) anfertigen. Damit er nicht in falsche Hände gerät, sollte man diese Sicherheitskopie auf einem externen Datenträger speichern.
Das öffentliche Zertifikat (mit dem öffentlichen Zertifikat) kann man an Kommunikationspartner verschicken oder auf einem Zertifikatsserver veröffentlichen. Letzteres solltest du vorerst noch nicht tun.
Die erstellten Zertifikate (Schlüssel) kann man sich auch anschauen. Hier das Zertifikat mit dem öffentlichen Schlüssel von Bob:
---BEGIN PGP PUBLIC KEY BLOCK--- Version: GnuPG v2.0.14 (MingW32) mQENBEyczhkBCACoZBxBUYMQdU3qlWjQJR8zrqKJrcH9gsKHWG+Xg6PnMXrEdeEg Ou9dx3TNJ8YoU8uTtaui65dFcE2O0cXDne5XycQVMjGXAHLEuCPRQR/tuhJwsk6u 7TFPGgC3aSuKbq2Hu6lxBUokXx8YnYW7uTNrhOLKp2OEJCS+GiUC3drfYldmNy8+ YOwNDRbfabcxPo5AGo75qcGxAsat+WIzMZseQHcfAW9l43kjG3C7w9rgKO+40OCY b/5DHxN8KlgMh1POgYryREZHIYNutegEBL4NIURWGmdhpRmtFwTAvLTJt0wExJhK NHpBwXxM4/eHfETNntTxagWxvAb4zx/C0mH1ABEBAAG0GEJvYiBMdWNreSA8Ym9i QGx1Y2t5LmRlPokBOAQTAQIAIgUCTJzOGQIbDwYLCQgHAwIGFQgCCQoLBBYCAwEC HgECF4AACgkQTzL5DFFLX71Tqwf/fMqmiXk5fwDJ16sVpAJZCO2hL9Jb8cbS2lqm RRWbiBYPo1uyRLsmJOJOVufFgRF7BSJm79HYRjumwSjc92zOFE1nvmBMSkkZhxQ/ XtU2iGehGTnuo4KN13A9VIvvwcm4n1LRllaxYt7KWLhWy2cu8D4yA2/DDjFDzWtK D3wjs6uEngaYkqO6JXMikAgE5XrHsC4KQymuMLnFt967sjYxufoHc0YD2NMxgqAW 1yt2j6rr2wtYW3nrHHL36I5Vew3vKMFoRVWiATuzK61Hn//C14CgEWEdjKoVorTm ZlWvVzlXN+zNdVXs6jmfmqrzCOEGZZRQa6mhplxlXjkcVnSCBw== =ztwC ---END PGP PUBLIC KEY BLOCK---
Das Zertifikat mit dem privaten Schlüssel von Bob sieht so ähnlich aus. Es wird natürlich hier nicht veröffentlicht. Das soll sich ja nur Bob anschauen können.
Kleopatra zeigt jetzt an, dass Bob erfolgreich ein Schlüsselpaar erzeugt hat.
Wenn Alice jetzt die oben beschriebene Nachricht an Bob schicken möchte, dann muss sie das öffentliche Zertifikat von Bob importieren. Anschließend kann sie folgendermaßen vorgehen.
Mit den Menüpunkten [Datei][Dateien signieren/verschlüsseln...] wird man aufgefordert, die zu verschlüsselnde Datei auszuwählen. Es muss zudem der Punkt [Verschlüsseln] ausgewählt werden. Als Ausgabeformat kann man [Ausgabe als Text (ASCII armor] festlegen.
Jetzt muss noch festgelegt werden, für wen man verschlüsseln möchte:
Mit dem Menüpunkt [Verschlüsseln] wird jetzt eine neue Datei mit der verschlüsselten Nachricht erstellt. Im vorliegenden Fall sieht sie so aus:
---BEGIN PGP MESSAGE--- Version: GnuPG v2.0.14 (MingW32) hQEMA08y+QxRS1+9AQf+LT2qu0hrVHWTAxvOWad93ShsFPwiu4Q72ELnWqY0s8El Rm0C2mOXvDc/2Qy0VEkU8Bg8w7Ih7MYhAljj5jb5f1ddjassnEWP12o5XmDZikE/ p6KRsypZRAjcFXeZVYkBr1VGco2Ov9lSOXCzy/PLAkqNoRdOldsjvdPeB2YSsKRs LSu8aslYMWM9mG4zCquKAIMPmbbcvlDNKM21SivcNzNWax4ug4Kpl2Z+UvoNsicm DYLckDSDPLpT7n9F+wYddu/jW3VD32cXih+5CGRWec40hQV4yKLnW3PgtTcaKLjC rCE3jZwycuhieWlY0uP4zRfsExSpL7r1TM57MYoNodJuAbO1rnWFS7k8LQ0NW6ss f8bv5aFkZKDc8sZTSzK2B2oRmlqChNVSYM39tcIDvYg9OLsnPgtwk+BaoRUv8PnS qnKadeVRGrAtJMgw3OeWCNRMhKaoZW01yZIEe/Vy0u1XuQjS1/OrpozetOk9KCI= =zXP5 ---END PGP MESSAGE---
Wenn Bob die verschlüsselte Nachricht entschlüsseln möchte, dann kann er folgendermaßen vorgehen.
Mit den Menüpunkten [Datei][Dateien entschlüsseln/prüfen...] wird man aufgefordert, die zu entschlüsselnde Datei auszuwählen. Mit [Entschlüsseln/Prüfen] wird man aufgefordert, die Passphrase einzugeben. Wenn die eingegebene Passphrase stimmt, dann wird eine neue Datei mit der entschlüsselten Nachricht erstellt. Im vorliegenden Fall erhält man:
Hallo Bob, was hast du heute Abend vor? Alice
Aufgabe 1
Probiere das selbst einmal aus.
Aufgabe 2
Tausche jetzt verschlüsselte Nachrichten mit einem Kommunikationspartner aus. Damit das funktioniert, müsst ihr erst einmal (jeder für sich) ein Schlüsselpaar erzeugen. Den Austausch der Dateien mit den öffentlichen Zertifikaten und den verschlüsselten Nachrichten könnt ihr dann über einen von beiden Kommunikationspartnern zugänglichen Ordner vornehmen.