Software Development

OpenPGP im Berufsalltag – Teil 1: Was ist das?

#efail sei Dank, hat E-Mail-Verschlüsselung mit OpenPGP (und S/MIME) in letzter Zeit ziemlich viel Aufmerksamkeit erhalten. Diese Gelegenheit möchte ich wahrnehmen, um eine kleine Serie von Überblicksartikeln zu schreiben, die sich mit dem Einsatz von OpenPGP in meiner täglichen Arbeit beschäftigen. Vor allem wird es darum gehen, wie man alles erfolgreich aufsetzt und maximal davon profitiert. Auch auf die Nutzung von Sicherheits-Tokens, wie z. B. Yubikey, werde ich eingehen.

cyber-security-laptop-email

E-Mail-Verschlüsselung: Jeder sollte sie nutzen!

Immer öfter fragen Kunden nach verschlüsselter oder signierter Kommunikation. Industriespionage ist ein aktuelles Thema und der Erfolg einer Unternehmung kann sehr schnell von der Sicherheit und Integrität wichtiger Daten abhängen. Leider gibt es in der IT nach wie vor einige Leute, die Probleme mit Datenschutz-Software haben oder vor deren Einsatz zurückschrecken. Das darf im Jahre 2018 nicht sein! Zugegeben, Tool-Unterstützung und Usability ließen in der Vergangenheit zu wünschen übrig, aber das hat sich in den letzten Jahren zum Besseren verändert. Es gibt heutzutage keine Ausreden mehr, Verschlüsselungstechnologien nicht einzusetzen. Meiner Meinung nach sollte jede(r) professionelle IT-Angestellte die Grundlagen kennen und ein funktionierendes Software-Setup bereit halten.

OpenPGP ist derzeit mein Tool der Wahl, weil es weit verbreitet, frei verfügbar und recht einfach zu benutzen ist.

OpenPGP – Was ist das?

Im Internet findet man eine große Menge an mehr oder weniger detailreichen Inhalten über dieses Thema. Aus diesem Grund möchte ich hier nicht zu sehr ins Detail gehen:

  • OpenPGP ist ein offener Standard zum Signieren sowie Ver- und Entschlüsseln aller Datenarten, vor allem E-Mails und Dateien.
  • Signieren heißt, dass ein Empfänger technisch plausibel davon überzeugt werden kann, dass Daten nicht verändert wurden und von einer bekannten Quelle kommen.
  • Verschlüsselte Daten können nur von denen gelesen werden, die sie entschlüsseln können. Damit sind die Daten gegen das Abhören durch Dritte geschützt.

OpenPGP – Wie funktioniert das?

Auch hier gibt es online einen großen Schatz an Informationen. Die mathematischen Grundlagen sind schon recht anspruchsvoll, müssen aber nicht verstanden werden, um das Tool erfolgreich einsetzen zu können. Es folgt daher eine extreme Vereinfachung der Funktionsweise:

Man benötigt immer einen so genannten PGP Client. Das ist eine Anwendung, die die Ver- und Entschlüsselung, sowie das Signieren übernimmt.
Außerdem wird ein sogenanntes Schlüsselpaar benötigt, das aus zwei Teilen besteht: Einem privaten Schlüssel, für das Entschlüsseln und Signieren, und einem öffentlichen Schlüssel für das Verschlüsseln und Validieren.
Die Sicherheit basiert auf den folgenden zwei Prinzipien:

  • Der private Schlüssel kann nicht aus seinem Gegenstück – dem öffentlichen Schlüssel – berechnet werden.
  • Jeder Schlüssel funktioniert nur in eine Richtung, d. h. es ist nicht möglich, Daten mit dem gleichen Schlüssel zu entschlüsseln, mit dem sie verschlüsselt wurden.
Schlüssel werden lokal in einem sogenannten Schlüsselbund (engl. Key Ring) gespeichert, der für gewöhnlich durch den PGP Client verwaltet wird.

Öffentliche Schlüssel können von öffentlich zugänglichen Schlüssel-Servern heruntergeladen werden. Private Schlüssel bleiben geheim und bei ihrem Besitzer.

Eine E-Mail wird mit dem öffentlichen Schlüssel des Empfängers verschlüsselt, d. h. jeder kann verschlüsseln.

Die Entschlüsselung wird mit dem privaten Schlüssel des Empfängers gemacht, d. h. nur der Empfänger kann entschlüsseln.

Signaturen werden mit dem öffentlichen Schlüssel des Senders geprüft, d. h. jeder kann prüfen.
Erstellt werden Signaturen mit dem privaten Schlüssel des Senders, d. h. nur der Sender kann signieren.

Weil die Sicherheit des privaten Schlüssels offensichtlich sehr wichtig ist, muss dieser zusätzlich durch eine sogenannte Passphrase entsperrt werden.

OpenPGP – Welchen Client für welches Betriebssystem?

Windows

gpg4win eignet sich als PGP Client und beinhaltet das GPG command-line Tool und das Kleopatra UI Tool. Beliebt ist auch die Kombination aus Thunderbird und Enigmail für E-Mail.

MacOS and iOS

Auf macOS eignen sich GPGTools als Client. Die App Mail unter macOS arbeitet gut mit GPGTools zusammen. Auch die Kombination aus Thunderbird und Enigmail ist dort beliebt. Für iOS gibt es zahlreiche Apps, wie zum Beispiel iPGMail, mit deren Hilfe E-Mails ver- und entschlüsselt werden können. Die Integration mit GPGTools fehlt bei dieser App aber.

Linux

Jede Distribution sollte ein Packet für GNU Privacy Guard haben. Des Weiteren gilt auch hier: Die Kombination aus Thunderbird und Enigmail ist für E-Mail sehr beliebt.

Android

Die Wahl des PGP Client hängt von der Unterstützung der benutzten E-Mail-App ab. Nicht jede App unterstützt jeden Client. Ich benutze zum Beispiel die Kombination K-9 Mail und OpenKeychain. Die Nutzung anderer Apps, wie z. B. Squeaky Mail, R2Mail2 oder MailDroid ist bei Posteo gut beschrieben.

Browser Only

Einige Webmailer, wie z. B. Posteo, unterstützen E-Mail-Verschlüsselung über das Browser-Plugin Mailvelope.

Aber Vorsicht: Für die Nutzung von Mailvelope muss der private Schlüssel in der Storage des Browser abgelegt werden, was ein hohes Sicherheitsrisiko darstellen kann.

Wurde OpenPGP nicht durch EFail gebrochen?

Nein, wurde es nicht. Dasselbe gilt auch für S/MIME. EFail kann zwar zum Knacken der Verschlüsselung benutzt werden, allerdings wird das durch die Ausnutzung unzureichender HTML-Tag-Behandlung und das Nachladen von externen Inhalten in Mail-Clients erreicht. Der Fehler liegt also in den Mail-Clients, nicht in OpenPGP. Die Hersteller werden hier bald Updates liefern.

Als Sicherheitsmaßnahmen sind ausreichend:

  • Haltet euren PGP Client und euer E-Mail-Tool der Wahl auf dem neuesten Stand und haltet Ausschau nach Updates mit Bezug zu EFail.
  • Beim Einsatz von Thunderbird sollte man den "Vereinfachtes HTML"-Modus (oder Plain Text) über Ansicht -> Nachrichteninhalt -> Vereinfachtes HTMLaktivieren. Beachtet auch die Hinweise im Mozilla Blog.

Weitere Details gibt es bei Proton-Mail.

Im zweiten Teil dieser OpenPGP-Blogserie wird es darum gehen, wie die Echtheit von Downloads mit Hilfe von OpenPGP verifiziert werden kann und wie die Konsole genutzt wird.

    
Über Jan Mosig

Jan Mosig arbeitet für die itemis AG am Standort Leipzig. Er beschäftigt sich mit Problemen im Projektalltag und setzt zu deren Lösung auf technische Softwarequalität, Agile und Mut zur Veränderung.