SecurePair is a system to securely pair devices using Bluetooth and audio with minimal user interaction. Instead of needing a user to enter a PIN or compare numbers at the end of the pairing process, the devices emit a short audio sequence that is automatically recognized.
This post explains the project and how the latest system incorporating machine learning will work. This paper describes the original project in more detail, including the core protocol, related work, and initial system implementation. Work is in progress to replace the note recognition pipeline described in the paper with the machine learning approach.
analysis/
System performance testing and analysislearning/
Machine learning system to recognize audio noteslibrary/
Core library codephone/
Phone applicationserver/
Server application
This code demonstrates securely pairing a phone with a laptop. To set up the system, follow the instructions for the phone/README.md
and server/README.md
. The phone application currently works on iPhone, and the server has been tested on Mac OS X but should also work on Windows and Linux.
Development of the system takes place in library/
. When changes are made to the library, the phone and server library versions must be rebuilt and copied into phone/www/js/
and server/js/
.
Work to recognize the audio notes using machine learning is in progress in learning
. It is not currently used by the library code.
Code to help test the original recognition pipeline is in analysis/
and will be updated once the machine learning system is integrated.