Remix.run Logo
▲ Passkeys are a trap(nonfunctional.substack.com)
306 points by laurex 5 hours ago | 173 comments
▲agwa 4 hours ago | parent | next [-]

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.

▲throwawayffffas 3 hours ago | parent | next [-]

> 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.

▲supertrope 2 hours ago | parent | next [-]

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.

▲somerandom2407 2 hours ago | parent | prev | next [-]

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.

▲devsda an hour ago | parent | next [-]

> 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 ?

▲skulk an hour ago | parent | prev | next [-]

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.

▲throwawayffffas an hour ago | parent | prev [-]

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.

▲agwa 3 hours ago | parent | prev [-]

So they're gonna stop supporting Apple users?

▲throwawayffffas 3 hours ago | parent [-]

Nah, Apple is going to provide attestation, and since you can't or won't be able to share keys between accounts, no harm no foul.

▲EA-3167 2 hours ago | parent [-]

For a lot of people Apple is the ecosystem they access everything through, including payment processing. That cuts both ways, but Apple has shown a clear preference for protecting user privacy when they could have chosen to do otherwise, presumably because it makes them more money in the long run.

Why would that suddenly change in Netflix or some other company's favor at Apple's direct expense?

▲throwawayffffas 2 hours ago | parent [-]

It's not in Apples expense, it's actually in it's benefit, your keys would be in their system, and impossible for anyone (including you) to get them out of it.

So you are now locked in to the apple ecosystem forever. You now need Apple to watch Netflix from your Samsung TV.

▲EA-3167 2 hours ago | parent [-]

You make it sound like Apple needs to lock the door instead of just opening it while everyone else shoots themselves in the foot. For people who want "it just works" as the highest function of their device, nothing comes close to Apple. It's only people with a technical inclination or specific needs who chaff at that, or people like me who are just cranky old bastards who don't want their own media collection apart from i/Apple/Everything.

But man... I cannot tell you how many people don't even notice the walls of the garden. Besides Apple is in competition with some huge players, more than capable of offering "Done with Apple literally trapping you? Follow this link and we'll transfer your passkeys."

▲throwawayffffas 2 hours ago | parent [-]

> Done with Apple literally trapping you? Follow this link and we'll transfer your passkeys.

That's the whole point of the FIDO specs. This is now literally impossible to do. All the vendors are weirdly okay with this I believe it's because it cuts both ways.

▲nonfunctional 6 minutes ago | parent | prev | next [-]

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...

▲hn8726 3 hours ago | parent | prev | next [-]

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

▲spiderice 2 hours ago | parent | next [-]

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?

▲CircuitSeuss 2 hours ago | parent [-]

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.

▲cowlevel 2 hours ago | parent | prev | next [-]

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.

▲unscaled 15 minutes ago | parent | prev [-]

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

▲xg15 3 hours ago | parent | prev [-]

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.

▲aidenn0 an hour ago | parent | next [-]

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."

▲adithyassekhar 18 minutes ago | parent | next [-]

Reddit used to allow that till last week and now they started rejecting those emails. RIP temporary mail services and throwaway accounts.

▲throwaway093020 34 minutes ago | parent | prev | next [-]

Vote with your wallet. I've only experienced two instances where systems wouldn't accept my custom email domain. One was a bank. I proceeded to close the account.

▲crtasm an hour ago | parent | prev [-]

>2

Incredible... if I ever get that I'll enjoy pointing out I've had my domain longer than gmail has existed.

▲ryandrake an hour ago | parent | prev | next [-]

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.

▲stavros 2 hours ago | parent | prev [-]

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.

▲cowlevel 2 hours ago | parent [-]

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.

▲klardotsh an hour ago | parent [-]

The number of places one can reasonably use cash anymore is rapidly shrinking. Some places it’s truly impossible.

I do believe this is a policy failure and that a law should exist mandating cash acceptance “for all debts public and private”, but there is nearly zero chance of such a law ever passing in the US.

▲what 39 minutes ago | parent [-]

I’ve never seen anywhere that doesn’t accept cash? Where have you experienced this?

▲bmitch3020 4 hours ago | parent | prev | next [-]

I've yet to voluntarily enable passkeys, for the main reason that I want portability, and not to be tied to any single device that can be lost. I want to be able to backup and lock my credentials in a safe. I also want to control the strength of my credentials for different services, and I don't consider my thumbprint used to unlock my phone to be as strong as a long password in a password manager.

The first time I was forced to use a passkey implemented within the vendor's app (3rd party password managers were not an option). I quickly closed that account.

The second time was an app that popped up a passkey opt-in in the middle of a bunch of transaction screens. I quickly realized the error, but there was no easy undo. The opt in was one green button in the middle of the screen. Turning it back off required digging through settings to find the security option to disable, and then confirm my choice multiple times. That process also signed out all my other devices.

The fact that companies are resorting to dark patterns and forced requirements, where my money is held hostage, should be pretty good evidence of how poorly the passkey rollout is going.

▲BadBadJellyBean 4 hours ago | parent | next [-]

You can put your passkey in another safe. I store mine in my vaultwarden. You can also do keepass with a plugin. You don't have to store it on your phone.

▲crote an hour ago | parent | next [-]

There is no truly secure options for this, unfortunately. Passkeys have to be online to enroll additional keys, so any kind of software or smartphone solution is going to depend completely on cloud sync. Any form of offline copy stored in a physical safe will quickly be outdated.

It gets even worse when you want to have separate passkeys, so that you have the possibility of knowing which one was compromised and doing a partial revocation: the cloud sync now requires every device to have access to every copy, so that you can individually enroll them during registration.

Yubikey of course suffers most from this, as their hardware tokens are physically incapable of any kind of sync, so a Yubikey passkey is very quickly a single-point-of-failure. They proposed[0] a system which would allow enrolling a "backup key" (which could then be safely locked in a vault, far away from day-to-day use), but with the various Big Tech companies pushing their own proprietary cloud-synced passkey implementations that of obviously went nowhere.

[0]: https://www.yubico.com/blog/yubico-proposes-webauthn-protoco...

▲eikenberry 2 hours ago | parent | prev | next [-]

What if they meant a real safe? The big metal kind.

▲embedding-shape 3 hours ago | parent | prev [-]

> I store mine in my vaultwarden.

Can you export it from there? My main gripe with passkeys in 1Password is that seemingly you can't export them, unless you export it to "someone else", which isn't clear if that someone can be just "you".

▲limagnolia 2 hours ago | parent | next [-]

If your password vault supports https://fidoalliance.org/specifications-credential-exchange-... you can. (Bitwarden does)

▲MrDrMcCoy 2 hours ago | parent | prev | next [-]

Yes. I've done many imports/exports and have lost no passkeys with Vaultwarden.

▲dizhn 2 hours ago | parent | prev [-]

I do not know the answer to your question but mine are in Vaultwarden. This probably means I have access to them. The method to get them out might end up not being pretty but it should be possible.

▲rkagerer 3 hours ago | parent | prev [-]

Silicon Valley suffers an utter lack of comprehension of the concept of consent. As another commenter pointed out some time ago, if we were in a nightclub they'd be the creepy guy that keeps coming up to you asking:

Want to dance? Yes | Maybe Later

▲nntwozz 2 hours ago | parent [-]

Silicon Valley suffers an utter lack of respect for the user, it's user-hostile.

I remember that comment, it's perfect.

▲pishpash 27 minutes ago | parent [-]

It only started with Google.

▲danpalmer 4 hours ago | parent | prev | next [-]

The very last thing, past the conclusion, the very last footnote is:

> Addendum: I feel I have made a compelling case for passkeys in this article. And I haven’t even pointed out one of their best security features: they are (in most use cases) domain-bound, meaning they are resistant to what are called Man-In-The-Middle attacks.

"I made a compelling case... but didn't point out the most important security feature that motivated passkeys in the first place"

Honestly I don't think this post did make a compelling case. There's a lot of assuming bad faith on the part of the FIDO alliance, while completely missing that preventing MITM attacks was a key design feature. The FIDO alliance members deal with stolen accounts all the time, and passkeys largely solve that. Stealing accounts is almost always done with phishing or social engineering, and passkeys solve the former and reduce the surface for the latter.

▲kevin_nisbet 3 hours ago | parent | next [-]

I sort of started skimming when the article was saying industry solved the problem with text messages and TOTP. I think there are several arguable problems with Passkeys as implemented, but to argue TOTP is equivalent is going to leave lots of people vulnerable.

The protections against MITM you mentioned is probably the biggest one, but the other one in the back of my mind is TOTP is a shared secret. So a compromise of the server side allows impersonation of users undetected, which can be a big problem. Maybe I'm over reacting because no company has ever lost a copy of it's database and they're all super secure. But, imagine trying to argue as a user I didn't do a thing when there is an audit log saying we challenged the user for TOTP and it was provided, was definitely the users fault.

▲danpalmer 3 hours ago | parent | next [-]

TOTP is this decade's "just have a better password", and we all know how well that went before.

▲cromka 2 hours ago | parent | prev [-]

> solved the problem with text messages

Especially considering how easy it still is to do a SIM swap.

▲ggm an hour ago | parent | next [-]

Highly economy specific. Ease varies by nation state. Social engineering attacks in Australia are far LESS common than they used to be and I believe other economies in Asia and Europe all have less than the USA.

If you aren't talking from a US perspective, where are you that SIM swap is a low bar?

▲ButlerianJihad 20 minutes ago | parent | prev [-]

> Especially considering how easy it still is to do a SIM swap.

Heh.

Several months ago, I found myself in need of a new phone. I even had the means to do an orderly transition, with the old one still in hand and mostly working.

My mobile provider was an MVNO that was also my home ISP. I had enabled "enhanced security" to prevent ev0l hackerz from swapping my SIM without authorization. It turns out that this mode is so secure that it prevented me and the support staff from a normal upgrade procedure.

There were various glitches along the way, and a conversation with certain LLMs indicated that the SIM->eSIM disparity was also causing trouble, and with the online system's rejection of authentication I decided it was expedient to walk into their nearby storefront location.

It turns out that the salespeople in the storefronts are not really empowered in any technical way, except they were quite capable of changing my password without any reason, and wasting my time, so leaving the store empty-handed after mind games from three haughty female STEM dropouts was rather infuriating.

The process eventually succeeded after giving it a little time, space, and grace, but it looks like I'm leaving "enhanced security" disabled if it's so customer-hostile.

▲grebc 3 hours ago | parent | prev | next [-]

Why is your grandpa or fictional billions users being MITM’d?

Passkeys are an end run on general purpose hardware largely under your own control, which is a much bigger issue in scale than dealing with customers who can’t access the services they pay for because of some byzantine security or know your customer laws/procedures.

▲skybrian 3 hours ago | parent | next [-]

There is a reason that banks send increasingly strident text messages that they will never ask for this code.

▲Telaneo 2 hours ago | parent [-]

And then undermine that effort by actually asking for that code anyway.

▲throwawayffffas 3 hours ago | parent | prev | next [-]

For their bank accounts, search tech support scam on youtube to see how that goes. Btw passkeys do nothing to stop this, they probably make it easier since grandpa doesn't have to search for a password or unlock a password manager to send his money to the scammers.

▲danpalmer 3 hours ago | parent [-]

Convincing someone to log in to their bank and send you money is strictly harder than convincing someone to log in to their bank.

▲throwawayffffas 3 hours ago | parent [-]

There is a middle ground where people are convinced to download a trojan and click ok once.

▲somerandom2407 an hour ago | parent | next [-]

And if the bank implements the best form of Passkey (and implements it well) in this case it would require the user to biometrically authenticate before sending money (perhaps based on dollar amount or transaction volume) to a new account. The user would hopefully learn over time that the biometric requirement is aligned with money transfers and would grow suspicious if they were prompted for it during a scam session.

▲danpalmer 2 hours ago | parent | prev [-]

I'm not sure I follow this point? A trojan would fail to exfiltrate passkeys (assuming they're stored securely). It would be able to see a valid login and potentially use that session or exfiltrate the session, but wouldn't be able to get persistent account access. This seems better than stealing a password and getting persistent account access, or possibly stealing a TOTP code for the same. It's bad, but I think it's made better by passkeys? Unless I'm misunderstanding your point.

▲throwawayffffas 2 hours ago | parent | next [-]

A trojan would succeed in using your session and potentially start sessions from your device in cases where your key does not require your confirmation or where they have found a bug to bypass that (it maybe as simple as providing simulated input events to the system).

My point is the gains are overstated the main weakness is almost always user action. Passkeys will not magically solve all our security problems.

▲zten 2 hours ago | parent | prev [-]

I think they're just counting on coaching the person through whatever privilege escalation is required when the trojan wants access to the passkey.

▲danpalmer 3 hours ago | parent | prev [-]

Why are they being MITM'd? Because some people want money and don't mind breaking laws.

▲grebc 3 hours ago | parent [-]

Seems to me that the institutions of the FIDO alliance would have better luck chasing these people that break laws.

Instead we’re increasingly locked out of devices we buy and told/mandated this is how you’ll use them.

▲danpalmer 3 hours ago | parent [-]

You want corporations to get more into law enforcement? These things are already crimes, law enforcement agencies already go after them. Would I like more public funding for that? Absolutely. When we've solved crime then let's go back to using passwords, or even just usernames at that point, after all no one will hack them.

▲grebc 3 hours ago | parent [-]

Since you’ve made up a question I didn’t ask or intimate, I’ll leave the discussion here.

▲xg15 3 hours ago | parent | prev | next [-]

Then why do we need all the stuff about attestation and data bits?

▲danpalmer 3 hours ago | parent | next [-]

Because it prevents an attacker from stealing the password. It's both extremely hard to "steal" a passkey, and to phish a login from one. Neither of those are true for passwords, and TOTP only partially solves the stealing part.

Passkeys aren't solving for security nerds who like portability and have 30 character long passwords, they're solving for grandpa who will happily read their bank's 2FA SMS to the "bank" over the phone. The FIDO alliance has literally billions more of these users than they do users who know what hardware attestation is and how it impacts their auth workflows.

▲xg15 3 hours ago | parent [-]

This level of security is perfectly achievable with an unattested passkey.

And Grandpa will have fun if he has to juggle 20 passkeys with different security requirements on his devices.

▲danpalmer 3 hours ago | parent [-]

The security requirements are generally hidden from users. I have never noticed different behaviour between my passkeys.

But as I said, there are plenty of UX issues with passkeys, those UX issues however don't include getting your accounts hacked, phished, passwords lost in data breaches, etc, which I'd suggest are a lot worse.

▲thadt 3 hours ago | parent | prev [-]

So companies can use passkeys and set policies around what hardware they're stored on. IMHO, not particularly useful or desirable for everyday Internet users, but really nice if you have specific requirements.

▲throwawayffffas 3 hours ago | parent | prev [-]

PKI already prevents man in the middle attacks.

Users constantly fall for website impersonation, this can be solved by your password manager it just has to check the host and the certificate of the login page.

Now browsers don't let password managers do that, I wonder why.

But lets say you don't like the fact that passwords are sent over the wire. I get that I don't like that either. You could just take a random token and have an hmac signature on all your requests, for most cryptographic hashing functions that would probably be quantum secure as well.

But lets just say you don't want to have a shared secret because you know servers get hacked all the time. Totally legit, I like the way you think, asymmetric cryptography it is.

How could we possibly do it? Like ssh with pki on top.

The spec could be literally these 25 words:

Do what ssh does but request a PKI signed certificate instead of a key signature from the server and validate it against your known CAs.

▲danpalmer 3 hours ago | parent | next [-]

Passkeys are the consumer implementation of PKI to solve these problems.

There's functionally no alternative for consumer logins, and certainly not one that doesn't require learning what PKI is. "like SSH with PKI" is a bit "draw the rest of the owl".

▲throwawayffffas 3 hours ago | parent [-]

PKI is already in place for domain verification. SSh with PKI is exactly what it sounds like, "passkeys" without attestation, hardware, corporate bullshit.

▲supertrope 2 hours ago | parent | next [-]

This is the entire usability/footgun issue with SSH public keys. For the tech savvy being able to copy and paste id_ed25519.pub into their online account settings would be a dream. But who will train the masses to do that? A lot of people would accidentally paste their private key. Just like how journalists learning OpenPGP emailed over their private key compromising it. For low tech savvy people having direct access to key material is an anti-feature. They can lose it. They can leak it or be phished into giving it up. They don't want to manually sync it between devices or generate per device keys and enroll all of them. Then companies exploit this need for user friendly design to create vendor lock in.

▲throwawayffffas 2 hours ago | parent [-]

My point is your browser, password manager could do just that, all the attestation, hardware keys, required user confirmation etc, authorized clients etc are all a power ploy from FIDO to own peoples authentication.

▲danpalmer 3 hours ago | parent | prev [-]

Cool, why can't I SSH into Netflix? And how should my non-technical parents set up SSH on their phone?

▲crote 42 minutes ago | parent | prev [-]

> this can be solved by your password manager it just has to check the host and the certificate of the login page

Which is exactly what Passkeys does. And it also has built-in functionality to prevent any kind of "Oops! We changed our login method, just ignore the warning and retrieve it manually." social engineering, which a user would often genuinely see when random services move their login page to a different url.

▲MathMonkeyMan an hour ago | parent | prev | next [-]

I like the writing in this article. The author did warn us, but the punchline takes a while to get to:

> I’d like to be clear that there are legitimate uses of remote attestation. By using a website that requires attested passkeys you can be sure you stay safe from accidentally installing a scammer’s fake passkey application that steals your data – the website will reject such a passkey. You might want an attested Passkey even if the website doesn’t require it, since you can use attestation to verify that your software has not been tampered with by a hacker while you weren’t looking.

> As for reasons to not want attestation: you might want to be able to use software that Twitter (formally X) doesn’t specifically approve of, such as Linux. Or a phone with a refurbished operating system.

So the bad timeline is the one in which the industry gradually transitions to "you can't log on unless everything about your system is exactly as we want." Figures.

▲devsda 27 minutes ago | parent [-]

> such as Linux

Before anybody thinks "surely they can't ban all linux users", they don't need to. The systemd folks are also working on a startup that is building verifiable computing into Linux via systemd. So, we have no choice on the matter anyway. It could become of choice of approved distro vs non approved distro.

> So the bad timeline is the one in which the industry gradually transitions to

We have been on that timeline for every other tech transgression. There are no signs that this will be a different timeline.

▲oefrha 3 hours ago | parent | prev | next [-]

I’m an advocate for passkeys and I abolished passwords and embraced discoverable passkeys for our org’s key internal systems exclusively. So the battle cry of a title immediately put me on the defensive, unfortunately. The urge to not read is strong. A more measured title may help here.

But there’s definitely a kernel of truth here. 1Password recently began to enforce userVerification: required[1][2], and suddenly on the desktop without TouchID I have to enter my login password to use the passkey on a good number of websites. I didn’t sign up for 1Password 15 years ago so that I have to enter both my very complex master password and very complex login password to sign into websites, the “one password” contract is suddenly broken after 15 years. This experience independently alarmed me about the additional constraints potential of the passkey standard and power wielded by the FIDO Alliance and partnering organizations addressed in TFA, which are, to be clear, useful for security in an organization. (We use userVerification: preferred now btw.)

Therefore, I believe the passkey technology is great for enforcing a standard of security in an organization and stand by my choice for my org. But as a general purpose B2C auth tech, if the additional constraints become widely adopted, user freedom will be seriously harmed.

Edit: I asked Opus 5.5 to vibe code a passkey auth solution in Go a few times without saying anything specific about userVerification. It chose required each time. So expect to see more of these. Oh and vibe coding auth without understanding it entirely is bad, please don’t do that.

[1] https://web.dev/articles/webauthn-user-verification

[2] https://www.1password.community/1password-at-home-31/user-ve...

▲crote 27 minutes ago | parent | next [-]

The vibecoding part is probably because "userVerification: required" is essential to have it work somewhat-securely as your sole form of security - like Passkeys is heavily promoting. Without it anyone with physical access to the device can use it to log in. This might not be so bad for a password manager which already has strict session password requirements and short timeout periods of its own, but it is a completely different story with, say, a Yubikey.

If you're building a Passkey-based login page and you specify "userVerification: preferred" or "userVerification: discouraged" you are essentially reducing your security to a single factor - namely the "something you have" one.

▲oefrha 11 minutes ago | parent [-]

The vibe coding attempts I tried weren’t passwordless. For the actual passwordless internal system, AAGUID is checked so only whitelisted password managers are allowed, “something you have” hardware keys are not accepted. I know AAGUID can be spoofed but employee somehow hacking part of the process just to register a hardware key against policy isn’t really part of the threat model.

▲throwawayffffas 3 hours ago | parent | prev [-]

Substitute the title for Passkeys Considered Harmful.

▲david_shaw 4 hours ago | parent | prev | next [-]

This is a (very long and) well-written treatise against passkeys in their common and disparate forms. It's worth reading, and brings up several interesting and often concerning points.

I don't agree with the conclusion, though.

TOTP is great, flexible, and keeps the user in control; however, using a passkey in a flexible password manager (Bitwarden, keepass, 1Password, etc) really does continue to give the user control. And the user experience is dramatically easier than filling in TOTP codes.

To advocate for TOTP over passkeys, we're already relying on an application to generate those numbers (authenticator apps, password managers, etc). I see no reason to not simply continue using those pieces of software to manage passkeys, too.

▲oefrha 3 hours ago | parent | next [-]

> using a passkey in a flexible password manager (Bitwarden, keepass, 1Password, etc) really does continue to give the user control. And the user experience is dramatically easier than filling in TOTP codes.

See my comment here https://news.ycombinator.com/item?id=50049311 about userVerification: required. Passkey in 1Password used to be on par or slightly more difficult than filling in TOTP codes (need to click to approve rather than browser extension autofill and even auto-submit on a large number of websites) but that’s no longer true with a good number of websites requiring userVerification. Now you have to type in your login password on desktops without biometrics. Forum thread: https://www.1password.community/1password-at-home-31/user-ve...

▲lukeschlather 4 hours ago | parent | prev | next [-]

I can't use a passkey on a device unless I can install my password manager on that device and I am comfortable giving that device access to my passkeys. Passwords are simply unparalleled in their flexibility. You're never going to be locked out because <bluetooth, your TPM, your phone, ...> isn't working today.

I think the bit about TOTP was mostly a joke, the problem with passkeys is that they're billed as a replacement for passwords but they mix lots of MFA concerns in and make interoperability essentially impossible a lot of the time.

▲johnduhart 4 hours ago | parent | next [-]

> I can't use a passkey on a device unless I can install my password manager on that device and I am comfortable giving that device access to my passkeys.

That's simply not true. I'm able to log onto GitHub on my corporate device using a passkey that's kept in 1Password on my iPhone.

https://bughunters.google.com/blog/passkeys

▲lukeschlather 2 hours ago | parent [-]

That's fine if you've got a couple of supported devices. The hardware support is however very bad. If my hardware is unsupported (and most hardware in the world is unsupported) that's not very helpful.

▲Grombobulous 4 hours ago | parent | prev | next [-]

But you can be locked out if the provider decides you need to change your password after a breach, or you forget the password, or you enter the wrong password in too many times.

They’re both equally disposable. You can reset a password just like you can reset a passkey.

▲true_religion 2 hours ago | parent | prev | next [-]

That's not really true, a QR code pops up, and you can use your other device to read it.

Even if your other device is a mainframe computer thousands of miles away, so long as you can photograph the QR code, you can decode it and send the data string for the passkey device needs to it.

The issue that many have with passkeys is that someone will tie a passkey to an ecosystem that they don't personally control like Apple's and then they can't get into their services without an apple device that's onboarded into Apple's ecosystem.

▲jazzyjackson 3 hours ago | parent | prev [-]

> You're never going to be locked out because …

Yeah and neither will anyone else!

▲nonfunctional 4 hours ago | parent | prev | next [-]

I completely agree that KeePassXC and other password managers give you total user control, and they do support "passkeys" -- but crucially, not all kinds of passkeys. KeePassXC has no remote attestation support, nor hardware-backing support, and nor do I think it should.

My claim is not that passkeys couldn't give you control in principle. It's that the standard readily allows for websites to prevent you from being allowed to exercise that control, and the unclear messaging and UX around passkeys means most users will not even notice should this happen.

▲cvadict 3 hours ago | parent | prev [-]

> using a passkey in a flexible password manager (Bitwarden, keepass, 1Password, etc) really does continue to give the user control.

Sure, but if you read the article you would know that deal can (and will undoubtedly) be altered. The passkey issuer can demand that the passkey be hardware-backed, and I've already run into passkeys that cannot be stored in bitwarden out in the wild (i.e. they REQUIRE that I use a TPM-backed store in my computer). Eventually it will be a particular TPM-backed store running on an attested platform. Now that's not generally the case today, but make no mistake, that IS the ultimate goal... You will only access valuable services from devices that you fundamentally have no control over (e.g. locked down OS's with attestation before you can access X,Y,Z), so that you can't steal from netflix, skip the sponsor segments on youtube, block ads in your web browser, etc. etc. etc. If you want a preview of how this might all work from the technical side, just look into how TEE works for large-scale GPU deployments right now.

▲elcritch an hour ago | parent | next [-]

Unfortunately I can see Apple eventually getting onboard too. As in "Sorry your device is no longer secure for using passkeys. Please update to a newer device!" Nice little incentive to boost flagging iphone sells.

▲cyberax an hour ago | parent | prev [-]

Except that banks can (and do) already require proprietary apps to generate one-time passwords, often requiring official iOS and Android phones. It's not some nebulous future, it's happening now.

And you can't really blame them. A TOTP 2FA from your password manager is not secure. It WILL be hacked sooner rather than later. And SMS is horrible, expensive, and unreliable.

So far, only FIDO keys provide hardware-backed security ("resident keys", not passkeys) that is nicely segregated into self-contained hardware module. And it does not require you to run a full end-to-end DRM-ed stack.

If you _want_ true privacy and security, that's pretty much the best case you can hope for.

▲crote 21 minutes ago | parent [-]

Except that those "self-contained hardware modules" are actually rarely "self-contained" but usually an integral part of a smartphone running a huge bunch of mostly-untrusted code and that the containment keeps getting breached, of course.

The only difference is that banks will now blame you for any losses caused by hacked devices because it is on paper "unhackable" with a well-updated device, so it is now your fault that their crappy bank app's security was broken.

And you still don't get to use Passkeys with banks, of course.

▲cyberax 13 minutes ago | parent [-]

I'm using a Yubikey that is permanently plugged into a USB-C port on my laptop and another one in my dock at home.

> Except that those "self-contained hardware modules" are actually rarely "self-contained" but usually an integral part of a smartphone running a huge bunch of mostly-untrusted code and that the containment keeps getting breached, of course.

And it actually doesn't matter if the secure device is designed correctly. Providing a secure channel over untrusted networks is something that we can do easily.

> And you still don't get to use Passkeys with banks, of course.

I can. I'm using US Bank and it supports my Yubikey-bound WebAuthn credential just fine.

▲Grombobulous 4 hours ago | parent | prev | next [-]

I don’t know if it’s productive for me to talk about how a headline is off-putting, but I’m going to mention it because, well, it’s a headline, and a headline is a strong first impression.

Is the audience of this article the kind of people who are already using passkeys and like them? Because, if so, we’re starting at a deficit here. The author is out to get my beloved passkeys that have saved me so much time and pain.

Are passkeys perfect? No. Are they even very good for no-technical users? Absolutely not…they’re incredibly confusing for that kind of person if you ask me.

However, for my workflow, I’ll take them over a password+2FA type of situation where logging in is such an annoyance. The security part of the discussion is very interesting and a lot of the things in this article are stuff that I didn’t know before reading it.

The issue is that, putting on my user hat, I just don’t care. As long as my accounts are reasonably secure I’m much more concerned about ease of use and workflow.

▲throwawayffffas 3 hours ago | parent | next [-]

You don't care, until you use the wrong apple pay card and apple nukes your account and you can no longer login to anywhere because all your keys are in your now remotely bricked iphone.

Substitute apple with google, pay card with youtube comment and iphone with android for the "open" experience.

▲rogerrogerr 2 hours ago | parent [-]

> the wrong apple pay card

Expand on this? Haven't heard of this failure mode.

▲throwawayffffas 2 hours ago | parent [-]

Read: https://hey.paris/posts/appleid/

tldr from memory: Guy used 2 legitimately purchased gift cards that had been tampered and their codes were used by someone else. His account was locked with no recurse.

I think he could still use his phone, but all the online stuff were locked down. He only managed to get it back after his case reached this website(hn) and senior Apple people stepped in.

▲nonfunctional 4 hours ago | parent | prev [-]

The intended audience is people who are not yet using passkeys, or have just started (due to all the websites demanding them now) but don't really know what they are.

I apologize that the headline is provocative. I thought for a long time about how to appeal to both people who are barely aware of what passkeys are but also not put off people who like them. I considered calling them a "Trojan Horse" in the headline as I do in the body (i.e. legitimately lovely, but with a terrible and unobvious problem) but "trojan" has another connotation in computer security.

Nonetheless, I said what I meant. Convenience is how they get you. This convenience didn't have to come with a trap, but thanks to the way it was designed, it does.

▲MBCook 4 hours ago | parent | next [-]

You know what’s a great way to get me to not read something? Shitting on it immediately and making it seem like the articles just going to be another pointless rant.

The title put me off completely.

I’m tired of people shitting on everything. Especially without offering any advice on how to improve things. It’s exhausting to read. And apparently it’s not even the point of the article. So why is it the title?

Very very strange choice.

▲tavavex an hour ago | parent | next [-]

I really can't comprehend what the actual issue is here. The title isn't "shitting" on anything, it doesn't say "If you use passkeys, you are a horrible person". It literally is a summary of the article's point - Passkeys are a trap. It even offers a solution you long for - Do not use them, a perfectly fine recourse on an individual level unless you expect OP to overpower a massive tech alliance.

The tone hair-splitting makes it seem like you weren't going to be that receptive to the point anyway, no matter how many layers of subtext are inserted to abstract away the actual point, that being - Passkeys are a trap. Do not use them.

▲9x39 3 hours ago | parent | prev [-]

>Especially without offering any advice on how to improve things. >And apparently it’s not even the point of the article.

It wasn't a pointless rant, you're seemingly primed for something that didn't happen here.

It's a good argument that passkeys are a trap while TOTPs offer the security you need but avoid the absolute control passkeys may hand over, so stick with those.

▲qlte an hour ago | parent [-]

TOTP/SMS 2FA is a gigantic pain, I've probably lost multiple 24 hour days worth of time added up from entering TOTP and SMS 2FA codes dozens of times per day on websites that mandate it despite having nothing meaningful worth securing.

With passkeys I click once and I'm in like the golden age of using the web with a password manager in 2012. It's a huge quality of life improvement. If people want to avoid passkeys for whatever reason, that's fine but not interested in reading the same slippery slope argument that gets reposted every week.

A recurring issue with these critiques is how they seemingly presuppose passkeys are an all or nothing thing, and losing your passkey means losing access entirely. Which isn't how it works basically anywhere. It's just another auth method, if you can't use a passkey you fall back to whatever recovery method is offered. If passkeys became some user hostile trap overnight I'd just unenroll them and use TOTP, SMS 2FA, email 2FA, or whatever else is supported.

▲Grombobulous 4 hours ago | parent | prev [-]

Sure, I think your logic makes sense, and I don’t want to overemphasize complaints about headlines.

Regarding how I feel about passkeys after reading your article, logically I am reading what you wrote and conceptually understand the trap, it’s just hard to wrap my head around what kind of situation would cause this trap to “catch” me so to speak.

I.e., the upside is real and immediate, the downside is theoretical and tied to future uncertainty.

▲nonfunctional 4 hours ago | parent [-]

You're right, I didn't explain in much detail the motivation that will push websites to start requiring the remote attestation flag to be set. I will try to cover that in a future article.

But as for how it could "catch" you: if you use FOSS devices that are unattestable (as is the case for the LineageOS phone and Linux laptop I exclusively use), you may one day find you can't use many websites.

▲wry_xy 4 hours ago | parent | prev | next [-]

I've been complaining about passkeys for a long time and it was driving me crazy that it seemed to be the one thing that Big Tech, tech-savvy people, and normies were all on the same page about. The recent PR push a few months back was overwhelming.

Passkeys in theory are great, but the capabilities of the spec are worrying. Defaults can and do change, and when they do, so follows 99% of the population, and then you find yourself either getting blocked out of services because your hardware/software doesn't comply, or you give in.

But on the other end, it might not matter anyways. Apple, Google, Cloudflare, are already pushing similar garbage and now you increasingly have to scan a QR code that verifies your mobile hardware to use a desktop.

▲skybrian 4 hours ago | parent | prev | next [-]

Ideally, passkeys should be cattle, not pets. You should have more than one per account, saved to more than one password manager. Then it's fine if they're not copyable because you can get another.

▲Arainach 4 hours ago | parent [-]

> more than one password manager

I'm sorry, what? Who has more than one password manager (other than a personal/work split)? That's absurd and not something anyone I've heard of would put up with

▲JasonSage 4 hours ago | parent | next [-]

Want to guess how many non-tech individuals save passwords in Chrome on desktop and in iOS on their iPhone?

▲Arainach 4 hours ago | parent [-]

At that point you don't have a password manager, you have a bunch of passwords you know and you just left "remember this" checked.

▲skybrian 3 hours ago | parent | prev | next [-]

It's not that hard. Chrome and something else. (Such as iOS.) A different kind of backup authentication method would work too.

▲cowboylowrez 4 hours ago | parent | prev [-]

if I can't have two password managers for redundancy then none it is.

▲Cider9986 4 hours ago | parent | prev | next [-]

Passkeys make it feel like the site is trying to get more info about me; it seems harder to maintain multiple accounts with passkeys. They feel worse for anonymity than a password where you know exactly what you're pasting into the site.

Although this isn't true because actually with a password you have to choose how to generate it and everyone chooses different ways.

▲pshc 3 hours ago | parent | next [-]

Passkeys only give a random public key + some capability bits, whereas almost all password logins ask for your email or phone number, for the inevitable reset dance likely facilitated over antiquated email or SMS. Realistically the latter is much leakier.

▲nonfunctional 4 hours ago | parent | prev [-]

My understanding is that TOTP and physical security keys both share very little information about you. Perhaps passkeys, being part of a standard that the FIDO Alliance keeps updating, may some day be expected to reveal considerably more information. And the limited number of remote-attestation-approved passkey managers might someday all start start volunteering such information regardless.

▲oefrha 36 minutes ago | parent [-]

For starters, AAGUID already reveals the passkey provider. It can be spoofed without attestation, but good faith (debatable choice of phrase obviously) users already reveal more about themselves, a fair bit more depending on who you ask and how unusual the choice of passkey provider is.

▲djfergus an hour ago | parent | prev | next [-]

Attested passkeys are a dream for Apple. While google is sliding down this slippery slope fastest (eg MEETS_STRONG_INTEGRITY to require security updates) Apple has the most to gain commercially, they must be salivating over the prospect of accelerating device replacement (and blocking Linux/android forks) driven by banks, streaming media and governments.

▲davexunit an hour ago | parent | prev | next [-]

> Indeed, just now I generated a passkey using free and open source software, and then I emailed it to a friend, and now we can both access the same website using that passkey. At no point did I have to ask anyone for permission, not the website, not the FIDO Alliance; not even my friend, who kindly let me monopolize her time without objection. What’s more, I don’t have to type any numbers by hand to use a passkey; I don’t have to remember any magic words; passkeys just work.

This (before they go on to describe actual passkeys) sounds like object capabilities to me. Capabilities combine designation and authorization so if you don't have it, you can't use it. It's the type of security that we should be moving to.

Passkey attestation sounds like a nightmare for user privacy and for anyone that doesn't use a major corporate operating system.

▲throooooo 2 hours ago | parent | prev | next [-]

I skimmed the article, lots of info. I use multiple Yubikeys with passkeys and feel better about the auth experience than any other solution thus far. When I have a negative experience I'll reexamine my usage.

▲mitthrowaway2 27 minutes ago | parent [-]

That's why the article calls it a "trap". Like any trap, you have positive experiences until it's too late to leave. In this case, adoption of passkeys reaches a threshold where they all start requiring attestation, and now your fallback option is unsupported.

▲rgoulter an hour ago | parent | prev | next [-]

A major concern raised in the article is along the lines of "passkeys have technical mechanisms that may disallow use in future".

That ... doesn't seem like a concern unique to passkeys, though?

It seems more like a policy rather than a technical aspect.

e.g. A website might decide they will only provide services if you upload a photo of government ID, or pass a verification where you show your face.

If it's software running on someone else's computer, you don't get full control regardless.

▲chr15m 2 hours ago | parent | prev | next [-]

If you don't like passkeys the solution is very simple. Resist using them. As long as a significant minority resist and refuse, they will have to keep other types of auth around.

▲cowlevel 2 hours ago | parent | next [-]

Has to be a significant majority or else they'll just turn the other methods off.

I don't have the choice to use a bank card online without 2FA - it's mandated. I can either use one of the options provided or I will go to my bank in person and close my account. Those are the possibilities. Nothing else.

▲chr15m an hour ago | parent [-]

An uncompromising minority has surprising power. See Nassim Taleb's idea of assymetric minority rule.

Passkeys are only one kind of 2FA.

Yes, banks are particularly bad at this because their threat model is strong.

My bank required installing an authenticator, but apparently recently they've allowed SMS based 2FA. It seems users complained/resisted and they had to accommodate them. Maybe you should give feedback to your bank. Be the uncompromising minority.

I think 2FA is fine and a good idea, but I agree with the author that passkeys seem fraught as designed.

▲yeeeloit 2 hours ago | parent | prev [-]

It's only a matter of time, and no correspondence shall be entered into.

▲Havoc 4 hours ago | parent | prev | next [-]

Knowing how big tech works this will get forced down throats desired or not

▲Gigachad 4 hours ago | parent [-]

I'm in small tech saas and users having their accounts breached because they share a password with 100 other services is a constant. I have had to set forced 2FA on many products because we take the blame when the user has their account compromised.

Passkeys offer the same and more security but are less of a pain for the user.

▲nonfunctional 4 hours ago | parent [-]

If you also support TOTP and physical security keys as an alternative to passkeys, that should be enough to provide a stable long-term alternative for users of FOSS devices. And of course, RP-side you can choose to never require the remote attestation flag to be set.

Convenience is precisely the thing that big tech established tech platforms want to reward their users with to keep them around. The undeniable convenience of passkeys didn't have to come with a standard that is threatening against unattestable devices like my Linux phone. But it does, and that means passkeys are a way that the industry can discourage people away from using non-Google/Apple/Microsoft-approved devices.

▲arjie 2 hours ago | parent | prev | next [-]

You can put your passkeys in a file if you like. I do for my personal agent. It's logged in on a few sites and it uses passkeys. Saves a few steps when it's using the browser to navigate them because it doesn't need to input credentials except for the first time.

▲phyzome an hour ago | parent [-]

Not if the site requires attestation and hardware-based.

▲arjie an hour ago | parent [-]

Ah! Are there any that require that?

▲tavavex an hour ago | parent [-]

As the article says, there are but it's still rare. But the capability exists, it's in the spec. And you know how this goes - now that this is possible, they just need to onboard enough users and then start progressively shoving it down the throats of the rest. What are you gonna do, not use major internet services?

▲notatoad an hour ago | parent | prev | next [-]

passkeys are a website telling you they don't trust you to manage your own password, and they would rather talk to your password manager directly and skip the meatbag in the middle.

and the websites are usually justified in saying that.

▲drhagen 4 hours ago | parent | prev | next [-]

Can someone tell why the whole standard for authentication on the web is not just this:

me: Can you show me my stuff?

website: HTTP 401, who are you? I understand EasyAuth 1.0, if that is good for you.

me: Sure, here's my EasyAuth 1.0: Hi <website>, I'm <user_id>. The time is <timestamp>. Signed, <digital_signature>.

▲5G_activated 4 hours ago | parent | next [-]

You have described, at a high level, passkeys.

▲agwa 3 hours ago | parent [-]

Well, it's a fair question why Webauthn ended up so much more complicated, which has unquestionably been a hindrance to adoption.

▲crote 15 minutes ago | parent | next [-]

Because the various cloud providers want to lock you into their own proprietary ecosystem, of course. How else could they in the future force you to pay a subscription to be allowed to log in to any website?

▲drhagen 3 hours ago | parent | prev | next [-]

Admittedly, my experience comes from OAuth and Webauthn. I have yet to try to implement passkeys. My exposer to passkeys comes completely from long blog posts complaining about it.

▲cowlevel 2 hours ago | parent | prev [-]

Design by committee

▲drhagen 4 hours ago | parent | prev | next [-]

Ok, I guess you also need a way to say "Oh, and next time I talk to you I'll use public key <public_key>."

▲ajross 4 hours ago | parent | prev [-]

Because you or someone needs to publish "<digital_signature>" in a way that cannot be forged, stolen, MiTM'd, or otherwise compromised. Basically the key generating that signature just becomes another password, far more difficult to use in practice, and sharing all the same disadvantages.

So no one implements it for site-local login. Even the biggest sites like Amazon, for example, still use old-school passwords+2FA.

The way secure auth works for small sites is that a third party[1] authenticates you, who the website trusts more than mere users. And that's where all the complexity comes up. You need something secure stored on your known-secure device, a password alone won't do.

[1] In practice Google or Meta. Occasionally Apple or Microsoft. Everyone else is noise.

▲drhagen 3 hours ago | parent | next [-]

> far more difficult to use in practice

I guess I am envisioning the user agent doing all of this. You go to a site and create click account, your browser shows a pop-up: "<website> is asking you create an EasyAuth account. Would you like to create an account on this site?" If you click yes, then the user agent does this in the background:

website: Sure you can have an account. Use this token <token> once and this ID <user_id> forever.

me: Ok, here's your token <token> for ID <user_id> and my public key is <public_key>. Signed, <digital_signature> to prove it works on my end.

Maybe generating a unique public key for each website is not substantially better than generating a password, but at least a signature cannot get stolen on the server side or in transit. You wouldn't have to change your public key if their database got slurped.

Passwords also aren't standardized, so they are pain to generate (special characters required or disallowed?). They don't reliably autofill into a website. You still have to go through a manual flow to login; user-agent doesn't just keep you logged in. I guess I would be fine if the user-agent knew how to authenticate me to every website.

Maybe this is what the passkey system was before it got designed-by-committee'd into oblivion. I am just always amazed by how complex authentication is when the user-agent should be able to handle this rather painlessly.

▲ajross an hour ago | parent [-]

> I guess I am envisioning the user agent doing all of this.

That's literally what a passkey is, that the linked article argues against. It relies on the platform vendor of your device hardware to validate the full stack of software. You can't just do it in a browser because anything that reads the browsers data (or attaches a debugger, or runs the browser in an instrumented VM, etc...) can exfiltrate the key.

▲alwillis 2 hours ago | parent | prev [-]

> Even the biggest sites like Amazon, for example, still use old-school passwords+2FA.

While that is an option, I've been using passkeys on Amazon since 2023.

▲tonymet 14 minutes ago | parent | prev | next [-]

Passkeys are a pretty terrible UX on their own, in that you have no control over managing them . And every site has a custom experience.

Epic for example has at least 3 different ways to load the pass key e.g. username first, passkey first, username + password, then passkey. Luckily their app lets you in with Passkeys alone

Walmart prompts for username first, then passkey, then it sends you a verification code to your email address.

The issue is that every site has a random flow of username, password, oauth (then a few oauth screens), passkey, 2fa and so on.

Authentication has become absurd. None of this is making people safer. If sites are seeing less fraud reports, it's likely they are harder to detect rather than less frequent.

▲tgma 3 hours ago | parent | prev | next [-]

Hard disagree. Phishing is a major problem. Passwords+OTP are phishable[1]--passkeys are not (the signature is bound to the domain and cannot be forwarded). That alone makes passkeys worthwhile for the vast vast majority of consumers. This is not a theoretical threat model. You simply cannot realistically expect even a savvy consumer to be able to save themselves from phishing all the time. One mistake and they are fucked.

If you write a long article about the merit of passkeys and there is no occurrence of the string "phish" in your article, I am afraid I cannot take your rant seriously.

Again, this stuff is not merely theoretical. YubiKeys have been a thing at Google and other major tech companies for almost two decades now and the effects are well-studied.

[1]: I have found for some weird reason, this is often overlooked and misunderstood in the industry. People even know about SIM swaps and stuff like that, but don't realize OTP is not phishing-proof.

▲nonfunctional 5 minutes ago | parent | next [-]

Note that YubiKeys are not passkeys. But they are a great alternative to passkeys that are just as secure if not moreso.

▲kccqzy 3 hours ago | parent | prev | next [-]

Phishing is a major problem, but it happens less than you think. Password managers are also checking the domain before supplying a saved password. A user who relies on autofilling the password every time will notice when their password manager suddenly does not autofill.

Yubikeys are a great second factor honestly. But do you want to use a Yubikey as a passkey? Sorry you are likely dissatisfied. Many websites and apps (especially apps) support passkeys but would prohibit using your Yubikey as a passkey.

▲tgma 2 hours ago | parent [-]

> Phishing is a major problem, but it happens less than you think.

Bullshit. Literally number one attack vector.

> Password managers are also checking the domain before supplying a saved password.

Password managers are not anywhere as ubiquitously used as you'd think. Even if you rely on password managers, you encounter scenarios where the website relies on a different domain that's not paired appropriately. Some "legitimate" mofos like Plaid used to ask password for third party website. Consumers don't see a password manager failure to fill out a password as a security issue. They see it as a routine password manager failure.

▲kccqzy an hour ago | parent [-]

> Literally number one attack vector.

That’s an out-of-date view. The number one attack vector these days is cookie stealing. The prevalence of 2FA even weak ones like SMS-based 2FA has made plain old phishing so much less effective.

▲AlotOfReading 3 hours ago | parent | prev [-]

    YubiKeys have been a thing at Google and other major tech companies for almost two decades now and the effects are well-studied.
My experience is that yubikeys have a tendency to get lost, get cleared, get mixed up (which of my 4 identical yubikeys has the right passkey?), stop working reliably from random USB issues, etc. And worse, yubikeys are awful to use. Like am I seriously supposed to take off my phone case every time I want to plug in a yubikey to the USB-C port (which may or may not be working depending on whether moisture has condensed in the port) so I can use the one mobile browser that supports them to retrieve a passkey every time I want to log in?

No, fuck that. Just let me use an SSH cert at that point. The existence of phishing is a comparatively minor evil.

▲tgma 2 hours ago | parent [-]

Your "SSH cert" option, in a consumer package, is effectively the passkey.

▲AlotOfReading 2 hours ago | parent [-]

SSH doesn't prevent key sharing (and hence, phishing), so it's fundamentally different in the context of this discussion.

▲tgma an hour ago | parent [-]

> ...sharing (and hence, phishing)

Sharing and phishing are on two different axis. You can have shareable credentials that are phishing-resistant when used.

You can have hardware-backed SSH keys that are not cloneable. You would need the browser to prevent phishing while still using SSH agent as its underlying signature mechanism (implied by my "in a consumer package").

▲ttul 3 hours ago | parent | prev | next [-]

TOTP is susceptible to man in the middle attacks. Passkeys are not. That alone is a solid reason to favor Passkeys!

▲throwawayffffas 2 hours ago | parent [-]

The objection is not against using keys for authentication, it's against the standard including attestation provisions, because there is an incredibly large space for abusing these to limit user freedom.

▲MiroslavPokorny 2 hours ago | parent | prev | next [-]

Makes sense, requiring your phone number to send a OTP is another way to get another bit of data about the audience.

▲newCrotchSmell 2 hours ago | parent | prev | next [-]

Curious if the author can provide examples of things we ever had ultimate control over?

None of us had a say in our existence itself. Skin color. If we cannot have a say over our provenance itself "ultimate control" is just an empty phrase.

Their concerns about big corp might hold some meager merit but "beware the avarice of rich people who view you as a sheep in their flock whether you want it or not" isn't really new.

▲tavavex an hour ago | parent [-]

This is ridiculous. You can nullify basically any argument by bringing up abstract philosophy that has very little to do with the issue at hand. "I want the ability to choose between A and B" - oh, but can you choose? Are you saying you have free will? What's to say the choice wouldn't be the same every time? And so on.

The point is very simple - there was once a day when we had considerably more control over the way we use computers and the networks that connect them. That is slowly being taken away, piece by piece, until the only path to use them is to 'consent' to whatever demands the corporations put up. Not that this doesn't exist already, but today will seem like the wild west in comparison to what's coming.

"Big tech is coercive and evil" isn't a new view, but "passkeys are one of their tools and not just some agnostic technology-first nerd solution" is still not widely known.

▲newCrotchSmell 3 minutes ago | parent [-]

Yes you get me though my argument is the inverse; possible to assert any claim with abstract philosophy like "ultimate control"

And our agreement doesn't stop there. No views I encounter anymore at my near ripe old age of 50 are new anymore

Social conservatism whittles value statements down to a finite subset of cause-effect

Take HN for example; run a trend analysis on the comments going back decades whole lot of repetitive gab about state management in a machine; chef or bash or llms... same old ground truth

Religious people are not the only ones who live in rhetorical fantasy

End of day the provenance of any socialized idea is some rando I have no obligation to march in lockstep with; physically or philosophically

▲loeg 18 minutes ago | parent | prev | next [-]

As usual for an article critical of Passkeys, this one, too, is total nonsense.

▲jesse_dot_id 3 hours ago | parent | prev | next [-]

I love passkeys. 1Password handles them beautifully.

▲aidenn0 an hour ago | parent [-]

TFA is suggesting that, in the future, you won't be allowed to use passkeys with 1Password

▲Starlevel004 4 hours ago | parent | prev | next [-]

I tried using a passkey to log in to something and it gave me an error and I simply didn't care about trying to fix it. So passwords it is for me.

▲shmerl 4 hours ago | parent | prev | next [-]

> What’s important to know is that unlike with any other kind of login credential, you do not have ultimate control over your passkeys.

Use proper password managers, like keepassxc. Then you have control. But problem is that not all sites support that. If you can't use the above - then yes, passkeys are bad, especially if they become mandatory.

▲turtletontine 4 hours ago | parent [-]

If you keep reading the article, you’ll see that the claim is current (unattested) passkeys are a stepping stone to “attested passkeys”. Attested passkeys would require remote attestation with OS, TPM, and password manager all working together, and would allow websites to require things like hardware backed non transferable passkeys that you don’t control. This has always been my suspicion and I do think it’s worth worrying about.

▲shmerl 3 hours ago | parent [-]

Sure, if they are actively pushing for that, it's bad. But otherwise passkeys are OK. It's a neat way to use private / public key pair instead of a dummy password.

▲tavavex an hour ago | parent | next [-]

This is already in the spec. It's not some faraway hypothetical, they could start requiring this tomorrow if they wanted to. And if you're capable of seeing any trends wrt the 'attestation' and 'securing' everything that are already here, you will know that all they're waiting for is for a significant enough portion of users to get passkeys on their platforms naturally, and then just force everyone else.

▲cowlevel 2 hours ago | parent | prev [-]

They are actively pushing for that.

▲cyberax 2 hours ago | parent | prev [-]

This screed is simply BS:

> What’s important to know is that unlike with any other kind of login credential, you do not have ultimate control over your passkeys

Passkeys are _by_ _design_ representable as clear-text strings. You can export them and sync between devices. I'm using BitWarden with a self-hosted Vaultwarden for the server-side to do that, for example.

▲Telaneo an hour ago | parent [-]

> Passkeys are _by_ _design_ representable as clear-text strings. You can export them and sync between devices.

That's not the intention of the relevant standards.[1]

[1] https://github.com/keepassxreboot/keepassxc/issues/10407

▲cyberax an hour ago | parent [-]

> That's not the intention of the relevant standards.[1]

Sigh. IT LITERALLY IS.

The name "passkeys" itself means "exportable keys":

https://fidoalliance.org/passkeys/

> When a user creates a passkey on any of their devices, it gets synced to all the user’s other devices using the same passkey provider that is also signed into the same user’s account. Thus, passkeys created on one device become available on all devices. > Notably, if the user gets a new device and sets it up with their passkey provider, the user’s passkeys are synced and available for sign-in on the new device.

The resident keys (the ones created by platform-specific TPMs) are not passkeys. And they had been standardized _before_ the passkeys.

▲Telaneo an hour ago | parent [-]

> Sigh. IT LITERALLY IS.

> The name "passkeys" itself means "exportable keys":

> https://fidoalliance.org/passkeys/

This does not follow from my understanding of the word, and the words 'export' and 'exportable' don't appear on the page you've linked. Nor did I see anything indicating that was a core part of their design from a cursory reading of the page, although I might have missed something. Your quote certainly doesn't imply 'exportable'.

Syncable? Yes. Exportable? Yes. Clear text? Sure, behind the scenes. Exportable as clear text? Yes, but not intended. To quote Tim Cappalli, who's credited on the W3C spec as an editor[1] and maintains passkeys.dev,[2] so presumably knows what he's talking about: "Passkeys should never be allowed to be exported in clear text."[3]

[1] https://www.w3.org/TR/webauthn/

[2] https://passkeys.dev/about/

[3] https://github.com/keepassxreboot/keepassxc/issues/10407

▲cyberax 23 minutes ago | parent [-]

> This does not follow from my understanding of the word, and the words 'export' and 'exportable' don't appear on the page you've linked.

I literally provided a citation.

> Syncable? Yes. Exportable? Yes. Clear text? Sure, behind the scenes. Exportable as clear text? Yes, but not intended.

A syncable credential is by necessity representable in clear text at some point. In comparison, resident WebAuthn private keys NEVER leave the secure device.

> [1] https://www.w3.org/TR/webauthn/

WebAuthn is a _superset_ of Passkeys. Here's the citation from your own linked page:

> This use case illustrates how a consumer-centric Relying Party can leverage the authenticator built-in to a user’s devices to provide phishing-resistant sign in using multi-device credentials (commonly referred to as synced passkeys). ... > A backup eligible public key credential source is referred to as a multi-device credential whereas one that is not backup eligible is referred to as a single-device credential. See also § 6.1.3 Credential Backup State.

▲Telaneo 19 minutes ago | parent [-]

> I literally provided a citation.

That I said does not support your statement.

> A syncable credential is by necessity representable in clear text at some point.

I never said this was wrong.

> WebAuthn is a _superset_ of Passkeys

I don't see how your quote illustrates this, and I've only heard them referred to as the same thing. Would you care to elaborate? And maybe provide an example?