Benutzer:Derwebcoder/Entwurf 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 gehört zu der dynamischen Biometrie.[3]
Tippverhalten in der Wissenschaft
[Bearbeiten | Quelltext bearbeiten]Die erste wissenschaftliche Arbeit zum Thema Tippverhalten[2][4][5] ist 1980 von Gaines, Lisowski, Press und Shapiro veröffentlicht worden.[6] Zum Einsatz kamen sieben Versuchspersonen, die einen fest vorgegebenen Text tippen mussten.[6]
Karnan, Akila und Krishnaraj[7] haben 2011 37 wissenschaftliche Arbeiten zum Thema Tippverhalten untersucht. Sie haben dabei die unterschiedlichen Methoden in folgende Kategorien aufgeteilt[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] Es werden bei den Untersuchungen eine unterschiedliche Anzahl von Versuchspersonen herangezogen, was die Performance der jeweiligen Methoden stark beeinträchtigt.[7][3] Oder die mathematischen Methoden werden mit Hilfe von unterschiedlich eingestellter Parameter berechnet.[7]
Einsatzgebiete
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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 dem selben Benutzer zugeordnet werden ist für jeden Algorithmus und jede Methode unterschiedlich.
Allgemeiner Ablauf eines Tippverhalten-Verfahrens
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]Es gibt eine Aufnahme- („enrollment phase“) und eine Authentifizierungs-Phase („authentication phase“).[7] Für jeden neuen Benutzer beginnt zuerst die Aufnahme-Phase. Während dieser werden die biometrischen Daten des Nutzers erstmals 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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]Vorteile
[Bearbeiten | Quelltext bearbeiten]Tippverhalten bietet eine große Verfügbarkeit der benötigten Hardwarekomponenten durch die weite Verbreitung der Tastatur und die günstigen Anschaffungskosten einer neuen Tastatur.[4][5][7][2][1] Dies gewährleistet theoretisch die Authentifizierung eines Benutzers von überall aus der Welt, ohne dafür an einem bestimmten Ort bei spezieller Hardware sein zu müssen.[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
[Bearbeiten | Quelltext bearbeiten]Zwar sind Tastaturen bei sämtlichen Computern weit verbreitet, jedoch sind diese meistens unterschiedlich. Das Tastaturlayout (QWERTZ bzw. QWERTY) kann sich unterscheiden. Die Tasten können unterschiedliche Druckpunkte besitzen. Ebenfalls können Tastaturen systemseitig unteschiedlich eingestellt sein. Hinzu kommen neue Technologien wie Smartphones, meistens ausgestattet mit Software-Tastaturen. Diese Tastaturvielfalt stellt ein Problem für die Algorithmen dar, sobald sich ein Nutzer von mehreren Maschinen 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 müder Nutzer tippt anders als er eigentlich fähig ist.[5] Die Geschwindigkeit kann sich auch im Verlauf des Tages ändern.[3][5] Genauso spielt die Umgebung und Situation des Nutzers eine wichtige Rolle. So wird ein Verfahren bereits dadurch beeinträchtigt, ob ein Nutzer steht, liegt, sitzt oder gleichzeitig mit einer Hand telefoniert.[3][5] Ein anderes 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 Faktoren können eine kurzzeitige Verletzung, wie eine gebrochene Hand, oder auch automatische Eingabefelder-Ausfüller wie moderne Passwort-Safe-Programme sein.
Quellen
[Bearbeiten | Quelltext bearbeiten]- ↑ a b c d e f Fabian Monrose and Aviel Rubin. Authentication via keystroke dynamics. In Proceedings of the 4th ACM Conference on Computer and Communications Security, CCS ’97, pages 48–56, New York, NY, USA, 1997. ACM.
- ↑ a b c d Fabian Monrose and Aviel D. Rubin. Keystroke dynamics as a biometric for authentication. pages 351–359, 2000.
- ↑ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac R. Moskovitch, C. Feher, A. Messerman, N. Kirschnick, T. Mustafic, A. Camtepe, B. Lohlein, U. Heister, S. Moller, L. Rokach, and Y. Elovici. Identity theft, computers and behavioral biometrics. In IEEE International Conference on Intelligence and Security Informatics, 2009. ISI ’09, pages 155–160, June 2009.
- ↑ a b c d e f g h i j k l m n o p q r s Francesco Bergadano, Daniele Gunetti, and Claudia Picardi. User authentication through keystroke dynamics. ACM Trans. Inf. Syst. Secur., 5(4):367–397, November 2002.
- ↑ a b c d e f g h i j k Edmond Lau, Xia Liu, Chen Xiao, and Xiao Yu. Enhanced user authentication through keystroke biometrics. Technical report, Massachusetts Institute of Technology, September 2004.
- ↑ a b R. Stockton Gaines, William Lisowski, S. James Press, and Norman Shapiro. Authentication by keystroke timing: Some preliminary results. Product page, 1980.
- ↑ a b c d e f g h i j k l m n o p q M. Karnan, M. Akila, and N. Krishnaraj. Biometric personal authentication using keystroke dynamics: A review. Applied Soft Computing, 11(2):1565–1573, March 2011.
- ↑ a b J.A. Robinson, V.W. Liang, J.A.M. Chambers, and 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, March 1998