vsmartcard
tpm-fido
vsmartcard | tpm-fido | |
---|---|---|
2 | 8 | |
672 | 275 | |
- | - | |
6.0 | 1.5 | |
25 days ago | 6 days ago | |
C | Go | |
- | MIT License |
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.
vsmartcard
-
On-device WebAuthn and what makes it hard to do well
It's been a few years, but the main references I remember using:
1. Windows: https://github.com/frankmorgner/vsmartcard/tree/master/virtu..., which is a fix-up of the older https://www.codeproject.com/Articles/134010/An-UMDF-Driver-f..., and https://github.com/Watfaq/SoftU2F-Win/tree/master/SoftU2FDri.... Note that neither of these actually implement CTAP2.
2. Linux: There's plenty to refer to on HID gadgets, but https://blog.hansenpartnership.com/webauthn-in-linux-with-a-... and the code at https://git.kernel.org/pub/scm/linux/kernel/git/jejb/fido2-c... were my entrypoint.
3. Mac: I ended up not implementing a Mac version, but GitHub themselves used to support a CTAP1/U2F software authenticator, now archived at https://github.com/github/SoftU2F. I was going to work from that.
For the service I looked at different software "devices" interfacing with these kinds of drivers (or just the browser directly in Firefox's case).
1. Generic NIST SP 800-73 PIV: https://github.com/CCob/PIVert. Very limited scope, pentest tool with no extraneous features. It uses the BixVReader driver.
-
⟳ 5 apps added, 63 updated at f-droid.org
Smart Card Reader (version 2.3): Use your phone as contact-less smart card reader
tpm-fido
- Tailscale doesn't want your password
- On-device WebAuthn and what makes it hard to do well
- Passkeys in Chrome
-
WebAuthN and Fido for Linux
I also found this: https://github.com/psanford/tpm-fido
FIDO2 should be used more, hopefully more sites end up supporting it sooner rather than later.
- Bringing Modern Authentication APIs (FIDO2 WebAuthn, Passkeys) to Linux Desktop
-
Uber Investigating Breach of Its Computer Systems
If you have a Linux PC with a TPM, you can use https://github.com/psanford/tpm-fido to create and "plug in" a virtual USB WebAuthn key whose secret is irretrievably stored in the machine's TPM. This effectively asserts that your specific machine is being used to enter a given site. However, it's important to remember it doesn't necessarily verify that *you're* present, or even if *anyone* is present at all, since the presence check is done via a software dialog and can be pwned along with the rest of the system.
-
WebAuthn, and Only WebAuthn
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).
-
How to bypass Sprint/T-Mobile 2FA in under 5 minutes
I made a FIDO token (a platform authenticator) implementation that uses the TPM to protect your private keys on Linux: https://github.com/psanford/tpm-fido
What are some alternatives?
WSCT-Core - Public repository for WSCT Core project.
virtual-fido - A Virtual FIDO2 USB Device
libnfc - Platform independent Near Field Communication (NFC) library
SoftU2F - Software U2F authenticator for macOS
Simple-Flashlight - A simple modern flashlight with SOS, stroboscope & bright display, has no ads.
OpenSK - OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
Xtra - Xtra is a Twitch player and browser for Android.
keepassxc - KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
Simple-Voice-Recorder - An easy way of recording any discussion or sounds without ads or internet access
certifi-system-store - certifi-system-store, a certifi hack to use system trust store on Linux and FreeBSD
SoftU2F-Win - Software U2F authenticator for Windows