Klassisch verschlüsselte Kommunikation über SSL/TLS kann nachträglich mit Zugriff auf den privaten Key vom Zertifikat wieder entschlüsselt werden. Mit dem Netzwerk-Sniffer Wireshark ist das nicht sonderlich schwer und die letzten Jahre hat es die wenigsten gestört. Ein Abzug der privaten Keys setzt gewöhnliche eine Komprimierung des Servers voraus, sodass das Risiko oftmals als nicht sonderlich hoch angesehen wurde. Seit dem Snowden-Zeitalter änderte sich etwas das Risikobewusstsein, nachdem der eventuelle Gegner auch eine NSA sein könnte. Was früher vielleicht noch Paranoia war, sind heute ernstzunehmende Angriffsvektoren. Das Buzzword Advanced Persistent Threats (APT) lässt grüßen. Das Risiko erhöhte sich, aber es war noch nicht kritisch. Eine massenhafter Schwenk zu Perfect Forward Secrecy wurde dennoch nicht vollzogen, auch wenn es die nachträgliche Entschlüsselung effektiv verhindern würde.
Heartbleed änderte das. Die Sicherheitslücke in OpenSSL erlaubt es, zufällige Speicherbereiche des Servers auszulesen. Nachdem die privaten Schlüssel zu den Zertifikaten notwendigerweise im Speicher gehalten werden, können diese nun ausgelesen werden. Einzige Voraussetzung: Eine verwundbare OpenSSL-Version. Dass der Angriff kaum forensische Spuren hinterlässt, macht ihn noch gefährlicher. Die Keys lassen sich nicht mit 1-2 Anfragen auslesen, aber durch massenhafte Anfragen extrahieren. Das wurde öffentlich nachgeprüft und mittlerweile existiert dafür auch ein Angriffs-Tool.
Die Sicherheitslücke in OpenSSL zeigt uns, dass auch mutmaßlich „sichere“ Software hochkritische Lücken aufweisen kann. Sofern kein Perfect Forward Secrecy eingesetzt wurde, lässt sich der Datenverkehr von einem Angreifer jetzt nachträglich problemlos entschlüsseln. Nun ist der Einsatz von Perfect Forward Secrecy absolut alternativlos; alles andere muss ab sofort als nicht ausreichend sicher angesehen werden.