Skip to content
An Open-Source FIDO U2F implementation on nRF52 SoC
Branch: master
Clone or download
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.
boards
certs fix mac can't generate key Mar 19, 2019
docs add developers wiki for nrf52-u2f Oct 23, 2018
firmware Add pre-built firmware: v1.0.0 Oct 23, 2018
include The first release of nrf52-u2f implementation Oct 23, 2018
nrf_sdks The first release of nrf52-u2f implementation Oct 23, 2018
open_bootloader add open bootloader source code Oct 23, 2018
source The first release of nrf52-u2f implementation Oct 23, 2018
tools fix mac can't generate key Mar 19, 2019
.gitignore update .gitignore: include python script Oct 23, 2018
.gitmodules add python-fido2 as test tool Oct 23, 2018
LICENSE.md add MIT License Oct 23, 2018
README.md add README.md Oct 23, 2018
mkdocs.yml add developers wiki for nrf52-u2f Oct 23, 2018

README.md

nRF52 FIDO U2F Security Key

An Open-Source FIDO U2F implementation on nRF52 SoC

Description

nRF52-U2F is an open-source FIDO U2F implementation on nRF52 SoC. Taking advantage of Nordic’s powerful SoC nRF52840 and nRF5 SDK, it's quite easy to make a FIDO U2F key with a number of distinguishing features, such as USB HID class modules, comprehensive cryptography library with ARM® TrustZone® Cryptocell-310, reliable Device Firmware Update (DFU), etc.

The FIDO Universal 2nd Factor (U2F) is an open authentication standard that allows online services to augment the security of their existing password infrastructure by adding a strong second factor to user login.

During registration and authentication, the user presents the second factor by simply pressing a button on a FIDO U2F key. The user can use their FIDO U2F key across all online services that support the protocol leveraging built-in support in web browsers.

FIDO U2F has been successfully deployed by large scale online services, including Google, Facebook, Twitter, GitHub, GitLab, and many more.

The FIDO U2F technical specifications are hosted by the open-authentication industry consortium known as the FIDO Alliance. Learn more about U2F on https://fidoalliance.org/.

Features

  • Support Nordic nRF52840 System-on-Chip
    • ARM® Cortex®-M4F processor optimized for ultra-low power operation
    • Combining Bluetooth 5, Bluetooth Mesh, Thread, IEEE 802.15.4, ANT and 2.4GHz
    • On-chip NFC-A tag
    • On-chip USB 2.0 (Full speed) controller
    • ARM TrustZone® Cryptocell-310 security subsystem
    • 1 MB FLASH and 256 KB RAM
  • Standard FIDO U2F Protocol supported
  • Driver-less installation on all major host platforms
  • Multi-application support with concurrent application access without the need for serialization and centralized dispatching.
  • Comprehensive cryptography library with ARM® TrustZone® Cryptocell-310
  • Reliable Device Firmware Update (DFU)

How it works?

The following diagram explains the basic process flow of FIDO U2F:

Developers Wiki

We have provided developers wiki to make it a pleasure to develop with nRF52-U2F. Get what you need here or visit https://wiki.makerdiary.com/nrf52-u2f.

Supported Boards

The following developmet boards are supported well and it's easy to port to other nRF52840 boards. More boards are planned and will show up gradually over time.

Supported Services

There are a list of featured services that use FIDO U2F. More services will deploy U2F and will show up here over time.

MIT License

Copyright (c) 2018 makerdiary

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You can’t perform that action at this time.