Zum Hauptinhalt springen

6.3 Forward Secrecy

6.3 Forward Secrecy

Forward Secrecy (auch "perfect forward secrecy" oder "PFS" genannt und in [RFC4949] definiert) ist eine Verteidigung gegen einen Angreifer, der verschlüsselte Konversationen aufzeichnet, bei denen die Session-Schlüssel nur mit den langfristigen Schlüsseln der kommunizierenden Parteien verschlüsselt sind. Sollte der Angreifer zu einem späteren Zeitpunkt in der Lage sein, diese langfristigen Schlüssel zu erhalten, könnten die Session-Schlüssel und damit die gesamte Konversation entschlüsselt werden. Im Kontext von TLS und DTLS ist eine solche Kompromittierung langfristiger Schlüssel nicht gänzlich unwahrscheinlich. Sie kann beispielsweise auftreten aufgrund von:

  • Einem Client oder Server, der durch einen anderen Angriffsvektor angegriffen wird und der private Schlüssel abgerufen wird.

  • Einem langfristigen Schlüssel, der von einem Gerät abgerufen wird, das ohne vorheriges Löschen verkauft oder anderweitig außer Betrieb genommen wurde.

  • Einem langfristigen Schlüssel, der auf einem Gerät als Standardschlüssel verwendet wird [Heninger2012].

  • Einem Schlüssel, der von einer vertrauenswürdigen dritten Partei wie einer CA generiert wurde und später von ihr entweder durch Erpressung oder Kompromittierung abgerufen wird [Soghoian2011].

  • Einem kryptografischen Durchbruch oder der Verwendung asymmetrischer Schlüssel mit unzureichender Länge [Kleinjung2010].

  • Social Engineering Angriffen gegen Systemadministratoren.

  • Sammlung privater Schlüssel aus unzureichend geschützten Backups.

Forward Secrecy stellt in solchen Fällen sicher, dass es für einen Angreifer nicht machbar ist, die Session-Schlüssel zu bestimmen, selbst wenn der Angreifer die langfristigen Schlüssel einige Zeit nach der Konversation erhalten hat. Sie schützt auch gegen einen Angreifer, der im Besitz der langfristigen Schlüssel ist, aber während der Konversation passiv bleibt.

Forward Secrecy wird im Allgemeinen durch Verwendung des Diffie-Hellman-Schemas zur Ableitung von Session-Schlüsseln erreicht. Das Diffie-Hellman-Schema lässt beide Parteien private Geheimnisse aufrechterhalten und Parameter über das Netzwerk als modulare Potenzen über bestimmte zyklische Gruppen senden. Die Eigenschaften des sogenannten Discrete Logarithm Problem (DLP) ermöglichen es den Parteien, die Session-Schlüssel abzuleiten, ohne dass ein Abhörer dies tun kann. Es gibt derzeit keinen bekannten Angriff gegen DLP, wenn ausreichend große Parameter gewählt werden. Eine Variante des Diffie-Hellman-Schemas verwendet elliptische Kurven anstelle der ursprünglich vorgeschlagenen modularen Arithmetik.

Leider wurden viele TLS/DTLS-Cipher-Suiten definiert, die Forward Secrecy nicht aufweisen, z.B. TLS_RSA_WITH_AES_256_CBC_SHA256. Dieses Dokument befürwortet daher die strikte Verwendung von nur Forward-Secrecy-Ciphern.