FAQ Verschlüsselung

Was Sie über PGP, SSL, RSA und Co wissen sollten

30.07.2019
Von  und
Dr. Klaus Manhart hat an der LMU München Logik/Wissenschaftstheorie studiert. Seit 1999 ist er freier Fachautor für IT und Wissenschaft und seit 2005 Lehrbeauftragter an der Uni München für Computersimulation. Schwerpunkte im Bereich IT-Journalismus sind Internet, Business-Computing, Linux und Mobilanwendungen.
Jens Dose ist Redakteur der COMPUTERWOCHE und betreut in erster Linie Themen rund um IT-Sicherheit, Datenschutz und Compliance.

Was ist PGP-Verschlüsselung?

Die bekannteste Software zur Verschlüsselung von Daten aller Art ist PGP. Der amerikanische Physiker Phil Zimmermann entwickelte 1991 unter dem Namen Pretty Good Privacy (PGP) eine RSA-Verschlüsselung für die breite Öffentlichkeit, die er im Usenet veröffentlichte. Neu bei diesem Verfahren war die Möglichkeit, eine E-Mail mit einer digitalen Unterschrift zu unterzeichnen, die den Urheber der Nachricht eindeutig ausweist.

Unter anderem wegen der undurchsichtigen Situation in der Zeit, in der PGP im Eigentum des Softwareunternehmens McAfee war, wurde 1998 der OpenPGP-Standard entwickelt. OpenPGP basiert auf dem Quellcode von PGP 5.x, der wegen damaliger Exportbestimmungen in den USA als Buchform exportiert wurde. Diese Bestimmungen sahen vor, dass Verschlüsselungen über 40 Bit verboten waren. Weiterhin waren die in PGP verwendeten Algorithmen wie RSA patentiert. Außerdem gab es falsche Gerüchte, es würden Hintertüren in PGP existieren.

Die Freeware-Variante von Pretty Good Privacy, OpenPGP, wird unter anderem von GnuPG mit dem Zertifikatsmanager Kleopatra verwendet. Nach einer einmaligen Konfiguration verschlüsseln Sie dann damit Ihre Mails.
Die Freeware-Variante von Pretty Good Privacy, OpenPGP, wird unter anderem von GnuPG mit dem Zertifikatsmanager Kleopatra verwendet. Nach einer einmaligen Konfiguration verschlüsseln Sie dann damit Ihre Mails.

Das unter der GNU-GPL stehende Programm GnuPG war die erste Implementierung von OpenPGP und wurde als freie Alternative zu PGP entwickelt. Mittlerweise gibt es viele Erweiterungen des OpenPGP-Standards, die über den Funktionsumfang von PGP hinausgehen.

Was ist SSL-Verschlüsselung für Datenübertragung im Internet?

Verschlüsselte Datenübertragung wird im Web meist durch SSL-Verschlüsselung (Secure Sockets Layer) zwischen Web-Browser und Server implementiert. Das SSL-Protokoll wird seit Version 3 unter dem neuen Namen TLS weiterentwickelt und standardisiert und sichert nur den reinen Transportweg ab; der Server selbst entschlüsselt die Daten beim Empfang und legt sie im Dateisystem ab.

TLS-Verschlüsselung wird heute vor allem mit https eingesetzt, das Kommunikationsprotokoll für die sichere Datenübertragung im Web. Wird etwa SSL beim Zugriff auf WWW-Seiten verwendet, dann werden genau dieselben Elemente des http-Protokolls verwendet, mit denen man auch sonst auf einen WWW-Server zugreift, nur wird zusätzlich der gesamte Verkehr verschlüsselt; der Protokollname "https" statt "http", der am Anfang des URL steht, bezeichnet also nicht ein anderes Protokoll, sondern die zusätzliche Verschlüsselung.

Die meisten Webserver unterstützen TLS 1.0, viele auch SSLv2 und SSLv3 mit einer Vielzahl von Verschlüsselungsmethoden, fast alle Browser und Server setzen jedoch bevorzugt TLS mit RSA- und AES-Verschlüsselung ein. SSL kommt zudem unter anderem bei E-Mail-Servern, internetbasierten Anwendungen und der Kommunikation zwischen Servern zur Anwendung.

Was ist MLS?

Messaging-Layer-Security (MLS) ist ein offener kryptografischer Protokollstandard mit Ende-zu-Ende-Verschlüsselung, der im Hinblick auf sicheren Nachrichtenaustausch in kleinen und großen Gruppen erforscht wird. Ziel des Projektes ist es, einen Standard zu haben, der von der gesamten Industrie verwendet werden kann - ähnlich wie es bei TLS der Fall ist.

Anfang 2018 gründete sich eine Arbeitsgruppe der Internet Engineering Task Force (IETF) um das Protokoll zu entwickeln. Angestoßen wurde die Initiative bereits bei einem IETF-Meeting im Sommer 2016 unter anderem vom Schweizer Messaging-Anbieter Wire sowie Firefox-Betreiber Mozilla und Cisco, berichtet Raphael Robert, Security-Chef bei Wire. Später kamen auch Google, Facebook, Twitter, die Universität Oxford und das französische Forschungsinstitut INRIA zu dem Projekt. Apple beteiligt sich hingegen nicht aktiv an der Forschung.

Laut Wire-Manager Robert wird oftmals bei Messaging-Diensten insbesondere im Business-Bereich bisher eine reine Transportverschlüsselung verwendet. Das heißt, die Daten sind zwar auf dem Weg vom Client zum Server verschlüsselt, werden dort jedoch entschlüsselt und typischerweise auch so abgelegt, um später wieder abgerufen werden zu können. Bei einer Ende-zu-Ende-Verschlüsselung gilt es, die Daten auf dem Gerät zu verschlüsseln, von dem sie gesendet werden, und erst wieder auf dem Gerät zu entschlüsseln, auf den sie angezeigt werden. Die Schlüssel werden also nur auf den Geräten und nicht auf irgendwelchen Servern vorgehalten, so dass Angreifer auf dem Weg der Nachricht vom Absender zum Empfänger zu keiner Zeit Klartext einsehen können.

Auf Protokoll-Ebene nutz der Standard eine Kombination aus den Prinzipien Forward Secrecy und Post-Compromise Security, zusätzlich zu den bei Ende-zu-Ende-Verschlüsselung üblichen Sicherheitsmerkmalen der Authentizität und Vertraulichkeit.

Bei Forward Secrecy werden - einfach ausgedrückt - zwischen den Kommunikationspartnern zusätzliche neue geheime Schlüssel vereinbart um einzelne Nachrichten zu verschlüsseln, so dass die verwendeten Nachrichtenschlüssel nach Erhalt der Nachrichten nicht mehr aus den geheimen Langzeitschlüsseln rekonstruiert werden können. Damit kann eine aufgezeichnete verschlüsselte Kommunikation auch bei Kenntnis des Langzeitschlüssels nicht nachträglich entschlüsselt werden.

Bei Post-Compromise Security wird - ebenfalls sehr vereinfacht - aus einem aktuellsten "Gruppenschlüssel" einer Konversation und frischen Schlüsselmaterial per Update ein neuer "Gruppenschlüssel" für kommende Nachrichten generiert. Wird ein kompromittierter Teilnehmer aus einer Gruppe ausgeschlossen, oder konnte der Angreifer nur punktuell Schlüsselmaterial von einem Teilnehmer abgreifen, können zukünftige Schlüssel aufgrund des frischen Schlüsselmaterials nicht mehr abgeleitet werden und die Vertraulichkeit innerhalb der Gruppe bleibt erhalten.

Damit sollen im Fall einer Kompromittierung eines Knotens zu einem bestimmten Zeitpunkt weder vorangegangene noch zukünftige Nachrichten unverschlüsselt vom Angreifer eingesehen werden können.

Das Protokoll unterscheidet sich auch in puncto Effizienz in großen Gruppen von anderen Ansätzen. So können die oben genannten Sicherheitsmerkmale auch in großen Gruppen aufrechterhalten werden, ohne dass eine kostspielige Einzelverschlüsselung für einzelne Teilnehmer erfolgen muss.

Die Grundkonzepte des Protokolls sind bereits festgelegt und werden derzeit im Detail ausgearbeitet sowie von Experten im Anschluss formal verifiziert. Laut Raphael Robert von Wire soll MLS etwa 2020 zum festen Standard für Messaging-Lösungen werden.

Wie lassen sich E-Mails sicher verschlüsseln?

Hier sind zwei Dinge zu unterscheiden: die Verschlüsselung der Übertragung und die Verschlüsselung des E-Mail-Inhalts. Für die sichere Übertragung nutzen viele Geräte SSL-Verbindungen, teilweise muss diese Funktion aber gezielt eingeschaltet werden. Überprüfen Sie deshalb in den E-Mail-Einstellungen, ob SSL/TLS aktiviert ist.

Die Grafik zeigt auf, wie der TLS/SSL-Prozess en detail funktioniert.
Die Grafik zeigt auf, wie der TLS/SSL-Prozess en detail funktioniert.
Foto: Blue Coat

Außerdem kann zusätzlich zur Übertragung der E-Mails auch der Inhalt von E-Mails verschlüsselt werden. Für die Inhaltsverschlüsselung gibt es die oben erwähnten zwei Verfahren: S/MIME und PGP bzw. GPG. Bei beiden Verfahren handelt es sich um asymmetrische Verschlüsselungstechniken, die bis heute als ungeknackt gelten. Für die Nutzer gibt es Plug-ins, die man in den gängigen E-Mail-Programmen wie Thunderbird verwenden kann.

E-Mail-Verschlüsselung hat zwei Nachteile: Erstens ist die Einrichtung für Laien nicht einfach, auch wenn es inzwischen detaillierte Anleitungen gibt. Der zweite Nachteil: Auch die Empfänger müssen sich auf PGP oder S/MIME einlassen und sich einen virtuellen Schlüsselbund in ihrem Mail-Programm einrichten. Nur so können verschlüsselte Nachrichten ausgetauscht werden. Die Verbreitung, gerade im privaten Umfeld, ist deshalb bisher noch nicht sehr groß.

Was ist eine Digitale Signatur?

Die Digitale Signatur dient zur sicheren Abwicklung von Internetgeschäften. Sie ermöglicht es, elektronische Dokumente unerschütterlich auf ihre Herkunft und Richtigkeit zu überprüfen und die Identität der Partner zu garantieren. Im Grunde ist sie nichts anderes als ein Siegel zu elektronischen Daten und hat die Funktion einer Unterschrift.

Dabei bietet die Digitale Signatur noch weitergehenden Schutz als die gewöhnliche Unterschrift leistet. Die Signatur garantiert dem Empfänger erstens, dass der Absender des Dokuments auch der ist, für den er sich ausgibt (=Authentizität). Zweitens garantiert sie die Unverfälschtheit der Daten, das heißt, dass das Dokument auch so beim Empfänger ankommt, wie es der Absender verschickt hat (= Integrität).

Für die Digitale Signatur ist eine Public-Key-Infrastruktur (siehe weiter unten) notwendig, die die Gültigkeit der verwendeten Schlüssel durch Zertifikate bestätigt.

Wie funkioniert die Digitale Signatur?

Um ein Dokument digital signieren zu können, muss man im Besitz von Signaturschlüsseln sein. Digitale Signaturen arbeiten grundsätzlich auf der Basis von asymmetrischen kryptografischen Verfahren.

Für jeden Beteiligten am Signatursystem wird ein Schlüsselpaar generiert, ein geheimer Private Key und ein öffentlicher Public Key. Der eine, der Public Key, dient der Veröffentlichung. Dieser Schlüssel zum Überprüfen der Signatur wird öffentlich bekannt gegeben. Der andere, der Private Key, ist der Schlüssel, mit dem die Unterschrift geleistet wird. Er ist geheim und bleibt in der Verwahrung des Anwenders.

Zum Erstellen einer Signatur wird ein Hash-Wert aus der zu verschickenden Nachricht gebildet und mit dem privaten Schlüssel signiert. Nachricht und Signatur werden dann zum Empfänger geschickt, wobei die eigentliche Nachricht nicht verschlüsselt zu sein braucht, da es sich hierbei um eine Signatur (Schaffen von Integrität und Authentizität) und nicht um Verschlüsselung (Schaffen von Vertraulichkeit) handelt.

Zum Verifizieren der Signatur wird die empfangene Signatur des Hash-Wertes mit dem öffentlichen Schlüssel geprüft. Ist die Verifizierung erfolgreich, so kann davon ausgegangen werden, dass die Nachricht vom Besitzer des privaten Schlüssels stammt und dass sie bei der Übertragung nicht manipuliert wurde.

Was ist ein Zertifikat?

Zertifierungsstellen stellen ein Zertifikat aus, das die Identität des Teilnehmers mit dem öffentlichen Schlüssel verknüpft. Sie veröffentlichen das Zertifikat in einem allgemein zugänglichen Verzeichnis.
Zertifierungsstellen stellen ein Zertifikat aus, das die Identität des Teilnehmers mit dem öffentlichen Schlüssel verknüpft. Sie veröffentlichen das Zertifikat in einem allgemein zugänglichen Verzeichnis.

Ein Zertifikat ist ein digitaler Datensatz, der bestimmte Eigenschaften von Personen oder Objekten bestätigt und dessen Authentizität und Integrität durch kryptografische Verfahren geprüft werden kann. Das digitale Zertifikat enthält insbesondere die zu seiner Prüfung erforderlichen Daten.

Was versteht man unter einer Public-Key-Infrastruktur?

Eine Public-Key-Infrastruktur stellt die Ressourcen bereit, die erforderlich sind, um sinnvoll Zertifikate ausstellen zu können. Dazu gehört ein Satz Regeln, für welche Personen oder Instanzen Zertifikate ausgestellt werden und unter welchen Bedingungen. Hinzu kommt die Überprüfung der Identität der Zertifikatnehmer, meist auch die Veröffentlichung der ausgestellten und gegebenenfalls auch der widerrufenen Zertifikate. Wichtig sind auch geeignete Methoden, Zertifikate so zu erstellen, dass sie selbst vertrauenswürdig sind. Insbesondere darf dazu der signierende Rechner in aller Regel nicht über das Internet erreichbar sein.

Abschließend ein Hinweis

Wer sich mit dem Thema Verschlüsselung näher beschäftigen möchte, sollte einen Blick auf die Lernsoftware CrypTool werfen. CrypTool ist ein kostenloses Programm, mit dessen Hilfe sich kryptografische Verfahren praktisch kennenlernen und anwenden lassen. Es stehen sowohl klassische Verfahren wie die Cäsar-Verschlüsselung als auch moderne Methoden wie RSA und DES zur Verfügung.