Okay, in der Kryptografie taucht der Begriff PFS manchmal auf. Er ist die Abkürzung für Perfect Forward Secrecy, manchmal auch einfach FS genannt. Im Grunde geht es darum, sicherzustellen, dass bei einem Diebstahl eines privaten Schlüssels auf einem Server – etwa durch einen Hackerangriff – nur die Daten der aktuellen Sitzung gefährdet sind. Der bisherige Datenverkehr bleibt geschützt. Das ist die Grundidee. Um zu verstehen, wie das funktioniert, muss man sich mit dem Austausch kryptografischer Schlüssel auskennen. Also keine Sorge, wenn das zunächst verwirrend klingt. Es ist eine Möglichkeit, verschlüsselte Daten langfristig sicherer zu machen.

Grundlagen der Kryptographie

Um Ihre Nachrichten zu schützen, verwenden Sie am besten symmetrische Verschlüsselung – schnelle Verfahren wie AES. Das Problem? Da derselbe Schlüssel zum Ver- und Entschlüsseln der Nachricht verwendet wird, können Sie diesen Schlüssel nicht einfach über ein unsicheres Netzwerk senden, ohne das Risiko eines Abfangens einzugehen. Daher wird häufig asymmetrische Kryptografie (öffentliche/private Schlüssel) verwendet, um zunächst einen sicheren Kanal einzurichten.

Hinweis: Theoretisch könnten Sie Out-of-Band-Methoden ausprobieren, z. B.den Schlüsselaustausch über ein Offline-Gerät. Dies ist jedoch recht mühsam und heutzutage selten praktikabel. Normalerweise erfolgt dies über Diffie-Hellman.

Diffie-Hellman (DH) ist eine Art raffinierter Handschlag. Eine Person, beispielsweise Alice, sendet ihren öffentlichen Schlüssel an Bob, der ihn dann mit seinem privaten Schlüssel mischt, um ein gemeinsames Geheimnis zu erzeugen. Bob sendet seinen öffentlichen Schlüssel zurück, und Alice tut dasselbe mit ihrem privaten Schlüssel. Aufgrund der Art und Weise, wie das funktioniert, erhalten beide am Ende dasselbe Geheimnis, ohne es jemals zu übertragen. Dieses Geheimnis wird dann verwendet, um die eigentlichen Nachrichten mit superschnellen symmetrischen Algorithmen zu verschlüsseln.

Hinweis: Der Haken? Diffie-Hellman prüft standardmäßig nicht, ob die Gegenseite legitim ist. Grundsätzlich könnte sich jeder mit einem gefälschten Schlüssel in die Mitte einschleichen. Daher benötigen Sie eine Möglichkeit, Identitäten zu überprüfen. Und hier kommen PKI und Zertifikate ins Spiel. Denn Sicherheit im Internet hängt natürlich nicht nur von Verschlüsselung, sondern auch von Vertrauen ab.

Das Problem mit dem Standard-Diffie-Hellman

Hier wird es etwas kompliziert. Websites verwenden Zertifikate vertrauenswürdiger Zertifizierungsstellen (CAs), die öffentliche Schlüssel enthalten. Diese funktionieren einwandfrei, bis der private Schlüssel des Servers kompromittiert wird – beispielsweise, wenn es einem Hacker gelingt, in den Server einzudringen und diesen privaten Schlüssel zu stehlen. Sobald er ihn hat, kann der Angreifer den damit verschlüsselten Datenverkehr entschlüsseln, manchmal sogar jahrelang, sofern dieser gespeichert wurde. Das ist ein Albtraum, denn moderne Verschlüsselung macht es nahezu unmöglich, den Schlüssel zu erraten. Wer also diesen privaten Schlüssel hat, ist aufgeschmissen.

Und seien wir ehrlich: Wenn ein Angreifer (z. B.ein Staat oder ein hinterhältiger ISP oder VPN-Anbieter) auf einem riesigen Vorrat an verschlüsseltem Datenverkehr sitzt, könnte er diesen später entschlüsseln, wenn er den Schlüssel erhält. Das bedeutet, dass alle verschlüsselten Informationen, Bankdaten usw.gefährdet sind, sobald der private Schlüssel offengelegt wird.

Das Beängstigende daran: Der bloße Besitz des Schlüssels reicht nicht aus, um vergangene Gespräche zu entschlüsseln, es sei denn, man hat den gesamten Datenverkehr aufgezeichnet. Sollte dies jedoch jemandem gelingen – und er verfügt über den privaten Schlüssel –, kann er alle Daten später entschlüsseln, sobald die Entschlüsselung rechnerisch möglich ist.

Perfekte Vorwärtsgeheimnis

Hier kommt PFS ins Spiel. Die Idee? Verwenden Sie nicht für jede Sitzung denselben Schlüssel. Stattdessen generiert der Server bei jeder Verbindung eines Clients ein neues, temporäres (flüchtiges) Schlüsselpaar. Dieser flüchtige Schlüssel wird nur für diese Sitzung verwendet und anschließend sofort verworfen. Selbst wenn es jemandem gelingt, den Server zu hacken und später den privaten Schlüssel abzugreifen, kann er vergangene Konversationen nicht entschlüsseln, da jede Sitzung mit einem eigenen, eindeutigen Schlüssel gesichert war.

Wenn wir über Diffie-Hellman mit flüchtigen Schlüsseln sprechen, spricht man von ECDHE (Elliptic Curve Diffie-Hellman Ephemeral).Das ist zwar ein ganz schöner Brocken, aber im Grunde geht es um dasselbe: Jedes Mal einen neuen Schlüssel generieren, ihn nur für die jeweilige Sitzung behalten und ihn dann löschen.

Das praktische Ergebnis? Wenn der private Schlüssel Ihres Servers *nachträglich* kompromittiert wird, kann der Angreifer nur den Datenverkehr der mit diesem Schlüssel gesicherten Sitzungen entschlüsseln, nicht den gesamten Verlauf. Das erhöht die Sicherheit enorm, insbesondere wenn jemand den Datenverkehr aufgezeichnet hat, um ihn später zu entschlüsseln.

Das ist zwar etwas seltsam, macht das Gesamtsystem aber widerstandsfähiger, insbesondere gegen langfristiges Schnüffeln. Da bei jeder Sitzung ein neues Geheimnis verwendet wird, ist es, als würde man kein Schlüsselschloss dauerhaft an der Tür lassen.

Zusammenfassung

PFS dient im Wesentlichen dazu, ältere verschlüsselte Daten zu schützen, selbst wenn der private Schlüssel später kompromittiert wird. Es ist zwar nicht narrensicher, aber eine der besten Möglichkeiten, einen Angreifer daran zu hindern, jahrelang gespeicherten Datenverkehr zu entschlüsseln, falls er später Zugriff erhält. Im Grunde ist es eine gute Sicherheitsgewohnheit, die es im Nachhinein schwieriger macht, Ihre verschlüsselten Konversationen zu knacken. Denn in der Sicherheit geht es manchmal darum, es jedem, der versucht, in die Vergangenheit zurückzublicken, schwerer zu machen.

Zusammenfassung

  • Bei Perfect Forward Secrecy handelt es sich um die Generierung eindeutiger Sitzungsschlüssel für jede Verbindung.
  • Zwingt Server, temporäre Schlüssel nach Beendigung der Sitzung zu verwerfen, wodurch das langfristige Risiko verringert wird.
  • Es verhindert, dass Angreifer frühere Kommunikationen entschlüsseln, wenn sie später den privaten Schlüssel erhalten.
  • Normalerweise über Protokolle wie ECDHE in HTTPS implementiert.

Zusammenfassung

Wir hoffen, dass dies die Hauptideen verdeutlicht – es ist zwar etwas technisch, aber wenn man das Warum hinter PFS versteht, versteht man leichter, warum Websites und Apps so große Anstrengungen unternehmen, es zu implementieren. Es hat einfach in mehreren Setups funktioniert und bringt hoffentlich etwas Licht in die dunklen Ecken der Kryptographie.