Context
I was answering a question about how YubiKey can generate "infinite" keypairs for Fido U2F but doesn't need to store them locally.
This leads to my initial question:
Initial Question
Can I register with a FIDO U2F service more than once, with the same physical key?
Which I tentatively answer here:
No? Gave github a try with the same key twice, and breakpointed the exception:
DOMException: The user attempted to register an authenticator
that contains one of the credentials already registered with the relying party.
Main Question
Can a modified webauthn browser api allow same key to be registered multiple times? By ignoring the existing RegistedKey list? The server has no way of differentiating?
According to fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-javascript-api-v1.2-ps-20170411.html#idl-def-RegisteredKey
It seems the server will ask the client/yubikey to check a list of existing registered keys, and expect the client to answer truthfully whether it is registered already or not (or some generic error / no response). I theorize that it is possible, for a SecurityKey implementing the WrappedKey method to reregister by generating a new keypair with the same master key and the server will accept it.