# Tippverhalten

Das Tippverhalten beschreibt das Verhalten eines Benutzers beim Tippen auf einer Tastatur. Ein Benutzer kann durch sein Tippverhalten identifiziert oder authentifiziert werden.
Das Messen des Tippverhaltens gehört zur dynamischen Biometrie.

## Tippverhalten in der Wissenschaft

Die erste wissenschaftliche Arbeit zum Tippverhalten wurde 1980 von Gaines, Lisowski, Press und Shapiro veröffentlicht. Sie basiert auf sieben Versuchspersonen, die einen fest vorgegebenen Text tippen mussten.
2011 untersuchten Karnan, Akila und Krishnaraj 37 wissenschaftliche Arbeiten zum Tippverhalten. Sie unterschieden dabei folgende Methoden:
* statistische Methoden
* Neuronale Netze
* Mustererkennung
* hybride Techniken
* weitere Vorgehensweisen
Ein Vergleich der Ansätze gestaltet sich aufgrund von unterschiedlichen Bedingungen schwierig. Manche Vorgehensweisen verlangen eine längere Aufnahme-Phase als andere. Auch wurden bei den Untersuchungen unterschiedliche Anzahlen von Versuchspersonen herangezogen. Diese Komponente bestimmt jedoch maßgeblich die Schwierigkeit der Aufgabe und beeinflusst somit die gemessenen Fehler- und Erfolgsquoten der Methoden. Darüber hinaus werden die mathematischen Methoden mit Hilfe von unterschiedlich eingestellten Parametern berechnet.

## Einsatzgebiete

Es gibt verschiedene Einsatzgebiete für Tippverhalten. Jedes 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:
* begrenzte Dauer
* unbegrenzte Dauer
* vorgegebene Texteingabe
* freie Texteingabe

### Login

Logins werden genutzt, um Benutzer anhand eines Benutzernamens und eines Passworts zu authentifizieren. Dabei kann das Tippverhalten des Benutzers zur Authentifizierung aufgenommen werden. Ein Login allein durch Eingabe des Benutzernamens in Kombination mit der Messung des Tippverhaltens ist ebenfalls möglich. Logins sind von begrenzter Dauer und können entweder mit einem vorgegebenen oder einem freien Text realisiert werden.

### Ständige Überwachung

Während einer kompletten Sitzung mit theoretisch unbegrenzter Dauer wird das Tippverhalten eines Benutzers analysiert. Der Benutzer kann durch Abgleich von gespeicherten Daten identifiziert werden. Beispielsweise kann die Übernahme des Computers durch eine andere Person erkannt werden. Algorithmen, die für eine ständige Überwachung eingesetzt werden, müssen mit freien Texteingaben umgehen können.

### Tracking

Ein Benutzer kann durch Analyse des Tippverhaltens über mehrere Seiten hinweg getrackt werden. Diese Art von Identifizierung ist eine für den Nutzer kaum bemerkbare oder vermeidbare Alternative zur IP-Adresse oder Cookie-basiertem cross-site tracing. Ein Benutzer kann dadurch auch über mehrere Geräte hinweg erkannt werden, oder auch mehrere Nutzer an einem geteilten Gerät.

## Messung des Tippverhaltens

Das Tippverhalten kann durch Kombination von N-Graphen und einer oder mehreren messbaren Eigenschaften beschrieben 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 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 hier eine Folge von N 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 (zwei aufeinander folgende Tasten), oder manchmal auch Trigraphen (drei aufeinander folgende Tasten) genutzt. Trigraphen liefern meistens die besten Ergebnisse. Im Vergleich ist die Anzahl der einzigartigen Trigraphen zu Digraphen größer. Mit noch größeren N-Graphen erhöht sich die Wahrscheinlichkeit von fehlerhaften N-Graphen (keine Möglichkeit zu vergleichen) aufgrund von Tippfehlern. Zudem verringert sich die Stabilität der Eingabedauer von großen N-Graphen.

### Messbare Eigenschaften

Mit speziellen Tastaturen lassen sich neben Zeitabständen auch noch andere Eigenschaften, wie zum Beispiel der ausgeübte Tastendruck, messen. Folgende Liste enthält ein paar messbare Eigenschaften (am Beispiel für Digraphen)
* „Duration“ oder „dwell“ (Wie lange eine Taste gedrückt gehalten wird)
* „Latency“ (Dauer zwischen Drücken der ersten Taste und Loslassen der zweiten Taste)
* „Interval“ (Dauer zwischen Loslassen der ersten und Drücken der zweiten Taste)
* „Flight time“ (Dauer zwischen Drücken der ersten und Drücken der zweiten Taste)
* „Up to up“ (Dauer zwischen Loslassen der ersten und Loslassen der zweiten Taste)
* „Total time“ (Komplette Tippdauer)
* „Frequency of errors“ (Häufigkeit an Tippfehlern)
* „Shift key usage“ (Verhalten der Nutzung der beiden Shift-Tasten)
* „Relative key event order“ (Relative Reihenfolge vom Drücken und Loslassen der Tasten)
* „Relative keystroke speed“ (Die Geschwindigkeit, in der eine Taste getippt wird in Relation zu den anderen Tasten)
Am häufigsten werden „latency“ und „duration“ verwendet.

### 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“). Während der Aufnahme-Phase werden die biometrischen Daten des Nutzers für die zukünftigen Authentifizierungs-Phasen erfasst. Bei der Authentifizierungs-Phase werden die zuvor erfassten mit den neu erhaltenen Daten verglichen.

### Prozesse

Eine Phase besteht aus bis zu vier Prozessen:
* Datenbeschaffung
* Eigenschaftenextrahierung
* Signaturerzeugung
* Vergleichsprozess
Außerdem wird noch eine Datenbank für die Speicherung der Signaturen benötigt.
Unabhängig von der Phase müssen als erstes die Ereignisse, die der Benutzer auslöst, erfasst werden (Datenbeschaffung). Die vom Algorithmus benötigten Daten müssen daraufhin aus den erfassten Daten extrahiert werden (Eigenschaften extrahieren). Je nach Algorithmus werden nun die extrahierten Daten weiterverarbeitet und eine Signatur erstellt (Erzeuge Signatur).
In der Aufnahme-Phase werden die so erhaltenen Signaturen in der Datenbank gespeichert. In der Authentifizierungs-Phase entscheidet ein Vergleichsprozess, ob ein Benutzer erfolgreich authentifiziert werden kann. Dies geschieht durch den Vergleich der neuen Signatur mit den bereits bekannten Signaturen aus der Datenbank.

## 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. Dies ermöglicht die Authentifizierung aller Benutzer, die Zugriff auf Computersysteme haben.
* Das Tippverhalten eines Benutzers zu imitieren ist nicht so einfach, wie eine Unterschrift zu fälschen.
* Den Nutzer anhand seines Tippverhaltens zu authentifizieren ist unauffällig und für den Nutzer grundsätzlich ein nahezu alltägliches Verhalten.
* Das Tippverhalten eines Nutzers kann nicht einfach verloren gehen oder gestohlen werden.

### 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 authentifizieren lassen möchte. Ein weiteres Problem sind die unterschiedlichen psychologischen und physiologischen Zustände des Nutzers:
* Ein Nutzer unter Stress oder ein ermüdeter Nutzer tippt anders als unter Normalbedingungen.
* Die Tippgeschwindigkeit kann sich auch im Verlauf des Tages ändern.
* 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.
Ein drittes Problem ist der Datenschutz. Zwar wird von den meisten Algorithmen nicht betrachtet, was getippt wurde, jedoch müssen diese Daten diskret behandelt und mit dem Benutzer abgesprochen werden. Weitere relevante Faktoren können Verletzungen der Hand oder das automatische Ausfüllen von Eingabefeldern durch Passwortmanager sein.

## Quellen

* 1 2 3 4 5 6 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.
* 1 2 3 4 Fabian Monrose und Aviel D. Rubin. Keystroke dynamics as a biometric for authentication. S. 351–359, 2000.
* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 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.
* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Francesco Bergadano, Daniele Gunetti und Claudia Picardi. User authentication through keystroke dynamics. ACM Trans. Inf. Syst. Secur., 5(4):367–397, November 2002.
* 1 2 3 4 5 6 7 8 9 10 11 Edmond Lau, Xia Liu, Chen Xiao und Xiao Yu. Enhanced user authentication through keystroke biometrics. Technischer Bericht, Massachusetts Institute of Technology, September 2004.
* 1 2 R. Stockton Gaines, William Lisowski, S. James Press und Norman Shapiro. Authentication by keystroke timing: Some preliminary results. 1980.
* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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.
* 1 2 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