Der Tod eines Traumpaares
«Aber es ist doch verschlüsselt» oder «Wir verwenden ausschliesslich HTTPS». Das sind Aussagen, die unsere Auditoren häufig zu hören bekommen. Kryptographie ist im wahrsten Sinne ein Fremdwort.
Kennen tut es jeder. Kaum einer getraut sich allerdings, sich damit zu beschäftigen. Dabei ist das Thema für die IT-Sicherheit essentiell. Ich erinnere mich noch gut an meine Ausbildung. Das Thema Kryptographie wurde so mathematisch vermittelt, dass es tatsächlich schwer war zu folgen. Alles habe ich garantiert nicht begriffen. Bis heute nicht. Aber die Grundlagen habe ich verstanden und ich bin weiss Gott kein Mathe-Genie! Viele allgemeinausgebildeten IT-Fachkräfte dagegen können kaum den Unterschied zwischen einem Hash-Verfahren und einem Blockcipher erklären. Sie sind dann aber verantwortlich für ein System, dass in der DMZ steht und über das Internet erreichbar ist, z.B. über HTTPS. Ist ja sicher…
Diejenigen, die jetzt schon wegschauen wollen, weil Sie Angst vor einem theoretischen mathematiklastigen Blog haben… Moment! Sie erwartet etwas Anderes. Es ist mein Ziel, dass Sie nach diesem Artikel anderen einfach erklären können, weshalb verschlüsselt nicht verschlüsselt ist und genau wissen, was Sie tun müssen, um sicherer zu werden. Zumindest in Bezug auf 3DES und SHA-1.
Warum gibt’s unsichere Verschlüsselungen?
Möglicherweise haben Sie sich schon einmal gefragt: «Welcher Depp hat denn schlechte Verschlüsselung erfunden. Das ist ja in etwa so sinnlos, wie ein Auto, das nicht fahren kann (und fliegen auch nicht).» Wahrlich gibt es unterschiedliche Begründungen. Diese gehen z.T. soweit, dass die Methoden bewusst schlechtgemacht wurden, damit Sie (für «erlauchte Kreise») knackbar sind. Das sind aber Ausnahmen. Die mit Abstand grösste Ursache liegt allerdings in der Geschichte.
- Es wurden Fehler gemacht, die später entdeckt und ausgenutzt wurden.
- Die Technik hat uns eingeholt und die Verfahren sind schlicht und einfach nicht mehr zeitgemäss.
Der schlaue Leser, der sich noch wenig mit dem Thema befasst hat, mag sich nun eine weitere Frage stellen. «Wenn ein Verfahren mal gut war, nun aber nicht mehr gut genug ist, dann ersetzen wir es doch einfach.» Wenn Sie sich diese Frage gestellt haben, dann gratuliere ich Ihnen. Sie haben es schon verstanden. So einfach ist die Lösung!
Eigentlich.
Grob eingeteilt, gibt es wiederum zwei Arten für den Einsatz der Verschlüsselung:
- Verschlüsselte Speicherung (z.B. Archive, Ablagen oder Passworte in Systemen)
- Verschlüsselte Kommunikation (z.B. Web, E-Mail, VPN)
Ersteres benötigt meist einen grossen Aufwand, um die Verschlüsselung zu ändern. Nicht nur das Archiv, sondern auch die Zugriffsmechanismen müssen umgebaut werden. Zweites ist immer vernetzt. Das heisst, alle Beteiligten müssen mitmachen. Stellen Sie sich vor, Sie vertreiben Porzellangeschirr. Ihre Kunden wollen alle Online kaufen, Sie haben aber aus Prinzip nur ein Ladenlokal. Da nützt alles nichts. Sie werden Pleite gehen. So hilft es Ihnen umgekehrt auch wenig für Ihren Webshop nur sichere Verschlüsselungsverfahren einzusetzen, während viele Kunden die Webseite nicht mehr erreichen, weil Ihre Browser das nicht unterstützen.
Beides ist in der Praxis manchmal sehr komplex und entsprechend teuer. Es ist aber nicht immer so kompliziert. Zu häufig kommt es auch vor, dass man sich des Problems einfach nicht bewusst ist, oder aufgrund des fehlenden Basiswissens über Kryptographie, den Schritt nicht wagt.
Der VW Golf der Verschlüsselung ist gestorben
Für die erfolgreiche und sichere Verschlüsselung von Daten (ob zur Speicherung oder zur Kommunikation) müssen meist mehrere Kryptographische Verfahren kombiniert werden. Viele Jahre galt die Kombination von 3DES und SHA-1 als Traumpaar. 3DES (Triple DES) ist ein symmetrisches Verfahren. SHA-1 dagegen ein HASH-Verfahren.
3DES
3DES ist eine Erweiterung von DES. DES steht für Data Encryption Standard. DES wurde im Jahre 1975 veröffentlicht und im November 1976 zum Standard. Anstelle der ursprünglich gewählten 64 Bit Schlüssellänge, einigten sich die verschiedenen Stellen auf 56 Bit. Diese galten aber schon bald als unsicher. Bereits 1981 wurde 3DES vorgeschlagen. DES wird dazu dreifach angewendet. Die relevante Sicherheit für die Kryptoanalyse beträgt aber nicht 168 Bit, sondern in der stärksten Variante mit 3 unterschiedlichen Schlüsseln, «maximal» 112 Bit. Das heisst konkret, dass zwar technisch 168 Bit zum Einsatz kommen. Relevant für die «Wissenschaft des Knackens» (Kryptoanalyse) sind aber nur 112 Bit. Weshalb das so ist, wird im englischen Wikipedia Artikel zu 3DES einfach erklärt. Erst 1997 wird dann allerdings eine mit DES verschlüsselte Nachricht öffentlich nachvollziehbar geknackt. Ende 2000 wurde AES (Advanced Encryption Standard) als offizieller Nachfolger von DES / 3DES «ernannt». AES kann im Unterschied zu DES mit unterschiedlichen Schlüssellängen verwendet werden (ab 128 Bit) und gilt bis heute als sehr sicher.
3DES ist also seit Ende 2000 veraltet und ein besserer Nachfolger steht bereit. Dieser ist erst noch performanter als 3DES. Auch 17 Jahre danach ist 3DES immer noch weitverbreitet. Einzelne Hersteller verwenden 3DES immer noch als Standardeinstellung z.B. für VPNs. Doch auch bei HTTPS kommt er noch zum Einsatz. Lange Zeit war dies aus Sicht der IT-Sicherheit auch problemlos möglich.
Im vergangenen August (2016) veröffentlichten Karthikeyan Bhargavan und Gaëtan Leurent ein Dokument mit dem Namen «On the Practical (In-)Security of 64-bit Block Ciphers». Darin beweisen Sie, dass Angriffe auf 3DES möglich sind. Konkret wurden Angriffe auf HTTPS-Verbindungen durchgeführt. Es mussten 256 GB Daten mitgelesen und in 30 Stunden (mit entsprechend sehr performanten Systemen) geknackt werden.
Berechtigterweise überlegen Sie nun vielleicht, ob denn 3DES wirklich als tot bezeichnet werden kann, wenn die Attacken eher theoretisch sind und ein hoher Aufwand nötig ist. Das müssen Sie natürlich für sich selbst entscheiden. Ich rate Ihnen jedenfalls davon ab, 3DES weiterhin zu verwenden. Einerseits sind das nur die öffentlich bekannten Forschungsergebnisse. Andererseits zeigt die Geschichte, dass ein (an-) geknackstes Verschlüsselungsverfahren mit einem alten Auto verglichen werden kann. Wenn die Reparaturen einmal anfangen, dann geht immer mehr kaputt. Zudem bedeutet eine Änderung bei bestehenden Systemen aufgrund von Abhängigkeiten häufig auch einen langen Prozess.
SHA-1
SHA ist ein Hash-Verfahren, das im Jahre 1993 veröffentlicht wurde. Das NIST (National Institute of Standards and Technology) hat SHA gemeinsam mit der NSA (National Security Agency) entwickelt. Bereits im Jahre 1995 wurde eine Korrektur veröffentlicht. Seit diesem Zeitpunkt heisst das Verfahren SHA-1. Bereits 10 Jahre später konnten Schwächen von SHA-1 aufgezeigt werden. Experten waren überrascht, relativierten aber zum Teil, da der Angriff tatsächlich noch theoretischer Natur war. Immer wieder wurden neue Forschungsergebnisse veröffentlicht. 2009 rückten praktikable Angriffe mit den veröffentlichten Forschungsergebnissen von australischen Experten immer näher.
Ende Februar 2017 wurde im Netz die Meldung verbreitet, dass SHA-1 «zerschmettert» wurde. Diesmal kommen die Forschungsergebnisse aus Amsterdam und wurden marketingtechnisch wirksam veröffentlicht. Damit wir uns richtig verstehen: Ich finde es absolut richtig, dass solche Forschungsergebnisse veröffentlicht werden und es ist auch ok, dass etwas überrissene Bezeichnungen verwendet werden. Aufrütteln ist manchmal nötig. Damit Sie nicht verunsichert zurückbleiben, möchte ich ja mit diesem Artikel Aufklärungsarbeit leisten.
Was bedeuten jetzt diese neuen Ergebnisse? Nun, es ist mittlerweile ziemlich zuverlässig möglich, Dokumente mit demselben HASH-Wert zu erzeugen. Die dazu nötigen Rechenleistungen sind zwar hoch, aber heutzutage in der Cloud einkaufbar. Was noch nicht so einfach möglich ist, bei einem bestehenden Dokument ein zweites (sinnvolles) Dokument mit demselben Hashwert zu erzeugen. Bei der aktuell beschriebenen Attacke wurden beide Dokumente zusammen und in Abhängigkeit voneinander erstellt.
Auch für SHA-1 gilt deshalb, dass Angriffe in der Praxis denkbar, aber aufwändig sind. Auch für SHA-1 gilt aber, dass die Kryptoanalysen immer besser werden und das Verfahren immer schneller in sich zusammenfällt. Ich rate deshalb schon seit längerer Zeit vom Einsatz von SHA-1 ab.
Der offizielle Nachfolger von SHA-1 ist der Standard SHA-2. Weil es diesen mit unterschiedlichen Stärken gibt, wird der Einfachheit halber von SHA-224, SHA-256 oder SHA-384 oder SHA-512 gesprochen. Auch SHA-3 ist seit 1.5 Jahren ein offizieller Standard mit variablen Längen. In kommerziellen Produkten ist er aber noch selten anzutreffen.
Fazit
Das Traumpaar ist keines mehr. 3DES, wie auch SHA-1, gelten mathematisch als gebrochen. Die Forscher haben bei den Kryptoanalysen grosse Fortschritte gemacht. Angriffe in der Praxis sind zwar noch aufwändig und komplex, das wird sich in den nächsten Jahren vermutlich ändern.
Wenn Sie die Verfahren noch einsetzen, dann empfehle ich Ihnen diese rasch abzulösen. Die Nachfolger stehen mit AES und SHA-2 / SHA-3 schon lange bereit. Wenn die Performance der Systeme kein Problem darstellt, arbeiten Sie am besten gleich mit den stärksten Varianten (AES-256 und SHA-512). Ansonsten gilt es genau abzuwägen.
Übrigens, wenn Sie sich jetzt noch fragen, weshalb ein geknacktes Verschlüsselungsverfahren nicht einfach gepatcht wird… Ich habe Ihnen versprochen, dass es nicht zu mathematisch wird. Also vereinfachen wir die Wahrheit mit der Antwort: Sorry, das geht nicht.
Informationen zum Autor: Sandro Müller
Seit 2007 bin ich als IT-Security Auditor für die Firma goSecurity tätig. Dadurch habe ich viel Erfahrung aus zahlreichen Audits, Penetration Tests und Beratungen. Eine besondere Spezialität sind meine auf die jeweiligen Kunden perfekt zugeschnittenen Konzepte und IT-Strategien. Mit grosser Leidenschaft denke ich mich dazu in die Geschäftsprozesse der jeweiligen Kunden ein. Am 1. Mai 2017 durfte ich die Geschäftsführung der Firma übernehmen. In dieser verantwortungsvollen Position führe ich das beste Security-Team der Welt. Zudem gebe ich gerne mein Wissen und meine Erfahrung weiter. Zum Beispiel bei einem Awarenesstraining, aber auch beim Kurs Information Security for CIO (IS4CIO). Täglich gebe ich mein Bestes für Sie als Kunden, für meine Mitarbeiter und für meine Firma.