As I understand, U2F is mainly used for authentication. It uses challenge-response scheme to check if the device used for logging in is the same device which was used during registration based on shared secret. So the result of the process is a yes/no answer.

Is there a way to use U2F device for encrypting data in a symmetrical way, like a local password manager?

  • Best solution is to find a U2F key that can do both like the Yubikey NEO
    – Elvar
    Commented Feb 19, 2016 at 9:38

2 Answers 2


No, the U2F specified keys are not able to perform symmetric encryption operations. They are designed only for providing a public key, attestation certificate, and signing data for the challenge / response process with their internal private key. Specifications can be read at https://fidoalliance.org/specifications/overview/


No, it is not possible to get some constant value/bytes from U2F device that will be unique for a particular device and can be used later as encryption key, mainly because of FIDO Privacy concern: "identifying devices would reveal a unique identifier for a device across unrelated origins, violating the user’s privacy." (c) FIDO specs.

In another hand, this is why U2F Signature feature also cant be used to get some constant value that can be later used as an encryption key:

  1. U2F device sign a Digest that is created by Client and Device (U2F adds signature counter to Digest). So every new signature will be unique even if Client provides the same data twice.
  2. When U2F device generates a new KeyHandle (ECDSA pair) it uses its own random value. So it will never generate the same KeyHandle even if you provide the same data for the 2nd request.

By FIDO philosophy, the U2F key mainly designed to ensure a Trust between Authentication Service and remote client. When you want to adopt U2F key for other authentication/security scenarios take care about a dozen of attacks that can be applied.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .