mjec / khefin

A simple way to generate password-proteceted secrets from a FIDO2 authenticator with the hmac-secret extension

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Only seems to work on Yubico keys?

dido opened this issue · comments

Describe the bug
I have several different FIDO2 authenticators but apparently only my Yubico authenticator seems to be compatible with Khefin at this time. For example, I have an HS HyperFido Mini (USB ID 1050:0120) which otherwise works fine with other FIDO2 uses and I get the following error on khefin enumerate:

khefin: Unable to get info from device: FIDO_ERR_RX (0xfffffffe)

I also have a Feitian ePass K9 (096e:0858), and I get a different error:

khefin: Unable to get info from device: FIDO_ERR_ERR_OTHER (0x7f)

To Reproduce
Steps to reproduce the behavior:

  1. Insert HyperFido Mini or Feitian ePass K9 Fido2 key.
  2. Run khefin enumerate
  3. See error "Unable to get info from device: FIDO_ERR_RX (0xfffffffe)" or "Unable to get info from device: FIDO_ERR_ERR_OTHER (0x7f)"

Expected behavior
The keys should be detected and be usable. They are otherwise usable as FIDO2 authenticators for other purposes so there should be no reason why they should have problems.

Environment:

  • Operating system: PopOS / Ubuntu 20.04
  • Version: 0.5.0
  • Authenticator make and model: Feitian ePass K9, HyperFIDO Mini

Additional context
The Yubico Blue NFC key (1050:0120) works perfectly though.

You may look at #23 to see how to further debug this.

With apologies for the long time before replying -- khefin relies on an extension to the FIDO2 protocol, hmac-secret, which may not be supported for all authenticators.

I've added a section to the readme calling this out, and have listed these as unsupported in the relevant wiki page.

These authenticators should appear in the khefin enumerate list prefixed with a !, which indicates they are not supported. If any other behavior is observed for khefin enumerate, please reopen this issue.