Abo
  • Services:
Anzeige
Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen.
Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen. (Bild: Nopetro~commonswiki/Wikimedia-Commons/CC by-sa 3.0)

Schlüsselaustausch: KCI-Angriff auf TLS missbraucht Clientzertifikate

Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen.
Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen. (Bild: Nopetro~commonswiki/Wikimedia-Commons/CC by-sa 3.0)

Ein komplexer Angriff nutzt eine trickreiche Kombination aus Clientzertifikaten und einem statischen Diffie-Hellman-Schlüsselaustausch. Der Angriff ist nur in sehr speziellen Situationen relevant, doch es zeigt sich wieder einmal, dass das TLS-Protokoll selbst Sicherheitslücken hat.

Anzeige

Auf der Usenix-Konferenz haben Sicherheitsforscher einen neuen Angriff auf TLS vorgestellt. Beim Key-Compromise-Impersonation-Angriff (KCI) handelt es sich um eine Schwäche im Protokoll selbst und keinen Programmierfehler. Gelingt es einem Angreifer, einen Nutzer mittels Social Engineering davon zu überzeugen, ein bestimmtes Clientzertifikat zu installieren, können damit TLS-Verbindungen zu anderen Servern manipuliert oder übernommen werden. Allerdings funktioniert der Angriff nur, wenn der Client einen statischen Diffie-Hellman-Schlüsselaustausch unterstützt. Dieser gilt als exotisch und wird nur selten unterstützt.

Statischer Diffie-Hellman-Schlüsselaustausch

Bei einem normalen Diffie-Hellman-Schlüsselaustausch, auch Ephemeral Diffie-Hellman genannt, erzeugen beide Kommunikationspartner einen Zufallswert, aus dem die beim Handshake übertragenen Werte berechnet werden. Gemacht wird das vor allem, um Verbindungen mit Forward Secrecy zu gewährleisten. Der statische Diffie-Hellman-Schlüsselaustausch funktioniert hingegen ohne Zufallswert und bietet auch keine Forward Secrecy. Die Eingaben für den Diffie-Hellman-Schlüsselaustausch sind in einem Zertifikat festgelegt.

Bei einem Diffie-Hellman-Schlüsselaustausch haben beide Kommunikationspartner eine geheime Zahl (hier a und b) und potenzieren einen gemeinsamen Generator (g) damit. Der Server sendet also g^a und der Client g^b. Anschließend kann der Server (g^b)^a berechnen und der Client (g^a)^b. Beide Berechnungen ergeben denselben Wert, dieser wird anschließend zur Verschlüsselung und Authentifizierung der Verbindung genutzt. Bei einem gewöhnlichen Diffie-Hellman-Austausch sind a und b Zufallswerte, bei einem statischen Diffie-Hellman-Austausch sind a und b jedoch der private Schlüssel und g^a sowie g^b der öffentliche Schlüssel und Teil des Zertifikats.

Wenn ein Angreifer im Besitz eines Clientzertifikats samt dazugehörigem privatem Schlüssel ist, kann erfolgreich einem Nutzer eine fremde HTTPS-Seite vorgegaukelt werden. Dazu benötigt er zwar ein gültiges passendes Zertifikat der Webseite, allerdings ohne privaten Schlüssel. Der Server schickt nun den Wert g^a, ohne das dazugehörige a zu kennen. Da er aber den geheimen Schlüssel b kennt, kann er ebenso wie der Client die Berechnung (g^a)^b durchführen und damit die Verbindung aufbauen.

Laut den Autoren des Angriffs ist diese Schwäche des statischen Diffie-Hellman-Verfahrens eigentlich seit langem bekannt. Allerdings hatte bislang noch niemand versucht, einen entsprechenden Angriff im Rahmen von TLS durchzuführen und zu dokumentieren.

Clientzertifikat auf Rechner des Opfers

Um den Angriff praktisch durchzuführen, müssen einige Bedingungen erfüllt sein. Zunächst muss der Angreifer das Opfer dazu bringen, ein Clientzertifikat zu installieren. Das ist allerdings möglicherweise nicht sehr schwer. Clientzertifikate werden eher selten genutzt, aber es ist nicht unüblich, dass Webseiten diese für einen Nutzer erstellen und ihm nachher samt privatem Key zum Download anbieten. Empfehlenswert ist das zwar nicht, vielmehr sollte aus Sicherheitsgründen der private Key immer auf dem Client erstellt werden. Einige Browser bieten dafür den keygen-HTML-Tag an, allerdings wird gerade darüber diskutiert, dieses Feature zu entfernen. Das Userinterface bei der Installation von Clientzertifikaten warnt den Nutzer im Allgemeinen nicht vor möglichen Gefahren, anders als etwa bei der Installation von neuen Root-Zertifikaten. Das ergibt auch Sinn: Im Normalfall sollten zusätzliche Clientzertifikate keine Gefahr darstellen.

Für einen erfolgreichen Angriff benötigt der Angreifer weiterhin ein Serverzertifikat. Da das statische Diffie-Hellman-Verfahren nahezu nie von Webseiten genutzt wird, haben üblicherweise Server kein derartiges Zertifikat. Allerdings: Beim Diffie-Hellman-Schlüsselaustausch mit elliptischen Kurven (ECDH) hat das Serverzertifikat dieselbe Struktur wie ein ECDSA-Zertifikat. Und ECDSA-Zertifikate sind inzwischen recht verbreitet. DSA-Zertifikate ohne elliptische Kurven unterscheiden sich hingegen in ihrer Struktur von Diffie-Hellman-Zertifikaten und können nicht verwendet werden.

Ältere Safari-Versionen betroffen

Von den relevanten TLS-Bibliotheken fanden die Autoren lediglich zwei, die clientseitig den entsprechenden Diffie-Hellman-Austausch unterstützen: OpenSSL und ältere Versionen von Apples TLS-Implementierung, die von Safari genutzt wird. OpenSSL unterstützt allerdings nur die Variante ohne elliptische Kurven und auch erst in der jüngsten Version 1.0.2.

Unter Mac OS X vor der Version 10.5.3 war der Angriff ohne Einschränkungen möglich. Spätere Versionen haben zunächst eine Abfrage eingebaut, in denen die Nutzung des Clientzertifikats individuell bestätigt werden musste. Stimmt der Nutzer dem zu, ist der Angriff weiterhin möglich. In den jüngsten OS-X-Versionen ab 10.8 wurde der entsprechende Code für den statischen Diffie-Hellman-Schlüsselaustausch deaktiviert.

Bei der Nutzung von ECDSA-Zertifikaten für den Angriff gibt es eine weitere Hürde: Die Zertifikate können eine Erweiterung mit dem Namen "X509 Key Usage" haben. In dieser Erweiterung gibt es ein Flag KeyAgreement, das idealerweise für ECDSA-Zertifikate deaktiviert sein sollte. Allerdings ist es aus unklaren Gründen manchmal aktiviert, beispielsweise hat das Zertifikat von facebook.com das entsprechende Flag gesetzt. Ist das Flag deaktiviert, sollte ein Client einen entsprechenden Schlüsselaustausch ablehnen. Generell ist es auch so, dass nicht alle Clients diese Flags prüfen.

Statischer Diffie-Hellman-Schlüsselaustausch hat keine Vorteile

Die Abhilfe für den KCI-Angriff ist relativ simpel: Da der statische Diffie-Hellman-Schlüsselaustausch - egal ob klassisch oder mit elliptischen Kurven - keine echten Vorteile bringt und mangels Forward Secrecy nicht dem Stand der Technik entspricht, sollte man ihn schlicht nicht benutzen. Sowohl Server als auch Clients sollten die entsprechenden Cipher-Modi deaktivieren und ausschließlich die Ephemeral-Diffie-Hellman-Modi anbieten. Weiterhin ist es sinnvoll, wenn Zertifikate die Key-Usage-Erweiterung korrekt setzen und Clients diese korrekt prüfen.

Insgesamt ist der Angriff nur in sehr seltenen Fällen relevant. Interessant ist er trotzdem: Es zeigt sich wieder einmal, dass die extrem hohe Komplexität von TLS mit zahlreichen kaum bekannten und selten genutzten Features zu Problemen führen kann. Viele Teile der TLS-Spezifikation sind offenbar nicht hinreichend auf Sicherheitsprobleme untersucht.


eye home zur Startseite
Clemens Hlauschek 14. Sep 2015

Neue Infos zu dem Angriff, inklusive eines Demo-Videos (PoC Attacke gegen Facebook) gibt...



Anzeige

Stellenmarkt
  1. über JobLeads GmbH, Stuttgart
  2. SelectLine Software GmbH, Magdeburg
  3. MTU Friedrichshafen GmbH, Friedrichshafen
  4. KNECHT Kellerbau GmbH über Tauster GmbH, Metzingen


Anzeige
Top-Angebote
  1. 2,99€ (ohne Prime bzw. unter 29€ Einkauf zzgl. 3€ Versand)
  2. (u. a. Dark Souls III für 24,99€, Darkosuls II: Scholar of the First Sin für 8,99€, Bioshock...

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Globale SAP-Anwendungsunterstützung durch Outsourcing


  1. Hardlight VR Suit

    Vibrations-Weste soll VR-Erlebnis realistischer machen

  2. Autonomes Fahren

    Der Truck lernt beim Fahren

  3. Selektorenaffäre

    BND soll ausländische Journalisten ausspioniert haben

  4. Kursanstieg

    Bitcoin auf neuem Rekordhoch

  5. Google-Steuer

    Widerstand gegen Leistungsschutzrecht auf EU-Ebene

  6. Linux-Kernel

    Torvalds droht mit Nicht-Aufnahme von Treibercode

  7. Airbus A320

    In Flugzeugen wird der Platz selbst für kleine Laptops knapp

  8. Urheberrecht

    Marketplace-Händler wegen Bildern von Amazon bestraft

  9. V8 Turbofan

    Neuer Javascript-Compiler für Chrome kommt im März

  10. Motion Control

    Kamerafahrten für die perfekte Illusion



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Galaxy-A-Serie vs. P8 Lite (2017): Samsungs und Huaweis Kampf um die Mittelklasse
Galaxy-A-Serie vs. P8 Lite (2017)
Samsungs und Huaweis Kampf um die Mittelklasse
  1. Wettbewerbsverstoß Google soll Tizen behindert haben
  2. Strafverfahren De-facto-Chef von Samsung wegen Korruption verhaftet
  3. Samsung Preisliches Niveau der QLED-Fernseher in der Nähe der OLEDs

Fire TV Stick 2 mit Alexa im Hands on: Amazons attraktiver Einstieg in die Streaming-Welt
Fire TV Stick 2 mit Alexa im Hands on
Amazons attraktiver Einstieg in die Streaming-Welt
  1. Fernsehstreaming Fire-TV-App von Waipu TV bietet alle Kanäle kostenlos
  2. Fire TV Amazon bringt Downloader-App wieder zurück
  3. Amazon Downloader-App aus dem Fire-TV-Store entfernt

Intel C2000: Weiter Unklarheit zur Häufung von NAS-Ausfällen
Intel C2000
Weiter Unklarheit zur Häufung von NAS-Ausfällen
  1. Super Bowl Lady Gaga singt unter einer Flagge aus Drohnen
  2. Lake Crest Intels Terminator-Chip mit Terabyte-Bandbreite
  3. Compute Card Intel plant Rechnermodul mit USB Type C

  1. Re: Delays wegen Handgepäck, slightly OT

    Icestorm | 07:38

  2. Re: Bei 70cm dürfte der Sitz nur max. 2cm verbrauchen

    NaruHina | 07:33

  3. Re: Klasse, wie "open" dieses Open Source doch ist.

    Lasse Bierstrom | 07:28

  4. Re: Die Nachrichtendienste spionieren

    AlexanderSchäfer | 07:21

  5. Re: Mal im Ernst

    Smincke | 07:21


  1. 18:02

  2. 17:43

  3. 16:49

  4. 16:21

  5. 16:02

  6. 15:00

  7. 14:41

  8. 14:06


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel