Sensors provide unique data fingerprint for each key tap
To prove their point, researchers created an Android app that they installed on test devices that silently collected data from six sensors: accelerometer, gyroscope, magnetometer, proximity sensor, barometer, and ambient light sensor.
The algorithm analyzed the collected sensor data and was able to distinguish between presses on different keys by looking at device tilt (space and angle-related coordinates) and nearby ambient light whenever the user moved his finger over the phone's touchscreen to enter the PIN and unlocked the device.
During their experiment, the research team used sensor data only from 500 random PIN-entry operations supplied by three candidates, meaning the algorithm could become more accurate as it collected more data.
Based on the research team's samples, the algorithm was able to guess a PIN code with a 99.5% accuracy on the first try using PINs from a list of the 50 most common PIN numbers. Previous research had a success rate of 74% using the same list of the 50 most common PIN numbers, the research team said.
The success rate went down from 99.5% to 83.7% when researchers tried to guess all 10,000 possible combinations of four-digit PINs within 20 tries.
"Moreover, with the underlying agile methodology, the technique can be easily scaled up to longer PINs," researchers said.