| Summary: | Support for unlocking keys with more than one FIDO/WebAuthn token | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Ben Boeckel <bugzilla.mindrot> |
| Component: | Smartcard | Assignee: | Assigned to nobody <unassigned-bugs> |
| Status: | CLOSED LATER | ||
| Severity: | enhancement | CC: | bugzilla.mindrot, djm |
| Priority: | P5 | ||
| Version: | 9.1p1 | ||
| Hardware: | Other | ||
| OS: | Linux | ||
|
Description
Ben Boeckel
2022-11-08 03:08:46 AEDT
It sounds like you're after something like Passkeys (https://fidoalliance.org/passkeys/) - I have no idea whether these will work with OpenSSH or whether modifications will be required. Putting Passkeys aside, there is no trivial way to do what what you want. Private keys are fundamentally device-linked in the FIDO model, so you could no longer rely on their notion of keys directly. It might be possible to rig something up using the FIDO2 hmac-secret extension (https://fidoalliance.org/specs/fido-v2.0-rd-20180702/fido-client-to-authenticator-protocol-v2.0-rd-20180702.html#sctn-hmac-secret-extension), which can let you exchange a key handle for a durable symmetric key. Maybe it would be possible to rig up some multi-key encryption scheme that uses these keys to decrypt the actual private key material. However, it isn't clear whether this would yield a more convenient workflow than managing separate FIDO keys. Also, you'd be giving up most of the benefit of hardware tokens as the actual key material would be decrypted on the host and not the token. Another non-FIDO approach would be to buy FIDO keys that also support PIV or some other standard that allows key access via PKCS#11, and load the same key onto multiple tokens (rather than having the token generate the keys). This gets you proper hardware backing for the keys (so long as you didn't leak it when generating and loading it), but you would be dealing it the messiness of PKCS#11... Thank you for the information. This makes sense; I'll put my hopes into (evolution of?) Passkeys then. Hopefully we also get support that doesn't rely on trillion-dollar companies too… OpenSSH 9.3 has been released. Close resolved bugs |