Universal Device Pairing using an Auxiliary Device

July 24, 2008 by Richard Conlan

http://cups.cs.cmu.edu/soups/2008/proceedings/p56Saxena.pdf

This research explored how to bootstrap a secure communication channel between two wireless devices when they have no prior association and no trusted third party.  Examples are pairing a WLAN laptop to an access point, or a Bluetooth cellphone and headset.

The proposal is to use an Out-Of-Band channel between the devices created with human perceptible (audio, visual, or tactile) output.  The OOB channel is “physically authenticatable”.  This limits the capabilities of attackers while striving for a minimal burden on usability.  The security model explored assumes an insecure, high-bandwidth wireless channel, and an authenticable, low bandwidth OOB channel.  The adversary has complete control over the wireless channel, and can eavesdrop on the OOB channel but cannot modify messages.

Prior work in the field can be found in a project called Seeing-Is-Believing.  Each phone displays a barcode is used to take a picture of the barcode off the other camera, thus ensuring mutual authentication.  This method is useful, but the barcode must encode 48-bits, meaning it isn’t easily adaptable to a more limited display.  And, of course, not all devices can be assumed to have an integrated camera.

A universal pairing method was proposed by Prasad-Saxena in which strings are display by both devices to the human user and the human verifies correctness.  This could be as simple as synchronously flashing LEDs or speaker tones.  But users can still make mistakes, especially in a distracting environment.

This research sought to improve on this by adding an ATD (Auxiliary Third Device) meant to validate the synchronous signaling and thus remove the possibility of human mistakes.  When performing automated pairing the user must
- press a button on one device to start pairing
- adjust the ATD’s inputs to focus on the devices being paired
- press a button to activate the ATD’s receivers
- press a button on one device to start SAS transmission
- accepting or rejecting the pairing session based on the ATD output

For testing, a laptop was used an an ATD with a 2.0M camera running at 30 FPS.  The devices being paired were simulated by LEDs on a breadboard.  They used a 15-bit SAS (Short Authenticated String) encoded over blinking LEDs.  They then did another test in which they synthesized the SAS to speech.

Both schemes were tested with 20 subjects manually confirming the outputs and using an ATD.  Each subject was presented with 24 test cases.  The goal was to determine if ATD did better than the users were able to on their own.  The results indicated that the ATD did make the process safer and less burdensome, though they found that the ATD made more errors for the case of audio output.  Whether the third device is a help or hindrance on speed of the operation depends on the capabilities of the ATD; in the case of the blinking LEDs the ATD was much faster, but was slower due to the relatively slower audio recoding process.