U2F USB token optimized for physical security, affordability, and style
C C++ Python Shell Assembly XSLT Makefile
Clone or download
conorpp Merge pull request #85 from thenoviceoof/update-license
In the LICENSE, split out the different author copyrights.
Latest commit 6a177ca Jul 14, 2018

README.md

U2F Zero

U2F Zero is an open source U2F token for 2 factor authentication. It is implemented securely. It works with Google accounts, Github, Duo, and anything else supporting U2F. The latest version uses key derivation and has no limit on registrations.

You can easily build your own. You just need to order the 8 SMT parts, $1.13-$3.5 per PCB, and programmer. It ends up being $35 for programmer and ~$5/board. The token should be durable enough to survive on a key chain for years, even after going through the wash.

Check out the wiki for more on how to build your own.

Redesign / FIDO 2

FIDO 2 protocol is replacing U2F. It has more flexibility and support for password-less login. A new open source FIDO 2 token is being planned (with support for USB, Bluetooth, and NFC). Discussion for hardware design and usage is happening here, feel free to chip in.

Security Overview

The security level is about the same as a modern car key. Any secret information cannot be read or duplicated. A true random number generator is used to create unpredictable keys.

However, side channel leakage is an unsolved problem in industry and academia. So for well equipped adversaries that can make targetted attacks and get physical access, secret information leakage is possible. Any other hardware token that claims it's "impenetrable" or otherwise totally secure is still vulnerable to physical side channels and it's important to acknowledge. However, most people don't worry about targeted attacks from well equipped adversaries.

For more information about U2F Zero's secure implementation and the problem of side channels, check out the wiki.

Support

Support this project by purchasing or sharing U2F Zero on Amazon.

License

Everything is open source and licensed under the Simplified BSD License.