„Benutzer:Derwebcoder/Entwurf Tippverhalten“ – Versionsunterschied
Messung Tippverhalten und Allgemeiner Ablauf |
VorNachteile / Anführungszeichen korrigiert |
||
Zeile 1: | Zeile 1: | ||
{{Baustelle}} |
{{Baustelle}} |
||
⚫ | |||
< |
<!-- ################################## |
||
############### ToDo ################## |
|||
<font color="#777777"><!--</font> |
|||
⚫ | |||
<font color="#777777">- Anführungszeichen ersetzen</font> |
|||
<font color="#777777">- Bilder einbinden</font> |
|||
<!-- |
|||
<font color="#777777">--></font> |
|||
- Bilder einbinden |
|||
--> |
|||
Beim '''Tippverhalten''' wird das Verhalten eines Benutzers beim Tippen auf einer Tastatur gemessen.<ref name="auth" /><ref name="keys" /> Ein Benutzer kann aufgrund der gemessenen Eigenschaften identifiziert (erkannt) bzw. [[Authentifizierung|authentisiert]] werden.<ref name="keys" /> |
Beim '''Tippverhalten''' wird das Verhalten eines Benutzers beim Tippen auf einer Tastatur gemessen.<ref name="auth" /><ref name="keys" /> Ein Benutzer kann aufgrund der gemessenen Eigenschaften identifiziert (erkannt) bzw. [[Authentifizierung|authentisiert]] werden.<ref name="keys" /> |
||
Zeile 13: | Zeile 15: | ||
<!-- ################################## |
<!-- ################################## |
||
######## INHALTSVERZEICHNIS ########### |
######## INHALTSVERZEICHNIS ########### |
||
################################### --> |
################################### --> |
||
<!-- ################################## |
<!-- ################################## |
||
########### Wissenschaft ########## --> |
########### Wissenschaft ########## --> |
||
Zeile 34: | Zeile 38: | ||
<!-- ########################################### Einsatzgebiete ########## --> |
<!-- ########################################### Einsatzgebiete ########## --> |
||
== Einsatzgebiete == |
== Einsatzgebiete == |
||
Zeile 45: | Zeile 50: | ||
=== Login === |
=== Login === |
||
[[ |
[[Login (Informationstechnik)|Logins]] werden genutzt, um Benutzer anhand eines Benutzernamens und eines Passworts zu authentisieren.<ref name="iden" /> Dabei kann das Tippverhalten des Benutzers zur Authentifizierung aufgenommen werden.<ref name="iden" /> Ein Login ist von begrenzter Dauer und kann mit vorgegebenen oder freien Text realisiert werden. |
||
=== Ständige Überwachung === |
=== Ständige Überwachung === |
||
Während einer kompletten Sitzung mit theoretisch unbegrenzter Dauer wird das Tippverhalten eines Benutzers analysiert.<ref name="iden" /> 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.<ref name="iden" /> Bei der ständigen Überwachung ist es Voraussetzung für Algorithmen, dass sie mit freien Texteingaben umgehen können.<ref name="iden" /> |
Während einer kompletten Sitzung mit theoretisch unbegrenzter Dauer wird das Tippverhalten eines Benutzers analysiert.<ref name="iden" /> 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.<ref name="iden" /> Bei der ständigen Überwachung ist es Voraussetzung für Algorithmen, dass sie mit freien Texteingaben umgehen können.<ref name="iden" /> |
||
=== Passwort zurücksetzen === |
=== 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.<ref name="iden" /><ref name="user" /> Somit muss der Nutzer nicht Kontakt mit dem Administrator aufnehmen.<ref name="iden" /><ref name="user" /> |
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.<ref name="iden" /><ref name="user" /> Somit muss der Nutzer nicht Kontakt mit dem Administrator aufnehmen.<ref name="iden" /><ref name="user" /> |
||
=== Tracking === |
=== Tracking === |
||
Ein Benutzer kann im Internet durch Analyse des Tippverhaltens über mehrere Seite hinweg [[Tracking|getrackt]] werden.<ref name="user" /> Diese Art von Identifizierung ist eine Alternative zum gängigen Vergleichen von [[IP-Adresse|IP-Adressen]] oder Speichern von [[Cookie|Cookies]].<ref name="user" /> Eine Benutzer kann dadurch auch über mehrere Geräte hinweg erkannt werden, oder auch mehrere Benutzer an einem geteilten Gerät.<ref name="user" /> Hier gilt dasselbe wie für die ständige Überwachung: Die Algorithmen arbeiten auf unbegrenzte Dauer mit freien Texteingaben. |
Ein Benutzer kann im Internet durch Analyse des Tippverhaltens über mehrere Seite hinweg [[Tracking|getrackt]] werden.<ref name="user" /> Diese Art von Identifizierung ist eine Alternative zum gängigen Vergleichen von [[IP-Adresse|IP-Adressen]] oder Speichern von [[Cookie|Cookies]].<ref name="user" /> Eine Benutzer kann dadurch auch über mehrere Geräte hinweg erkannt werden, oder auch mehrere Benutzer an einem geteilten Gerät.<ref name="user" /> Hier gilt dasselbe wie für die ständige Überwachung: Die Algorithmen arbeiten auf unbegrenzte Dauer mit freien Texteingaben. |
||
<!-- ############################################## Messung ############## --> |
<!-- ############################################## Messung ############## --> |
||
== Messung des Tippverhaltens == |
== Messung des Tippverhaltens == |
||
Zeile 65: | Zeile 75: | ||
=== N-Graphen === |
=== N-Graphen === |
||
Ein N-Graph ist eine Folge von N aufeinander gefolgt getippten Tasten. N gibt die Größe der N-Graphen an. Ein |
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 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.<ref name="iden" /><ref name="user" /><ref name="biom" /> Trigraphen liefern meistens die besten Ergebnisse.<ref name="user" /> Im Vergleich ist die Anzahl der einzigartigen Trigraphen zu Digraphen größer.<ref name="user" /> Mit noch größeren N-Graphen erhöht sich die Wahrscheinlichkeit von fehlerhaften N-Graphen (keine Möglichkeit zu vergleichen) aufgrund von Tippfehlern.<ref name="user" /> Zudem verringert sich die Stabilität der Eingabedauer von großen N-Graphen.<ref name="user" /> |
Am häufigsten werden bei der Messung des Tippverhaltens Digraphen oder manchmal auch Trigraphen (drei aufeinander folgende Tasten) genutzt.<ref name="iden" /><ref name="user" /><ref name="biom" /> Trigraphen liefern meistens die besten Ergebnisse.<ref name="user" /> Im Vergleich ist die Anzahl der einzigartigen Trigraphen zu Digraphen größer.<ref name="user" /> Mit noch größeren N-Graphen erhöht sich die Wahrscheinlichkeit von fehlerhaften N-Graphen (keine Möglichkeit zu vergleichen) aufgrund von Tippfehlern.<ref name="user" /> Zudem verringert sich die Stabilität der Eingabedauer von großen N-Graphen.<ref name="user" /> |
||
Zeile 71: | Zeile 81: | ||
=== Messbare Eigenschaften === |
=== Messbare Eigenschaften === |
||
Folgende Liste enthält ein paar messbare Eigenschaften. Mit speziellen Tastaturen lassen sich auch noch andere Eigenschaften wie zum Beispiel der ausgeübte Tastendruck messen.<ref name="comp" /><ref name="user" /> Am häufigsten werden |
Folgende Liste enthält ein paar messbare Eigenschaften. Mit speziellen Tastaturen lassen sich auch noch andere Eigenschaften wie zum Beispiel der ausgeübte Tastendruck messen.<ref name="comp" /><ref name="user" /> Am häufigsten werden „latency“ und „duration“ verwendet.<ref name="iden" /><ref name="user" /><ref name="biom" /> |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
=== Beispiel === |
=== Beispiel === |
||
Als Eingabtext wird als Beispiel |
Als Eingabtext wird als Beispiel „Auto“ vorgegeben. Mittels Digraphen lässt sich der Eingabetext in drei Teile aufteilen. Für jeden der Digraphen wird die „latency“ gemessen. <code>S1</code>, <code>S2</code> und <code>S3</code> enthalten jeweils drei unabhängige Signaturen, bestehend aus den Digraphen und der jeweiligen „latency“ nach dem Doppelpunkt. |
||
<code>S1: Au:125; ut:106; to:111</code> |
<code>S1: [Au:125; ut:106; to:111]</code> |
||
<code>S2: Au:78; ut:90; to:88</code> |
<code>S2: [Au:78; ut:90; to:88]</code> |
||
<code>S3: Au:120; ut:110; to:112</code> |
<code>S3: [Au:120; ut:110; to:112]</code> |
||
Signaturen <code>S1</code> und <code>S3</code> sind sich sehr ähnlich. Es ist also möglich, dass diese beiden Eingaben von dem selben Benutzer stammen. Ab wann jedoch zwei Signaturen dem selben Benutzer zugeordnet werden ist für jeden Algorithmus und jede Methode unterschiedlich. |
Signaturen <code>S1</code> und <code>S3</code> sind sich sehr ähnlich. Es ist also möglich, dass diese beiden Eingaben von dem selben Benutzer stammen. Ab wann jedoch zwei Signaturen dem selben Benutzer zugeordnet werden ist für jeden Algorithmus und jede Methode unterschiedlich. |
||
Zeile 97: | Zeile 107: | ||
<!-- ############################################## Ablauf ############### --> |
<!-- ############################################## Ablauf ############### --> |
||
== |
== 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. |
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. |
||
Zeile 103: | Zeile 113: | ||
=== Phasen === |
=== Phasen === |
||
Es gibt eine Aufnahme- ( |
Es gibt eine Aufnahme- („enrollment phase“) und eine Authentifizierungs-Phase („authentication phase“).<ref name="biom" /> 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.<ref name="biom" /> Bei der Authentifizierungs-Phase werden die zuvor erfassten mit den neu erhaltenen Daten verglichen.<ref name="biom" /> |
||
=== Prozesse === |
=== Prozesse === |
||
Eine Phase besteht aus bis zu vier Prozessen: |
Eine Phase besteht aus bis zu vier Prozessen: |
||
* Datenbeschaffung, |
* Datenbeschaffung, |
||
* Eigenschaftenextrahierung, |
* Eigenschaftenextrahierung, |
||
* Signaturerzeugung, |
* Signaturerzeugung, |
||
* Vergleichsprozess. |
* Vergleichsprozess. |
||
Außerdem wird noch eine Datenbank für die Speicherung der Signaturen benötigt. |
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'').<ref name="iden" /> Die vom Algorithmus benötigten Daten müssen daraufhin aus den erfassten Daten extrahiert werden (''Eigenschaften extrahieren'').<ref name="iden" /> Je nach Algorithmus werden nun die extrahierten Daten weiterverarbeitet und eine Signatur erstellt (''Erzeuge Signatur'').<ref name="biom" /><ref name="iden" /> |
Unabhängig von der Phase müssen als erstes die Ereignisse, die der Benutzer auslöst, erfasst werden (''Datenbeschaffung'').<ref name="iden" /> Die vom Algorithmus benötigten Daten müssen daraufhin aus den erfassten Daten extrahiert werden (''Eigenschaften extrahieren'').<ref name="iden" /> Je nach Algorithmus werden nun die extrahierten Daten weiterverarbeitet und eine Signatur erstellt (''Erzeuge Signatur'').<ref name="biom" /><ref name="iden" /> |
||
In der Aufnahme-Phase werden die so erhaltenen Signaturen in der Datenbank gespeichert.<ref name="iden" /> In der Authentifizierungs-Phase entscheidet ein ''Vergleichsprozess'', ob ein Benutzer erfolgreich authentisiert werden kann.<ref name="biom" /> Dies geschieht durch den Vergleich der neuen Signatur mit den alten bereits bekannten Signaturen aus der Datenbank.<ref name="biom" /> |
In der Aufnahme-Phase werden die so erhaltenen Signaturen in der Datenbank gespeichert.<ref name="iden" /> In der Authentifizierungs-Phase entscheidet ein ''Vergleichsprozess'', ob ein Benutzer erfolgreich authentisiert werden kann.<ref name="biom" /> Dies geschieht durch den Vergleich der neuen Signatur mit den alten bereits bekannten Signaturen aus der Datenbank.<ref name="biom" /> |
||
Zeile 120: | Zeile 132: | ||
<!-- ############################################ Vor/Nachteile ########## --> |
<!-- ############################################ Vor/Nachteile ########## --> |
||
== Vor- und Nachteile |
== Vor- und Nachteile == |
||
=== Vorteile === |
|||
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.<ref name="user" /><ref name="enha" /><ref name="biom" /><ref name="keys" /><ref name="auth" /> |
|||
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.<ref name="enha" /> Das Tippverhalten eines Benutzer zu imitieren ist nicht so einfach wie eine Unterschrift zu fälschen.<ref name="user" /><ref name="auth" /> |
|||
Den Nutzer anhand seines Tippverhaltens zu authentisieren ist unauffällig und für den Nutzer grundsätzlich ein nahezu alltägliches Verhalten.<ref name="enha" /><ref name="auth" /> Das Tippverhalten eines Nutzer kann nicht einfach verloren gehen oder gestohlen werden.<ref name="auth" /> |
|||
=== Nachteile === |
|||
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.<ref name="iden" /><ref name="enha" /> |
|||
Ein weiteres Problem sind die unterschiedlichen psychologischen und physiologischen Zustände des Nutzers.<ref name="user" /> Ein Nutzer unter Stress oder ein müder Nutzer tippt anders als er eigentlich fähig ist.<ref name="enha" /> Die Geschwindigkeit kann sich auch im Verlauf des Tages ändern.<ref name="iden" /><ref name="enha" /> 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.<ref name="iden" /><ref name="enha" /> |
|||
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.<ref name="iden" /><ref name="auth" /> |
|||
Weitere Faktoren können eine kurzzeitige Verletzung, wie eine gebrochene Hand, oder auch automatische Eingabefelder-Ausfüller wie moderne Passwort-Safe-Programme sein. |
|||
<!-- ################################## |
<!-- ################################## |
||
############## Quellen ################ |
############## Quellen ################ |
||
################################### --> |
################################### --> |
||
== Quellen == |
== Quellen == |
||
<references> |
<references> |
||
<ref name="auth">Fabian Monrose and Aviel Rubin. ''Authentication via keystroke dynamics''. In |
<ref name="auth">Fabian Monrose and Aviel Rubin. ''Authentication via keystroke dynamics''. In |
||
Zeile 136: | Zeile 163: | ||
<ref name="enha">Edmond Lau, Xia Liu, Chen Xiao, and Xiao Yu. ''Enhanced user authentication through keystroke biometrics''. Technical report, Massachusetts Institute of Technology, September 2004.</ref> |
<ref name="enha">Edmond Lau, Xia Liu, Chen Xiao, and Xiao Yu. ''Enhanced user authentication through keystroke biometrics''. Technical report, Massachusetts Institute of Technology, September 2004.</ref> |
||
<ref name="iden">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.</ref> |
<ref name="iden">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.</ref> |
||
<ref name="comp">J.A. Robinson, V.W. Liang, J.A.M. Chambers, and C.L. MacKenzie. '' |
<ref name="comp">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</ref> |
||
</references> |
</references> |
Version vom 27. Januar 2015, 20:59 Uhr
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.
Tippverhalten in der Wissenschaft
Die erste wissenschaftliche Arbeit zum Thema Tippverhalten[2][3][4] ist 1980 von Gaines, Lisowski, Press und Shapiro veröffentlicht worden.[5] Zum Einsatz kamen sieben Versuchspersonen, die einen fest vorgegebenen Text tippen mussten.[5]
Karnan, Akila und Krishnaraj[6] haben 37 wissenschaftlichen Arbeit zum Thema Tippverhalten untersucht. Sie haben dabei die unterschiedlichen Methoden in folgende Kategorien aufgeteilt[6]:
- Statistische Methoden,
- Neuronale Netze,
- Mustererkennung,
- Hybride Techniken,
- Weitere Vorgehensweisen.
Ein Vergleich der Ansätze gestaltet sich aufgrund von unterschiedlichen Bedingungen schwierig.[6][3] Manche Vorgehensweisen verlangen eine längere Aufnahme-Phase als andere Vorgehensweisen.[6] Es werden bei den Untersuchungen eine unterschiedliche Anzahl von Versuchspersonen genommen, was die Performance der jeweiligen Methoden stark beeinträchtigt.[6][7] Oder die mathematischen Methoden werden mit Hilfe von unterschiedlich eingestellter Parameter berechnet.[6]
Einsatzgebiete
Es gibt verschiedene Einsatzgebiete für Tippverhalten. Jedes Einsatzgebiet besitzt unterschiedliche Voraussetzungen oder birgt unterschiedliche Optionen. Der Austausch eines Einsatzgebiets 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[7]:
- Begrenzte Dauer,
- Unbegrenzte Dauer,
- Vorgegebene Texteingabe,
- Freie Texteingabe.
Login
Logins werden genutzt, um Benutzer anhand eines Benutzernamens und eines Passworts zu authentisieren.[7] Dabei kann das Tippverhalten des Benutzers zur Authentifizierung aufgenommen werden.[7] Ein Login ist von begrenzter Dauer und kann mit vorgegebenen oder freien Text realisiert werden.
Ständige Überwachung
Während einer kompletten Sitzung mit theoretisch unbegrenzter Dauer wird das Tippverhalten eines Benutzers analysiert.[7] 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.[7] Bei der ständigen Überwachung ist es Voraussetzung für Algorithmen, dass sie mit freien Texteingaben umgehen können.[7]
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.[7][3] Somit muss der Nutzer nicht Kontakt mit dem Administrator aufnehmen.[7][3]
Tracking
Ein Benutzer kann im Internet durch Analyse des Tippverhaltens über mehrere Seite hinweg getrackt werden.[3] Diese Art von Identifizierung ist eine Alternative zum gängigen Vergleichen von IP-Adressen oder Speichern von Cookies.[3] Eine Benutzer kann dadurch auch über mehrere Geräte hinweg erkannt werden, oder auch mehrere Benutzer an einem geteilten Gerät.[3] 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 Eingabtexts mit den jeweiligen Attributen werden als eine Signatur zusammengefasst.
Der Vergleich der Signaturen von zwei oder mehreren unabhängigen Texteingaben ermöglicht die Identifizierung oder Authentifizierung. Eine Authentifizierung ist zum Beispiel dann erfolgreich, wenn sich die Signaturen aus zwei unabhängiger Texteingaben sehr ähnlich sind. Desto größer der Unterschied, desto eher kann davon ausgegangen werden, dass die beiden Texteingaben nicht von der selben 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 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.[7][3][6] Trigraphen liefern meistens die besten Ergebnisse.[3] Im Vergleich ist die Anzahl der einzigartigen Trigraphen zu Digraphen größer.[3] Mit noch größeren N-Graphen erhöht sich die Wahrscheinlichkeit von fehlerhaften N-Graphen (keine Möglichkeit zu vergleichen) aufgrund von Tippfehlern.[3] Zudem verringert sich die Stabilität der Eingabedauer von großen N-Graphen.[3]
Messbare Eigenschaften
Folgende Liste enthält ein paar messbare Eigenschaften. Mit speziellen Tastaturen lassen sich auch noch andere Eigenschaften wie zum Beispiel der ausgeübte Tastendruck messen.[8][3] Am häufigsten werden „latency“ und „duration“ verwendet.[7][3][6]
- „Duration“ oder „dwell“ (Wie lange eine Taste gedrückt gehalten wird).[3][7]
- „Latency“ (Dauer zwischen Drücken der ersten Taste und Loslassen der zweiten Taste).[3][7]
- „Interval“ (Dauer zwischen Loslassen der ersten und Drücken der zweiten Taste).[7]
- „Flight time“ (Dauer zwischen Drücken der ersten und Drücken der zweiten Taste).[7]
- „Up to up“ (Dauer zwischen Loslassen der ersten und Loslassen der zweiten Taste)[7]
- „Total time“ (Komplette Tippdauer).[7]
- „Frequency of errors“ (Häufigkeit an Tippfehlern).[7]
- „Shift key usage“ (Verhalten der Nutzung der beiden Shift-Tasten).[4]
- „Relative key event order“ (Relative Reihenfolge vom Drücken und Loslassen der Tasten).[4]
- „Relative keystroke speed“ (Die Geschwindigkeit, in der eine Taste getippt wird in Relation zu den anderen Tasten).[4]
Beispiel
Als Eingabtext wird als Beispiel „Auto“ vorgegeben. Mittels Digraphen lässt sich der Eingabetext in drei Teile aufteilen. Für jeden der Digraphen wird 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 dem selben Benutzer stammen. Ab wann jedoch zwei Signaturen dem selben 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 Aufnahme- („enrollment phase“) und eine Authentifizierungs-Phase („authentication phase“).[6] 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.[6] Bei der Authentifizierungs-Phase werden die zuvor erfassten mit den neu erhaltenen Daten verglichen.[6]
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).[7] Die vom Algorithmus benötigten Daten müssen daraufhin aus den erfassten Daten extrahiert werden (Eigenschaften extrahieren).[7] Je nach Algorithmus werden nun die extrahierten Daten weiterverarbeitet und eine Signatur erstellt (Erzeuge Signatur).[6][7]
In der Aufnahme-Phase werden die so erhaltenen Signaturen in der Datenbank gespeichert.[7] In der Authentifizierungs-Phase entscheidet ein Vergleichsprozess, ob ein Benutzer erfolgreich authentisiert werden kann.[6] Dies geschieht durch den Vergleich der neuen Signatur mit den alten bereits bekannten Signaturen aus der Datenbank.[6]
Vor- und Nachteile
Vorteile
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.[3][4][6][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.[4] Das Tippverhalten eines Benutzer zu imitieren ist nicht so einfach wie eine Unterschrift zu fälschen.[3][1] Den Nutzer anhand seines Tippverhaltens zu authentisieren ist unauffällig und für den Nutzer grundsätzlich ein nahezu alltägliches Verhalten.[4][1] Das Tippverhalten eines Nutzer kann nicht einfach verloren gehen oder gestohlen werden.[1]
Nachteile
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.[7][4] Ein weiteres Problem sind die unterschiedlichen psychologischen und physiologischen Zustände des Nutzers.[3] Ein Nutzer unter Stress oder ein müder Nutzer tippt anders als er eigentlich fähig ist.[4] Die Geschwindigkeit kann sich auch im Verlauf des Tages ändern.[7][4] 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.[7][4] 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.[7][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
- ↑ 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 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 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 c d e f g h i j k l m n o p q r s t u v w x y z 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.
- ↑ 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