Comment by fc417fc802
8 days ago
> the keys are transferable between providers
So I set up my own self hosted provider, and transfer the keys to it, and ... how is this any different from not being attested? The entire point of attestation is to whitelist providers so a requirement for universal transfer would seem to defeat the purpose.
I appreciate an enterprise wanting attestation for certain things, but I don't think consumer oriented protocols should support it. I also think it would make more sense for protocols to support some sort of arbitrarily extensible co-signing scheme instead of device attestation. So corporate keeps a registry of secure elements they own and which users are associated with each one. So there's no way for a vendor to lock authentication (or whatever else) to a specific OEM but corporate IT (or an end user or etc) would still be capable of binding credentials to some subset of physical devices.
> So I set up my own self hosted provider
...get it certified, then transfer the keys to it. Or more likely you get an HSM and use its certification.
> I don't think consumer oriented protocols should support it.
Ideally yeah, that’s my point of view as well. In the corporate land however...
> binding credentials to some subset of physical devices
I don’t think that’s the goal. My guess is, they want to be able to transfer some passkeys but not allow any copies, and this only works if one device trusts another. It could work still with your scheme (store a private key on each device; when transferring a secret, make one device encrypt it to the other and immediately destroy its own copy, and make IT department sign any transfer requests so they can check whether they own both devices).
> My guess is, they want to be able to transfer some passkeys but not allow any copies,
Who are we taking about here?
For regular users it's no one's business if and when I copy my keys, for backups or any other purpose. Any scheme which attempts to prevent that must inherently infringe on my freedom.
For corporate I believe the goal is to know which registered (ie explicitly approved) device a login is coming from. Co-signing would accomplish that. The user key can be reused (not that you'd want to) and any session will still be tied to a known device. Plus you could bind a given user key to a given device on the server side so mission accomplished (assuming the hardware doesn't allow export of its key but then these are specifically approved devices so of course it won't if IT cares about that).
> Who are we taking about here?
The corporate.
> I believe the goal is to know which registered (ie explicitly approved) device a login is coming from.
They can do that with non-transferrable passkeys already (assuming they hand out the devices, and trust the manufacturer to actually prevent transferring the keys out). No cosigning required here.
1 reply →