Skip to content
Firmware for Nitrokey FIDO U2F
Branch: master
Clone or download
Pull request Compare This branch is 365 commits ahead, 2 commits behind conorpp:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
firmware
tools
.gitignore
.travis.yml
70-u2f.rules Use usb subsystem in udev rules file Jul 27, 2018
LICENSE.txt
README.md
install_rules.sh
nku2f.jpg

README.md

Nitrokey FIDO U2F

Nitrokey Fido U2F Rev.5

Nitrokey FIDO U2F is based on U2F Zero, an open source, open hardware U2F token for 2 factor authentication. It is implemented securely and works with Google accounts, Github, Duo, and anything else supporting U2F. Uses key derivation and has no limit on registrations.

Hardware files are provided here. Nitrokey's device differs in using a touch button instead of a regular one, as well as using smaller PCB and bigger flash MCU.

Documentation

U2F key derivation algorithm, and other working details, are documented in files placed in the doc folder.

Build (Ubuntu 18.04)

UB10

Instructions for H/W Rev4 and lower, based on UB10 MCU.

  1. Download Simplicity Studio 3 link (v4 will make bigger binary, which will not fit).
  2. Unpack it and run ./setup.sh script.
  3. Rename internal wine installation: cd SimplicityStudio_v3/developer/utilities/third-party && mv wine{,_}.
  4. Install wine-stable package: sudo apt install wine-stable.
  5. Run Studio.
  6. Select and download proper dev kit (will be autodetected if debugger and device are connected).
  7. Register KEIL compiler.
  8. Build the source.

UB30

Pending. Simplicity Studio 4 will be used.

Usage (Ubuntu 18.04)

Udev rules might be required to use the device without administrator privileges. Please run ./install_rules.sh script, which will copy rules file (./70-u2f.rules) to system directory on Ubuntu. For other OSes - please check the proper path and issue the copying manually.

Client and setup scripts are in ./tools/ directory.

License

License is the same as the base project: Simplified BSD License.

You can’t perform that action at this time.