Remix.run Logo
▲ bonzog 3 hours ago

I don't know enough to argue about whether passkeys are a trap or not, but I do know as a user that they appear to be a confusing mess.

When a website prompts me to set up a passkey, depending on the device I happen to be using at the time it could end up going to Google password manager, Samsung password manager, iCloud Keychain, or Windows somethingorother.

What happens when I go to the same site on a different platform? What if I can't use cross-device authentication because I'm on a locked-down work machine or one that simply doesn't have bluetooth? What if I want to consolidate them all in one platform just for the sake of being organised? What if I lose or simply don't have the device with a certain passkey near me?

I don't have the time or patience to work out any of that, which might absolutely be a 'me' problem, but TOTPs are pretty sodding frictionless in comparison. Scan QR in my chosen manager; type number into website; done. Why are passkeys better?

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

I thought "Passkeys are a trap" was going to be about this usability nightmare. Some sites, once connected via passkey, make it all but impossible to connect in another way. Some support multiple passkeys. Some do not. Some support passkey or something else. Some do not.

The idea and protocol are pretty solid, though we're back to a "biometrics as password" problem in many device flows, but every time I'm urged by a site to convert to a passkey, I wonder "is this site the sort that would screw this up?"

So far, it's about 30% of sites screwing it up...

▲WorldMaker 4 minutes ago | parent | next [-]

Supporting multiple passkeys should be a minimum requirement for every Passkey implementation. It's generally worth naming and shaming the websites that don't implement that correctly. People want backup passkeys. People want both iOS keys and Windows keys for the most convenience.

My general advice for non-technical users that seems to work pretty well is "sign up for new sites with passkeys on your phone" because most non-technical people trust the password manager ecosystem on their phone, have some amount of multi-device sync already established, and the QR code started Bluetooth LE flow on desktop/Windows PCs for sharing passkeys works easiest with phone passkeys.

(I run a tiny site that is Passkey Only for login and it's been interesting providing technical support for it. One of the biggest recurring issues at this point is nothing in the Passkey flows themselves but the fact that the Facebook in app browser does not support Passkeys for a number of presumably security reasons, plus Meta being jerks, and having to remind new users to "Open in External Browser" before signing up/logging in when posting links to the site in Facebook.)

> The idea and protocol are pretty solid, though we're back to a "biometrics as password" problem in many device flows

It's still just biometrics as "device PIN". The crucial difference remains that the biometric data never leaves your device. To support Passkeys the remote website only ever sees your Passkeys' public keys, they never see biometric data, they never have a chance to store biometric data in a database to violate PII/HIPPAA/etc standards when it inevitably leaks to "hackers" (or gets sold to the highest bidder).

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

This is the issue.

I can’t adopt Passkeys if I’m not certain they’re going to work as well as my password manager and Authenticator app, which is to say 100% of the time.

When sites ask to set up passkeys, it’s usually native passkeys (especially on iOS). And figuring out how to get the flow to set up a LastPass key by default seems unusually difficult.

I also use a MacBook, windows desktop, an iPhone and iPad. I use Firefox, edge, brave across these devices.

When I say “passkeys are a trap” they are a usability trap where no one can attest with certainty that I won’t wake up in a painful situation because I decided to adopt passkeys.

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

I’ve never seen an implementation where passkeys deleted my password or could lead to a situation where it was locked out. They usually just bypass the password+2fa dance when functioning, and otherwise just don’t matter if they don’t function. (Well perhaps except home depot, where it gets mad at me every time I use a password and tries to install a new copy of the same broken passkey as last time, for my convience)

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

> no one can attest with certainty that I won’t wake up in a painful situation because I decided to adopt passkeys

Seems that way. Better luck next year, passkey standards(?) people. Hope it’ll be ironed out at some point.

▲pirates an hour ago | parent [-]

I think the repeated posts and articles constantly rehashing this topic is telling. Every thread is nearly the same in terms of some people saying “here are the reasons why passkeys don’t work for me” and other people saying “you’re holding it wrong”. I don’t think many people come away with their views changed.

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

LastPass has a tutorial video that shows you how to only use them for autofill: https://www.lastpass.com/features/autofill/iphone

Other password managers do, too: https://bitwarden.com/help/auto-fill-ios/#keyboard-autofill

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

If you need a tutorial for something that’s supposed to be as simple and transparent as a website authentication, your standard has already failed the usability test.

▲ylk 22 minutes ago | parent | next [-]

you're misunderstanding: isn't specific to passkeys, this is for changing the password manager(s) used when filling passwords, 2fa codes and passkeys.

since the person I responded to couldn't find it, I linked tutorials. it amounts to opening the Settings app, going to "General" and then "AutoFill & Passwords", so it's also not terribly difficult to find compared to other iOS settings.

you could've at least tried to understand what's being talked about before blindly complaining.

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

This isn't a standards problem, this is an "Apple, Google, and Microsoft made using your own software difficult" problem. They have an interest in making their authenticators the default, and the settings UX on all three platforms makes it unclear that their authenticator is active as well as your own "third-party" authenticator choice.

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

It’s difficult to disentangle one from another, when the companies with the vested financial interest in locking you in are the board members of the consortium creating the standard.

▲ethbr1 27 minutes ago | parent [-]

Exactly. I'm disinclined to cut Apple, Google, and MS the benefit of doubt for steering a standards committee to spec + real world usage that privileges themselves.

▲ylk 19 minutes ago | parent | prev [-]

you can see in both the lastpassword and the bitwarden tutorials that the default iOS password manager can be toggled on or off, just like the other options.

▲taikahessu 23 minutes ago | parent | prev [-]

Whenever LostPass, I mean LastPass is mentioned, it makes me feel twitchy and reminds me of that time I made a really bad tech decision of using it.

LastPass is not a secure place to store your passwords. Bitwarden is the second worst place. Don't just take my word for it, do your own research.

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

This sounds like an iOS problem. Bitwarden + Firefox on Linux, or Bitwarden + Android, has never been anything but smooth for me when it comes to saving or using Passkeys.

▲WorldMaker 3 minutes ago | parent | next [-]

iOS has really good support for third party Password Managers. I've seen the integration with both Strongbox and 1Password. I've heard Bitwarden supports it as well. I think it is a Lastpass problem in this specific case.

▲kmac_ 33 minutes ago | parent | prev | next [-]

If we go for anecdotal examples that are not representative, then in my case, Bitwarden passkey use ends in an endless loop with most websites. Import and export is still a promise or "coming soon." In the case of hardware keys, two devices are needed. I was a proponent of passkeys, but big players screwed that up, like every single shared "standard".

▲kritr 26 minutes ago | parent | prev [-]

Bitwarden / ProtonPass + iOS has also been smooth. So sounds like a lastpass issue.

▲prepend 4 minutes ago | parent | prev | next [-]

This is why I don’t like passkeys. I’m surprised the “use site from multiple devices” use case isn’t more common.

Am I nuts for accessing a site from both my mobile phone as well as from the multiple computers I use?

This also gets super messy when combined with multi-site auth services like id.me where I need to use the same login to access very diverse sites and services from multiple computers (eg, irs.gov, treasurydirect.gov, disburser.treasury.gov).

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

My takeway from “Passkeys are a trap” is that there are like four different approaches to something that everyone just calls “passkeys”, and they are not the same. For example, some are portable and some are not.

▲ethbr1 25 minutes ago | parent [-]

Passkey-over-Ethernet-over-USB C!

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

> Some sites, once connected via passkey, make it all but impossible to connect in another way.

That's the issue I had with Okta a few years back. I used a password then later added a passkey through Bitwarden on my work laptop. Bitwarden hadn't yet implemented passkeys for mobile.

I went to authenticate through Okta on my work phone. It prompted me for the passkey. Since mobile passkeys didn't exist, I got stonewalled. I had to make a blood sacrifice just to get Okta to allow password access again.

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

The trap is the ratchet towards attested hardware and closed-source-only implementations.

▲dfabulich 44 minutes ago | parent | prev | next [-]

The defining feature of passkeys is that they're stored in your password manager, and you can't read them, so you can't be tricked into typing them into the wrong web site.

Most password managers don't even allow you to export/backup the passkeys yourself. (Bitwarden is an exception.)

Instead, password managers support a finicky app-to-app transfer protocol called "Credential Exchange Protocol" (CXP), where you install two password managers at once, and they convey your passwords + passkeys, without ever generating a file that you can read. (And Microsoft's password manager doesn't even support CXP yet. As of today, you can only do it on Android and iOS.)

Many people read that and say, "see, that's why I'm never going to use passkeys! I'm safer managing my own backups, and I'm too smart to be tricked into copying and pasting my password to the wrong site." But they're wrong. You are not too smart to be tricked. Nobody is.

If you use the same cloud-sync password manager everywhere, passkeys just work. If you don't, you'll have to use Credential Exchange Protocol to transfer them, which is a hassle.

It’s up to you to decide whether protecting yourself from being tricked into exporting your passkeys is worth sacrificing your ability to read them.

▲xboxnolifes 21 minutes ago | parent | next [-]

> You are not too smart to be tricked. Nobody is.

Maybe, but most websites I really dont care if my account gets hacked. I care way more about being able to login conveniently. Im just as frustrated with seemingly every single website wanting 2fa doing a 2fa check every week or less.

▲bigstrat2003 12 minutes ago | parent | prev [-]

> Many people read that and say, "see, that's why I'm never going to use passkeys! I'm safer managing my own backups, and I'm too smart to be tricked into copying and pasting my password to the wrong site." But they're wrong. You are not too smart to be tricked. Nobody is.

It is not remotely difficult to not fall for phishing attacks. I think I've seen one in my entire life which was actually well crafted such that a person might fall for it even if he was paying attention. One. Everything else is the lowest effort slop where all you need to do is hover over the link to see "this does not in fact go to microsoft.com like it claims".

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

Same. I don't understand it, and there is enough conflicting information (See this article pair as an example) that I suspect it's not something where I just need to do more reading. I suspect there's something fundamentally confusing, and subjectively-interpretable about this.

My suspicion: There is a significant chance I will lose access to one or more account by doing this, so I'm not going to until the air clears. I don't trust the motivations of the services pushing it.

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

This may or may not help depending on how technical you are, but at the core a passkey works through public key cryptography, like SSH keys work. Setting up a passkey with a site involves sending a public key to the site, which they store as being owned by your account. Then, to sign in, they use your public key to generate a challenge, you use your private key to solve the challenge, and you respond proving you have the corresponding private key.

This means you never send your private key to the site, so if their database is compromised they only get a public key, which can’t do anything (it is public, after all)

No amount of phishing can get you or your client to hand over your private key, because there is no use case where that is required. There is no possibility of MITM, since your private key is never sent anywhere in any situation.

As for getting locked out of your account, losing your passkey would be the same as losing a password. You would need to follow the site’s password reset flow, and if you can recover from a lost password, you can recover from a lost passkey.

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

This is a fantastic explanation and analogy. Thank you!

I will poke at this a bit:

> As for getting locked out of your account, losing your passkey would be the same as losing a password. You would need to follow the site’s password reset flow, and if you can recover from a lost password, you can recover from a lost passkey.

Do you think this is one of those scenarios that sounds reasonable at first, but can get torn apart by unknowns, edge cases etc? To use an analogy from a recent HN thread that is stretched a bit, is this like saying "If you use a crypto hardware wallet, you're safe", then reading about compromised hardware wallets due to something outside the assumption set.

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

If you own only one device—a mobile phone, like the majority of people in the world—and you lose it, how do you get back into your passkey-protected email account?

▲cocoto 16 minutes ago | parent [-]

Backup codes, sms backup, trusted user backup. Most of these are quite insecure but better than loosing access to your digital life.

▲what 4 minutes ago | parent | prev [-]

What’s PQ story with passkeys? Considering all the hype that everything needs to be pq safe by 2029 (or whatever), wouldn’t it make sense to delay adoption? Otherwise a db leak would compromise every single account in a pq world.

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

It doesn't help that the primary benefit we get from passkeys, in exchange for a lot of pain and fragility, is that phishing is harder to pull off. That's a big deal for a lot of people, but frankly, I'm not one of them. I already know not to click on links in emails.

I've never fallen for a phishing attack and any attack targeted and sophisticated enough to catch me is probably going to be sophisticated enough to steal/hijack a passkey anyway. In the extremely improbable event that I did get phished and somebody got into my account somewhere, they'd only have access to that one account because unlike most people I don't re-use passwords and recovery would no more complicated than contacting customer service and resetting my password with them.

Considering the horror stories of people who been screwed by using passkeys, I'm sticking with "not worth the trouble"

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

Randomly generated strong passwords for all practical purposes are just as good as passkeys and keep you as the user in control. If you really need to copy/paste between a laptop and mobile or give it to a friend/family member, you can.

What do passkeys offer users that rand strong password + password managers don't?

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

They are tied to the issuing domain and the system that carries the passkey will refuse to present it to any other domains. It’s more or less impossible to fall for phishing or a spoofed site. Your password manager may have similar functionality for automatic filling of forms but less sophisticated users can often be tricked into providing passwords via copy and paste.

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

Phishing is even easier. Instead of "open your password manager, copy your password and paste it here" it becomes "your passkey is out of date, click here to enroll a new passkey. As part of this process a reset link will be sent to your email and code to your phone. Do not share the code with anyone."

▲bkdbkd an hour ago | parent [-]

This ^. It introduces MORE layers to phish. More external 'trust me'.

▲drusepth an hour ago | parent [-]

ESPECIALLY when seemingly no one actually knows how passkeys actually work.

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

The less sophisticated users can use their passkeys then, and the rest of us who know what we’re doing and have been for 25 years can continue to not support vendor and platform lock-in and forced device attestation. The amount of marketing and push behind passkeys does not feel entirely genuine to me.

▲manwe150 an hour ago | parent [-]

You know how to feed the site certificate into gpg before every login to check for url phishing attacks? I usually have to ask my password manager to do that (which didn’t exist 25 years ago)

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

Same with password managers inside web browsers: they'll only present the filled-in password for the original domain, not a phishing domain.

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

Bull. People need to stop repeating this.

They have to be transmitted. They (or their hash) have to be stored. And so so many get that wrong.

There is nothing to prevent you from entering your super secure unique password on the wrong site if you get phished.

Passkeys don’t get transmitted. They’re used for cryptographic signing.

Passkeys can’t be entered on the wrong site, the sites they work on is an inherent property of the key.

You can’t store a passkey wrong on the server, it’s a unique public key. If your entire database is stolen, it’s useless. No one else can login with your credentials because they don’t have the private key.

Unique strong passwords, TOTP, 2FA, one time sign in emails, none of those offer this stuff.

Passwords are fundamentally broken. They cannot be fixed. Cryptography is the solution in passkeys are the implementation.

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

>They have to be transmitted.

Everyone knows to hash passwords now and browsers basically enforce SSL. This is not a practical differentiator.

>Passkeys can’t be entered on the wrong site, the sites they work on is an inherent property of the key.

They are still susceptible to malicious enrollment. If a user is convinced a fake site is real, to the point that they are opening their password manager to copy the password to it, you should assume they will do the equivalent with a passkey (re-enroll attacker's key or register attacker's passkey).

>If your entire database is stolen, it’s useless.

As are databases containing strong randomly generated password hashes. What is your threat model here, they somehow forgot to hash their passwords yet they are still hashing session tokens, storing customer data in completely separate databases, safely storing private keys, etc.? It requires quite the strawman scenario to apply.

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

> They are still susceptible to malicious enrollment. If a user is convinced a fake site is real, to the point that they are opening their password manager to copy the password to it, you should assume they will do the equivalent with a passkey (re-enroll attacker's key or register attacker's passkey).

This is only technically true because of the definition of what a passkey is is vague.

Hardware Attestation solves this problem and is "good actually". The issue with attestation is when site attempt to restrict which enclaves/sources can register keys. But if you don't restrict who/what can register keys, attestation is super useful for preventing this exact issue.

When you register your key initially you establish your hardware attestation parameters. The attacker cannot know those parameters unless they were the ones to initially register you for the site as the public attestation signature is unique per-key and the private one per-use with the public one verifying the private one.

So if you have remote attestation you can verify whether the source presenting the signature for auth is the same source that created the signature and trivially block MITM attacks. Likewise for more complicated custody/proxy chains.

This just by itself largely solves MITM key re-enrollment attacks but tech camps that support passkeys either ideologically oppose attestation (due to understandable enclosure fears) or enforce hardware attestation for enclosure purposes without bothering to address MITM/signature origin checks.

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

Can I do hardware attestation across several devices yet? My desktop, my phone, a console, my girlfriends phone of a different brand if I need to log into a shared account, etc?

It seems like one of those things that only works if you're sticking to one ecosystem.

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

>Hardware Attestation solves this problem

Only in theory. Suppose you are a bank, which enclaves/sources/devices do you support vs. not support? What do you do for users on a desktop PC that don't have an enclave? Phishing sites will likely leverage your weakest enrollment option.

▲ an hour ago | parent | prev [-]
[deleted]
▲john_strinlai 2 hours ago | parent | prev | next [-]

>Everyone knows to hash passwords

got a good chuckle out of me. your optimism is inspiring.

▲graemep an hour ago | parent [-]

Anyone not hashing passwords is going to find a way to mess up passkeys.

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

> re-enroll attacker's key or register attacker's passkey

Can you walk me through how that would work?

▲autoexec an hour ago | parent [-]

Probably something like this https://cybersecuritynews.com/hackers-abuse-microsoft-entra-...

▲aleksejs 20 minutes ago | parent | next [-]

The article describes a straightforward phishing attack that works specifically against accounts that are _not_ protected by passkeys:

> Depending on which multi factor method the account uses, the victim sees a matching fake screen, whether a one time code prompt, an authenticator app number match, or an SMS page.

The only sense in which passkeys have anything to do with this at all is that the attackers used the word "passkey" in their emails. When a phishing campaign with the subject line "Your Mailbox is Full, Log In to Fix Now!" succeeds, that does not demonstrate an interesting vulnerability inherent to your mail server's mailbox size limits.

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

Isn’t that a bug in the Microsoft software, not the pass key specification?

▲autoexec an hour ago | parent [-]

That's like saying that there's nothing wrong with passwords, it's a bug in the human that can't tell the difference between their bank and some random web form with their banks logo slapped on it created on wix.com

Several of the successful attacks that compromised passkeys have been because of flaws in the OS, or the browser, or the password manager, but none of those things are going away any time soon. Passkeys depend on those things, which means they aren't are solution to the problem of phishing. They just make phishing harder.

Passkeys also make things harder for the legitimate user though, and there's a very real question of whether the protection they offer is worth the trouble.

▲MBCook 10 minutes ago | parent [-]

But every single one of those attacks has also existed for classic password managers.

It’s not a new vulnerability. It’s not a reason to roll out Passkeys unless it’s also a reason to get rid of passwords.

With Passkeys you’re still net ahead.

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

You're arguing theory and not practice. In theory they're better of course. The problem is the implementation. And implementation is a mess because everyone is trying to lock you into their own little ecosystem.

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

In implementation, passwords are a complete disaster. We’ve been dealing with the fallout of it for decades.

In theory, if everyone did everything correctly and followed best practices, passwords would work quite well.

Reality shows we are not anywhere near there.

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

Exactly! Whereas passwords are extremely flexible and can be stored, managed, and written down in numerous ways that are vendor-independent. Want to store your passwords on sticky notes in a safe? Go ahead! Want to use Bitwarden? Yep, you can. KeePass for offline storage? Yes! With good password hygiene (128-bit entropy, never reusing passwords) there is virtually no risk, especially with 2FA added.

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

> There is nothing to prevent you from entering your super secure u quiet password on the wrong site if you get phished.

You replied to someone talking about password managers, which objectively do exactly that.

> Unique strong passwords, TOTP, 2FA, one time sign in emails, none of those offer this stuff.

And Passkeys don't offer portability, user choice, or user control.

Cryptography may be a solution, passkeys are one technical implementation that at is core is designed around smartphone-first, vendor-first, brand-loyality-first thinking.

▲john_strinlai 2 hours ago | parent [-]

>which objectively do exactly that

password managers do not do that. open up your password manager, press "copy" on the password, and then paste it into a random website. it will paste it.

(i think 1password just recently enabled an option that will warn you if the website is different than the one it has, but it still lets you paste it)

▲Someone1234 2 hours ago | parent [-]

So they do, in fact, do that and you have a workaround? They won't autofill on a phishing site, thus the copy/paste bypass.

It is a pretty big red-flag.

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

Autofill is not the same as use.

You can not use a passkey on the wrong site. Period. They’re unphishable.

Short of somehow talking a user through finding the full private key and getting them to send that to you, there is no way to trick a user into giving you what you need to get into a website impersonating them.

That’s absolutely not true with a password manager. They may TRY to prevent you from ACCIDENTALLY entering it on a website, but they don’t stop you.

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

>They won't autofill on a phishing site,

right. and in an office setting, bob in accounting will go "weird, autofill isnt working, ill copy/paste it".

that is not a possibility with a passkey.

▲Someone1234 2 hours ago | parent [-]

It is Schrodinger's Bob - Both technically literate enough to know how to do that, while also not being technically literate enough to spot the phish or determine why autofill isn't working/the password manager isn't matching.

This is where Passkeys shine, in an edge-case user that is neither of the two most common user types. Basically a unicorn situation.

▲john_strinlai 2 hours ago | parent [-]

>It is Schrodinger's Bob - Both technically literate enough to know how to do that, while also not being technically literate enough to spot the phish or determine why autofill isn't working/the password manager isn't matching.

you must not work in regular corporate environments. this happens all the time.

yes, they know how to hit the big "copy" button but don't know how to debug an extension.

take a year or two to work security (or general IT support) in a non-tech-company corporate environment, and get ready to have your socks blown off. people become exceptionally literate with things they interact with all day (excel is great example of this) yet have no idea that google.example.com isn't an official google website.

▲necovek 42 minutes ago | parent | prev | next [-]

You lose a device or the local DB that keeps your passkey and you are screwed.

You need to migrate from one login domain to another (rebranding, change of login providers...) and none of your customer credentials will carry over.

Your password might not be stored anywhere except in your head.

Your local storage gets compromised and your passkeys are there for the taking (password in your head isn't).

"Cloud" password managers who hold your passkey private key part is exactly like them having your password and are worse than websites having proper cryptographic hash of your password: they might not be e2e encrypting it (you were comparing with sites doing password hashing wrong too), so a breach exposes all your passkeys just the same.

My point is that there is no panacea. Passkeys are like SSH keys for the web. I still put a passphrase on my SSH keys. Do you?

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

Passkeys can be, and have been, stolen and hijacked. They make it more difficult for scammers and hackers to get into your accounts, but not impossible. How many phishing emails have you personally fallen for that this is your #1 concern over the fragility and complexity of passkeys?

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

Can you provide details on this attack?

Typically the user gives a website their public passkey, which does not need to be kept secret since it’s public. If the website is hacked the attackers only get information that is already public.

You seem to be talking about a scenario where a user’s private keychain on their computer is compromised and the attacker is able to access other systems from that same machine without the user’s knowledge. (Note that the keychain data is itself encrypted so can’t be used from a different computer.)

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

As far as I know, it has never happened. I know there was a presentation or two on bugs in individual password managers.

But that is not a flaw in passkeys. And there have been bugs in password managers that expose standard passwords as well.

▲autoexec 5 minutes ago | parent [-]

> But that is not a flaw in passkeys.

By that reasoning passwords are 100% secure too, it's the human's fault when they fall for phishing sites! Passkeys depend on humans, password managers, devices, certificate authorities, browsers, and operating systems. That's not even including the implementation itself (https://www.esentire.com/blog/securing-passkeys-thwarting-au...)

All of this means that even when you're using a passkey an attacker could still break into your accounts. Passkeys can make it harder for them, but it can make it harder for you to get access to your accounts too. For me, I don't think the risk of phishing is worth the trouble passkeys would cause me.

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

> Passkeys can be, and have been, stolen and hijacked.

Proof needed.

> How many phishing emails h

The point is the average Joe will not be phished - especially important stuff - like email or eBay or bank. That is the reason for passkey.

Yes, many people in HN can avoid scammers.

▲autoexec 33 minutes ago | parent [-]

Feel free to google for more:

https://www.forbes.com/sites/zakdoffman/2025/08/28/yes-your-...

https://www.howtogeek.com/passkeys-were-supposed-to-be-more-...

https://www.malwarebytes.com/blog/news/2026/08/googles-synch...

https://cybernews.com/security/google-passkeys-vulnerability...

https://cybersecuritynews.com/passkeys-via-aitm-phishing-att...

https://www.zdnet.com/article/your-passkeys-could-be-vulnera...

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

> They have to be transmitted.

What do you image happens with passkeys?

> They (or their hash) have to be stored.

What do you image happens with passkeys?

> If your entire database is stolen, it’s useless. No one else can login with your credentials because they don’t have the private key.

From the consumer, do you imagine a hacker has my key to unlock my password database?

From a service provider, do you imagine they are not using encryption at rest?

> Cryptography is the solution in passkeys are the implementation.

Do you imagine cryptography is not used with passwords?

▲MBCook an hour ago | parent [-]

The secure part of a passkey does not have to be transmitted. It’s public key cryptography. It’s used to sign something as proof that you control the key.

And for that reason, the server does not have the secret. It only has the public key, which is useless on its own. So it can be stored in the database in plain text unencrypted. And you’re not really taking any risk.

Passwords are not cryptography. People may use cryptography to store them at rest, or their hash. But the true password still has to be transmitted. The first time, and every time.

▲undersuit 6 minutes ago | parent [-]

>But the true password still has to be transmitted. The first time, and every time.

The password never has to be transferred. In fact never having the password should be the goal. Not even a first time. Don't let the password leave their device. You transmit the hash.

▲thaumasiotes 8 minutes ago | parent | prev | next [-]

> Bull. People need to stop repeating this.

Wow, you sound like you know what you're talking about.

> They have to be transmitted. They (or their hash) have to be stored. And so so many get that wrong.

Ok, you've stopped sounding like you know what you're talking about.

Passwords have to be transmitted or stored. They don't have to be transmitted and stored. As you note, we usually opt for transmission but not storage. You could do it the other way around.

> There is nothing to prevent you from entering your super secure unique password on the wrong site if you get phished.

> Passkeys can’t be entered on the wrong site, the sites they work on is an inherent property of the key.

They can still be entered. Not working isn't the same thing as not being sent. A cryptographic exchange should hopefully fail before anyone who's pretending to be the counterparty you want learns enough to impersonate you. But you can enter anything anywhere.

> Unique strong passwords, TOTP, 2FA, one time sign in emails, none of those offer this stuff.

Unique strong passwords offer the following:

1(a). They are never transmitted (well, once), and provide phishing resistance; or

1(b). They are never stored, and provide leak resistance.

2. In the event of compromise, no other credentials of yours are simultaneously compromised.

It's true that it would be nice to enjoy phishing resistance and leak resistance.

Here are some other things unique strong passwords offer:

3. You are free to establish any relationship you like, with anyone you like. You don't need permission from Yubico to create an account somewhere.

4. Yubico can't pretend to be you.

You might notice that passkeys don't offer any of those. Your comment appears to enthusiastically endorse the idea that passkeys are a trap.

> Passwords are fundamentally broken. They cannot be fixed.

This is the "PGP is fundamentally broken" argument again. It will never be valid.

If you ask any followup questions, the reason that "PGP is fundamentally broken" is that people use Outlook plugins, and those plugins mean that they're constantly sending email in plaintext when they should have sent it encrypted. There's a very, very simple solution to this.

Don't use Outlook plugins. Run PGP yourself.

Before you send your email, check whether it looks more like "OK, everyone's ready for the kidnapping on Thursday" or "Eb+h+Q1iDEYUgJlO5GTtmcibC+D1E9oJWvZeoy9I2tpqxe9j/iokAx0R". You will be able to tell the difference. Nobody has ever failed at telling these apart.

If you were about to send the email, but it's still in plaintext, don't send it.

Passwords are no more fundamentally broken than PGP is.

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

Nothing of this explains anything, at best it increases the confusion. If anything, all this mumbo jumbo pushes me further away from using passkeys than before.

▲john_strinlai 2 hours ago | parent [-]

the non-mumbo-jumbo version is:

- you can't get phished

- you dont need to worry if your password is securely stored

▲classified an hour ago | parent [-]

And what if I need to use a different device?

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

my passkeys are in 1password, and accessible from any device i have 1password installed on. it's a very smooth experience (both adding new ones and using existing ones).

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

There’s support for that and has been for years. It works fine.

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

What are you talking about? Whenever I've written authentication, passwords are hashed on the client side and never transmitted in the clear.

The way passkeys are being pushed is so clearly an attempt to add friction to leaving walled gardens. Stop talking in absolutes in a world of greys.

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

That's not accurate. If that were true, then a hacker stealing password hashes would enable them to instantly log in, without cracking them. Rainbow tables and dictionary attacks exist for a reason.

Pass-the-hash has been tried in NTLMv1 and thankfully that was the end of that failed experiment.

Modern password authentication is performed by the client sending a plaintext password encapsulated within a symmetrically-encrypted tunnel. On the Web that's with TLS. The server then uses bcrypt or another scheme to hash the password (along with the stored salt) and compared that resulting hash with the value in the table.

▲undersuit a minute ago | parent [-]

>then a hacker stealing password hashes would enable them to instantly log in, without cracking them

How do you know the hashed value stored in the database is the same hashed value the user submitted? Server side I can add a salt and hash more before storing or comparing.

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

> Whenever I've written authentication, passwords are hashed on the client side and never transmitted in the clear.

Unless I'm misunderstanding what you're doing, this achieves nothing.

Hashing the password on the client side makes the hash the password, and MITM attacks are still possible.

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

Sure, you could MITM still if all you do is that, as with anything it depends on what you are defending against.

If you are defending against clear text being discoverable, then bcrypt hashing with a unique salt on the client is good enough.

If you are trying to prevent MITM you can combine that salting with public/private key transmission of the bcrypt hash to the backend (effectively the same idea as pass keys without the downsides).

MITM just affects your service, and doesn't always matter depending on what the service is, for example, a recipe manager doesn't need to have bullet proof security.

▲Ra8 2 hours ago | parent [-]

What if the hash you're sending is discovered? I can use that to login to the service; it offers the same protection as a plain text password.

▲Maskawanian 2 hours ago | parent [-]

As the hash is being encrypted with the public key in the client, that would require that the client be compromised. In which case the original password is already exposed at that point, thus a discussion of the transport is no longer the concern.

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

Correct. The hash effectively is the password at that point.

If you’re storing the hash unencrypted in the DB, and it’s “just” a hash so why not, you’ve gone backwards.

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

> Whenever I've written authentication, passwords are hashed on the client side and never transmitted in the clear.

While rare, a couple of sites which has many (>1000) users have sent me my password in the plain when I told I forgot them.

Many sites have e-mailed my password in the open when I registered, as well.

I don't defend passkeys here, but too many weak links are present in password based flows today. If someone uses per-site strong passwords, one can contain the leaks, but use the password even once, and the problem grows exponentially.

▲Barbing 2 hours ago | parent [-]

> Many sites have e-mailed my password in the open when I registered, as well.

A phpBB forum era classic!

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

It adds a vintage character to otherwise modern and boring websites. This happened to me as recent as last week, BTW.

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

[flagged]

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

> Whenever I've written authentication, passwords are hashed on the client side and never transmitted in the clear.

Don't assume everyone coding a login page is as competent as you though...sadly.

▲encom 2 hours ago | parent [-]

But the sites where I actually care if my account gets compromised - Steam, FastMail, DigitalOcean etc. - are very unlikely to screw up password storage.

I'm never going to bother with paranoid security inconveniences for the crappy website my local pizza place uses.

▲ 2 hours ago | parent | prev [-]
[deleted]
▲amluto 2 hours ago | parent | prev | next [-]

A decent degree of phishing protection. And passkeys are not vulnerable to an attack that can transiently read server memory.

▲yjftsjthsd-h 2 hours ago | parent | prev | next [-]

AIUI: A password can be entered into a phishing site, a passkey can't.

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

As I understand it, in theory, there is no "secret" exchange over the network with passkeys, once they are initially set up (one side sends a challenge to decrypt, and the challenge is one-time use. The decryption all happens locally.) And so they aren't as vulnerable to phishing or other common ways to steal passwords (such as key loggers, which don't even involve the network.)

But in my opinion, the solutions that passkeys provide come with the costs that are being discussed here, and I haven't found the trade-off worthwhile.

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

--------- Oct 14 - 12:30pm... --------- There is a wall of text below your question and _none coherently, concisely answer your question: "What do passkeys offer users that rand strong password + password managers don't?"

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

Passwords always risk a transferrable oops: "Hi friend, this is the bank calling. We've got a big issue: what's your password so we can fix it?"

▲ 2 hours ago | parent | prev [-]
[deleted]
▲mattbee 2 hours ago | parent | prev | next [-]

My thoughts exactly.

Anything that randomly makes a Windows 8-style popup offer to keep my login credentials safe makes me want to run farrrrr away.

The vibe of the original criticism, even with its technical flaws was this: are passkeys - as a standard, and a user interface - vulnerable to corporate capture? I think passkey defenders are focusing far more on the theoretical technical superiority, and ignoring how instinctively alarming the average implementation is.

We face a lot a lot of attempts to capture our data, and passkey feels like a new frontier.

For me, I know exactly where I am with my password manager & TOTP. I think the current confusing interface of passkeys will make me less secure rather than more, so I've not invested the time to think about how to use them.

▲bkdbkd an hour ago | parent [-]

Agreed. They put someone else between you and your access, between you and your security.

Lets give the guys at the Home Depot all the keys to our super secure house locks. Any time you want to get in, just roll down to one of 5 convenient locations, authenticate with the HD, and they will issue you a one time entrance pass to the house. Easy.

Bullshit.

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

Still amazed that on HN of all places people are confused by or having problems with passkeys. I have yet to see any of the issues people are guesstimating could become problems and adopted on day one.

I have had two poor experiences, where passkeys I set up at one point stopped working and I had to generate a replacement, but this was not a problem because I have yet to come across a site that didn’t continue to offer other means of logins.

I don’t see anybody complaining about the login-via-emailed-link which seems to be the much more common trend these days and which I really dislike because it introduces an unwanted delay in login (and I have come across many sites for which this is the only means of logging in).

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

Definitely not wrong here. It is a confusing mess for most people. Thankfully, for folks all in on the Apple ecosystem, it should be pretty decent of an experience. Everyone else? not so much.

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

I think this is exactly the "Passkeys are a trap" argument though right? If you lock yourself into a single vendor, everything is easy and beautiful. If you choose a diverse set of vendors, it sucks so much more than passwords and password managers ever did.

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

Keepassxc and strongbox passkey integrations seem pretty good on all of the OSes and browsers I've used.

I think passkeys make a messy credential situation even messier, but make a tidy credential situation even tidier.

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

Good thing the FIDO group is already trying to block key synchronization with keypass and other open source managers...

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

> Keepassxc and strongbox passkey integrations

Isn't that a single vendor (or two)? How is this not lock-in?

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

KeepassXC at least allows you to export your passkeys should you choose. The people behind passkeys do not like this. https://github.com/keepassxreboot/keepassxc/issues/10407

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

Which changed to KeepassXC looking to support the standarization work to allow passkeys to be moved between user-controlled software products.

The complaint wasn't in allowing credentials to move (that is the point of the CXF and CXP work). The complaint was in having sensitive data in a plaintext file live long-term without any protections. That is also why one of Tim's early recommendations was to require encrypting the file via a passphrase.

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

This is not accurate. The very first sentence of that issue is:

> Passkeys should never be allowed to be exported in clear text.

and from another comment by the issue creator:

> I don't quite understand why requiring file protection/encryption can't be a temporary minimum bar here.

They're arguing for storing them in encrypted form. That's very much a different argument than arguing against exporting. I'm not taking any sides here, I just think it's bad to so badly misrepresent people's standpoints.

▲Banditoz 2 hours ago | parent [-]

The kdbx format is encrypted on-disk. You need a password to decrypt the database.

▲dwaite an hour ago | parent [-]

That isn't what is being discussed by the issue. The issue was pertaining to an unencrypted export.

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

Asking that services require you to encrypt your backup file by default to protect against local malware or malicious access is certainly not "The people behind passkeys do not like...allowing you to export your passkeys".

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

keepassxreboot/keepassxc#10407

  [Passkeys] should never be exported in clear text
  Overview
  Passkeys should never be allowed to be exported in clear text.
  [...]
I suppose we have different interpretations of the headline.
▲timmyc123 2 hours ago | parent | prev [-]

maybe read the whole issue?

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

Well, KeePass is self-hosted, and I hadn't heard of strongbox before, but it says on the website:

> Store your data anywhere you like, online or offline. Sync with every major cloud storage provider or your own server over WebDAV or SFTP. Use your Strongbox database with any KeePass compatible client on any platform.

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

I use nextcloud to sync my own keepass database across my devices. Both nextcloud and keepassxc are open source.

Please explain how self hosting open source software is locking me into a vendor.

If the sky falls and strongbox ceases working with mac/iOS I can use android and linux. Nobody is locking my lockbox.

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

On iOS devices you can import/export Passkeys between supporting password manager apps (including Apple Passwords).

In my experience, migrating between Apple Passwords and Bitwarden worked without issues, in both directions.

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

Wasn’t part of the point of the last article that some of the various methods we call “passkeys” aren’t portable?

▲dwaite an hour ago | parent [-]

Generally, if you want to restrict the user to use a particular authenticator, you need to own that authenticator. At that point you can have the attestation you are looking for. If you want Yubikey policy and behavior, you're gonna have to get your user a Yubikey.

The passkey provider vendors are motivated to serve their customer's needs (the end users, and secondarily enterprise deployments) over non-customer needs.

So Apple platform support (for example) will only send an attestation when one is configured via MDM. Your provisioned work device can indicate to work systems that it is in policy.

The compatibility-limiting risk, if it exists, is more likely from regulators putting their hands on the scale and pushing for security policies that would prevent synchronization and backup, and requiring attestations to make sure those policies are in effect.

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

I'm not saying it's impossible, I'm saying there's a barrier that's useful to further vendor lock in. My mom is going to use Apple passwords on her iPhone. When she needs a new phone, the complexity of import/export and fear of losing access to her accounts is going to push her to buying another iPhone. It's just another avenue of lock in, like existing OS level password managers, just with an extra level of confusion for the end user.

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

brother I locked myself in long before the passkey showed up

▲gumby271 2 hours ago | parent [-]

I mean yeah, customer lock in has been Apple's business model for a long ass time, that's not surprising.

▲rootusrootus 2 hours ago | parent [-]

Mostly, though, it is not true lock-in, as in they mostly don't force you to do things their way. They encourage it, make the features pretty seamless to use, etc, so that you want to stay in their system, but they generally permit you to use whatever tools you want.

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

On an iPad/iPhone, you are not allowed to install apps not approved by Apple.

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

Agreed, it's the bare minimum to keep them out of trouble usually.

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

The fact that the password manager someone might use on another system is a complete piece of crap does not mean passkeys are an Apple lock-in attempt.

There are an open standard. You just have terrible software.

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

My issue isn't with the standard, but if all implementations lead to the same shitty experience of 3 different apps begging to store and use my passkeys, then something isn't working right. In my case, the terrible software is Apple's Mac OS, Google's Chrome and/or Firefox, and sometimes Bitwarden still acting weird. Lets not even get into how wild Windows acts when a passkey shows up.

Saying it's an open standard, and that it's just all the major players I'm forced to interact with that make it suck isn't very helpful. That's like the people that say "Don't like iOS? Build your own successful mobile OS lol"

▲MBCook an hour ago | parent [-]

I’m not saying built your own mobile OS.

I’m sorry you have multiple pieces of software that want to be in charge, but aren’t passwords the same? Because Chrome and Firefox both want me to use them for my passwords. It’s not a problem unique to Passkeys.

It’s just everyone ignoring user preferences to try to score stickiness.

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

As the previous article says, some passkeys are open, while others require lock-in, and megacorporations deliberately create confusion between the two.

▲MBCook an hour ago | parent [-]

What lock in? The attention this article debunks and no one uses?

▲ 2 hours ago | parent | prev [-]
[deleted]
▲iAMkenough 2 hours ago | parent | prev [-]

If that's the argument, it's bull. If you use Apple hardware, you're not locked in and required to use Apple's default Passwords manager.

Microsoft Authenticator, Bitwarden, 1Password, etc. all support storing passkeys and support multiple hardware platforms.

It's no different than making your own decision on which password manager you want to use.

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

As a Bitwarden (and Vaultwarden) user on Mac/iOS/Safari, Linux/Firefox and Android I have had zero issues with passkeys since I started using them a few years ago.

The first two accounts I switched over to passkeys were my Nintendo and Playstation Accounts as it made sign-in much smoother.

I now use passkeys pretty much everywhere I have the option (at least on high value accounts such as Amazon) and I have not once had an issue. Not having to use a TOTP (or worse an SMS or email based one use code/link!) is much nicer in my personal opinion.

Some sites have a much better designed on-boarding process than others I 100% agree there. I find the sites that do a poor job with their passkey enrolment are the same sites that also did a terrible job of 2FA/MFA setup as well though.

One blessing with passkeys is since I set it up for my mother with her Amazon account she has not once had to ask me to help me reset her password. At least once every 6 months I would have to help her sort things our as she would forget it, reset it and then forget what she reset it to and can't reset it again as she hadn't clicked to update the password in her password manager so it had an old or incorrect password, etc. Always a pain to sort out. Not happened once since switching her to a passkey which is wonderful for me.

Also it is essentially impossible for her to use the passkey on a fake site. Multiple times she has fallen for phishing emails with realistic looking site logins and she would just blindly enter her username and password as many elderly people do.

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

Both of my systems are apple, one has a Work Apple account and one has a Home apple account. How do I log into website X with 1 identity WITH FIREFOX? (people are going to jump through hoops when they find out my work laptop blocks mozilla services when I can just use a TOTP token on my phone and everything works.)

▲dwaite an hour ago | parent [-]

I think Firefox had system integration with the password/passkey provider framework since 122.

If you do not have access to your personal Apple account on your work laptop, you would need to find some other passkey provider with native integration.

Under Settings > Privacy and Security, look to see that Firefox is listed and has access under "Passkeys access for Web Browsers". Unlike a native app which only needs passkeys for its own services, Firefox needs access for every potential service you might hit over the internet.

Then under General -> Autofill and Passwords, you'll see any apps which are registered as system password managers. Unfortunately this is a subset of the ones which register on iOS and I'm not familiar who has done integration yet in their Mac release - Chrome (with GPM) for instance is not listed even though it is available on iOS.

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

>Thankfully, for folks all in on the Apple ecosystem, it should be pretty decent of an experience.

How many people are for now and forever more all in on the Apple ecosystem. You never have to login on another non Apple device ever?

▲rootusrootus 2 hours ago | parent [-]

Step away from HN, and there are probably a lot of people who only use their phone to access the Internet. Smartphone brand loyalty seems to be strong, too.

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

I use 1Password to sync all my passkeys between iPhone, Mac, and Windows. It works exceptionally well!

▲rootusrootus 2 hours ago | parent [-]

Same here. My only nitpick is that I have to carefully go through the various machines and browsers, etc, and ensure that only 1Password is ever consulted for password storage.

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

But you can’t simply switch to Android without recreating every single passkey. Sounds like vendor lock-in to me

▲alwillis 20 minutes ago | parent | next [-]

> But you can’t simply switch to Android without recreating every single passkey. Sounds like vendor lock-in to me

Not so fast. Migrating passkeys from iOS to Android is possible now; migrating from Android to iOS is still being worked on.

Ricky Mondello's team at Apple created the Passwords app which brought passkeys to iOS, macOS, etc.

The entire presentation is worth watching if you’re interested in passkeys; the the clip below starts at 24:00 mark where they talk about migrating between platforms.

    Starting with iOS 26.5, you can choose to move passkeys and passwords
    from Apple Passwords to Google Password Manager. However, Android still
    needed "a future update" to receive them. That same update is meant to
    add transfers from Android back to iPhone [1].
The FIDO Alliance created a specification in 2024 called Credential Exchange Format [2] for moving credentials including passkeys, between passkey managers on the same device and across platforms.

In other words, being able to move passkeys between devices and platforms has always been part of the plan.

[1]: https://youtu.be/yVadD-Lfrfk?t=1454

[2]: https://fidoalliance.org/specs/cx/cxf-v1.0-ps-errata-2026030...

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

Yes you can. You can export your passkeys and then import them into whatever android password manager, or 1Password.

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

I was under the impression that most credential managers won't allow you to export a passkey to a plain text format, but will only allow limited app-to-app transfer of keys (with a limited selection of compatible apps only)

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

I want to import them in Android nit another app and you can export to an Android app only to another app on your iPhone

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

Well designed platforms and auth frameworks allow adding multiple passkeys. The problem is this requirement was never coded into the passkey standard.

▲al_borland 2 hours ago | parent [-]

That still requires recreating every passkey, even if both can exist at once. If I want 50 sites to use a passkey on macOS and Linux, I need to go through the setup process 100 times, and all 50 sites will likely handle it slightly differently.

It also requires foresight if switching. I ran into this with 2FA as well. When I got a new phone, after setup it offered to wipe the old one, I declined. When I went to open my 2FA app for work on the new phone, it needed to be setup. I needed the 2FA on my old phone to login to the portal and setup the new phone. Had I wiped my old phone when prompted, I would have been locked out and on the phone with the help desk. This same scenario can happen with Passkeys.

▲kqp 11 minutes ago | parent | prev | next [-]

I think the core problem is they’re called passkeys and evangelized as a replacement for passwords, which makes people think they’re like passwords or like keys—secrets we’re responsible for not losing—whereas actually they’re like session cookies. They’re a fast path in that you’re meant to be able to create, delete, and even clear all of at will, with no penalty but that you’ll have a fussier login next time. They sure do suck as an only way in, they’re not even meant to be able to do that.

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

So far, I've had a hard time setting up an iCloud passkey on desktop Windows. Windows Hello keeps intercepting most attempts at a passkey, and 1Password will usually step in otherwise. The UX around it continues to be baffling to me.

At least there's a dedicated migration protocol for passkeys, but I'm not super stoked about how basic Apple's password management is, and how few fields there are for each profile.

But I also feel like it's time to retire my YubiKeys ...

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

> But I also feel like it's time to retire my YubiKeys ...

Why, specifically?

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

You act as if the experience on Windows is the point of Apple's password manager. I'm not surprised the experience is pretty bad -- as far as I can tell, accessing the passwords and notes is pretty much the only thing you can really do on Windows, and the user experience is significantly impaired compared to Apple devices.

(For example, it only stores the passwords in memory and never persists them locally in any form, because there's no way to secure that, so it has to redownload them from scratch every time you open the app. It also only supports proper Windows Hello PINs rather than normal account passwords, because that's the only way to get proper hardware backed cryptography locked behind authentication, etc. It's a mess)

▲ 2 hours ago | parent | prev [-]
[deleted]
▲okrad 6 minutes ago | parent | prev | next [-]

This is more an indictment of the current state of password managers and the tension between them at OS-level and browser level

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

This, I've been an engineer for 25 years and I hate passkeys. I have a work laptop and a home laptop and I connect to some websites from both and I... it's just a mess.

▲bkdbkd an hour ago | parent [-]

Same. Fully agreed.

New and interesting ways to get locked out of your system.

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

Also consider the case where you use Google password manager and your Google account gets locked for any (or no) reason. It's unclear whether you can even still use your passkeys, much less migrate them away.

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

Passkeys only make sense if every user has a open source Fido 2 hardware based USB passkey (like yubikey but opensource).

Then the user still controls the passkey using a password and then everything else flows from that.

▲buddylw 2 hours ago | parent [-]

Passkeys only make sense if multiple passkeys are supported. What if I lose my Fido key? One issue here is that passkeys don’t have a clear role. If they are replacing passwords, only, then they are 100% an improvement even when not hardware backed, but you still need 2fa. If they are hardware backed, you probably don’t need a second factor and different sites see different roles. Assuming I can setup a backup key, hardware backed covers all of sites’ misconceptions, though.

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

A few examples here to illustrate... The way ebay and Amazon handle this are great. Multiple passkeys allow login of multiple device ecosystems and/or hardware tokens so that users can mange their own level of risk and really any level of implementation is helps the average person.

Meta's implementation by contrast is bad, in my opinion. You are only allowed one passkey (so one login ecosystem/hardware key allowed) and it completely bypasses 2fa and security tokens. So, someone looking for more security must avoid passkeys "altogeher" and use password + U2f security key and the passkey only being allowed in a single ecosystem means that password/phishing lanes must remain open. All you're doing is disabling 2fa on a key that is likely sync'd to all of your devices. All that said...it may still be a security improvement for most users in the real world in practice, I just find it a very annoying and confusing set of security decisions.

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

The primary reason 2FA exists is because passwords are phishable. If you remove passwords, the need for 2FA largely disappears.

▲buddylw an hour ago | parent [-]

It moves the attack surface to password managers, which is arguably a better situation than phishing. I'm skeptical that the war is over, though. I have no proof to back this up as phishing is the low-hanging fruit today, so the numbers 'largely' back you up. I personally include device compromise in my threat model and I'll concede that may be overdoing it for the average person.

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

> Why are passkeys better?

Passkeys provide perfect protection from phishing attacks, since it's impossible to send a passkey to the wrong domain. That's a huge improvement over TOTP.

Re: it being confusing where they're stored, I agree. The solution is to make sure you store your passkeys in your cross-platform password manager. The experience can be confusing though. In Chrome I've found that by default when creating a new Passkey Chrome offers to store it first. But if I click cancel, I'm then given the option to store it in 1Password where I want it.

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

> What happens when I go to the same site on a different platform?

You click the "log in with QR code" button, scan the QR code, and authenticate using your phone.

Unfortunately that only works from phone (and watch) to computer. If you don't have the passkey available, you click "forgot password" and set a new one, same as with a password.

▲pigeons 39 minutes ago | parent [-]

That's part of the horrible experience I hate. why should I have to have my phone to login on my computer.

▲jeroenhd 25 minutes ago | parent [-]

You only do it if you want to. You can put your passkey in keepassxc or 1password or bitwarden or google's password vault or any other cross-platform passkey platform.

It's only a problem if you pick a platform that locks you out, even then there's workarounds. It's not a replacement for logging in every day, it's more a replacement for typing over the 64 character random password from your phone's password manager on the library computer.

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

> When a website prompts me to set up a passkey, depending on the device I happen to be using at the time it could end up going to Google password manager, Samsung password manager, iCloud Keychain, or Windows somethingorother.

This is the same problem we've had for 20 years with password managers, though.

The solutions are mostly the same as well (with the change to a QR + BLE based mechanism over manual transcription to go cross-device, and a protocol to support moving passwords and passkeys over to different software rather than using a plaintext password CSV export).

Many password managers also manage passkeys (and were managing TOTP before).

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

TOTPs are already not that great in my opinion. It's like democracy: the least bad option. It's a decent trade-off between convenience and security, so I'll stick to unless there are good reasons not to. Passkeys have managed to make that experience worse, with a very large potential gotcha in the future, while not introducing any improved security I see why I should care about.

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

They give me OpenID vibes, and non-tech people can't understand what they are.

Heck, as an engineer even I don't get them. What ever happened to password + yubikey?

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

Yeah, there needs to be a way to link password managers to share passkeys, and also to share passkeys between people. There are also a lot of great features that could be implemented with passkey sharing too, like revocation, time limits, or capability limits.

▲LocalPCGuy 2 hours ago | parent [-]

Adding the kind of sharing it sounds like you are describing would just shift the attacks to that new attack surface. The attackers would basically try to trigger and intercept those shares.

If machines, browsers, phones etc are set up properly (yes, I know, big ask, especially with the confusion surrounding this, so I acknowledge the caveat), then the vast majority of passkey requests will go right into the preferred method (i.e. 1Password, Bitwarden, even Apple, browser of choice, etc). And most of those now will allow that passkey then to be used on a different device if signed in and synced.

I have found it to work pretty well with a password manager. I would suspect OS level passkeys would be much less "portable", especially across different manufacturer devices, like Mac/Windows, or even Windows/Android, etc. Which is why I waited to start using passkeys until I could use a password manager to store them, and I turned off all other passkey storages (same as I did for password storage before).

▲modeless an hour ago | parent [-]

Obviously any new feature in a password manager is a new attack surface. That doesn't mean we should never add new features to password managers.

If we don't add decent sharing to passkeys then people will continue to use passwords, which is worse for security than adding a properly designed sharing feature for passkeys.

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

Bitwarden[0] can store and supply passkeys (and passwords of course) across macOS, iOS, Windows and linux seamlessly.

[0]https://bitwarden.com/

▲xigoi 2 hours ago | parent [-]

Only if the website allows you to use Bitwarden for the passkey.

▲seemaze an hour ago | parent [-]

Outside of a corporate Microsoft Entra login policy, I'm not aware of Bitwarden passkeys being widely denied in practice.

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

I don't think I have seen a case where using a passkey stops me from using my password on another device/platform that doesn't have access to the passkey.

▲gomox 2 hours ago | parent [-]

That's because we are still in the "barely lukewarm" stages of boiling the frog

▲SirMaster 2 hours ago | parent [-]

Maybe, but ultimately a website/service wants active users, and making it too hard to log in from different platforms or reset your auth and get back in is not going to get them more users or better user retention.

▲gomox an hour ago | parent [-]

Only true when the service needs you more than you need it.

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

It's not even clear what happens with Google Password Manager. It might go into your Google account or your local device. I somehow ended up with a mix of both.

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

>What happens when I go to the same site on a different platform?

Scan the QR code with your phone.

>What if I can't use cross-device authentication because I'm on a locked-down work machine or one that simply doesn't have bluetooth?

Most devices today ship with Bluetooth and even locked down machines support using your personal phone to authenticate.

>What if I want to consolidate them all in one platform just for the sake of being organised?

Then do that. Use whatever your phone uses.

>What if I lose or simply don't have the device with a certain passkey near me?

Then you will need to use a fallback authentication mechanism or will need to wait until you can get the device. TOTPs have the same issue.

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

TOTP is phishable. The push to get away from TOTP is driven by phishing.

I've done authentication projects for financial institutions that were actively targeted by phishing attacks, and it is difficult to mitigate TOTP phishing. Defeating TOTP is very much in the standard playbook for high-dollar scam operations.

▲AnthonyMouse an hour ago | parent [-]

The objection here isn't to something that uses public keys instead of TOTP. It's that they added support for remote attestation to passkeys, which an enormous red flag and enables That Which Is To Be Prevented, i.e. permanently entrenching the incumbents because many third parties won't support new device makers with no user adoption yet and users won't adopt a device that won't work with many third party services.

Moreover, the large majority of ordinary people are going to use whatever comes with their phone anyway, which can then lock the key in the device's secure processor by default independent of remote attestation. So then it's not getting you anything for those people and the primary thing it does is to impede Linux Girl from using Linux and anyone new from ever trying to create a competing mobile platform or even a usable non-Google fork of Android.

The obvious way to satisfy people is to remove support for remote attestation from the spec.

▲aleksejs 26 minutes ago | parent | next [-]

> The obvious way to satisfy people is to remove support for remote attestation from the spec.

If you presume bad faith on the part of basically the entire WebAuthn implementer community, how does this help?

The consumer passkey authenticator implementations of today do not provide attestations, passkey relying parties do not consume them, and both would need to intentionally ship changes to enact the scenario you're worried about. If you're worried about both of these colluding to lock you out of your accounts, it seems naive to think that changes to an (intentionally malleable, extensible) spec will protect you.

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

All the rest of this argument just misses me. Whatever the non-phishable authentication you want to use is, that's fine by me. But TOTP is phishable, eminently so, so you're not going to see security people back down from deprecating it.

▲AnthonyMouse an hour ago | parent [-]

Then they need to advance an alternative that doesn't support remote attestation.

▲tptacek 21 minutes ago | parent [-]

I think the arguments about attestation are bogus for all the reasons everyone else is pointing out but that doesn't matter because I'm not talking about Passkeys, I'm talking about why TOTP is a dead letter. You're not going to get security people to back down on deprecating TOTP, because it's phishable, and the point of modern authentication protocols is defeat that attack.

By all means, keep lobbying against Passkeys! I don't care. But you'd be shooting yourself in the foot rhetorically to build TOTP into your case, as the comment I replied to originally just did.

▲dist-epoch 2 hours ago | parent | prev | next [-]

Every time I've used a passkey with a site was in addition to the regular user password. So like a cached auth saved in the phone secure storage, protected by my PIN/fingerpring.

If it gets lost for whatever reason, I don't care, I will login again with regular username/password.

So as long as you also have a regular username/password login, phone passkeys are great time savers.

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

Security matters, users who want choice have to take responsibility, users that don't can just use Apple.

"What happens when I go to the same site on a different platform?" = "If you meant device, then Chrome has a feature to allow you to use a different device such as a NFC YubiKey"

"What if I can't use cross-device authentication because I'm on a locked-down work machine or one that simply doesn't have bluetooth?" = "Good, Passkeys are doing their job correctly and you cannot export credentials"

"What if I want to consolidate them all in one platform just for the sake of being organised?" = "Then log in and add more passkeys to things rather than copy-pasting passwords everywhere"

"What if I lose or simply don't have the device with a certain passkey near me?" = "You should have multiple passkey's or use the various cloud versions that exist"

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

That it’s possible to know the answers to these questions doesn’t mean the system is good. This is a level of complexity that most people simply do not have the time or bandwidth for.

▲phoghed 2 hours ago | parent [-]

Most people don't have time for the level of complexity of a password manager in general and just use one hunter3 level password for everything.

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

>>users who want choice have to take responsibility, users that don't can just use Apple

I'm perfectly happy to take responsibility — when using a well-designed system that isn't a massive pain-in-the-arse up front designed for vendor lock-in and to penalize small vendors.

Criticizing the new system isn't avoidance of responsibility, it is demanding a product that is worth using, i.e., NOT designed for the manufacturers to extract more money from us without providing more value or locking in their market position, but designed to be actually useful to the people who will actually use it.

EDIT: add last 8 words