Getaktete Passwörter Podium der Wirtschaft, Band 27, ISBN 978-3-930616-77-0

Trotz neuer Entwicklungen, wie die Auswertung biometrischer Merkmale (Fingerabdruck, Handflächen oder Irisscan), ist das Passwortverfahren gegenwärtig noch immer die gängigste Authentifizierungsmethode. Aus kryptoanalytischer Sicht hängt die Sicherheit eines Passwortes von dessen Länge und von der Anzahl verfügbarer Zeichen ab. Serverseitig kann das Passwort gesalzen werden, um so die Sicherheit zu erhöhen. Aber auch clientseitig gibt es noch bisher ungenutzte (getaktete) Spielräume zur Verbesserung der Sicherheit. Wolfgang Wolf

1 Das Passwortverfahren
Das Passwortverfahren identifiziert den Benutzer anhand einer Benutzerkennung und eines persönlichen Passwortes. Das Verfahren basiert auf der Annahme, dass nur die berechtigte Person über das nötige Wissen (PIN oder Passwort) für den eigenen Zugang zum System verfügt. Die Authentizität des Benutzers bleibt daher nur gewahrt, wenn er dieses Wissen geheim hält und potenzielle Angreifer nicht in der Lage sind, an diese Informationen zu kommen [BeScWo_10].

1.1 Passwörter im Ziel der Angreifer
Bei einem Angriff auf das Passwort versucht der Angreifer das Passwort des Benutzers zu ermitteln. Sofern der Benutzer bei der Wahl seines Passwortes bestimmte Regeln einhält, bleibt dem Angreifer nur noch die sogenannte Brute-Force-Methode, also das systematische Probieren von möglichen Zeichenkombinationen. Dabei ist offensichtlich, dass die Anzahl der nötigen Versuche mit der Passwortlänge als auch mit dem Zeichenvorrat wächst. Mathematisch lässt sich die Anzahl der möglichen Passwörter mittels Formel N = Zk berechnen, wobei N für die Anzahl der Kombinationsmöglichkeiten steht, Z die Anzahl der verfügbaren Zeichen bedeutet und k die Passwortlänge angibt.

Aus dieser Überlegung leiten viele Passwort Policyes ihre Empfehlungen für sichere Passwörter ab. Wenn das Passwort nur ausreichend lang und komplex ist, schafft kein Rechner dieser Welt den mathematisch möglichen Suchraum in einer realistischen Zeitspanne zu durchsuchen. Ein Passwort-Cracker-Programm müsste immerhin ca. 2,04×1015 Kombinationen testen, um ein achtstelliges Passwort, das aus Buchstaben, Zahlen und zwanzig Sonderzeichen besteht, zu berechnen.
Dennoch ist die Aussicht des Angreifers, selbst bei diesen Bedingungen, nicht hoffnungslos. Die Leistung aktueller Hardware verbessert sich ständig. Für die Berechnung der Passwörter werden inzwischen sogar die sehr performanten Chips auf Grafikkarten eingesetzt [Ar-De_09].

Aber auch softwareseitig gibt es Entwicklungen, welche die Suche nach der Nadel im Heuhaufen beschleunigen. In sogenannten Regenbogentabellen (Rainbow-Tables) werden berechnete Passwörter, genaugenommen die Hash-Werte der Passwörter vorgehalten. Das Suchen in diesen Tabellen geht wesentlich schneller als die Passwörter immer wieder aufs Neue zu berechnen. Begünstigt wird die Suche in den Tabellen durch den Einsatz schneller Hardware, wie zum Beispiel SSD-Festplatten [Hei_10].

Schutz gegen diese Angriffe bieten vor allem lange und gute Passwörter. Gut im Sinne von zufälligen Zeichenkombinationen, die sich weder aus Wörterbüchern noch aus anderen logisch nachvollziehbaren Ausdrücken ableiten. Vor allem die Passwortlänge ist entscheidend für die Sicherheit. Im Artikel Passwörter - fünf Mythen und fünf Versäumnisse haben die Autoren Fox und Schäfer bereits auf die Problematik der Sonderzeichen in Passwörtern hingewiesen. Der Artikel zeigt, dass ein zusätzliches Zeichen im Passwort mehr bringen kann als die Verwendung von schwer merkbaren und eingabeunfreundlichen Sonderzeichen [FoxSchae_09].

Der aufmerksame und mathematisch geübte Leser hat es eh schon bemerkt: N = 828 (achtstelliges Passwort bestehend aus Buchstaben, Zahlen und zwanzig Sonderzeichen) ergibt einen erheblich kleineren Suchraum (Faktor 6,6) als N = 629 (neunstelliges Passwort ohne Sonderzeichen).

1.2 Gesalzene Passwörter
Passwörter werden in der Regel nicht auf dem Zugangsystem gespeichert. Vielmehr berechnet die Zugangssoftware aus dem Passwort einen sogenannten Hashwert und speichert diesen in einer Benutzerdatenbank. Dem Hashwert kann man die repräsentierten Daten nicht entnehmen, weil diese nur in eine Richtung funktionieren. Damit sind Hashfunktionen zu vergleichen mit mathematischen Einwegfunktionen, komplexitäts-theoretisch leicht zu berechnen aber schwer umzukehren.
Sollte nun ein Angreifer an die gespeicherten Hashwerte gelangen, so kann er daraus nicht ohne weiteres die Passwörter ableiten. Aber mittels Wörterbücher, Regenbogentabellen und leistungsfähiger Hardware sind seine Chancen gar nicht so schlecht doch noch die begehrten Geheimnisse zu knacken. Die Herstellerseite RainbowCrack wirbt mit Tabellen mit Wortlängen bis zu acht Zeichen (95 Zeichen auf der Standardtastatur) welche innerhalb von 5 bis 40 Minuten einen Treffer landen. Auch hier bestätigt sich: Je länger ein Passwort ist, desto schlechter die Karten des Angreifers, aber die Schwelle zur Sicherheit nimmt kontinuierlich zu [Rain_11].

Eine Methode, um Hashwerte von schwachen (zu kurzen) Passwörtern sicherer abspeichern zu können, nennt sich Salting (zu Deutsch: salzen). Bei diesem Verfahren wird das Passwort des Benutzers mit weiteren (zufälligen) Werten erweitert. Aus der Kombination Passwort und Salz wird anschließend der Hashwert berechnet. Bei einer späteren Passwortprüfung wird die Operation mit dem eingegebenen Passwort erneut durchgeführt. Dazu benötigt die Funktion das eingebrachte Salz und natürlich auch die Information darüber, wie das Salz zur Erweiterung des Passwortes verwendet wurde.

Durch das Salzen erhöht sich der Aufwand für Attacken auf den Hash. Eine Wörterbuchattacke wird deshalb scheitern, weil das zufällig gesalzene Passwort in keinem Wörterbuch vorkommt. Auch der Aufwand für im Voraus berechnete Tabellen steigt um den Faktor zwei potenziert mit der Bitbreite des Salzes. Ein zusätzliches Byte Salz ist wesentlich effektiver als ein Zeichen aus dem Passwort, weil das Salz aus dem vollen ASCII-Zeichensatz (256 Zeichen) bestehen kann. Die Anzahl der Kombinationsmöglichkeiten für ein achtstelliges Passwort (Buchstaben, Zeichen und Sonderzeichen) erhöht sich mit zwei Bit Salz um Faktor 65.536 auf 3,34×1020.

Das Salzen ist eine wirksame Methode zum Schutz abgespeicherter Hashes. Eines kann das Salzen jedoch nicht verhindern: Angreifer oder böswillige Software kann korrekte Anmeldeinformationen ebenso eingeben wie legitime Anwender. Die Sicherheit der Authentifizierung wird durch das Salting nicht verbessert, wenn der Angreifer ein gültiges Passwort erspähen konnte [Schi_10].

2 Psylock
Neben dem Passwortverfahren gibt es zur Authentifizierung auch weitere Verfahren, zum Beispiel die Biometrie mit Fingerabdruck, Handvenenerkennung, Iris- und Gesichtserkennung oder Verhaltenserkennung. In der Regel benötigen diese Verfahren zusätzliche Hardware, also Sensoren oder Lesegeräte welche die biometrischen Erkennungsmerkmale der geprüften Person erfassen.

Nicht so Psylock. Diese Authentifizierungsmethode identifiziert die Benutzer anhand ihres Tippverhaltens an der PC-Tastatur. Das Verfahren wurde von Prof. Dr. Dieter Bartmann am Lehrstuhl für Bankinformatik der Universität Regensburg entwickelt und wird inzwischen von der Psylock GmbH vertrieben.

Für die Erkennung des Benutzers werden verschiedene Merkmale wie Tippgeschwindigkeit, Tipprhythmus, Korrekturverhalten etc. analysiert und mit einem gespeicherten Muster verglichen. Das Tippprofil des Anwenders muss allerdings vorab als Vergleichsreferenz erfasst sein. Das ist bei Psylock vergleichsweise aufwendig und erfordert eine zwei- bis zehnminütige Trainingsphase, in der das System das Typverhalten des Anwenders analysiert. Dafür muss dieser mehrfach wiederholte Tippproben abgeben. Auch ein Auffrischen des Profils kann nach einiger Zeit erforderlich werden [Psy_11].

Psylock benötigt keine zusätzliche Hardware, weil das System eine reine Software-Lösung ist. Allerdings muss die Software da vorhanden sein, wo das Tippverhalten analysiert werden soll. Das ist bei clientseitig installierter Software sicherlich kein Problem. Bei der Authentifizierung im Webbrowser wird es schon schwieriger. In der Regel benötigt der Browser dafür ein zusätzliches Plugin (Flash usw.).

Nimmt man die bisher genannten Faktoren zusammen, ergibt sich folgendes Bild:

  • Das Passwortverfahren freut sich hoher Akzeptanz beim Anwender und Systemanbieter, weil es einfach zu handhaben und sehr günstig in der Anwendung ist. Die Sicherheit des Verfahrens hängt sehr von der Passwortqualität ab. Serverseitig kann die Sicherheit durch das Salzen (künstliche Passwortverlängerung) verbessert werden.
  • Psylock ist eine sehr sichere Authentifizierungsmethode weil sie über einen effektiven Replayschutz verfügt. Allerdings ist Psylock vergleichsweise schwierig in der Anwendung.

Wie wäre aber ein Verfahren welches diese Erkenntnisse zusammenfasst und sich die einzelnen Vorteile zunutze macht? Wie das unsichere Passwort mit Tippverhalten gesalzen wird und so zum getakteten Passwort wird, beschreibt folgender Abschnitt.

3 Getaktete Passwörter
Um das Tippverhalten des Anwenders eindeutig zu identifizieren, analysiert Psylock fünfzehn verschiedene Tipp-Merkmale. Das ist der Grund für den aufwendigen Erkennungsalgorithmus und die lange Trainingsphase mit relativ langen Sätzen. Für die hier vorgestellten getakteten Passwörter ist nur das Erkennungsmerkmal Tipp-Rhythmus relevant. Die Auswertung dieses Musters reduziert sich auf die Messung der Intervalle zwischen zwei Tastenschlägen. Die so ermittelten Daten werden mit einer Stützvektormethode analysiert und in kurze und lange Anschläge klassifiziert. Das sich daraus ergebende Bit-Muster dient als Salz zur clientseitigen Passworterweiterung.

Der Suchraum für den Angreifer ändert sich dadurch zu: N = Zk × (2k-1 - 2). In Beispielzahlen ausgedrückt, werden aus den 2,04×1015 (achtstelliges Passwort aus Buchstaben, Zahlen und Sonderzeichen) 2,57×1017 Kombinationsmöglichkeiten, was einer Verbesserung um Faktor 126 entspricht. Selbst durch den Verzicht auf die kritischen Sonderzeichen, verbleibt noch immer ein Gewinn von Faktor 13,4.

Suchraum für Passwörter
Normale Passwörter
k Berechnung Z=B=52 Z=B+R+62 Z=B+R+S=82
7 N = Zk 1,028E+12 3,521E+12 2,492E+13
8 N = Zk 5,345E+13 2,183E+14 2,044E+15
9 N = Zk 2,779E+15 1,353E+16 1,676E+17
10 N = Zk 1,445E+17 8,392E+17 1,374E+19
Getaktete Passwörter
7 N = Zk × (2k-1 - 2) 6,374E+13 2,183E+14 1,545E+15
8 N = Zk × (2k-1 - 2) 6,735E+15 2,751E+16 2,575E+17
9 N = Zk × (2k-1 - 2) 7,060E+17 3,438E+18 4,257E+19
10 N = Zk × (2k-1 - 2) 7,372E+19 4,280E+20 7,009E+21
N=Kombinationsmöglichkeiten, Z=Zeichenvorrat, k=Passwortlänge,
B=Klein- und Großbuchstaben, R=Zahlen, S=Sonderzeichen

Das hier vorgestellte Verfahren erwartet vom Anwender, dass dieser bewusst bei der Passworteingabe einen individuellen Eingabe-Rhythmus anwendet. Das kann er dadurch erreichen, dass er die einzelnen Passwort-Zeichen in kleinen Gruppen eingibt. Am besten funktioniert das, wenn der Anwender sein Passwort sozusagen singt!

Hier ein Beispiel: Wird das Passwort ikaAD764 in Zeichengruppen zusammengefasst, könnte das wie folgt aussehen: ika*A*D*764. Das Sternchen symbolisiert hier eine kleine Tipp-Pause. Die Software analysiert die Pausen zwischen den einzelnen Tastenschlägen und erzeugt daraus folgendes Takt-Bitmuster: 0011100 und damit das gesalzene Passwort: i0k0a1A1D1764. Hierbei stellt die exemplarische Einstreuung des Salzes nur eine mögliche Variante dar. Das Zugangssystem kann beliebig in der Wahl der Takt-Zeichen als auch im Algorithmus der Einbindung konfiguriert werden. Es spricht auch nichts dagegen, dass sich diese Parameter bei jeder Authentifizierung ändern. Das erhöht zusätzlich die Sicherheit.

Für den Anwender passiert das alles transparent. Er muss lediglich darauf achten, dass er sein Passwort im richtigen Takt eingibt. Kleine Abweichungen werden von der Software kompensiert. Der Algorithmus zum Messen der Eingaben ist einfach und erfordert keine komplexen Berechnungen. Damit kann das Verfahren auch in beliebigen Browsern ohne Zusatzsoftware angewendet werden. Hier reicht eine kleine Java-Script-Funktion. Gleiches gilt für Zahlenschlösser, Key-Pads usw. also Eingabegeräte mit schwacher Hardwareausstattung [WW_11].

Auch bei diesem Verfahren muss das Zugangsystem ein Zugangsprofil für den Anwender anlegen. Eine Trainingsphase ist nicht erforderlich. In mehrfachen Versuchen hat sich gezeigt, dass die einmalig wiederholte Passwort-Eingabe, die standardmäßig auch bei der Profilerfassung im Passwortverfahren angewendet wird, ausreicht. Eins unterscheidet sich jedoch grundlegend: Das Passwort kann nicht mehr per Copy&Paste eingefügt werden. Das erschwert einerseits die Angriffe mit sonstigen Schädlingen wie Trojaner oder Keylogger. Andererseits funktionieren gängige Passwortmanager, die Passwortfelder automatisch befüllen, auch nicht mehr.

Benutzer und Systemanbieter sollten darüber hinaus noch einige Besonderheiten beachten:

  • Bei der Passworteingabe sind Korrekturen nicht möglich. Ein Vertippen erfordert die erneute vollständige Eingabe. Das kann der Systemanbieter berücksichtigen, indem er auf das Drücken der Rück-Taste reagiert und die ganze bisherige Eingabe löscht.
  • Bei der Ersterfassung des Benutzerprofils oder bei einer Passwortänderung ist eine optische Rückmeldung sinnvoll. Das erleichtert die getaktete Eingabe. Bei der normalen Anmeldung sollte jedoch aus Sicherheitsgründen darauf verzichtet werden.

4 Fazit
Soziale Netzwerke, Anwendungen und Dienste aus der Cloud und die zunehmende Vernetzung in Unternehmen und im privaten Bereich erfordern immer öfter eine Authentifizierung der Benutzer. Dabei ist ein ausgewogener Kompromiss zwischen Sicherheit und Aufwand bei der Anmeldung erstrebenswert.

Das Passwortverfahren ist aus der heutigen IT-Landschaft (noch) nicht wegzudenken. Die zunehmenden Fähigkeiten von Angreifern und deren Hardware zeigen jedoch, dass die Sicherheit dieser Methode, zumindest so wie sie aktuell angewendet wird, abnimmt.

Für den Zugang zu kritischen Bereichen sind neue oder verbesserte Verfahren erforderlich. Die alternativen biometrischen Methoden erfordern allerdings meistens Zusatzhardware oder sind komplex in der Anwendung.

Der Einsatz getakteter Passwörter kann das Passwortverfahren spürbar verbessern. Der Zusatzaufwand für den Systemanbieter ist gering. Das Verfahren kann überall da eingesetzt werden wo auch jetzt schon Passwörter, PINS oder Codeschlösser verwendet werden. Das schließt auch öffentliche Plätze wie Internet-Kaffees ein.

5 Demo und Download
Hier können Sie die getakteten Passwörter online testen oder eine Demo-Windows-Anwendung herunterladen.

6 Literatur

  • [ArDe_09] Arbeiter, Stefan; Deeg, Mathias: Bunte Rechenknechte. Grafikkarten beschleunigen Passwort-Cracker. c't 6/2009, S. 204-206.
  • [BeScWo_10] Beutelspacher, Albrecht; Schwenk, Jörg; Wolfenstetter, Klaus-Dieter (2010): Moderne Verfahren der Kryptographie.
  • [FoxSchae_09] Fox, Dirk; Schaefer, Frank: Passwörter - fünf Mythen und fünf Versäumnisse.
    DuD 7/2009, S. 425-429.
  • [Hei_10] Heise-Online: Passwortknacker 100 mal schneller durch SSD. Heise-Online
  • [Schi_05] Schiffer, Mathias: Schwache Kennwörter sicher speichern. MSDN
  • [Psy_11] Psylock GmbH. Psylock
  • [Rain_11] RainbowCrack Project. RainbowCrack

Seitenanfang