cunicu / hawkes

A Go implementation of hardware-secured key establishment methods
Apache License 2.0
2 stars 0 forks source link

Support trussed-secret-app of NitroKey's for HMAC calculation #7

Open stv0g opened 9 months ago

stv0g commented 9 months ago

The NitroKey 3 offers USB-C for the first time. The Nitrokey 3 combines the features of previous Nitrokey models: FIDO2, one-time passwords, OpenPGP smart card, Curve25519, password manager, Common Criteria EAL 6+ certified secure element, firmware updates.

It uses the Trussed Secrets app to implement the YKOATH protocol.

stv0g commented 9 months ago

The NitroKey team decided to you diverge from the original YKOATH protocol description and roll their own version starting around the v0.6 version of their app.

See: https://github.com/Nitrokey/trussed-secrets-app/issues/103

Also from their design document:

remove YKOATH protocol compatibility, specifically authentication through challenge-response

Still supporting a NitroKey would be nice. But I think we should implement this in a separate Go package to keep the conciseness of the code and avoid misunderstandings.