Two factor or multiple factor authentication systems have contributed to protect us from fraud and unauthorized access. Now the issue is that users have to enter the token (i.e, an totp token) in a window that resides in another device in a process that is more like a F1 race than a simple data input.

Easy and effective mechanisms for transmitting the token from either app (OTP) or a physical device is required to easy the process. Sonic based solutions might leverage support for desktop pcs that doesn't have btle, nfc, etc.

Solutions like this will allow to short the lifecycle of the token which can improves security.

What it does

It synchronizes 2 factor mechanism and send tokens via sonic/ultrasonic sound.

How I built it

I made a port of a javascript library for encoding/decoding an alphabet into frequencies. Using an OTP library written for node I uses in the first stage a TOTP implementation.

Challenges I ran into

-The ultrasound that my cellphone can generate -Only works for chrome in android -The library i used tries to remove repeated characters. -Noise

Accomplishments that I'm proud of

I used implemented OTP and made my first contribution to meteor.

What I learned

How to create package Web Audio API

Packages Used

joseflores:sonicnetjs manuel:viewmodel meteorhacks:npm speakeasy iron:router

What's next for sonictoken

Trying new 2 factor authentications algorithms, create an authentication package that supports it and maybe evaluate the design of a device that emits sonic/ultrasonic, nfc codes

Share this project: