02.10.2010
Auslaufmodell Passwort?
Am Montag habe ich noch meinen Vortrag über Passwörter gehalten und gestern drückt mir ein Kollege auf dem Weg ins Wochenende noch schnell einen Ausdruck des aktuellen Newsletters von secorvo Security Consulting in die Hand, in dem unter Security News die Überschrift Auslaufmodell Passwort prangt.
Unter Fachleuten ist das keine umstrittene These, schließlich müssen Passwörter aufgrund der Leistungsfähigkeit moderner Rechner beim Knacken immer länger werden und werden dadurch auch immer schlechter handhabbar, dennoch sollte man das so nicht pauschal stehen lassen.
Im Artikel werden unter anderem Rainbowtables (RT) erwähnt, die zum Knacken von Windows-Passwort-Hashes genutzt werden können und die es einem Angreifer sehr viel leichter machen sollen, Passwörter unter Windows zu knacken. Problematisch sollen hier der LM und der NTLM Hash sein.
Rainbowtables sind, einfach ausgedrückt, Tabellen, die entstehen, wenn man für eine bestimmte Passwortlänge und einen bestimmten Zeichenvorrat die Hashes vorausberechnet und später “gefangene” Hashes mit dieser Tabelle vergleicht. Das Ergebnis ist dann das Passwort im Klartext.
Das klingt zunächst einmal spektakulär und auch problematisch, aber:
Um so eine Tabelle selbst zu erstellen, ist für jedes der möglichen Passwörter folgendes nötig:
- Passwort generieren
- Hash berechnen
- Hash und Passwort in einer geordneten Tabelle speichern
Das dauert also für jedes Passwort eine gewisse Zeit. Ein kurzer Test auf meinem Notebook ergab, dass ich 2,3 Millionen Paare aus Hashes und zugehörigem Klartext pro Sekunde zu einer RT hinzufügen kann.
Das Berechnen und Speichern einer RT für Passwörter mit Base96 und einer Länge von bis zu 10 Zeichen[1] dauert somit auf meinem Notebook 916.595 Jahre.
Natürlich gibt es weitaus schnellere Systeme als meines, z.B. eines, das 805 Millionen/s hinzufügen kann. Damit beschleunigt sich der Erstellprozess auf 2.685 Jahre.
Man kann die Erstellung durchaus auf viele Computer aufteilen, die sich die Arbeit teilen und später alle Ergebnisse zu einer Tabelle zusammenfügen. Wenn man nun 2685 Personen mit sehr starken Rechnern findet, dann schafft man das Ganze in einem Jahr.[2]
Man kann die Theorie der Berechnung hier noch ewig fortführen und Parameter wie die Passwortlänge, die Rechnergeschwindigkeit, die Anzahl der Rechner etc. verändern, bis man rausfindet:
Die Lösung für die nächsten Jahre heißt Passphrases.
Ein Passwortsatz, der aus fünf oder sechs Wörtern besteht und damit auf eine ungefähre Länge von 20 Zeichen kommt, bietet 4,4 Sextilliarden[3] verschiedene Passwörter. Die Vorausberechnung einer RT für diese Sätze dauert mit einem Topsystem 1,7*10^23 Jahre, das sind 170 Trilliarden Jahre.
Unter diesen Gesichtspunkten kann man sich getrost zurücklehnen.
Die Empfehlung, die am Ende des Artikels ausgesprochen wird, über Alternativen wie SmartCards nachzudenken, ist vielleicht im Moment noch verfrüht, da diese Methode für Privatleute kaum realisierbar sein dürfte, zumal dafür zusätzliche Hardware angeschafft werden muss, aber im Auge behalten sollte man diese Möglichkeit sowohl von Firmenseite als auch im Privatbereich.
Die Authentisierung mittels Smartcard hat konzeptuell gesehen vor allem einen Vorteil gegenüber der Verwendung von Passwörtern:
Ich benötige zur Authentisierung nicht nur ein Passwort (Wissen) sondern die Karte und die PIN (Besitz & Wissen).
- das sind 66483263599150104576 (66 Trillionen) mögliche verschiedene Passwörter [↩]
- Hier wird es interessant, die Kosten für den benötigten Strom auszurechnen: Ein starkes System, wie hier genannt, wird in dieser Zeit 4,3 Megawattstunden verbrauchen. Beim aktuellen Strompreis der Kevag kommt man auf Kosten von 961,- Euro für Strom… [↩]
- 1 Trillion * 4,4 Trilliarden [↩]