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:
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:
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