Comment by agwa

8 days ago

Note that attestation can only be required during credential registration; at login time it's not possible to retroactively require attestation if it wasn't obtained during registration. And browsers will throw up a permission prompt if a website requests attestation. Are Netflix and Twitter currently requesting attestation when people register passkeys, and rejecting the registration if the user declines the permission prompt? I very much doubt it, since Apple's passkey implementation doesn't support attestation.

Therefore, the author's scenario that sites will wait until most of their users are using attested passkeys and then "flip the switch and start rejecting non-attested passkeys" isn't very plausible.

Attestation is certainly a stain on the WebAuthn spec, and it would have been better if Chrome and Firefox didn't support attestation (unless perhaps the browser is enrolled in enterprise management), but this blog post is presenting a hypothetical and unlikely scenario. That's not a good enough reason to recommend TOTP instead, given that TOTP is vulnerable to phishing and passkeys aren't.

If consumer-facing sites start requesting attestation when registering passkeys, they deserve to be vigorously called out, and maybe then the recommendation to use passkeys should be revisited. But until that happens, don't tell people not to use passkeys.

> at login time it's not possible to retroactively require attestation if it wasn't obtained during registration.

Of course it is, the site will reject the passkey and require you to create one that is attested.

> Are Netflix and Twitter currently requesting attestation when people register passkeys, and rejecting the registration if the user declines the permission prompt?

They could start tomorrow.

> a hypothetical and unlikely scenario.

You have not been paying attention, that scenario is where this whole thing is building towards.

> If consumer-facing sites start requesting attestation when registering passkeys, they deserve to be vigorously called out

It's going to be the banks first.

Why called out, it's all for your safety, to make sure you are not using an insecure client that might leak your data.

  • > It's going to be the banks first.

    In Japan, this is already the reality. The FSA required brokerages to implement passkey authentication, and the effect is that it's no longer possible to have a brokerage account without a passkey. (Some brokerages, like Nomura Securities, will offer two separate client portals. The portal with money and trading-related functionality requires a passkey).

    The thing that sucks a lot is that brokerages seem to also restrict the allowed software/hardware. Don't know the details, but none of my FIDO2 hardware keys were able to be used. I consistently use these hardware keys through WebAuthn, so I was surprised when my brokerage explicitly told me my hardware key is unsupported and I must use either Windows Hello or the iOS Passwords app.

    The FSA's official explanation for mandating passkey implementation is that people kept falling for phishing attacks, and the attacks were getting too sophisticated thanks to "AI" or something.

    • > The thing that sucks a lot is that brokerages seem to also restrict the allowed software/hardware. Don't know the details, but none of my FIDO2 hardware keys were able to be used. I consistently use these hardware keys through WebAuthn, so I was surprised when my brokerage explicitly told me my hardware key is unsupported and I must use either Windows Hello or the iOS Passwords app.

      Of course not, you still have some control over those FIDO2 hardware keys and they don't lock you to a limited set of devices. That's what the attestation is for, to allow banning the use of sign-in with anything but a couple megacorp providers. The few small time hangers on will be expelled in time. They're useful idiots for the adoption phase.

      Notice that after lots of complaining about there being no way to transfer keys in the spec they developed some planned working group that will in the end only allow transferring from Google/Microsoft/Apple and maybe a few other dumpster companies. They aren't going to give that control up.

    • > The FSA's official explanation for mandating passkey implementation is that people kept falling for phishing attacks, and the attacks were getting too sophisticated thanks to "AI" or something.

      Ah, yet another case of people being forced to use technology instead of being left alone doing things the old way where they understood all the risks.

  • > They could start tomorrow.

    They could also start requiring you to mail a DNA sample to create an account tomorrow.

    > It's going to be the banks first.

    The same banks that (in the US) largely don’t even systematically use 2FA for online banking logins and completely ignore 3DS for card payments? Attestation usually requires customers to buy and carry extra hardware, so I highly doubt it.

    The only place I’ve seen mandatory attestation is in enterprise IT, where admins can supply and enforce usage of e.g. Yubikeys.

    • Yes, the same banks that simultaneously don't support 2FA, or only support it via SMS, while insisting that mobile devices pass attestation. Also the same banks that still accept swiped credit card transactions but god forbid you want to register a custom non-attested device for wireless payment transactions. Those banks. Lets not pretend that the policies of US banks are by and large either internally consistent or in the customer's best interests.

      1 reply →

    • Just go into r/Magisk, about 9 of 10 posts is a user whose banking app fails attestation.

      Fuck banks with a cactus for forcing us to relinquish our freedoms as a precondition of interacting with them, which is a precondition to exist in most societies.

      29 replies →

  • Banks want attested terminals and for the customer to pay for them. An even better deal for the bank than ATMs, kind of like of how cable TV boxes enforce DRM on the customer and are paid for by the customer.

    • I've been menionting this a lot and it feels like no one is listening. These 3rd and 2nd party actors are expecting for you to pay for equipment for them. It's insane.

      More context: I've been saying this a lot about this in the scan and go at sams club and how there are fanatics that act like it's a good thing and to be the only way to pay.

      4 replies →

  • The banks are also a commonly mentioned reason to not use Grapheneos when it comes up on this site.

    Attestation is already putting the screws onto open computing, and the frog is already on the boil.

  • Any site/service could easily implement their own proprietary solution to force compliance around usage of said service. Whether they can abuse Passkeys or not is irrelevant. If the service does something inappropriate, you can stop using it and, if necessary, build a competing service that is not abusive.

    To suggest that people should stop using Passkeys over this is throwing the baby out with the bathwater. All of these features of Passkeys are appropriate in a given context. The only concern is where a service that might not need/justify "high security" Passkeys starts demanding them anyway, and no-one is forcing you to use said service in that case.

    • > To suggest that people should stop using Passkeys over this is throwing the baby out with the bathwater.

      Nah, it's fair to regard anything that supports remote attestation as toxic and aggressively thrust it into the biohazard waste incinerator. Any whiff of remote attestation, even being adjacent to it, and an angry mob should appear to burn your entire castle to the ground. Deters companies from wanting to be associated with it.

      Also impedes the motte and bailey where they claim you can opt out of it until it's entrenched enough that you can't.

      > no-one is forcing you to use said service in that case.

      Until something with a monopoly or both halves of a duopoly or a strong network effect starts demanding it.

      1 reply →

    • What baby? Oh boy, a new authentication method just as secure as my unique per-site random password that I keep in my password manager already anyway, except I also completely lose access to it if I ever get locked out of my Google devices. The future is truly revolutionary.

      11 replies →

    • > If the service does something inappropriate, you can stop using it and, if necessary, build a competing service that is not abusive.

      Like how everyone stopped using Google/Gmail, Facebook/Instagram and Windows/Office365 and flocked to alternatives?

      Let's flip your suggestion. What if someone says if you need "high security" build a competing service that enforces it, no one is forcing you to use a "low security" service ?

      2 replies →

    • Any government can spy on a few people, and we're generally fine with that. But when they build a robust network of surveillance devices but pinky promise that they're only being used to spy on those same few people, we bring out the electric saws. It's a very similar situation with normalizing passkeys.

      3 replies →

    • I kind of agree, the problem is not individual sites consuming passkeys.

      The main problem in my mind is on the side of the vendors, attestation, secure hardware, etc is all an excuse to lock you in to their device/ecosystem.

  • > It's going to be the banks first

    This is a great point as banks already did exactly this and to me this seems like a very strong proof that we can't rely on "vigorously calling out"

  • While not directly related to passkeys, CAs require private keys for code signing certificates to be generated on FIPS-certified hardware security devices, and use attestation to verify this.

  • We have more than enough technology in browsers to allow JavaScript reading live video from your webcam. A website could use that so they can see if you’re looking at the ads enough.

    They could start doing it tomorrow. They just have to flip the switch.

    What’s your point?

I am very hopeful that passkeys will fail overall. They've definitely forced a lot of adoption quickly, but I think also that a lot of people have no idea what they've signed up for, and there is a decent chance of a quiet, slow retraction in the long run. Their death will be well-earned by just the attestation alone - one hundred percent, in my opinion. I tell my loved ones to not use passkeys simply because they're much more likely to accidentally run into scenarios where they lose the device. I'm not going to stop. I encourage everyone to do the same.

I still am using passkeys for some sites because they otherwise force you into insecure processes like SMS-based 2FA with implied humiliation rituals, but banks are the worst offenders and they seem to like discriminating against open source password managers, so while they are not using attestation I am still patching my password manager to lie about its identity. Hopefully this will become more common in the future.

https://github.com/jchv/nixos-config/blob/c85e4ecb7434603ec1...

Also worth point out that Apple consumer devices intentionally do not support attestation at all, and only support it for devices under enterprise management. That's still a dominant enough number of devices in the US at least that a consumer site seems unlikely to want to disable/break logins for all iOS and iPadOS users.

  • Even stronger, they used to support it, but now no longer do, so we know for a fact that Apple knows how to do attestation, has already expended all resources necessary to implement it, but has then actively decided to go into a different direction (i.e. that of cloud synchronization).

    I believe Android still has the option to use hardware attestation, but that automatically opts credentials out of cross-device synchronization, but Apple's veto alone is enough to make attestation non-viable.

    If this can't make the "WebAuthN implies mandatory attestation!!" critics update, I wonder if anything can, and how useful their criticism still is.

    • Even more strongly, they can just add it back at any time they want.

      I don't get why this whole "they used to support it but removed it" is supposed to be an argument for anything.

      3 replies →

Be that as it may, they can still roll out the passkey attestation requirement gradually, -- "flip the switch" just a few thousand users at a time -- so that at no one point in time is there a large blip in users. Truth be told, tech platforms don't even really need to measure what portion of users' devices support remote attestation, since the overwhelming majority of devices will support it. They just need to know that users are passkey-capable in the first place; once enough users have passkeys in any form, they can start requiring remote attestation.

As for the browser permission prompt: Firefox simply warns you that the site is "requesting extended information about your security key [sic] which may affect your privacy." [1] It does not make it at all clear to the user that what's really happening is that the website is gating acces behind a specific approved software stack. If I use a non-widely-used OS or device, what website is going to approve its attestation credentials?

[1] https://github.com/mozilla-firefox/firefox/blob/8e9ac3e12bba...

Sorry, bit this is just the standard "boil the frog" playbook that tech companies always use for user-hostile features. It's usually:

1) There is this new entirely optional feature, but it's not relevant to you, so feel free to ignore it.

2) The feature is now active by default, but no worries, there is a simple button for you to opt-out.

3) The feature is active by default, but because we value our users, there is an option in the advanced settings to deactivate it.

4) Our data shows that 99.9% of users activated the feature, but if you belong to the handful of diehards who still refuse to use it (rolls eyes), you can use this obscure command line flag or about:config entry to turn it off

5) Managing opt-out infrastructure for the feature has significant maintenance and security cost that we feel, we can no longer justify. Therefore, effective in three months, the opt-out flags will stop working and the feature will become mandatory. According to our metrics, this will affect 0.0001% of our users, so no disruption is expected.

  • The "there is something wrong with you if you are at all off the beaten path" has cropped up a lot more for me recently; two examples both from 2026:

    1. You can't use Firefox with our website (when I got this popup, I thought I had been transported back in time 20 years, but with Chrome substituted for IE).

    2. You can't sign up for accounts with an e-mail from a "custom domain"

    2a. I ran some tests; it's the domain itself, not the host, so e.g. foo@gmail.com is allowed but not a foo@somewhereelse.com, even if hosted by google).

    2b. After a bit of back-and-forth with support: "No, we won't tell you the list of allowed domains, but gmail and hotmail both will work."

  • > The feature is now active by default, but no worries, there is a simple button for you to opt-out.

    How I wish this were true for (US) banks. They usually force whatever new hell on you they just came up with without asking, or in fact even telling you about it.

    The most bizarre instance I've seen so far: "We have unilaterally added this phone number we believe to be in your name (surely cell carriers have better KYC than we do!) to your account as the only SMS-OTP authentication method and are choosing to disregard the one we've had on file for years since it's an evil VoIP number. Please do not contact us again without access to the former number for authentication."

  • This is a great comment, and yes, the entire industry seems to keep doing this over and over.

    My computers and devices feel less and less like tools under my control and doing my bidding, and more and more like something controlled by faraway tech companies, to do their bidding.

  • Oof, this comment convinced me to go from loving passkeys to "maybe I should be careful". However, I don't think these are technological issues, I think they're policy issues. We need to vote for freedom of computing, and against corporations doing whatever the hell they want.

    • Your choices affect how policies affect you. When the government starts receiving copies of all card transactions, the person who habitually uses cash is unaffected, as is the person who habitually uses Monero.

      17 replies →

  • Heh. This is exactly what happened to me at stackoverflow sites. I had been using OpenID to log in. Eventually they eliminated it.

> Attestation is certainly a stain on the WebAuthn spec

Attestation is necessary for corp use cases. Adding it as an option to WebAuthn is better than forcing more standards to be developed.

  • Having read the very complicated WebAuthn spec so I could implement an RP, and participated in too many stupid debates about attestation like this one: multiple, simpler specs focused on specific use cases would have been better than a single gargantuan spec that tries to do everything.

There's also another scenario - annoy most users into using passkeys, then say "well everyone is using passkeys already, we don't need passwords anymore", and _then_ slowly start requiring attestation. Really I'm not one to look for conspiracy theories, but with the recent pushes around e.g. chat control, it's not that far fetched to assume someone pushes for more control over users' accounts

  • This is the obvious endgame. Right now you have people who will say that passkeys are unphishable so we should switch to them. When you point out that people will lose their devices and credentials they'll then tell you can just use account recovery emails to get back in. They actually argue you absolutely need an iron clad door with a guard employed by some one else to protect account on some random website (that the website decided was precious, not you) But that's OK because they left a same old shoddy back door open in case you can't get in. So why even bother? Because that isn't the point. The plan is to remove the back door after enough people are trapped, they just need to keep the screaming to minimum while they get everyone in there.

  • Can someone more familiar explain the end goal?

    Would a website want you to have to use Apple Passwords to guarantee that the account you're creating is connected to an Apple account, and thus making it more likely that you're a real, non-anonymous human?

    edit: Why not just require "Sign in with Apple/Google" if that's the goal?

    • One requires owning the device you are using (which apple/google has default visibility into, and which becomes a data aggregator) the other does not.

  • I share that concern somewhat, but I think your point stands even better without suspecting some shadowy attestation cabal.

    The US has thousands of banks, and nobody tells them how to authenticate their customers – they just all end up doing the same few horrible things, since nobody ever gets fired for doing what all their peers do (and maybe a little bit more to be sure).

  • It's not a conspiracy theory when it's just another instance of the patterns big tech has overtly used against us for 20 years now. We see, every day, a frog being stung by a scorpion when crossing the river. So we don't let scorpions ride on our frogs any more. No conspiracy theory, just pattern recognition.

    "I'm different!" says this particular scorpion - yeah yeah, I don't believe you.

  • You are saying this as if these companies don't care about CVR or compatibility at all. The reality is that most companies are extremely conservative about pushing you to change your authentication method. Here are my observations, as both a user and an industry insider:

    1. Many services have old users with passwords that predate password-strength meters (or their ill-conceived brethren: password complexity rules). The service provider knows these passwords keep falling, and the cost of having to deal with stolen accounts is very real: customer support calls, reimbursements and investigation. But I've rarely seen services that force users to upgrade their passwords (even though it's a very easy solution). Whenever I've offered doing this myself, it was always shut down (either immediately or 3 years down the line) by a myriad of seemingly unrelated stakeholders.

    2. To go further than this, companies can also know for certain that some credentials have been leaked by looking at password breach aggregators like Have I been Pwned and forcing users with affected accounts to change their passwords. That too, is rarely done.

    3. 2FA (with SMS or TOTP) has existed for ages now, yet very few major non-financial services have made 2FA mandatory by forcing you to register an authenticator app or a verified phone number[1].

    4. Webauthn was available in Chrome and Firefox in 2018, and got pretty widespread support by 2020. The "Passkeys" brand was not a thing yet, but the basic functionality was there and both hardware and software support was quite solid. It still took several years for services to even start offering Webauthn to users, beyond small and limited trials. The rationale was simple: UX around Webauthn was still rough, syncing and transferring credentials were still unsolved and the worst part was "What do we even ask the user to do?". The broad concept of passkeys is extremely confusing, but the non-concept we had before was far more confusing. Supporting Webauthn back in 2020 would have given tremendous security benefits for power users who could have understood it and deal with the rougher UX back then, but nobody wanted to take the risk of regular users setting up a passkey, losing it and locking down their account.

    5. Now that passkeys are being supported by more and more services, you still don't see them being pushed very hard. Passkeys are great for the service provider, since they just kill a big category of security incidents, but even then you're see pretty conservative adoption. And I've never seen a single service forcing you to use Passkeys.

    My point in all these examples is that most companies are extremely conservative here. Forcing users to do something that might confuse them, break their account or frustrate them is risky, since you may lose a very real chunk of your customer base. Sometimes you have to do this, the costs from keeping the old way or the benefits or forcing the change have to be high enough to justify that. Think about how long it took for companies to drop support for IE6. The cost was high, but as long as it still had a sizable market share, it was hard to do. Google was probably the first major company to take steps towards killing IE6 support, and this was famously entirely bottom-up, and was done by engineers either hiding it from their bosses or tricking them[2].

    With this trend. I personally find the scenario where non-copyable attested passkeys are forced on everyone unlikely. OP keeps mentioning Netflix, but streaming services are a rather special case, most service providers would get very little benefit from restricting users to an attested non-copyable passkey. Why would they risk all that friction for... nothing at all?

    The more real risk with attestations (and we're already started seeing it) is that some services (namely banks) will use attestations to limit you to use their own shitty app instead of using a proper passkey.

    ---

    [1] Keep in mind I'm only talking about companies that already had password-based accounts without 2FA. Companies that started out with a simple username and password are rarely forcing their users to add 2FA. The farthest they generally went is sending you an OTP code or link on a verified email address they already had, and this is usually only done for sensitive operations, a new browser and/or a suspicious location.

    Email OTPs, notably, aren't 2FA by definition, since your Email address might be only password-protected, and at the worst case (and excruciatingly common) scenario it might be sharing exactly the same password as your service. Companies would love to have all their users using a stronger solution, so they can stop having to deal with all these pesky credential stuffing botnets, but not at the cost of losing a non-negligible portion of their customer base.

    [2] https://blog.chriszacharias.com/a-conspiracy-to-kill-ie6

    • > Email OTPs, notably, aren't 2FA by definition, since your Email address might be only password-protected

      What? 2FA is something I have, something I know. I know my password for your web app, and I have access to a separate account. It's not a recursive 2FA, "it's only 2FA if one of the factors has its own 2FA".

      1 reply →

I have come to the comfortable conclusion that in 20 years I will have two computers. One is my phone, used for buying stuff, banking, etc.

and the other is a laptop, capable of doing none of that

  • That could happen but passkeys won't be the reason why.

    • I wonder if you read the article or even some of the other insightful quotes in here? Passkeys that require attestation will be part of the reason why

> That's not a good enough reason to recommend TOTP instead

In what way is TOTP an "instead"? My understanding of passkeys is that they basically replace the username/password combo, but do not provide any kind of second factor. I know at least one service (I think Amazon, but I'm not 100% sure) still requires TOTP when logging in with a passkey from an unrecognized device.

  • TOTP also does not imply a second factor, it's just a time-based password calculated from a shared secret that can be stored anywhere, for example in your password manager alongside the username and password. And worse than your password, of which only a hash should be stored at the service you have an account with, they store the shared secret too (which can thus be leaked from their side), so TOTP is never fully hardware-bound, it always exists in at least two places. Passkeys _can_ be fully hardware-bound, with the secret only existing in the secure chip of your phone or hardware security key for example, not at any moment in its lifecycle exposed to user, service or potential attacker.

    > Amazon (..) still requires TOTP when logging in with a passkey from an unrecognized device.

    I noticed Amazon does that and it annoyed me greatly.

  • My understanding is that the passkey branding is specifically for copyable, user-verified keys. So the second factor is the biometrics (or equivalent) of your device. But yeah there doesn’t seem to be consensus yet about still requiring TOTP with passkeys.

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