Solo is an open source security key. We just launched Solo v2,
 
 
 
 
 
Go to file
Conor Patrick 364e552ae9 move to targets dir 2018-09-12 20:00:13 -04:00
crypto Merge branch 'master' of github.com:conorpp/u2f-one-internal 2018-06-27 21:41:02 -04:00
fido2 add missing stdint header 2018-09-10 20:27:15 +00:00
lib fix couple issues with usb firmware 2018-07-22 13:41:46 -04:00
nrf52840 add 2018-06-26 23:02:15 -04:00
pc pass ctap tests on PC 2018-09-04 22:11:21 -04:00
python-fido2@4964d98ca6 pass ctap tests on PC 2018-09-04 22:11:21 -04:00
targets move to targets dir 2018-09-12 20:00:13 -04:00
tinycbor@c9059d9e33
tools pass ctap tests on PC 2018-09-04 22:11:21 -04:00
web update web api to latest 2018-09-10 18:22:14 -04:00
.gitignore small refactoring, add efm8 reset 2018-07-15 12:24:32 -04:00
.gitmodules tinyaes 2018-06-27 18:35:59 -04:00
LICENSE
Makefile remove obj files 2018-09-03 00:47:38 -04:00
README.md pass ctap tests on PC 2018-09-04 22:11:21 -04:00

README.md

Solo

This is the source code for Solo. It implements the authenticator U2F and FIDO2 protocols. It is designed to be easily ported to lightweight embedded platforms, as well as run on the PC.

No hardware is needed for development.

Setting up

Clone and Compile CBOR library and FIDO 2 client library.

git clone https://github.com/conorpp/u2f-one
cd u2f-one/
git submodule update --init

cd tinycbor && make
cd ..

cd python-fido2/
python setup.py install

Open crypto/tiny-AES-c/aes.h in a text editor and make sure AES256 is selected as follows.

//#define AES128 1
//#define AES192 1
#define AES256 1

Now compile FIDO 2.0 and U2F authenticator.

make

Testing and development

The application is set up to send and recv USB HID messages over UDP to ease development and reduce need for hardware.

Testing can be done using Yubico's client software. Note that the client software is also a work in progress and the FIDO 2.0 specification is ultimate. Some small changes to Yubico's Client software make it send USB HID over UDP to the authenticator application.

Run FIDO 2 / U2F application.

./main

Run client software.

python python-fido2/examples/credential.py

You should see messages exchange between the client and the authenticator but that's it. Follow specifications to develop further.

https://fidoalliance.org/specs/fido-v2.0-ps-20170927/fido-client-to-authenticator-protocol-v2.0-ps-20170927.html

Contributors

Contributors are welcome. The ultimate goal is to have a FIDO 2 hardware token capable of USB, Bluetooth, and NFC interfaces. There could be multiple tokens for each interface. Hardware is still being decided on.

This is an upgrade to U2F Zero. A lot of the hardware and software will be different so I think it's best to start a new repository.