All Projects → google → Opensk

google / Opensk

Licence: apache-2.0
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Opensk

Solo
Solo 1: open security key supporting FIDO2 & U2F over USB + NFC
Stars: ✭ 1,986 (-6.05%)
Mutual labels:  hardware, u2f, webauthn, fido2
clarion
WebAuthn (U2F) helper for CLI operations (e.g. SSH Log in)
Stars: ✭ 78 (-96.31%)
Mutual labels:  u2f, webauthn, fido2
Iot Pt
A Virtual environment for Pentesting IoT Devices
Stars: ✭ 218 (-89.69%)
Mutual labels:  hardware, firmware, embedded
wp-webauthn
🔒 WP-WebAuthn allows you to safely login to your WordPress site without password.
Stars: ✭ 85 (-95.98%)
Mutual labels:  u2f, webauthn, fido2
awesome-yubikey
Curated list of awesome Yubikey resources, open source projects, tools and tutorials.
Stars: ✭ 22 (-98.96%)
Mutual labels:  u2f, webauthn, fido2
uru-card
Arduino based firmware for FIDO2 Authenticator
Stars: ✭ 114 (-94.61%)
Mutual labels:  webauthn, fido2, ctap2
CTAP2-test-tool
Test tool for CTAP2 authenticators
Stars: ✭ 36 (-98.3%)
Mutual labels:  fido2, ctap2, security-key
Embedos
EmbedOS - Embedded security testing virtual machine
Stars: ✭ 108 (-94.89%)
Mutual labels:  hardware, firmware, embedded
Go Hardware
A directory of hardware related libs, tools, and tutorials for Go
Stars: ✭ 1,137 (-46.22%)
Mutual labels:  hardware, embedded
Blinker Library
An IoT Solution,Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.
Stars: ✭ 1,095 (-48.2%)
Mutual labels:  hardware, embedded
Bitbox
The bitbox console (example, firmwares, doc)
Stars: ✭ 78 (-96.31%)
Mutual labels:  hardware, embedded
Memfault Firmware Sdk
Memfault Firmware SDK for embedded systems. More information at https://docs.memfault.com.
Stars: ✭ 42 (-98.01%)
Mutual labels:  firmware, embedded
Exein Openwrt Public
Openwrt 18.06.5 featured with the Exein's security framework
Stars: ✭ 36 (-98.3%)
Mutual labels:  firmware, embedded
Daplink
Stars: ✭ 1,162 (-45.03%)
Mutual labels:  firmware, embedded
Lowlevelprogramming University
How to be low-level programmer
Stars: ✭ 7,224 (+241.72%)
Mutual labels:  hardware, firmware
Iotsecurity101
A Curated list of IoT Security Resources
Stars: ✭ 1,302 (-38.41%)
Mutual labels:  hardware, firmware
Hydrabus
HydraBus an open source multi-tool hardware for researcher, hackers, students, embedded software developers or anyone interested in debugging/hacking/developing/penetration testing
Stars: ✭ 104 (-95.08%)
Mutual labels:  hardware, firmware
Blinker Py
Blinker python library for hardware. Works with Raspberry Pi, Banan Pi, Linux devices
Stars: ✭ 680 (-67.83%)
Mutual labels:  hardware, embedded
Nrf52dk Sys
A Rust Crate to develop on the Nordic nRF52-DK
Stars: ✭ 83 (-96.07%)
Mutual labels:  firmware, embedded
Exein
Exein core for Linux based firmware
Stars: ✭ 158 (-92.53%)
Mutual labels:  firmware, embedded

OpenSK logo

markdownlint pylint Cargo check Cargo format Coverage Status

OpenSK

This repository contains a Rust implementation of a FIDO2 authenticator. We developed OpenSK as a Tock OS application.

We intend to bring a full open source experience to security keys, from application to operating system. You can even 3D print your own open source enclosure! You can see OpenSK in action in this video on YouTube!

FIDO2

The stable branch implements the CTAP2.0 specification and is FIDO certified. OpenSK supports U2F, and non-discoverable credentials created with either protocol are compatible with the other.

If you want to use features of the newer FIDO 2.1, you can try our develop branch. This version is NOT certified and less thoroughly tested though. If you plan to add features to OpenSK, you should switch to develop.

⚠️ Disclaimer

This project is proof-of-concept and a research platform. It is NOT meant for a daily usage. The cryptography implementations are not resistent against side-channel attacks.

We're still in the process of integrating the ARM® CryptoCell-310 embedded in the Nordic nRF52840 chip to enable hardware-accelerated cryptography. Our placeholder implementations of required cryptography algorithms (ECDSA, ECC secp256r1, HMAC-SHA256 and AES256) in Rust are research-quality code. They haven't been reviewed and don't provide constant-time guarantees.

Hardware

You will need one the following supported boards:

Installation

To install OpenSK,

  1. follow the general setup steps,
  2. then continue with the instructions for your specific hardware:

To test whether the installation was successful, visit a demo website and try to register and login. Please check our Troubleshooting and Debugging section if you have problems with the installation process or during development. To find out what else you can do with your OpenSK, see Customization.

Contributing

See Contributing.md.

Reporting a Vulnerability

See SECURITY.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].