E-Mail-Verschlüsselung

Perfect Forward Secrecy - was ist das?

17.10.2014
Von  und
Niko Thome ist Security-Experte bei der 1&1 Internet AG in Montabaur.
Rolf Haynberg ist Security-Experte bei der 1&1 Internet AG in Montabaur.
Perfect Forwad Secrecy (PFS) erschwert das nachträgliche Entschlüsseln von Daten, die über TLS/SSL-gesicherte Verbindungen versendet wurden. Besonders Freiberufler, Selbstständige und KMUs können von der zusätzlichen Sicherheit profitieren.

Von Bruce Schneier wissen wir, dass es zwei Arten der Kryptografie gibt: "Die eine hält die kleine Schwester vom Lesen der Daten ab, und die andere hindert die Regierung daran." Der NSA-Skandal hat uns gezeigt, wie wichtig vor allem die letztgenannte ist.

Um zu verstehen, welchen Vorteil die Verwendung von PFS bietet, ist es zunächst wichtig zu wissen, wie TLS/SSL die Daten vor unbefugtem Mitlesen schützt. Bei der Kommunikation über verschlüsselte Verbindungen werden die Daten vom Sender mit einem geheimen Sitzungsschlüssel verschlüsselt und vom Empfänger mit dem gleichen Schlüssel wieder entschlüsselt. Die Schwierigkeit liegt darin, dass Sender und Empfänger den Sitzungsschlüssel zuvor austauschen müssen, ohne dass Unbefugte diesen durch Abhören der Kommunikation ebenfalls in Erfahrung bringen können.

Öffentlich und privat

Bei TLS/SSL kommt für diesen Schlüsselaustausch die sogenannte Public-Key-Kryptografie zum Einsatz. Dahinter steckt das Prinzip zweier Schlüssel - der eine ist geheim, der andere öffentlich. Der öffentliche Schlüssel, auch als Zertifikat bezeichnet, wird veröffentlicht. Im Unterschied dazu sollte den geheimen oder privaten Schlüssel wirklich nur der Personenkreis kennen, der die mit dem öffentlichen Schlüssel verschlüsselten Nachrichten wieder entschlüsseln muss. Bildlich beschrieben kann man sich das ungefähr so vorstellen: Der öffentliche Schlüssel ist der Briefkasten, in den jeder etwas einwerfen darf. Mit dem privaten Schlüssel kann jedoch einzig der Eigentümer die Post aus dem Briefkasten herausholen.

Diese Eigenschaft wird nun beim Aufbau einer verschlüsselten Verbindung zwischen zwei Kommunikationspartnern wie folgt genutzt: Der Server präsentiert zunächst sein Zertifikat, also den öffentlichen Schlüssel. Der Client nutzt diesen dann, um dem Server einen zufällig generierten Sitzungsschlüssel mitzuteilen, mit dem beide Seiten später die Daten ver- und entschlüsseln. Durch die spezielle Eigenschaft der Public-Key-Kryptografie ist sichergestellt, dass nur der Server den Sitzungsschlüssel und damit den späteren Datenverkehr entschlüsseln kann. Wer den privaten Schlüssel nicht kennt, kann die Daten nicht entschlüsseln - auch nicht die NSA, wenn sie die Daten abfangen und kopieren sollte.

Problematisch ist dieses Vorgehen, wenn der private Schlüssel bekannt wird. Der E-Mail-Provider Lavabit wurde beispielsweise gerichtlich zur Herausgabe gezwungen. Durchaus denkbar ist auch, dass der Sitzungsschlüssel von einem der immer schneller werdenden Computer irgendwann in der Zukunft errechnet wird. In diesen Fällen lässt sich die Kommunikation noch Jahre später lesbar machen.

Was ist bei PFS anders?

Um das Risiko eines nachträglichen Entschlüsselns der Kommunikation zu mindern, kann Perfect Forward Secrecy genutzt werden. Bei PFS wird für den Schlüsselaustausch ein anderes Verfahren eingesetzt, welches nicht auf dem öffentlichen Schlüssel basiert, sondern bei jedem Verbindungsaufbau neue Zufallszahlen für den Schlüsselaustausch nutzt. Benannt ist dieser Ansatz nach Martin Hellmann und Whitfield Diffie, die 1976 an der Standford-Universität in Kalifornien gemeinsam mit Ralph Merkle den Algorithmus für das Schlüsselaustauschprotokoll entwickelt haben. Ein Angreifer, der den verschlüsselten Datenverkehr kopiert und speichert, kann dadurch die abgefangenen Informationen im Nachgang selbst dann nicht entschlüsseln, wenn er den privaten Schlüssel des Servers kennt. PFS setzt die Hürde für eine nachträgliche Entschlüsselung somit deutlich höher.

PFS nutzen

Damit PFS genutzt werden kann, müssen sowohl Server als auch Client diese Art der SSL-Verschlüsselung unterstützen. Clientseitig ist diese Unterstützung bei den aktuellen Versionen der gängigen Browser und Mailprogramme gegeben. Serverseitig bieten ebenfalls alle gängigen SSL-Libraries wie Microsofts SChannel, OpenSSL oder GnuTLS Unterstützung für PFS an. Allerdings ist hierfür ein aktuelles Betriebssystem Voraussetzung. Die populäre Library OpenSSL unterstützt beispielsweise PFS erst ab Version 1.0, welche nicht auf älteren Betriebssystemen verfügbar ist.

Sofern der Server über eine passende SSL-Library verfügt, kann PFS in der Konfiguration des entsprechenden Dienstes aktiviert werden. Durch den flexiblen Verbindungsaufbau von SSL ist es außerdem möglich, den Dienst auch weiterhin für ältere Clients, die PFS nicht nutzen können, anzubieten. Bei korrekter Konfiguration handeln Server und Client dann die stärksten Verschlüsselungsalgorithmen zu Beginn der Verbindung selbstständig aus.

Typischerweise verfügt ein SSL-gesicherter Dienst daher über mehrere Profile, die er dem Client anbieten kann. Auf diesem Screenshot sind die Profile des 1&1-SMTP-Servers zu sehen:

Profile, die ECDHE für den Schlüssel-Austausch enthalten, bieten dem 1&1-Kunden PFS. In den bevorzugten Profilen (Prefered Server Ciphers) ist PFS ebenfalls enthalten.
Profile, die ECDHE für den Schlüssel-Austausch enthalten, bieten dem 1&1-Kunden PFS. In den bevorzugten Profilen (Prefered Server Ciphers) ist PFS ebenfalls enthalten.
Foto: 1&1 Internet AG

Dass ECDHE (Elliptic Curve Diffie-Hellman Exchange) als möglicher Algorithmus zum Schlüsselaustausch angeboten wird, zeigt, dass Kunden PFS mit diesem Server nutzen können - bei 1&1 und anderen E-Mail-Anbietern der Initiative "E-Mail made in Germany" ist ein SSL-Profil mit PFS mittlerweile standardmäßig voreingestellt. Besonderes Know-how oder tieferes Technik-Verständnis sind somit nicht erforderlich, um die eigene Kommunikation besser zu schützen.

Natürlich ist auch PFS kein Allheilmittel, das absolute Sicherheit garantieren kann. Die Software schützt nicht vor fehlerhaften Implementierungen, sorglosem Umgang mit einem geheimen Schlüssel oder gebrochenen Verschlüsselungsalgorithmen. Immer wenn Kryptografie zum Einsatz kommt, müssen Security-Experten deshalb ständig am Ball bleiben: Patches einspielen, Schlüssellängen prüfen, gebrochene Algorithmen tauschen und auf aktuelle Bedrohungslagen reagieren. Ansonsten hält man nur die kleine Schwester vom Mitlesen ab. (sh)