5 ms·
At least as I understand it, in implementations like yubikey the FIDO2 secret is baked-in to the yubikey for security, which is good as it shouldn't be possible
by vanburen 4y ago
At least as I understand it, in implementations like yubikey the FIDO2 secret is baked-in to the yubikey for security, which is good as it shouldn't be possible to remove the private key.
However the main issue I have is that the user cannot import their own secret into the yubikey, so you cannot choose to use your own secret vs the factory generated one, or choose to have multiple yubikeys using the same secret, which would be useful as you wouldnt need to enrol multiple secrets with each service.
- magicalhippo 4y ago> However the main issue I have is that the user cannot import their own secret into the yubikey Where would you get this secret from in a secure way? How would you prevent a nefarious actor from exporting it and importing it into their own yubikey or similar?
- eikenberry 4y agoSecrets are easy to securely generate and it would allow importing, not exporting. If you allow importing then the user can generate the secret, store it somewhere safe and import it into the device. Then if they lose that device they can just write the saved secret to a new key.
- magicalhippo 4y ago> store it somewhere safe That's what I meant. How exactly would one safely store this secret? How would you prevent an adversary from extracting the secret from the storage?
- vanburen 4y agoPersonally I would store it in a Keepass DB stored offline on a USB drive, in a safe location.
- eikenberry 4y agoVarious strategies that trade off security vs. convenience. Most secure is probably something simple like printing it out and putting that in a fire-proof safe. But there are lots of options. For the non-tech parents or some such, a nice pass-phrase would probably work well as the secret.
- magicalhippo 4y agoHow do you get this pass-phrase from paper onto the yubikey without an adversary getting hold of it? I'm not trying to be pedantic here, I'm just failing to see how this can be realistically implemented without significantly lowing the overall security. But this is also not my domain, so I'd like to learn.
- bradstewart 4y agoImporting keys into an HSM/key storage device is not an uncommon exercise. If you're asking about the structure of the bits you'd need to move into the device in a verifiable way, there are standard APIs like PKCS #11 for interacting with HSMs. You would then need a computer and a PKCS #11 client application. If you don't have a computer you can trust to pass keyboard inputs to a USB port without being intercepted, you've got problems that a yubikey will not solve.
- magicalhippo 4y ago> there are standard APIs like PKCS #11 for interacting with HSMs Thanks, that was the piece I was missing.