Das leidige Thema mit der sicheren Mail Korrespondenz. In der Zeit der guten alten Post wurden Briefe zugeklebt und man konnte einigermaßen sicher sein dass kein anderer diese Briefe mitlesen kann. Im Zeitalter der digitalen Mail Kommunikationen versendet man aber die E-Mails in der Regel als Postkarten, wo jeder den Inhalt mitlesen kann. Wer sensible Informationen (personenbezogene Daten,…) übermitteln will oder muss, sollte den Mailverkehr verschlüsseln. In diesem Beitrag will ich das Prinzip von einer PGP Verschlüsselung näher bringen.
Wie verläuft das die Kommunikation von PGP
Bei PGP (Pretty Good Privacy) handelt es sich um eine Hybrid Verschlüsselung aus symmetrischen und asymmetrischen Verschlüsselungsprozessen. Der Anwender besitzt ein Schlüsselpaar aus einem privaten und öffentlichen Zertifikat (Schlüssel). Mittels dieser Schlüsselpaare wird eine End-2-End Verschlüsselung etabliert, d.h. die Verschlüsselung beginnt auf dem lokalen Client es Absenders und endet beim lokalen Client des Empfängers.
Vor dem Absenden einer E-Mail wird auf dem lokal vorhandenen E-Mail Client der Inhalt mit dem öffentlichen Zertifikat (Schlüssel) des Empfängers verschlüsselt. Erst dann kann die E-Mail mit dem kryptischen Inhalt an den SMTP/IMAP (Simple Mail Transfer Protocol/Internet Message Access Protocol) Provider weiter geleitet werden. Die bei der Gegenstelle angekommene kryptische E-Mail wird dann mit dem entsprechenden Client und dem privaten Zertifikat (Schlüssel) des Empfängers wieder in ein lesbares Format umgewandelt.
Während der Übertragung ist es keinem der beteiligten Provider oder gar Hackern möglich, den Inhalt mittels Abfangen zu entschlüsseln. Es sollte aber angemerkt werden, dass der Mailheader an sich aber nicht verschlüsselt wird. Somit ist eine Verschleierung der Kommunikation von Absender und Empfänger mit dieser Technik nicht möglich.
Falls ein Absender mehrere E-Mail-Adressen besitzt, können diese mit eigenen Zertifikatspaaren gebunden werden. Jede Empfänger Adresse hat dann ein eigenes Zertifikats-/Schlüsselpaar (Arbeit/Privat/Verein/…)
Da das öffentliche Zertifikat (Schlüssel) zum verschlüsseln des Inhalts nur benötigt wird, kann dieser jedem bekannt gegeben werden. Einige Anwender hinterlegen sogar in den Kontaktinformationen auf Webseiten zusätzlich den Schlüssel mit ihren Fingerprints.
Der Private Schlüssel
Mit dem privaten Zertifiakt (Schlüssel) steht und fällt die komplette Sicherheit der sicheren Mail Kommunikation. Bei GnuPGP wird dieser mit dem Programm Kleopatra, welches als vergleichbaren Schlüsselring (Keystore) dient, die eigenen privaten und die der Empfänger bekannten öffentlichen Zertifikate verwaltet.
Daher sollte dieser Ring auf jeden Fall wie auf seine geheimsten Passwörter aufpassen werden. Beim GnuPGP wird das private Zertifikat (Schlüssel) zusätzlich mit einem Passwort geschützt, somit kann kein ungesperrter Rechner für ungewollte Entschlschlüsselungen her genommen werden. Weiterhin sollte man ein Backup des eigenen Schlüsselpaares extern sicher abgelegt werden. Bei einer Neuinstallation muss dann nicht ein neues Schlüsselpaar generiert werden, sondern kann den bestehenden wieder in den Schlüsselring (Keystore) importiert werden.
Weiterer Hinweis zum Backupgedanken: Dadurch wird verhindert, dass bei einer Neugenerierung der schon bekannte eigene öffentliche Schlüssel obsolet und somit unbrauchbar wird.
Der öffentliche Schlüssel
Wie schon beschrieben, haben einige Anwender ihre öffentlichen Schlüssel als binäre Download Datei und entsprechenden Fingerprint, auf Webseiten hinterlegt. Weitere Möglichkeit ist die Übertragung des öffentlichen Schlüssels in Textform .ASC (American Standard Code) als normaler E-Mail an die entsprechenden Empfänger.
Der Prozess der Verschlüsselung
Wie schon erwähnt besitzt der Anwender einen private Zertifikat (Schlüssel) und einen öffentliches Zertifikat (Schlüssel). Dies ist das Grundprinzip einer asymmetrischen Verschlüsselung. Es ist im Moment nicht möglich, anhand eines öffentlichen Schlüssels auf einen privaten Schlüssel zurück zu schließen. Bei einer symmetrischen Verschlüsselung haben beide Parteien (Absender/Empfänger) den gleichen Schlüsselcode. Jeder andere der diesen Code ebenfalls hat, kann somit die Verschlüsselung aufbrechen.
Damit die Rechenleistung bei der Verschlüsselung nicht leidet, wird nicht die ganze Nachricht mit einem rechenintensiven asymetrischen Algorithmus verschlüsselt. Die Nachricht selbst wird nur mit dem einfachen symmetrischen Algorithmus unleselich gemacht. Danach wird das Verchlüsselungsschema selbst noch einmal mit dem asymmetrischen Verfahren mittels dem öffentlichen Zertifikat (Schlüssel) geschützt. Der Empfänger mit dem privaten Zertifikat (Schlüssel) entschlüsselt somit nur eigentlich das symmetrische Verschlüsselungsschema, um so die Mail wieder in ein lesbares Format umzuwandeln.
Der Prozess der Signierung
Neben der Verschlüsselung bietet PGP die Möglichkeit einer Signierung des Absenders. Somit kann man die Authentizität und die Echtheit des Inhaltes oder Absenders untermauern. Hierbei wird von der kompletten E-Mail in Kombination mit dem privaten Zertifikat (Schlüssel) eine Quersumme generiert und an den Text am Ende angehängt. Mittels der Quersumme ist es den Empfängern möglich, die Authentizität durch den öffentlichen Schlüssel des Absenders zu überprüfen.
Eine Kombination mit Signierung und Verschlüsselung wäre die maximale Sicherheit, welches PGP anbietet.
Welche Programme benötige ich?
Ich selber verwende GnuPGP als Programm zur Verschlüsselung von Mails, da es auf verschieden Betriebssysteme (Windows, Linux, Mac OS,…) und somit auch auf verschiedene Mail Clients (Outlook, Thunderbird,…) reibungslos funktioniert.
Download Link: GnuPGP
Anwendung auch für Web Mail Clients?
Es gibt einige Anwender, welche nicht mit einem Client arbeiten bietet Mailvelope einen Browser Plugin für Google Chrome und Firefox an.
Projektseite: Mailvelope