OpenSK VS python-fido2

Compare OpenSK vs python-fido2 and see what are their differences.

OpenSK

OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards. (by google)

python-fido2

Provides library functionality for FIDO 2.0, including communication with a device over USB. (by Yubico)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
OpenSK python-fido2
12 5
2,904 405
1.2% -0.5%
6.3 7.5
4 days ago 6 days ago
Rust Python
Apache License 2.0 BSD 2-clause "Simplified" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

OpenSK

Posts with mentions or reviews of OpenSK. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-19.
  • OpenSK – open-source implementation for security keys written in Rust
    1 project | news.ycombinator.com | 25 Aug 2023
  • Yubico is merging with ACQ Bure and intends to go public
    6 projects | news.ycombinator.com | 19 Apr 2023
    https://github.com/google/OpenSK works, it runs on something like this $15 board. Could do with a case though.

    https://www.nordicsemi.com/About-us/BuyOnline?search_token=n...

  • How to Yubikey: A Configuration Cheatsheet
    13 projects | news.ycombinator.com | 10 Mar 2023
  • Make Custom Yubikey
    2 projects | /r/yubikey | 23 Jun 2022
  • WebAuthn, and Only WebAuthn
    2 projects | news.ycombinator.com | 24 May 2022
    There are a huge number of other vendors supporting Webauthn apart from Yubikey. (From the top of my head Nitrokey, Solo, Tomu, Mooltipass, Ledger, Trezor, Google Titan, OnlyKey, Token2).

    You could also use the system TPM (https://github.com/psanford/tpm-fido).

    A brief search didn't yield any FIDO2 software-only solutions for Linux, but I see no reason why in principle you couldn't implement it (perhaps interfacing https://github.com/google/OpenSK through hidg - similar projects do exist for U2F).

  • Apple, Google, and Microsoft commit to expanded support for FIDO standard
    6 projects | news.ycombinator.com | 10 May 2022
    Cloudflare does, using a security key not found in the FIDO Metadata Service will unfortunately not work. This precludes the use of any hacker-friendly solution (making your own).

    > Supported: All security keys found in the FIDO Metadata Service 3.0, unless they have been revoked for security reasons.

    https://support.cloudflare.com/hc/en-us/articles/44068890480...

    Attestation keys, as they're currently used, aren't very "privacy friendly" and it's much worse for those who wish to create their own key.

    > Usually, the attestation private key is shared between a batch of at least 100,000 security keys of the same model. If you build your own OpenSK, your private key is unique to you. This makes you identifiable across registrations: Two websites could collaborate to track if registrations were attested with the same key material. If you use OpenSK beyond experimentation, please consider carefully if you want to take this privacy risk.

    https://github.com/google/OpenSK/blob/f2496a8e6d71a4e8388849...

  • Phone May Soon Replace Many of Your Passwords
    4 projects | news.ycombinator.com | 7 May 2022
    There are a number of FOSS solutions.

    - https://github.com/google/OpenSK <- DIY solution

    - https://solokeys.com/

    - https://www.nitrokey.com/

    The issue with any FOSS solution is that FIDO requires an attestation private key which is shared between a batch of at least 100,000 security keys. Using a DIY or cli app (application running on the host) solution will likely mean you'll be generating that private key yourself, this makes you identifiable across registrations.

  • Apple/Google/Microsoft to accelerate rollout of passwordless sign‑in standard
    9 projects | news.ycombinator.com | 5 May 2022
  • Login with a Public Ed25519 Key
    5 projects | news.ycombinator.com | 26 Feb 2022
    I'm not sure what you're replying to--this scheme is much closer to self-signed X509 client certs, not FIDO. But regarding FIDO, it does not prevent user-controlled hardware; it's up to RPs to choose if they require specific device manufacturers or not.

    In my experience, the vast majority of (consumer) RPs do not require specific batch attestation, which is why you can make your own FIDO key: https://github.com/google/OpenSK.

    I am under the impression support for attestation was controversial in FIDO--it's clearly useful for enterprise scenarios (e.g. where an enterprise requires some silly certification like FIPS: https://support.yubico.com/hc/en-us/articles/360016614760-Ac...), but there's always the risk that consumer-facing RPs require it for no good reason.

    My employer requires FIPS certification due to FedRAMP; I'd be interested in how you would propose to change FIDO such that--as now--I can use a single key for work and for all my consumer needs while eliminating attestation.

  • I read the federal government’s Zero-Trust Memo so you don’t have to
    3 projects | news.ycombinator.com | 27 Jan 2022

python-fido2

Posts with mentions or reviews of python-fido2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-13.
  • All You Need to Know FIDO2 & Passwordless Authentication
    2 projects | dev.to | 13 Dec 2022
    https://fidoalliance.org https://loginwithfido.com https://w3.org/TR/webauthn-2/ https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html https://github.com/yubico/Python-Fido2 https://github.com/yubico/libfido2
  • Deprecation From U2F API to WebAuthn
    3 projects | dev.to | 18 Jan 2022
    To start the migration process, let’s first replace u2f.start_authentication() with its counterpart. The data types that the WebAuthn API takes are not quite the same ones used in U2F API. In fact, one of the main pain points was converting the necessary fields into the correct data type.
  • Fingerprint-based authentication and Authorization in Python(Django) web applications - Hacking your way out (Part 3)
    3 projects | dev.to | 8 Jun 2021
    The specification we'll be addressing says that if a user fails to identify himself/herself using his/her device's authenticator or external authenticator(s) supported by python-fido2, such user should be removed from the database, logged out of the application and then redirected to the registration page to restart the process. This is to ensure that only verified users who used the supported attestation formats during registration are authenticated and authorized.
  • Fingerprint-based authentication and Authorization in Python(Django) web applications
    5 projects | dev.to | 7 Jun 2021
    Modern browsers support this awesome technology and there are a couple of its implemetations in various major programming languages and web frameworks, however, this multi-part post will only focus on implementing it in a Django application using a wonderful django application, django-mfa2 which utilizes python-fido2 under the hood.
  • U2F VPN authentication
    2 projects | /r/sysadmin | 21 Mar 2021
    But there seems to be somthing nearly finished. https://github.com/Yubico/python-fido2/blob/master/examples/server/server.py

What are some alternatives?

When comparing OpenSK and python-fido2 you can also consider the following projects:

nrf52-u2f - An Open-Source FIDO U2F implementation on nRF52 SoC

webauthn - Web Authentication: An API for accessing Public Key Credentials

keyberon - A rust crate to create a pure rust keyboard firmware.

django-mfa2 - A Django app that handles MFA, it supports TOTP, U2F, FIDO2 U2F (Webauthn), Email Token and Trusted Devices

solo1 - Solo 1 firmware in C

libfido2 - Provides library functionality for FIDO2, including communication with a device over USB or NFC.

rust-u2f - U2F security token emulator written in Rust

nrf52840-mdk-usb-dongle - An open-source, small and low-cost USB Dongle that supports Bluetooth 5.4, Bluetooth mesh, Thread, Zigbee, 802.15.4, ANT and 2.4 GHz proprietary protocols

django_mfa2_example - A simple fingerprint-based authentication and authorization application using django-mfa2

smoltcp - a smol tcp/ip stack

Django - The Web framework for perfectionists with deadlines.