Abo
  • Services:

Cryptocat: Verschlüsseltes Chatsystem gebrochen

Das Chatsystem Cryptocat benutzte über lange Zeit unzureichende Zufallszahlen zur Erzeugung von Schlüsseln. Sämtliche privaten Schlüssel lassen sich dadurch brechen.

Artikel veröffentlicht am , Hanno Böck
Schlüsselerzeugung in Cryptocat
Schlüsselerzeugung in Cryptocat (Bild: Cryptocat/Screenshot: Golem.de)

Cryptocat hatte eigentlich das Ziel, ein verschlüsseltes Chatsystem für unbedarfte User zur Verfügung zu stellen. Mit Hilfe eines Browserplugins sollte die Installation besonders leichtfallen, durch den Einsatz des OTR-Protokolls (Off-the-Record Messaging) bietet das System theoretisch Perfect Forward Secrecy, der Quellcode von Cryptocat ist unter der freien AGPL-Lizenz verfügbar.

Stellenmarkt
  1. Dataport, verschiedene Standorte (Home-Office)
  2. Bosch Gruppe, Reutlingen

Doch Cryptocat hat offenbar gravierende Sicherheitsprobleme. Steve Thomas hat ein Tool geschrieben, das in der Lage ist, die privaten Schlüssel von Cryptocat zu berechnen. Seit 2011 setzt das System auf das von Dan Bernstein entwickelte Public-Key-Verfahren Curve25519, das als sehr sicher gilt.

Zur Erzeugung der Zufallszahlen nutzte Cryptocat einen String von Zahlenwerten. Während bei einem Zufallsstring jedes Zeichen 256 verschiedene Werte annehmen kann, waren es in diesem Fall nur die Ziffern 0-9. Damit hatten Schlüssel von 54 Bit Länge nur noch eine Sicherheit von 27 Bit und in späteren Versionen benutzte Schlüssel von 106 Bit Länge nur noch eine Sicherheit von 53 Bit.

Private Schlüssel, die vor Februar 2013 erzeugt wurden, lassen sich somit nach einigen Vorberechnungen, die etwa einen Tag in Anspruch nehmen, trivial innerhalb von Minuten brechen. Steve Thomas hat hierfür ein Tool mit Namen Decryptocat bereitgestellt, welches eine sogenannte Meet-in-the-Middle-Attacke durchführt. Mit der im Februar veröffentlichten Version 2.0.42 wurde die Größe der privaten Schlüssel in Cryptocat erhöht, das Brechen würde mehrere Tausend Jahre an Rechenkapazität und 40 Petabytes an Speicherplatz benötigen. Für Angreifer mit kostspieliger Hardware, etwa Geheimdienste, ist dies immer noch im Bereich des Möglichen.

Steve Thomas kritisiert die Entwickler des Chatsystems heftig: "Cryptocat wird von Leuten betrieben, die keine Ahnung von Krypto haben, dumme Fehler machen und nicht genug Augen schauen auf ihren Code, um die Fehler zu finden." Thomas verweist in seinem Kommentar noch auf andere Stellen im Cryptocat-Quellcode, in dem die Verwendung von Zufallszahlen auf unsichere oder fehlerhafte Weise geschieht.

Da die Kommunikation im fraglichen Zeitraum über den Server von Cryptocat via https abgesichert gewesen sei, könnten Nachrichten dennoch nur dann entschlüsselt werden, wenn ein Angreifer Zugriff auf den privaten https-Schlüssel des dortigen Servers hätte. Thomas empfiehlt daher den Cryptocat-Betreibern, diesen Schlüssel durch einen neuen zu ersetzen und den alten schnellstmöglich zu löschen.

Schon vor der Umstellung auf Curve25519 stand Cryptocat in der Kritik. Früher nutzte es etwa das RSA-Verfahren mit kurzen Schlüssellängen von 768, 512 oder 600 Bit, die sich mit heutiger Rechenkapazität ebenfalls einfach brechen lassen. Später folgte eine fehlerhafte Implementierung des Diffie-Hellman-Schlüsselaustausches.

Cryptocat ist nicht das erste Verschlüsselungssystem, das Probleme mit schlechten Zufallszahlen hat. Traurige Berühmtheit hat ein Bug in Debian erlangt: Aufgrund eines fehlerhaften Patches ließen sich private Schlüssel, die in der Distribution mit OpenSSL zwischen 2006 und 2008 erstellt wurden, ebenfalls trivial brechen.



Anzeige
Top-Angebote
  1. (aktuell u. a. Enermax T.B.Silence ADV 120 mm für 9,99€ + Versand)
  2. (u. a. Euro Truck Simulator 2 - Beyond the Baltic Sea (DLC) für 8,99€ und Fortnite - Deep Freeze...
  3. 99€ + Versand (Vergleichspreis ca. 116€ + Versand)
  4. 49,99€ (Bestpreis!)

AlexanderSchäfer 27. Feb 2014

Du bist nicht zufällig der bluenote Entwickle, oder? Wenn man bei einer so relativ...

lightview 05. Jul 2013

Eine gesicherte/verschlüsselte Kommunikation ist nur so sicher ... ... wie die Quelle von...

kendon 05. Jul 2013

das klappt halt nur so lange bis jemand den algorithmus anders implementiert, oder einen...

Perchlorsäure 04. Jul 2013

Ja das ist das Protokoll, da Daten durchziehen ist echt nervig. Aber was besseres wird es...

MrT 04. Jul 2013

Wie in der Berichterstattung zu Prism u.A. zu lesen war, hat die NSA vorsorglich alles...


Folgen Sie uns
       


Smartes Feuerzeug Slighter angesehen (CES 2019)

Das smarte Feuerzeug Slighter gibt Rauchern nicht immer Feuer.

Smartes Feuerzeug Slighter angesehen (CES 2019) Video aufrufen
IT-Jobporträt Spieleprogrammierer: Ich habe mehr Code gelöscht als geschrieben
IT-Jobporträt Spieleprogrammierer
"Ich habe mehr Code gelöscht als geschrieben"

Wenn man im Game durch die weite Steppe reitet, auf Renaissance-Hausdächern kämpft oder stundenlang Rätsel löst, fragt man sich manchmal, wer das alles in Code geschrieben hat. Ein Spieleprogrammierer von Ubisoft sagt: Wer in dem Traumjob arbeiten will, braucht vor allem Geduld.
Von Maja Hoock

  1. Recruiting Wenn die KI passende Mitarbeiter findet
  2. Softwareentwicklung Agiles Arbeiten - ein Fallbeispiel
  3. IT-Jobs Ein Jahr als Freelancer

Chromebook Spin 13 im Alltagstest: Tolles Notebook mit Software-Bremse
Chromebook Spin 13 im Alltagstest
Tolles Notebook mit Software-Bremse

Bei Chromebooks denken viele an billige, knarzende Laptops - das Spin 13 von Acer ist anders. Wir haben es einen Monat lang verwendet - und uns am Ende gefragt, ob der veranschlagte Preis für ein Notebook mit Chrome OS wirklich gerechtfertigt ist.
Ein Test von Tobias Költzsch


    Ottobock: Wie ein Exoskelett die Arbeit erleichtert
    Ottobock
    Wie ein Exoskelett die Arbeit erleichtert

    Es verleiht zwar keine Superkräfte. Bei der Arbeit in unbequemer Haltung zum Beispiel mit dem Akkuschrauber unterstützt das Exoskelett Paexo von Ottobock aber gut, wie wir herausgefunden haben. Exoskelette mit aktiver Unterstützung sind in der Entwicklung.
    Ein Erfahrungsbericht von Werner Pluta


        •  /