Tippverhalten
Beim Tippverhalten wird das Verhalten eines Benutzers beim Tippen auf einer Tastatur gemessen.[1][2] Ein Benutzer kann aufgrund der gemessenen Eigenschaften identifiziert (erkannt) bzw. authentisiert werden.[2]
Tippverhalten in der Wissenschaft
Die erste wissenschaftliche Arbeit zum Tippverhalten[2][4][5] wurde 1980 von Gaines, Lisowski, Press und Shapiro veröffentlicht.[6] Sie basiert auf sieben Versuchspersonen, die einen fest vorgegebenen Text tippen mussten.[6]
Karnan, Akila und Krishnaraj[7] untersuchten 2011 37 wissenschaftliche Arbeiten zum Tippverhalten. Sie unterschieden dabei folgende Methoden[7]:
- statistische Methoden
- Neuronale Netze
- Mustererkennung
- hybride Techniken
- weitere Vorgehensweisen
Ein Vergleich der Ansätze gestaltet sich aufgrund von unterschiedlichen Bedingungen schwierig.[7][4] Manche Vorgehensweisen verlangen eine längere Aufnahme-Phase als andere Vorgehensweisen.[7] Auch werden bei den Untersuchungen unterschiedliche Anzahlen von Versuchspersonen herangezogen, was die Performance der jeweiligen Methoden stark beeinträchtigt.[7][3] Darüber hinaus werden die mathematischen Methoden mit Hilfe von unterschiedlich eingestellten Parametern berechnet.[7]
Einsatzgebiete
Es gibt verschiedene Einsatzgebiete für Tippverhalten. Jedes Einsatzgebiet besitzt unterschiedliche Voraussetzungen oder birgt unterschiedliche Optionen. Der Austausch eines Einsatzgebietes gestaltet sich daher schwierig. Genauso lässt sich nicht jedes Verfahren in jedem Einsatzgebiet nutzen. Grundsätzlich lassen sich die Verfahren in verschiedene Kategorien aufteilen, die unterschiedlich kombinierbar sind[3]:
- begrenzte Dauer
- unbegrenzte Dauer
- vorgegebene Texteingabe
- freie Texteingabe
Login
Logins werden genutzt, um Benutzer anhand eines Benutzernamens und eines Passworts zu authentisieren.[3] Dabei kann das Tippverhalten des Benutzers zur Authentifizierung aufgenommen werden.[3] Ein Login allein durch Eingabe des Benutzernamens in Kombination mit der Messung des Tippverhaltens ist ebenfalls möglich.[8] Logins sind von begrenzter Dauer und können mit einem vorgegebenen oder freien Text realisiert werden.
Ständige Überwachung
Während einer kompletten Sitzung mit theoretisch unbegrenzter Dauer wird das Tippverhalten eines Benutzers analysiert.[3] Der Benutzer kann durch Abgleich von gespeicherten Daten identifiziert werden. Die Übernahme des Computers durch eine andere Person kann zum Beispiel auf diese Weise erkannt werden.[3] Bei der ständigen Überwachung ist es Voraussetzung für Algorithmen, dass sie mit freien Texteingaben umgehen können.[3]
Passwort zurücksetzen
Sollte ein Benutzer sein Passwort vergessen haben, so kann er anhand einer Aufgabe von begrenzter Dauer und vorgegebenem Text, bei der sein Tippverhalten analysiert und verglichen wird, authentisiert werden und bei Erfolg sein Passwort zurücksetzen oder wiedererlangen.[3][4] Somit muss der Nutzer nicht Kontakt mit dem Administrator aufnehmen.[3][4]
Tracking
Ein Benutzer kann im Internet durch Analyse des Tippverhaltens über mehrere Seiten hinweg getrackt werden.[4] Diese Art von Identifizierung ist eine Alternative zum gängigen Vergleichen von IP-Adressen oder Speichern von Cookies.[4] Ein Benutzer kann dadurch auch über mehrere Geräte hinweg erkannt werden, oder auch mehrere Benutzer an einem geteilten Gerät.[4] Hier gilt dasselbe wie für die ständige Überwachung: Die Algorithmen arbeiten auf unbegrenzte Dauer mit freien Texteingaben.
Messung des Tippverhaltens
Das Tippverhalten kann durch Kombination von N-Graphen und einer oder mehrerer messbaren Eigenschaften erfasst werden. N-Graphen ermöglichen es, einen Text in mehrere Bestandteile zu zerteilen. Für diese N-Graphen lassen sich unterschiedliche Eigenschaften messen, welche jeweils als Attribute eines N-Graphen gespeichert werden können. Alle N-Graphen eines Eingabetextes mit den jeweiligen Attributen werden als eine Signatur zusammengefasst.
Der Vergleich der Signaturen von zwei oder mehreren unabhängigen Texteingaben ermöglicht die Identifizierung (Erkennung) bzw. Authentifizierung. Diese ist zum Beispiel dann erfolgreich, wenn sich die Signaturen aus zwei unabhängigen Texteingaben sehr ähnlich sind. Je größer der Unterschied, desto eher kann davon ausgegangen werden, dass die beiden Texteingaben nicht von derselben Person stammen.
N-Graphen
Ein N-Graph ist eine Folge von N aufeinander gefolgt getippten Tasten. N gibt die Größe der N-Graphen an. Ein Digraph besteht dementsprechend aus zwei aufeinander gefolgt getippten Tasten. Das N kann beliebig gewählt werden. Die maximale Größe ist jedoch meistens durch die Länge der Texteingabe vorgegeben.
Am häufigsten werden bei der Messung des Tippverhaltens Digraphen oder manchmal auch Trigraphen (drei aufeinander folgende Tasten) genutzt.[3][4][7] Trigraphen liefern meistens die besten Ergebnisse.[4] Im Vergleich ist die Anzahl der einzigartigen Trigraphen zu Digraphen größer.[4] Mit noch größeren N-Graphen erhöht sich die Wahrscheinlichkeit von fehlerhaften N-Graphen (keine Möglichkeit zu vergleichen) aufgrund von Tippfehlern.[4] Zudem verringert sich die Stabilität der Eingabedauer von großen N-Graphen.[4]
Messbare Eigenschaften
Mit speziellen Tastaturen lassen sich neben Zeitabständen auch noch andere Eigenschaften wie zum Beispiel der ausgeübte Tastendruck messen.[8][4] Folgende Liste enthält ein paar messbare Eigenschaften (am Beispiel für Digraphen).
- „Duration“ oder „dwell“ (Wie lange eine Taste gedrückt gehalten wird).[4][3]
- „Latency“ (Dauer zwischen Drücken der ersten Taste und Loslassen der zweiten Taste).[4][3]
- „Interval“ (Dauer zwischen Loslassen der ersten und Drücken der zweiten Taste).[3]
- „Flight time“ (Dauer zwischen Drücken der ersten und Drücken der zweiten Taste).[3]
- „Up to up“ (Dauer zwischen Loslassen der ersten und Loslassen der zweiten Taste)[3]
- „Total time“ (Komplette Tippdauer).[3]
- „Frequency of errors“ (Häufigkeit an Tippfehlern).[3]
- „Shift key usage“ (Verhalten der Nutzung der beiden Shift-Tasten).[5]
- „Relative key event order“ (Relative Reihenfolge vom Drücken und Loslassen der Tasten).[5]
- „Relative keystroke speed“ (Die Geschwindigkeit, in der eine Taste getippt wird in Relation zu den anderen Tasten).[5]
Am häufigsten werden „latency“ und „duration“ verwendet.[3][4][7]
Beispiel
Als Eingabetext wird als Beispiel „Auto“ vorgegeben. Mittels Digraphen lässt sich der Eingabetext in drei Teile aufteilen. Für jeden der Digraphen wird in diesem Beispiel die „latency“ gemessen. S1
, S2
und S3
enthalten jeweils drei unabhängige Signaturen, bestehend aus den Digraphen und der jeweiligen „latency“ nach dem Doppelpunkt.
S1: [Au:125; ut:106; to:111]
S2: [Au:78; ut:90; to:88]
S3: [Au:120; ut:110; to:112]
Signaturen S1
und S3
sind sich sehr ähnlich. Es ist also möglich, dass diese beiden Eingaben von demselben Benutzer stammen und S2
von einem anderen. Ab wann jedoch zwei Signaturen demselben Benutzer zugeordnet werden, ist für jeden Algorithmus und jede Methode unterschiedlich.
Allgemeiner Ablauf eines Tippverhalten-Verfahrens
Der Ablauf zur Authentifizierung ist dem eines gängigen Ablaufs für (dynamische) Biometrie ähnlich. Die Vorgehensweise kann in zwei Phasen mit fast identischen Prozessen aufgeteilt werden.
Phasen
Es gibt eine Aufnahmephase („enrollment phase“) und eine Authentifizierungsphase(„authentication phase“).[7] Während der Aufnahme-Phase werden die biometrischen Daten des Nutzers für die zukünftigen Authentifizierungs-Phasen erfasst.[7] Bei der Authentifizierungs-Phase werden die zuvor erfassten mit den neu erhaltenen Daten verglichen.[7]
Prozesse
Eine Phase besteht aus bis zu vier Prozessen[3][7]:
- Datenbeschaffung
- Eigenschaftenextrahierung
- Signaturerzeugung
- Vergleichsprozess
Außerdem wird noch eine Datenbank für die Speicherung der Signaturen benötigt.[3][7]
Unabhängig von der Phase müssen als erstes die Ereignisse, die der Benutzer auslöst, erfasst werden (Datenbeschaffung).[3] Die vom Algorithmus benötigten Daten müssen daraufhin aus den erfassten Daten extrahiert werden (Eigenschaften extrahieren).[3] Je nach Algorithmus werden nun die extrahierten Daten weiterverarbeitet und eine Signatur erstellt (Erzeuge Signatur).[7][3]
In der Aufnahme-Phase werden die so erhaltenen Signaturen in der Datenbank gespeichert.[3] In der Authentifizierungs-Phase entscheidet ein Vergleichsprozess, ob ein Benutzer erfolgreich authentisiert werden kann.[7] Dies geschieht durch den Vergleich der neuen Signatur mit den bereits bekannten Signaturen aus der Datenbank.[7]
Vor- und Nachteile
Vorteile
- Verfahren mit Ausnützung des Tippverhaltens sind kommerziell günstig, weil die benötigte Hardwarekomponente, also lediglich die Tastatur, weit verbreitet und billig ist.[4][5][7][2][1] Dies ermöglicht prinzipiell die Authentifizierung eines Benutzers von praktisch überall dort, wo ein Zugriff auf Computersysteme möglich ist.[5]
- Das Tippverhalten eines Benutzers zu imitieren, ist nicht so einfach wie eine Unterschrift zu fälschen.[4][1]
- Den Nutzer anhand seines Tippverhaltens zu authentisieren, ist unauffällig und für den Nutzer grundsätzlich ein nahezu alltägliches Verhalten.[5][1]
- Das Tippverhalten eines Nutzers kann nicht einfach verloren gehen oder gestohlen werden.[1]
Nachteile
Je nach Art und Bauweise der Tastatur kann sich das Tippverhalten der Benutzer wesentlich ändern:
- Das Tastaturlayout (QWERTZ bzw. QWERTY) kann sich unterscheiden.
- Die Tasten können unterschiedliche Druckpunkte besitzen.
- Andere Parameter der Tastaturen können systemseitig unterschiedlich eingestellt sein.
- Software-Tastaturen, etwa in Smartphones, unterscheiden sich wesentlich von größeren Tastaturen.
Diese Tastaturvielfalt stellt ein Problem für die Algorithmen dar, sobald sich ein Nutzer von mehreren Endgeräten beziehungsweise Orten aus authentisieren lassen möchte.[3][5] Ein weiteres Problem sind die unterschiedlichen psychologischen und physiologischen Zustände des Nutzers:[4]
- Ein Nutzer unter Stress oder ein ermüdeter Nutzer tippt anders als unter Normalbedingungen.[5]
- Die Tippgeschwindigkeit kann sich auch im Verlauf des Tages ändern.[3][5]
- Auch spielt die Umgebung und Situation des Nutzers eine Rolle. So wird ein Verfahren bereits dadurch beeinträchtigt, ob ein Nutzer steht, liegt, sitzt oder gleichzeitig mit einer Hand telefoniert.[3][5]
Ein drittes Problem ist die Datensicherheit. Zwar wird von den meisten Algorithmen nicht betrachtet, was getippt wurde, jedoch müssen diese Daten diskret behandelt und mit dem Benutzer abgesprochen werden.[3][1] Weitere relevante Faktoren können Verletzungen der Hand oder das automatische Ausfüllen von Eingabefeldern durch Passwort-Safe-Programme sein.
Quellen
- Fabian Monrose und Aviel Rubin. Authentication via keystroke dynamics. In Proceedings of the 4th ACM Conference on Computer and Communications Security, CCS ’97, S. 48–56, New York, NY, USA, 1997. ACM.
- Fabian Monrose und Aviel D. Rubin. Keystroke dynamics as a biometric for authentication. S. 351–359, 2000.
- R. Moskovitch, C. Feher, A. Messerman, N. Kirschnick, T. Mustafic, A. Camtepe, B. Lohlein, U. Heister, S. Moller, L. Rokach und Y. Elovici. Identity theft, computers and behavioral biometrics. In IEEE International Conference on Intelligence and Security Informatics, 2009. ISI ’09, S. 155–160, Juni 2009.
- Francesco Bergadano, Daniele Gunetti und Claudia Picardi. User authentication through keystroke dynamics. ACM Trans. Inf. Syst. Secur., 5(4):367–397, November 2002.
- Edmond Lau, Xia Liu, Chen Xiao und Xiao Yu. Enhanced user authentication through keystroke biometrics. Technischer Bericht, Massachusetts Institute of Technology, September 2004.
- R. Stockton Gaines, William Lisowski, S. James Press und Norman Shapiro. Authentication by keystroke timing: Some preliminary results. 1980.
- M. Karnan, M. Akila und N. Krishnaraj. Biometric personal authentication using keystroke dynamics: A review. Applied Soft Computing, 11(2):1565–1573, März 2011.
- J.A. Robinson, V.W. Liang, J.A.M. Chambers und C.L. MacKenzie. Computer user verification using login string keystroke dynamics. IEEE Transactions on Systems, Man and Cybernetics, Part A: Systems and Humans,28(2):236–241, März 1998