A Behavioral Biometrics User Authentication Study Using Android Device Accelerometer and Gyroscope Data Jonathan Lee, Aliza Levinger, Beqir Simnica, Khushbu Kanani, Adam Pacholarz, Javid Maghsoudi, Charles Tappert, Hui Zhao, and Leigh Anne Clevenger (Preston Rollins, Vinnie Monaco) Seidenberg School of CSIS, Pace University, Pleasantville, New York
CONTENTS Tools Sensor Kinetics & WEKA Data Gathering Protocol Simple Processing Data Processing Results Close
TOOLS: SENSOR KINETICS & WEKA Sensor Kinetics Pro Access all sensors Record data Share data CSV File {time,x,y,z} 1 line per sample WEKA Collection of Machine Learning Algorithms Classify Data Test Options Easily Change Algorithms Naive Bayes k-Nearest Neighbors Multilayer Perceptron
DATA GATHERING PROTOCOL Chose to record both accelerometer and gyroscope data - measures of device movement and orientation -- where available. 6 testers, 5 different android phones. 10 subjects per phone. Starting position had user sitting at desk/table with phone flat on the surface. Motion of interest consisted of: Press start button with dominant hand Lift to view 2-3 second pause Bring phone to ear 2-3 second pause Press stop button while phone is at ear
SIMPLE PROCESSING Divide the data into sixteen equal sections Calculate the average and variance at each data point Divided into sixteenths to match up evenly with the automated feature extraction 16x sections 2x sensors 3x dimensions 2x values (avg, var) End with 192 data points per trial
Using 25-sample moving average to determine motion Calculates {x,y,z}-averages, derives variances at each point Starts with an arbitrary threshold for motion Iteratively adjusts threshold up/down until system identifies 2 motions and 2 periods of stillness Divides each segment into quarters: Calculate {x,y,z}-averages, variances 192 data points per trial (mirroring the simple processing) DATA PROCESSING
DATA PROCESSING CODE Java code ~1000 lines Performs simple sections (x16) Performs feature extraction (4 segments) Calculates avg/var per section Generates 2x CSV files
RESULTS Initial test results with 60-individuals, on 6 different phones (5 models). (acc) refers to analysis using only the accelerometer (96 data points) (both) refers to analysis using the gyroscope as well (192 data points) %Simple (acc)Simple (both)Complex (acc)Complex (both) Naive-Bayes k-NN MLP
SAMPLE RUN DATA From complex extraction Both Sensors MLP Individual data displayed (true pos & false pos) Some conclusions: This biometric approach tricked by twins Also, possibly biomechanically similar individuals Behavioral biometrics alone may not be sufficient
COMPARISON TO PREVIOUS PROJECT 4 phones => 6 phones 4 models => 5 models 20 users => 60 users 25 runs/user (500 runs total) => 20 runs/user (1200 runs total) Standing motion => Sitting motion Division into 8 sections => Division into 16 sections Manual extraction + simple division => Simple division + automated extraction Extracted motions (manual) => Extracted motions & stillness (automated) 98.4% result (both sensors/simple division/MLP) => 92.7% (both/complex/MLP)
3x Algorithms (naive Bayes, k-NN, MLP) Simple division vs Complex extraction Accelerometer only vs. Both vs. Gyroscope only Average and variance vs. Average only vs. Variance only 10-fold validation vs. Leave 1 out validation 60-sample vs. 50 vs. 40 vs. 30 vs. 20 vs. 10 Aggregate vs. Individual 12 Weka runs (~3 hrs) => 1296 Weka Runs (~308 hrs) PROJECT EXTENSION (BOLD NEW)