Redirecting you to
Blog-Beitrag Jan. 17, 2022

Perfect Forward Secrecy: Wie es funktioniert und warum es wichtig ist

Perfect Forward Secrecy (PFS) erhöht die Sicherheit von SSL/TLS, indem für jede Verbindung einzigartige Sitzungsschlüssel generiert werden. Dadurch können Hacker selbst bei Diebstahl eines privaten Schlüssels keine früheren oder zukünftigen Daten entschlüsseln. Erfahren Sie, wie PFS funktioniert und warum es für die Cybersicherheit unerlässlich ist.

Inhaltsverzeichnis

Was ist perfekte Vorwärtsgeheimhaltung?

Perfect Forward Secrecy (PFS), auch bekannt als Forward Secrecy, ist eine Art der Verschlüsselung, die den kurzfristigen Austausch privater Schlüssel zwischen Clients und Servern ermöglicht. PFS ist in der Transportschicht-Sicherheit (SSL/TLS) enthalten und verhindert, dass Hacker Daten aus anderen Sitzungen entschlüsseln, egal ob vergangen oder zukünftig, selbst wenn die in einer einzelnen Sitzung verwendeten privaten Schlüssel irgendwann gestohlen werden.

PFS erreicht dies durch die Verwendung eindeutiger Sitzungsschlüssel, die bei jeder Verbindung automatisch generiert werden. Die Schlüssel werden ohne Vorwissen generiert, sodass sie nicht langfristig gespeichert werden müssen und der Zugriff auf sensible Daten über vorhandene, kompromittierte Schlüssel verhindert wird.

Hacker sind daher nicht in der Lage, den Sitzungsschlüssel durch Entschlüsselung ohne Beteiligung auf einer grundlegenden Ebene zu erhalten, da der Schlüsselvereinbarungs- und -austauschmechanismus viel mehr Aufwand erfordert als andere Angriffsmethoden.

PFS wird von allen gängigen Internetbrowsern unterstützt und in der Regel als Sicherheitsfunktion angesehen. Die meisten modernen Betriebssysteme unterstützen PFS bereits seit geraumer Zeit. Die letzte Windows-Version, die PFS nicht unterstützte, war beispielsweise Windows XP.

Es wird erwartet, dass PFS weiter zunimmt, da immer mehr Technologiegiganten die Kundenakzeptanz erzwingen. Google verwendet es seit Jahren bei Gmail und anderen Produkten, und Apple hat 2017 die perfekte Vorwärtsgeheimhaltung innerhalb von iOS zur Voraussetzung für den App Store gemacht. Als TLS 1.3 eingeführt wurde, schrieb die Internet Engineering Task Force (IETF) die perfekte Vorwärtsgeheimhaltung vor und erlaubte nur Chiffrier-Suiten, die diese boten. Sie ist ein wichtiger Teil der Zukunft der Kryptographie, und das aus gutem Grund.

Wie PFS funktioniert

Da PFS eindeutige Sitzungsschlüssel verwendet, können Angreifer die für einen bestimmten Austausch spezifischen Daten nur dann einsehen, wenn sie die privaten Schlüssel für diesen Austausch wiederherstellen. Diese Segmentierung von SSL/TLS-Sitzungen reduziert das Risiko eines schwerwiegenden Datenlecks über diesen Vektor erheblich.

Daher ist es weniger wahrscheinlich, dass böswillige Akteure einen Server mit PFS ins Visier nehmen, da ihre Bemühungen nur Zugriff auf deutlich weniger Daten ermöglichen, ohne dass garantiert werden kann, dass die abgerufenen Daten das beabsichtigte Ziel sind, bis sie sie mit den gestohlenen Schlüsseln entschlüsseln.

In der Praxis funktioniert PFS so, dass Organisationen die Sitzungsschlüssel bei jeder Nutzung eines Dienstes wechseln – beispielsweise jedes Mal, wenn ein Besucher eine verschlüsselte Seite aufruft, etwa aus finanziellen oder Identifikationsgründen. PFS wird auch im Nachrichtenverkehr eingesetzt. Für jede gesendete Nachricht kann ein neuer Satz von Sitzungsschlüsseln verwendet werden, wodurch alle gesammelten Informationen vollständig segmentiert werden.

Die bevorzugte Methode zur Entschlüsselung einer PFS-Sitzung ist die Verwendung eines Agenten, der auf dem Server selbst installiert ist. Es gibt auch andere Methoden, die jedoch Nachteile mit sich bringen, die behoben werden müssen, bevor sie sicher eingesetzt werden können.

Durch die Installation eines Agenten auf einem Server wird Software von Drittanbietern integriert, die Verschlüsselungsschlüssel sammelt und Transparenz bietet, ohne die SSL/TLS-Sitzung zu unterbrechen.

Welche Verschlüsselungsalgorithmen verwenden es?

SSL/TLS wird durch den Austausch von Schlüsseln über vereinbarte kryptografische Prozesse, sogenannte Cipher Suites, erreicht. Die Vereinbarung zur Festlegung dieser Verbindungsparameter wird als Handshake bezeichnet.

Damit Perfect Forward Secrecy umgesetzt werden kann, muss eine konforme Art der Verschlüsselung verwendet werden. Derzeit funktionieren zwei Schlüsselaustausch-Algorithmen:

  • Ephemeral Diffie-Hellman (DHE)
  • Ephemeral Elliptic Curve Diffie-Hellman (ECDHE)

Die verwendeten spezifischen Algorithmen werden sich höchstwahrscheinlich ändern, sobald bessere Methoden entdeckt werden. Einer der wichtigsten Grundsätze von PFS ist jedoch, dass der Schlüsselaustausch kurzlebig sein muss, d. h. die Sitzungsschlüssel sind nur für den einmaligen Gebrauch bestimmt. Diese werden auch als kurzlebige Schlüssel bezeichnet. Sie basieren auf Zufallswerten, die bei jedem Austausch erstellt werden, sodass sie für diesen Austausch eindeutig sind und nach dessen Ende nicht mehr gültig sind. Alle verschlüsselten Informationen werden anschließend gelöscht und für die nächste Sitzung werden neue Parameter erstellt.

Zusätzlich zur Begrenzung der Offenlegung von Daten, sobald ein Schlüssel kompromittiert wurde, stellt das Design des Diffie-Hellman-Schlüsselaustauschs sicher, dass der Sitzungsschlüssel nicht durch Brute-Force-Angriffe erlangt werden kann. Da der Sitzungsschlüssel durch unabhängige, nicht gemeinsam genutzte kryptografische Methoden erstellt wird, ist der private Schlüssel des Servers so gut wie nutzlos. Der entsprechende öffentliche Schlüssel des Paares wird nie tatsächlich zur Verschlüsselung von Daten verwendet.

Der Hauptzweck von PFS

PFS verhindert die Ausbreitung von Risiken über mehrere SSL/TLS-Sitzungen hinweg.

Zuvor konnte ein böswilliger Akteur, der eine häufig verwendete Verbindung zwischen einem Client und einem Server ins Visier nahm, verschlüsselten Datenverkehr so lange aufzeichnen, wie er wollte, und warten, bis er den privaten Schlüssel in die Hände bekam. Sobald dieser dann erworben wurde, kann er zurückgehen und alles entschlüsseln, was aufgezeichnet wurde. PFS schränkt dies erheblich ein.

Vor PFS war diese Schwachstelle weit verbreitet und potenziell verheerend. Ein anschauliches Beispiel hierfür ist die Heartbleed-OpenSSL-Schwachstelle, die 2012 entdeckt und 2014 öffentlich bekannt gegeben wurde.

Mit dem Heartbleed-Bug wiesen Angreifer den Server an, dass sie ihm eine 64 KB große Heartbeat-Anforderungsnachricht senden würden, aber stattdessen sendeten sie eine viel kleinere Nachricht. Der Server antwortete mit der kürzeren Nachricht, aber da der Server mit einer längeren Nachricht antwortete, füllte er den Rest der Nachricht mit den Daten, die sich gerade in seinem Speicher befanden. Dies war verheerend, da der Angriff wiederholt ausgeführt werden konnte, um große Datenmengen zu sammeln. Die Daten konnten alles innerhalb des Servers enthalten; Passwörter, persönliche Informationen, Sitzungsdaten und sogar der private Schlüssel des Servers waren für den Hacker zugänglich.

Da eine Heartbeat-Anfrage ein Routineereignis ist, wird sie nie im System protokolliert. Dies stellt nicht nur ein Problem für die forensische Untersuchung des Hacks dar, sondern macht es auch unmöglich, den Hack zu entdecken, ohne gezielt danach zu suchen.

Wenn der private Schlüssel des Servers eines der durch den Angriff kompromittierten Elemente war, könnten die Angriffe auch alle SSL/TLS-Sitzungen abfangen und entschlüsseln, ohne dass die Teilnehmer dies bemerken.

Die Nutzer von PFS sind nicht nur besorgt über böswillige Akteure, sondern auch über andere Arten der Überwachung. Nach der Veröffentlichung von Edward Snowden über die Spionageprogramme der National Security Agency (NSA) sehen viele Organisationen PFS als einen notwendigen Schritt zur Begrenzung der staatlichen Spionage und Überwachung.

Eine Lösung für die Zukunft

Wenn die aktuelle technologische Prozessentwicklung dem Mooreschen Gesetz folgt oder der Sprung zum Quantencomputing in großem Maßstab gelingt, werden viele kryptografische Algorithmen und bewährte Verfahren überholt und überflüssig. Dadurch wird alles, was durch die Verschlüsselung geschützt wird, offengelegt und könnte Altdaten gefährden. Viele Experten haben Bedenken geäußert, dass Einzelpersonen und Nationen auf der ganzen Welt Daten sammeln, mit dem Ziel, sie zu einem späteren Zeitpunkt zu entschlüsseln, wenn die Verarbeitung trivial wird.

PFS verhindert diese Strategie als Option gänzlich. Es überträgt keine seiner Sitzungsschlüssel über das Netzwerk, stattdessen verwendet PFS symmetrische Verschlüsselungsmethoden, die Sitzungsschlüssel unabhängig voneinander durch komplexe Authentifizierungsgleichungen generieren, die von beiden Seiten durchgeführt werden.

Eine weitere Möglichkeit, dieses Problem zu verhindern, ist die Nutzung der Quanten-Kryptographie, einem sich entwickelnden Feld.

Wie man perfekte Vorwärtsgeheimhaltung erreicht

Die Aktivierung der PFS-Unterstützung auf einem Server ist einfach und die meisten modernen Server sind bereits dafür konfiguriert. Falls nicht, können Sie dies in der Regel in vier einfachen Schritten tun:

  1. Gehen Sie zur SSL-Protokollkonfiguration
  2. Fügen Sie die SSL-Protokolle hinzu
  3. Legen Sie eine SSL-Verschlüsselung fest, die mit PFS kompatibel ist
  4. Starten Sie Ihren Server neu

Perfect Forward Secrecy kann auf den meisten Webservern, einschließlich Apache, Nginx, RSA und anderen, erreicht werden.