• IT-Karriere:
  • Services:

OpenSSL-Lücke: Die Sache mit den sicheren Primzahlen

OpenSSL hat mit einem Sicherheitsupdate eine Sicherheitslücke im Diffie-Hellman-Schlüsselaustausch behoben, deren Risiko als "hoch" eingestuft wird. Allerdings dürfte kaum jemand von der Lücke praktisch betroffen sein.

Artikel veröffentlicht am , Hanno Böck
Beim Schlüsselaustausch mit dem Diffie-Hellman-Verfahren wurde ein Problem in OpenSSL entdeckt.
Beim Schlüsselaustausch mit dem Diffie-Hellman-Verfahren wurde ein Problem in OpenSSL entdeckt. (Bild: PMRMaeyaert/Wikimedia Commons/CC-BY-SA 3.0)

Auch wenn die Auswirkungen begrenzt sein dürften: Eine neu entdeckte Sicherheitslücke in OpenSSL zeigt erneut, welche Fallstricke es bei der Implementierung des Diffie-Hellman-Schlüsselaustauschverfahrens gibt. Eine Rolle spielen dabei sogenannte "sichere" Primzahlen und die Wiederverwendung von Ephemeral-Diffie-Hellman-Keys über mehrere Verbindungen. Eine weitere Sicherheitslücke erlaubt unter bestimmten Umständen die Nutzung von Uralt-Ciphern aus dem SSL-Protokoll Version 2.

Stellenmarkt
  1. operational services GmbH & Co. KG, Frankfurt am Main, Berlin, Dresden, München
  2. Jean Müller GmbH Elektrotechnische Fabrik, Eltville

OpenSSL hat die Versionen 1.0.1r und 1.0.2f veröffentlicht. Die älteren Versionszweige 0.9.8 und 1.0.0 werden seit kurzem nicht mehr unterstützt.

Safe Primes und Sophie-Germain-Primzahlen

Der Diffie-Hellman-Schlüsselaustausch benötigt als Parameter für Verbindungen eine Primzahl. Für diese Primzahl wird üblicherweise eine sogenannte "safe Prime" ("sichere Primzahl") eingesetzt. Doch der Name ist missverständlich, denn es gibt auch andere Primzahlen, die in sicherer Art und Weise verwendet werden können. Dabei muss man allerdings einiges beachten.

Diese "safe Primes" zeichnen sich dadurch aus, dass es zu einer Primzahl p eine weitere Primzahl gibt, die man durch die Formel (p-1)/2 berechnen kann. Diese weitere Primzahl nennt sich Sophie-Germain-Primzahl. Ob eine Primzahl eine "safe Prime" ist, lässt sich so relativ einfach testen.

OpenSSL 1.0.2 nutzte standardmäßig jedoch keine Primzahlen dieser Form, es verwendete Primzahlen aus dem RFC 5114, die andere Eigenschaften haben. Diese Primzahlen können eine höhere Performance bieten, allerdings muss man dabei eine Sache beachten: Mit demselben Schlüssel darf jeweils nur ein Schlüsselaustausch durchgeführt werden, andernfalls ist ein Angriff möglich. Auch ältere Versionen von OpenSSL unterstützen bereits die Erzeugung von anfälligen Diffie-Hellman-Primzahlen mit dem Parameter -dsaparam.

Mehrfach verwendete Ephemeral-Keys

Hier wird nun eine andere Eigenschaft von OpenSSL zum Verhängnis: Die Ephemeral-Keys beim Diffie-Hellman-Schlüsselaustausch werden - zumindest standardmäßig - mehrfach verwendet. Doch man kann dieses Wiederverwenden von Ephemeral-Keys abschalten, dafür hat OpenSSL die Option SSL_OP_SINGLE_DH_USE. Diese Option ist auch der Grund, weshalb die Auswirkungen der Lücke begrenzt sein dürften: Alle wichtigen Serveranwendungen, darunter etwa Apache und Nginx, haben diese Option bereits gesetzt.

Entdeckt wurde die Lücke von Antonio Sanso, einem Sicherheitsforscher von Adobe. In seinem Blog hat Sansodie Details und auch den möglichen Angriff erläutert. Die Lücke hat die Id CVE-2015-1788 erhalten.

Neben den wiederverwendeten Ephemeral-Keys gibt es eine weitere Situation, in der die Lücke problematisch sein kann: beim statischen Diffie-Hellman-Verfahren. Das verwendet allerdings sowieso fast niemand und es ist auch eher nicht empfehlenswert, auf dieses ungewöhnliche Verfahren zu setzen. Im vergangenen Jahr sorgte bereits der sogenannte KCI-Angriff für Zweifel an diesen Ciphern.

Das problematische Wiederverwenden von Ephemeral-Keys hat OpenSSL nun deaktiviert. Die Option SSL_OP_SINGLE_DH_USE ist standardmäßig gesetzt und lässt sich auch nicht mehr ausschalten. Das sorgt für geringe Performanceeinbußen, vermeidet jedoch einige Risiken. Beim Diffie-Hellman-Verfahren mit elliptischen Kurven wird der Ephemeral-Key jedoch weiterhin wiederverwendet. Allerdings gilt auch hier: Fast alle wichtigen Serveranwendungen deaktivieren diese Funktion.

Da sich der Einsatz der sogenannten "safe Primes" leicht testen lässt, hat der Autor dieses Textes bereits vor einiger Zeit ein Skript erstellt, mit dem sich Server testen lassen. Dazu sei allerdings nochmal betont: Wenn ein Server keine "safe Prime" einsetzt, heißt das noch nicht, dass eine Sicherheitslücke besteht. Nur die Kombination aus einer anderen Primzahl und dem Cachen von Ephemeral-Keys ist ein Risiko.

SSLv2-Cipher können trotz Abschaltung aktiv bleiben

Die zweite Lücke, die mit diesem Update behoben wird, betrifft das uralte SSL Version 2. Schaltet ein Server alle Cipher-Suites für dieses alte Verfahren aus, vergisst jedoch, auch das zugehörige Protokoll auszuschalten, sind weiterhin Verbindungen mit diesen Cipher-Suites möglich. Diese Lücke hat die Id CVE-2015-3197 erhalten und wurde von Nimrod Aviram und Sebastian Schinzel entdeckt. In fast allen modernen Anwendungen ist SSL Version 2 sowieso ausgeschaltet. Selbst wenn ein Server von dieser Lücke betroffen ist, dürften die Auswirkungen begrenzt sein: Kaum eine Software kann sich damit noch verbinden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. 29,99€ (Bestpreis mit Saturn)
  2. 44€ + 2,99€ Versand oder kostenlose Marktabholung (Bestpreis mit Amazon. Vergleichspreis 53...
  3. 44€ (Bestpreis mit Saturn. Vergleichspreis 53,98€)

bstea 29. Jan 2016

Falls die Frage aufkommen sollte, ja Libressl ist auch betroffen. 2.2.6 wird mit dem...

Nibbels 29. Jan 2016

Also... ich persönlich bin froh, dass die Bugs, welche man in den letzten Jahren gefunden...

mnementh 29. Jan 2016

(59-1)/2=29 Der Artikel sagte ziemlich klar, dass p eine safe prime ist, wenn man durch...


Folgen Sie uns
       


Huawei Mate Xs im Test

Das Mate Xs von Huawei ist ein Smartphone mit faltbarem Display - und für uns das erste, das vom Design her alltagstauglich ist. Das dürfte allerdings zu Lasten der Widerstandsfähigkeit gehen.

Huawei Mate Xs im Test Video aufrufen
Java: Nicht die Bohne veraltet
Java
Nicht die Bohne veraltet

Vor einem Vierteljahrhundert kam das erste Java Development Kit heraus. Relevant ist die Programmiersprache aber heute noch.
Von Boris Mayer

  1. JDK Oracle will "Schmerzen" von Java beheben
  2. JDK Java 14 experimentiert mit eigenem Paketwerkzeug
  3. Eclipse Foundation Java-EE-Nachfolger Jakarta EE 9 soll Mitte 2020 erscheinen

Realme X50 Pro im Test: Der Oneplus-Killer
Realme X50 Pro im Test
Der Oneplus-Killer

Oneplus bezeichnete sich einst als "Flagship-Killer", mittlerweile stellt sich die Frage, wer hier für wen gefährlich wird: Das X50 Pro des Schwesterunternehmens Realme ist ein wahrer "Oneplus-Killer".
Ein Test von Tobias Költzsch

  1. Astro Slide Neues 5G-Smartphone mit aufschiebbarer Tastatur
  2. Galaxy S20 Ultra im Test Samsung beherrscht den eigenen Kamerasensor nicht
  3. Red Magic 5G Neues 5G-Gaming-Smartphone kommt mit 144-Hz-Display

Big Blue Button: Wie CCC-Urgesteine gegen Teams und Zoom kämpfen
Big Blue Button
Wie CCC-Urgesteine gegen Teams und Zoom kämpfen

Ein Verein aus dem Umfeld des CCC zeigt in Berlin, wie sich Schulen mit Open Source digitalisieren lassen. Schüler, Eltern und Lehrer sind begeistert.
Ein Bericht von Friedhelm Greis

  1. Mint-Allianz Wir bleiben schlau! Wir bleiben unwissend!
  2. Programmieren lernen Informatik-Apps für Kinder sind oft zu komplex

    •  /