← Back to context

Comment by sandeepkd

7 days ago

Some how the Passkey topic comes up again and again. There is not much of a background information about the Author so its really hard to take that into context. Without knowing the agenda its hard to say anything concretely however most of the information presented is twisted in certain ways

A lot of people are aware of public key cryptography or asymmetric encryption, its already supported as identification & authentication method in sensitive places via MTLS. The whole idea of MTLS is about the server verifying the identity of the client and one of the core concepts is validating that the client certificate is issued by some Certificate Authority that can be trusted by the server. Its Phishing resistant, meaning some one cannot trick you into giving them the your credential that they can use by accident. The client certificates could be baked into physical devices (PIC, CAC cards) or Digital certificate on your machine. MTLS is used universally for machine to machine communication, however there is a certain degree of complexity so its not used everywhere for user identity.

1. FIDO is trying to leverage the same concept and trying to make it bit easier for use compared to MTLS. The core idea is to just use it for authentication not identification. It allows the user to authentication as long as the client can prove that they have the private key for a corresponding public key

2. Passkeys were/are target for Enterprise/Workforce users. When a consumer account is hacked the impacted user is just the consumer, whereas when an Employee account is hacked the entire company is at risk.

3. Passkeys/ (WebAuthn+CTAP) have been there for a while. Its still still evolving and everyone (platforms, Browsers, OS, Password managers, IDPs) wants to get something out of it which keeps on making it more complex

Since the client/authenticator is storing the private key, its important to ensure that they are doing it in a uniform and secure way. The authenticator implements a protocol called CTAP and they are supposed to conform to certain tests. The attestation is a means to ensure that the authenticator is doing the least minimum from security perspective.

Personally I do not like the idea of centralization, however as long as the path to attestation for different passkey providers is not locked I would say the attestation is a part of security.

At the same time the things I would worry about would be if the Authenticator provider starts generating a unique attestation for every user in customer identity space (its almost 0 cost in case of software based authenticators). A unique certificate for every authenticator instead of a batch one is where the privacy would be leaked, its akin to fingerprint. Some big companies are already doing it for their employees, thats a valid use case, employees unfortunately do not have a privacy when they are acting on behalf of the company