-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add FIDO2Applet to ACardEmulator? #292
Comments
Yes, that should be possible, feel free to create a PR. If I understand correctly, the the AID In your log, what's the purpose of this command?
|
Yubikey can have a FIDO applet, PIV applet and OpenPGP applet. So the selected applet may not be the FIDO applet. |
Your understanding is correct. Selecting the AID is always the first step, so this does definitely not need to be the default selected applet. For the log, I was just posting the output from NB: fido2-tools does support access to NFC based tokens in two separate ways:
In my particular setup, I blacklisted my NFC reader from the native Linux NFC subsystem, so that I can communicate via PCSC, as the software support for other smartcard related stuff is much better via PCSC right now. There are some projects like https://github.com/jurajsarinay/ifdnlnfc that make the native system available also via NFC, but this is not yet properly packaged for Ubuntu, so this was easier for now. As for "CCID" applet. Yubikeys appear as a USB card readers following the CCID protocol spec, so the default libccid driver can handle communication. Technically, via USB, the CTAP2 protocol of Fido uses its own HID based protocol and the card reader interface is exposed to support the other applets such as PIV and OpenPGP. Via NFC, yubikeys also use the APDU transport for CTAP2/FIDO2. I will give it a try to prepare a PR. |
in the above,
https://www.eftlab.com/knowledge-base/complete-list-of-application-identifiers-aid |
Well, the log output I sent, was the current output with the FIDO2 Applet not installed in ACardEmulator. So As for a Yubikeys connected via USB:
Explanation: via the integrated USB card reader interface, it was not found, as Yubikeys are programmed to make FIDO2 available only via the dedicated HID-based protocol. However, now via the NFC interface (not USB but an external NFC reader to which I hold the Yubikey):
and fido2-token:
|
OK, thanks for the info. |
you are absolutely right about the 0x80 for the later calls being proprietary class, but that is exactly the specification of the FIDO2 NFC command framing spec |
Expected behaviour
As there are a bunch of included excellent Smartcard applets for cryptographic functions already included, I was wondering, if you might want to add FIDO2Applet as well to ACardEmulator.
It follows the same spirit as the included applets and is a very widely supported standard, used for logging into Websites and systems, and even for disk encryption. I guess, ACardEmulator is really more for experimentation than for production use, but it would give people the chance to see if this technology works for them and play around with it, before buying dedicated devices (e.g. nitrokeys, solokeys or yubikeys)
This applet is already known to work well with jcardsim, so there wouldn't be additional infrastructure required. It's released under an MIT license, so that should be ok as well.
If you are open to the idea, I could prepare a PR myself.
Actual behaviour
not installed
Steps to reproduce
run the following with
fido2-tools
installedLogs
The text was updated successfully, but these errors were encountered: