Passwortverifizierung durch individuelles Tippverhalten

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche
Abb. 1: Login-Fenster

Idee

Der passwortgeschützte Zugang zu Systemen soll durch das individuelle Tippverhalten der jeweiligen Person sicherer gestaltet werden.
Dafür sollen die Tastenanschläge in Hinsicht auf die Drucklänge und den zeitlichen Abstand zwischen den Tastenanschlägen analysiert werden.

Aufbau

Wir haben das Projekt mit Processing realisiert, da diese Programmiersprache sich gut für interaktive Anwendungen eignet.

Das Programm besteht aus zwei Modulen:

1. Lernmodul:

Im Lernmodul wird der Benutzer mehrfach nach der Eingabe seines Passworts gefragt, damit das Tippverhalten optimal erlernt werden kann.
Aus den ermittelten Werten wird ein individuelles Benutzerprofil erstellt.

2. Verifizierungsmodul:

Im Verifizierungsmodul gibt der Benutzer seinen Benutzernamen sowie sein Passwort ein. Beim Klick auf die Schaltfläche "Submit" wird die Eingabe
mit dem Benutzerprofil abgeglichen. Ist der Abgleich erfolgreich, so ist die Verifizierung abgeschlossen.

Umsetzung

Wir haben das Projekt mit Processing realisiert, da diese Programmiersprache sich gut für interaktive Anwendungen eignet.

Lernmodul

Während der Benutzer sein Passwort eintippt, werden die Werte für Drucklänge und den zeitlichen Abstand zwischen den Tastenanschlägen
durch die Processing-Funktionen keyTyped() und keyReleased() ermittelt und in ArrayLists eingelesen (siehe Abb. 2).
Sobald der letzte Lerndurchgang absolviert wurde, wird der Durchschnitt der einzelnen Werte unter Verwendung temporärer ArrayLists berechnet (siehe Abb. 3).
Die so errechneten Durchschnittswerte werden wiederum in ArrayLists gespeichert.


Abb. 2: Funktionen keyTyped() und keyReleased()


Abb. 3: Funktion calcAverage()


Verifizierungsmodul

Bei der Passworteingabe im Verifizierungsmodul werden erneut Drucklänge und zeitlicher Abstand zwischen den Tastenanschlägen analysiert und die Werte
in ArrayLists gespeichert (so wie im Lernmodul). Die so ermittelten Werte werden mit den erlernten Werten abgeglichen (siehe Abb. 4).
Ist die Übereinstimmung groß genug (durch Parameter im Programm einstellbar, siehe Abb. 5), so ist die Verifizierung abgeschlossen.


Abb. 4: Auschnitt der login()-Funktion


Abb. 5: Parameter zur Einstellung der Genauigkeit


Anwendung

Beispiel-Video

Download

Passwortverifizierung