IT-Sicherheit Praktikum IT-Sicherheit - Versuchshandbuch - Aufgaben PGP In diesem Versuch lernen Sie die Sicherheitsmechanismen kennen, die 'Pretty Good Privacy' (PGP) zur Verfügung stellt, um u. a. Vertrauliche E-Mails versenden, Dateien verschlüsselt abzuspeichern und die Authentizität eines Kommunikationspartners mittels Verifikation der digitalen Signatur prüfen zu können. B.Sc. AI, WI
Einleitung Das Tool 'Pretty Good Privacy' (PGP) ist eine Softwarelösung die sowohl frei erhältlich ist, als auch kommerziell vertrieben wird. Es bietet verschiedene Sicherheitsmechanismen für eine vertrauliche E-Mail Kommunikation, die Verschlüsselung einzelner Daten bzw. sogar der gesamten Festplatte und die Gewährleistung von Datenintegrität sowie Authentizität des Erstellers. In den Versuchen wird die kostenlose Softwaresuite GnuPG verwendet. Zugangsdaten System: Windows XP Benutzer: Administrator Passwort: seclab 2
Aufgabe 1: PGP Grundlagen a) Welche kryptografischen Verschlüsselungsverfahren werden bei PGP verwendet? Wie werden der öffentliche Schlüssel (Kp) und der geheime Schlüssel (Ks) eingesetzt? b) Erläutern Sie wie unter Verwendung von PGP die zu sendende Nachricht an einen Empfänger verschlüsselt und von diesem wieder entschlüsselt werden kann. c) Worin liegt die Problematik bei der Verwendung von öffentlichen Schlüsseln in Bezug auf die Vertrauenswürdigkeit, wenn deren Authentizität nicht verifiziert wurde? 3
d) Erläutern Sie das Prinzip des Web of Trust unter Verwendung von PGP. Worin besteht der Unterschied zu PKI Infrastrukturen mit Certificate Authorities (CA)? e) Worin liegt der Schwachpunkt im Web of Trust, wenn man bedenkt, dass jeder PGP Teilnehmer einen öffentlichen Schlüssel als vertrauenswürdig signieren kann? 4
Aufgabe 2: PGP Schlüsselerzeugung a) Sie werden nun ein eigenes PGP Zertifikat (Schlüsselpaar) erzeugen. Schauen Sie sich dazu ggf. noch einmal das Vorbereitungsblatt zu diesem Versuch an. Starten Sie das Programm Kleopatra auf dem Desktop des Opfer Rechners und führen Sie folgende Schritte aus. Gehen Sie im Menü auf Datei Neues Zertifikat Persönliches OpenPGP Schlüsselpaar erzeugen Tragen Sie im folgenden Fenster Ihren Namen sowie Ihre E-Mail Adresse ein. Unter Erweiterte Einstellungen wählen Sie RSA 2048 bit sowie Signieren und Verschlüsselung, bestätigen Sie und wählen weiter Überprüfen Sie ihre Angaben und bestätigen Sie mit Schlüssel erzeugen Sie werden nun gebeten ein starkes Passwort einzugeben, bevor Sie mit OK bestätigen, Lesen Sie sich den Text im darunter liegenden Fenster durch und folgen Sie der Anweisung. Bestätigen Sie nun, geben Sie ihr Passwort erneut ein und notieren Sie sich dieses Im erscheinenden Fenster sehen Sie nun den Fingerprint ihres Kp und im Hauptmenü von Kleopatra ihr erstelltes Zertifikat (Schlüsselpaar) Beenden Sie das Programm. Beantworten Sie folgende Fragen b) Was versteht man bei Verwendung von PGP unter dem sogenannten Fingerprint und welchen Bezug hat dieser zum öffentlichen Schlüssel eines Anwenders? c) Wofür wird die KeyID verwendet? 5
Aufgabe 3: Verschlüsselung einer Nachricht a) Überprüfen Sie nun die Funktionsbereitschaft Ihres Schlüsselpaares K= (Kp, Ks). Hierzu verwenden wir den E-Mail Bot Adele, der automatisiert auf eine empfangene Mail antwortet. Nutzen Sie zum Versenden der E-Mails an Adele einen beliebigen E-Mail Account. Alternativ können Sie diese Aufgabe mit einem Kommilitonen durchführen. Starten Sie das Tool GPA auf dem Desktop des Opfer Rechners und führen Sie die folgenden Schritte aus um Ihren Kp zu exportieren Klicken Sie auf Export, im sich öffnenden Dialog wählen Sie Exportieren in Datei, geben einen Ort zum speichern an und einen Namen für die Datei z.b. 'my_key.asc' Bestätigen Sie mit Ok und öffnen Sie die eben exportierte Datei mit einem Texteditor Kopieren Sie den Kp (Strg-C) und verlassen Sie die virtuelle Maschine Melden Sie sich an Ihrem Mailkonto an und öffnen Sie eine neue E-Mail An : adele@gnupp.de Betreff : mein öffentlicher Schlüssel Fügen Sie den Kp aus der Zwischenablage in das Textfeld ein (Strg-V) Senden Sie nun ihre E-Mail und warten Sie auf die mit ihrem Kp verschlüsselte Antwort des Mail Bots (dies kann einige Minuten dauern) Sobald sie die Antwort erhalten haben, kopieren Sie den Ciphertext in die Zwischenablage (Strg-C) Wechseln Sie zurück auf den Opfer Rechner in das Programm GPA Dort wählen Sie Fenster Zwischenablage und fügen den Ciphertext ein (Strg-V) Entschlüsseln Sie den Ciphertext durch einen Klick auf Entschlüsseln Resultat ist der Kp von adele@gnupp.de den Sie nun ihrerseits verwenden können um eine Nachricht für Adele zu verschlüsseln Wechseln Sie auf den Desktop und erstellen Sie eine Textdatei (Rechtsklick Textdatei erstellen) Kopieren Sie den Kp in diese Textdatei und speichern Sie diese unter einem beliebigen Namen Importieren Sie Ihre eben erstellte Datei in das Tool GPA mittels Datei Importieren, der Kp von Adele sollte nun im Hauptfenster zu sehen sein Wählen Sie Fenster Zwischenablage Geben Sie einen beliebigen Text ein und führen Sie die Verschlüsselung durch Den Ciphertext kopieren Sie nun, verlassen die virtuelle Maschine und wechseln zu Ihrem E-Mail Konto Erstellen Sie eine neue Mail, fügen sie den Ciphertext ein und senden erneut an adele@gnupp.de Der E-Mail Bot Adele wird Ihnen mit einer Abschlussnachricht antworten b) Welche Nachricht haben Sie von dem Bot erhalten als Antwort auf Ihre Mail mit dem Betreff mein öffentlicher Schlüssel? 6
Aufgabe 4: E-Mail Vertraulichkeit a) In diesem Versuch werden Sie lernen wie eine Kommunikation per E-Mail mitgelesen werden kann. Starten Sie dazu Wireshark auf dem Desktop des Angreifer Rechners und führen Sie folgende Schritte aus Wählen Sie Capture Options, setzen Sie Interface auf Local und wählen Sie Vmware Accelerated AMD PCNet Adapter Anschliessend geben Sie im Feld Capture Filter : host 192.168.1.2 ein Beenden Sie die Konfiguration mit einem Klick auf Start Tragen Sie in das Feld Filter : den Ausdruck pop.request.parameter or imf.from contains seclab ein Wechseln Sie auf den Server PC und starten Sie den E-Mail Server Hamster über den Desktop Shortcut Wechseln Sie auf den Opfer Rechner und starten Sie dort das Programm Pegasus Mail, ein bereits konfigurierter E-Mail Account ist bereits eingerichtet Wählen Sie Datei Neue Nachricht Neue Nachricht schreiben Als Empfänger tragen Sie seclab@192.168.1.2 ein, wählen Sie einen beliebigen Betreff sowie eine Nachricht Bestätigen Sie über den Senden Button, die Nachricht befindet sich nun in der internen Warteschlange Gehen Sie auf Datei Nachricht verschicken und wechseln Sie auf den Angreifer PC Wechseln Sie zurück auf den Angreifer PC in das Programm Wireshark Im Hauptfenster von Wireshark sehen Sie nun den nach der Filterung übrig gebliebenen Datenverkehr. Suchen Sie einen Eintrag der als Protokoll : IMF anzeigt. Führen Sie auf diesen einen Doppelklick aus Im nun erscheinenden Fenster öffnen Sie den Punkt Internet Message Format und anschliessend Line-based text data b) Welche Informationen können Sie dort im Klartext einsehen? c) Starten Sie nun auf dem Opfer Rechner das Tool GPA und verschlüsseln Sie einen beliebigen Klartext. Schreiben Sie erneut eine E-Mail an die zuvor verwendete Adresse unter Verwendung des mit GPA erzeugten Ciphertexts. Was stellen Sie fest, wenn Sie in Wireshark den IMF Eintrag einsehen? 7
Aufgabe 5: PGP Signatur a) Welche Aufgabe erfüllt die digitale Signatur einer empfangenen E-Mail Nachricht? b) Erläutern Sie die Erzeugung einer digitalen Signatur. Wie stellt der Empfänger der Signatur fest, dass Authentizität und Integrität gewährleistet sind? c) Öffnen Sie erneut das Tool GPA auf dem Opfer Rechner und führen Sie folgende Schritte durch, um eine Signatur zu prüfen. Importieren Sie den Kp von Bob über Import und wählen Sie die Datei Bob_Public_Key.asc auf dem Desktop aus Um den Kp verwenden zu können muss dieser zuerst signiert werden Führen Sie auf den Schlüssel einen Rechtsklick aus und wählen Sie Schlüssel signieren. Geben das Ihrem Ks zugehörige Passwort ein und bestätigen Sie den Dialog mit Ok Anschliessend führen Sie nochmals einen Rechtsklick auf den Kp aus und wählen Schlüssel vertrauen einstellen, im folgenden Fenster wählen Sie den Punkt Vollständig und bestätigen mit Ok Öffnen Sie nun die Datei Signatur.txt auf dem Desktop und kopieren Sie dessen Inhalt (Strg-C) in das Tool GPA nach Fenster Zwischenablage und fügen diesen dort ein (Strg-V) Klicken sie auf Prüfen und wählen Sie den Kp von Bob@seclab.de Interpretieren Sie das Resultat. 8
Aufgabe 6 : PGP Schlüsselverteilung a) Um die Verteilung öffentlicher Schlüssel zu erleichtern, gibt es weltweit diverse Keyserver, bei denen diese abgefragt als auch verbreitet werden können. Gehen sie beispielsweise auf http://sks-keyservers.net/i/ Geben Sie als Suchbegriff bspw. hs-fulda ein. Die Suche nach KeyID ist auch in hexadezimaler Schreibweise möglich. b) Fügen Sie nun Ihren Kp der Datenbank des oben genannten Servers zu. Dazu ist es nötig, diesen zu exportieren. Falls Sie dies bereits im Zuge der Aufgabe 3 getan haben, können Sie diese Datei verwenden und direkt mit dem Unterpunkt 4 fortfahren. Starten Sie erneut Kleopatra auf dem Opfer Rechner Wählen Sie Exportieren und geben Sie einen beliebigen Namen für die Ausgabedatei an Bestätigen Sie mit Ok und beenden Sie das Programm Die Datei enthält nun Ihren Kp, öffnen Sie die Datei mit einem Texteditor und kopieren Sie den Inhalt in die Zwischenablage (Strg-C) Fügen Sie den Schlüssel in das Textfeld unter Submit a key to the Server ein (Strg-V) und bestätigen Sie über den Button Submit this key to the keyserver Prüfen Sie ob Ihr Kp der Datenbank hinzugefügt wurde indem Sie den Schlüssel anhand Ihrer verwendeten E-Mail Adresse oder KeyID suchen c) Vor welchem Problem könnten Sie stehen, wenn Sie den Schlüssel eines Nutzers suchen, der entsprechende Keyserver Ihnen jedoch unbekannt ist? 9