Skip to content

boska/SensorPrint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

SensorPrint

iOS research tool for measuring MEMS accelerometer and gyroscope static bias as a device fingerprinting signal.

Research writeup: Your iPhone's Accelerometer Has a Fingerprint

What it does

Every MEMS sensor has a fixed manufacturing offset — a small, constant value it adds to every reading regardless of actual acceleration. This bias is a Physical Unclonable Function (PUF): it's baked into the hardware at the factory and cannot be changed in software.

SensorPrint measures this bias by sampling CMDeviceMotion at 100Hz while the device is still, then computing the mean across all samples. The result is a 6-value vector (ax, ay, az, gx, gy, gz) that is stable across measurements and unique per device.

Key findings

  • iPhone and iPad Z-axis bias values differ by 45% (0.003147 vs 0.004569 m/s²)
  • iPhone measurement stability: drift ±0.000059 m/s², SNR 53x
  • Hand contact during measurement inflates readings — 3-second countdown eliminates this artifact
  • MEMS sensors exhibit a warm-up effect: first measurement of a session is less stable

Features

  • 100Hz sampling via CMDeviceMotion
  • 3-second countdown before recording (eliminates hand-contact artifacts)
  • Auto 5-run batch mode with 2-second settling intervals between runs
  • Stability analysis across runs (drift visualization)
  • CSV export and clipboard copy

Requirements

  • iOS 17+
  • Real device (simulator returns zero bias — no physical hardware)
  • Xcode 15+

Usage

  1. Place device flat on a stable surface
  2. Tap Auto 5 Runs and step away
  3. Wait ~45 seconds for all runs to complete
  4. Review the bias vector and stability drift in the History section
  5. Export CSV to compare across devices

About

iOS MEMS sensor bias fingerprinting research tool — CoreMotion sampling app for PUF device identification research

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages