Touchalytics

On the Applicability of Touchscreen Input as a Behavioral Biometric for Continuous Authentication

Mario Frank, Ralf Biedert, Eugene Ma, Ivan Martinovic, Dawn Song

We investigate whether a classifier can continuously authenticate users based on the way they interact with the touchscreen of a smart phone. We propose a set of 30 behavioral touch features that can be extracted from raw touchscreen logs and demonstrate that different users populate distinct subspaces of this feature space. In a systematic experiment designed to test if this behavioral pattern exhibits consistency over time, we collected touch data from users interacting with a smart phone using basic navigation maneuvers, i.e., up-down and left-right scrolling. We propose a classification framework that learns the touch behavior of a user during an enrollment phase and is able to accept or reject the current user by monitoring only a small amount of touch data.The classifier achieves a median equal error rate of 0% for intra-session authentication, 2%-3% for inter-session authentication and below 4% for long-term authentication where the authentication test was one week after the enrollment phase.

Some example strokes
Example strokes from 8 users.

Corresponding publications:

This dataset contains the raw touch data of 41 users interacting with Android smart phones plus a set of 30 extracted features for each touch stroke.

Download:
data.zip:
Raw touch data, comma-separated.
The columns are 'phone ID','user ID', 'document ID', 'time[ms]', 'action', 'phone orientation', 'x-coordinate', 'y-coordinate', 'pressure', 'area covered', 'finger orientation'.
The column 'action' can take three values 0: touch down, 1: touch up, 2: move
Please find more detailed information in the readme.

features.mat (matlab format) and features.zip (comma separated):
Extracted features for each touch stroke and descriptive strings for all features. The columns 'user id', 'doc id', and 'phone id' contain labels. Do not use them for testing. Please find more detailed information in the readme and in our paper.
For Weka users, Marcelo Damasceno converted the dataset to arff format: data_arff.zip. Thanks!

extractFeatures.m:
A MATLAB script to extract features from raw touch data.
If you apply it to (the extracted) data.zip, it will generate features.mat.

back