Comment by bonzog

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

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

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

    • It's ironic that passkeys are most usable in conjunction with a password manager that syncs them across all of a user's devices, but this is also the scenario where they have the least security benefit over traditional passwords.

      I do appreciate that passkey adoption has led to wider support for hardware security tokens for sites where I actually care about increased security over password managers, however.

      29 replies →

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

      6 replies →

    • From my experience, passkeys work great in the Apple ecosystem. Adding a passkey for a new site on my Mac results in that passkey syncing automatically on my iPhone and iPad via iCloud.

      "But what if I lose all of my Apple devices in a freak boating accident?" people often ask or something like it. Apple has a procedure for this [1].

      You can contact your "recovery contact" (a trusted friend or family member) that can help authenticate you to regain access to your account, especially if you're locked out or forgot your password.

      On a new device, you login to your Apple account, make sure iCloud Keychain is enabled, and all of your credentials, including your passkeys, sync to your device.

      I get it—not everyone wants or uses iCloud. Apparently, you can use 3rd party password managers like 1Password, Bitwarden, etc. to backup and recover your passkeys to use elsewhere.

      Here's a video of an export from 1Password to the Passwords app on an iPhone [2].

      [1]: https://support.apple.com/guide/iphone/passwords-devices-iph...

      [2]: https://youtube.com/shorts/gJ8BzT73JzY?si=zSY8vp_v297IfCro

      26 replies →

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

      3 replies →

    • 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)

      2 replies →

    • On XMoney I can't access the app on my desktop because it forced me to use an iOS device to set up the account, and I guess, but don't remember it mentioning, that it created a passkey on there. There is no alternate way to log in. You're just permanently locked out. I spoke to the devs, they say that's intentional.

    • > figuring out how to get the flow to set up a LastPass key by default seems unusually difficult

      Disable iOS passwords and set lastpass as your only password autofill source. It’s far from difficult. In settings under autofill passwords

      3 replies →

  • Yep, any time you're asked to set up a passkey it feels like Russian Roulette with future access to that account. A year or so ago, a site I relied on started enforcing biometric passkey enrollment. Without thinking about it I logged into the site on my phone and enrolled there, but unfortunately (a) that meant it didn't get registered as an "other device" in the internal system, and (b) the site didn't work correctly on mobile devices (legacy system). So logging in on a desktop would then demand that I activate the passkey, but of course the passkey was on the phone. No way to access it, and the site didn't offer me the QR code / bluetooth method. I don't remember exactly why, but it just didn't work - probably had something to do with it not liking Firefox on Linux or something.

    And to add insult to injury, it wasn't even a single factor login the way passkey advocates promise. The site still demanded a normal password to log in! It was actually 3 factor authentication; something I know (the password), something I have (the passkey), something I am (the biometric).

    This wasn't some random website that didn't matter made by nobodies. It was a US government website for managing grant money.

    • > Yep, any time you're asked to set up a passkey it feels like Russian Roulette with future access to that account.

      We rolled out passkeys a couple of years ago (I work for an auth/CIAM provider). This was before most passkeys were synced (which gives me the heebie jeebies--that's a valuable set of private keys to be shipping around).

      We built passkeys to be an alternate login method, not a primary one, for that exact reason.

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

    • > Supporting multiple passkeys should be a minimum requirement for every Passkey implementation.

      To go a step further, "multiple minimum" should be like... 5+. Enough to cover several devices (Laptop, Phone, Desktop) then at least one for backup/disaster-recovery purposes, and some wiggle-room for when replacing an old device with a new one.

      2 replies →

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

  • And they always ask right when logging in which is the absolute worst time to ask anything.

    If I'm logging in to your app or service it's because I want to do something. Throwing up a "hey would you like to setup this complicated auth thing before you're able to do anything else?" Is annoying at best.

    Then they normally follow it up with a tutorial that blocks the part of the app you need, and a full screen modal to subscribe to their newsletter, and a cookie dialog asking to let you track them, and a popup asking you to rate them on the app store, and...

    Only once I've beaten away all the interruptions am I finally able to use the damn app.

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

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

  • Some of them support multiple passkeys and somehow I've now got three different ones for the same site in my password manager...

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.

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

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

      7 replies →

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

      5 replies →

    • That is my understanding as well but I like to point out: The private ssh key lives on the hardware it was created on. It never leaves the system. Even root cannot "copy paste" that sucker around and chuck it into a password manager app or even "better" on a cloud service so you can use it on any device you log into.

      I liked the idea that passkeys work the same way but now for logging into services like amazon or google etc.

      Imagine my face when I learned that that so many interpretations of passkeys exist that actually create that private part in a passwordmanager or chuck it into iCloud or equivalents.

      I wondered if the inventor of the private/public keyexchange still lives or if he would spin in his grave hearing what happened...

      I would have been on board if the passkeys only existed on your hardware period. I would have accepted that I would need to set up access from devices of my choosing and therefore cannot log into these services from any old "cyber cafe" on a whim.

      But I would, as an emergency BCM measure, expect a sort of breakglass phrase that I could obtain and keep safe like at a bank deposit box or similar in case all hardware with keys to said service would die at the same time.

      I understand though, that for most all this would look like way to inconvenient and using the cloud instead is so much more convenient which is why they decided to hollow out the concept of the passkey.

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

      11 replies →

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

  • The easiest way to think of it is they are like ssh key auth where the keys are stored in your password manager.

    I have no doubt users will get confused about which password manager they have their passkey stored in, but these are the same users who don't know what a password manager is so they share a password across everything and get hacked regularly.

  • With the exception of general-purpose authentication services like Microsoft Entra ID where organizations can set pretty much arbitrary authentication requirements, I've yet to encounter a site where merely setting up a passkey disables other forms of authentication.

    The benefit of adding additional authentication methods without disabling others is limited, of course, but it can still be useful where, e.g., you're comfortable logging in using a password manager on your own devices but want to use an iPhone or YubiKey to log in from public computers.

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.

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

    That's the biggest issue.

    Haven't been tricked so far. On the other hand, I've had a couple of accounts locked because "we don't like your ip", "we want your phone number now", or "we want to send a push notification/text to the phone that just died".

    Why would I trade control over my credentials for some potential security gains, while introducing new dependencies on Google, Apple, or whoever runs my password manager - and the very real risk of being locked out of all of my own accounts?

    • You don’t have to use a password manager that relies on an account. Personally I use Strongbox on iOS and macOS, which stores everything (including passkeys) in a .kdbx file. I then sync the .kdbx file over iCloud, but if I lost access to iCloud then there would still be copies of the file on all my devices. Overall this is not as secure as the more centralized alternatives, but it does leave me in control.

      1 reply →

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

  • > But they're wrong. You are not too smart to be tricked. Nobody is.

    If my password manager is entering my password for me, so how can I be tricked? That's the superpower for passkeys, right? It also applies for plain passwords. Infact, if a login page looks familiar, but my password manager doesn't show any matching credentials, that throws up red flags for me, because I only use my password manager.

    • Because password managers allow you to use a password and 2fa even if the url doesn't match. And sites often legitimately change domain or have multiple domains which trains users that sometimes it doesn't work and you have to override the automatic matching.

      Passkeys physically don't allow you to send them to the wrong sites so the sites have to make sure they keep working.

      1 reply →

    • "Weird, my password manager isn't submitting my password properly. Well, that happens sometimes. I'll just copy and paste it" [or manually select a password to autofill]

      1 reply →

    • If the password database of the website is hacked the attacker knows your password for that very website. With passkeys he knows your public key.

      1 reply →

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

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?

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

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

      33 replies →

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

      3 replies →

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

      9 replies →

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

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

      7 replies →

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

      6 replies →

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

      Replying only to this part, using a password manager with autofill solves this problem. The password manager (I use Bitwarden, but there are others) can check the site you're trying to log in to, and only autofill passwords that are for that site. I don't have to do any work to differentiate example.com from thisisexample.com, because Bitwarden will only show me the example.com password.

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

      5 replies →

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

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

      22 replies →

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

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

      4 replies →

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

      2 replies →

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

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

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

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

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

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

    Wrong question.

    Users don't use good passwords or even password managers. Users reuse passwords.

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.

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

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.

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

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

      18 replies →

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

      6 replies →

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

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

      7 replies →

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

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

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

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

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

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

    • This describes most non-techy people I know who are 20~ years older than me (unless they're 40+ years older than me and only using a laptop to check their email).

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

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

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

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

      1 reply →

I agree and I have a good example.

At my work we are forced to use passkeys internally and it's fine with me.

At some point in the past, due to the constant nagging I set up a passkey on my GitHub account.

I needed to sign in to work's GitHub account, so unknowingly (since there's no SSO option there) I just clicked on "Sign in with a pass key". It didn't ask for my username, just gave me an option to scan QR code. And I did because work's pass key is set up on my personal phone. Then I noticed that it's trying to sign in with my personal GitHub account. It's good that I don't have anything sensitive on there but I really wouldn't want to sign in on my personal account on my work's laptop.

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.

  • Same. Fully agreed.

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

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

  • 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)

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.

  • I've had nothing but bad experiences with TOTP. Mostly involving dead phones and having to find the backup codes.

    • You can back up the TOTP secrets to add another layer of protection. I haven't needed to restore from backup yet, but I'm pretty confident that failure mode won't be a problem outside the immediate timeframe my phone happens to die.

      2 replies →

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.

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

  • What if the website loses its domain? There are plenty of examples of dickish domain registries and registrars, domain holders getting phished, etc. How do you reset it to the new domain?

    • If you lose your domain, you have bigger problems than just passkeys. If you just used passwords, users would still have to somehow locate your new site and trust it with the password previously associated with your old site. Password managers won't input passwords from one domain onto a new domain.

      As someone else said, you'd have to do an email blast and hope users trust the email blast as authentic to trust your new domain, and just someone phishing.

      Loss of a domain is so catastrophic for trust that passkeys don't make it much worse.

    • Allow email resets in the case of a lost domain. You could disable them in normal operation but in this case, any users with passkeys from the old domain can enroll a new one via email.

      2 replies →

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?

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

> but I do know as a user that they appear to be a confusing mess.

I'm a very tech savvy person, and understanding the ins and outs of passkeys has been a time investment, and that's the problem. Technical and security merits notwithstanding, they're a confusing mess. I understand how they work, but what I don't really understand, is how to recover when they don't work.

Selfishly, I end up being tech support for my extended family, and I don't have the stamina to try to explain to them how this works.

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

  • A password is not like this because a password is a simple keyboard input by default. It only becomes a password manager if you make the active choice to install a password manager, and then it's your fault if you don't grok your own chosen password manager. Passkeys use something password-manager-esque out of the box, so they have this problem.

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.

It almost seems like instead of passkeys in their current state we just need SSH keys but with added website verification.

  • Passkeys in their current state essentially are just SSH keys with added website verification.

    A lot of the "slippery slope" confusion in the past couple of articles has been that this "cheap SSH key" approach was built on top of the same standard for "expensive hardware key" (Webauthn). This is great because it means a rich backwards compatibility story across a long history of devices and "expensive hardware key" remains an option for Passkeys. This is unfortunately confusing because Enterprises still need Webauthn for "only expensive hardware key" usage so need options in the standard like "Attestation" which specifies things like "exactly which expensive hardware key vendor was used".

    People see this confusion and think it leads to a slippery slope of attestation being required "in the future", but the reality is more that attestation and things like it were required in the past and are optional now because we realize "cheap SSH keys" are good enough for most users (with some standardization and shared "branding").

    • Except that in almost all implementations passkeys can't be extracted or copied, unlike ssh keys. Great for enterprise, terrible for home use.

      3 replies →

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

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

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

      1 reply →

  • You can use it computer to computer, too, as long as the laptop has a camera to read QR codes.

    In theory phones and watches could implement the other direction and generate the QR codes, there's just less pressure on the ecosystems to make that easy to do so it's not there in practice today.

    • In theory, I guess, but dragging a desktop to my laptop to log in is a bit much. We need a better solution for that.

      The CTAP2 protocol has better alternatives, https://github.com/fmeum/WearAuthn is possible because we already can do better. I just hope it'll be implemented at some point (though, realistically, the future is phone-first, despite how much I dislike the implications that carries).

So in my own experience, the same tool I use for TOTP is the one I use for passkeys, suggesting it’s at least possible for passkeys to be as frictionless as TOTP.

On the rare occasion I’m logging into a device that isn’t mine, that doesn’t have my password manager on it, scanning a QR code from a device that does have my password manager on it has been enough to get me in. Without sharing any secrets with the foreign device, incidentally

So I’d wager your concerns are valid and are likely to be addressed over time, as this stuff develops rapidly. It might even be better in your scenarios already

Lately it has been a tap-tap operation to enroll a passkey. Sweetwater.com surprised me with it the other day. I was done in seconds, and now I can log in without even having to enter a code. Face ID handles it for both iCloud Keychain and Bitwarden

Add to my frustrations the many domains of places that don’t share a passkey. (I kinda understand it but not fully)

Amazon.com, UK, DE, JP, all need different passkeys. Yet my password and TOTP works across them all seamlessly.

And then some pass managers will only store ONE passkey for that login/password.

Its mighty frustrating and while I have been told and see the biometrics make it more secure…

It’s a pain in the arse to now have a stack of domains each in my password manager when searching.

:( In security, you forgo SO MUCH convenience.

I've been working on passkey-adjacent systems recently (including systems integrating the physical passkeys developed by a team in the same open-space) and I don't feel like the passkey industry has answers to that, in terms of ease of use/usability. Right now I'd say between an OTP on a phone and physical passkey is that it might just be quicker to plug in the passkey and push the button (if applicable) than fishing my phone out of my jacket, unlocking it, launching the app and typing the code...

I’m not necessarily a security expert, but my understanding is that passkeys are better in two (or more?) fundamental ways.

- it is linked to a domain, as the article states, which makes it less likely to “exposed” in phishing attempts - it is a challenge system, essentially a public private key system, so the private key never leaves your device. Kind of like tls/https. Which means that even if bearer/login token is lost, your “password”(private key) isn’t lost. - also, an obvious bonus is that you get a really long “password” which is practically impossible to guess

Sorry if any of my terminology is wrong here.

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

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.

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

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

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.

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.

Sites should support multiple passkeys, and allow you to select between them if more than one are available.

I've seen this work on both Windows and iOS, where I have sites set up to use passkeys from multiple sources (Yubikey, Windows Hello, Apple Passwords, Microsoft Authenticator app), but I've also seen it not work, so there must be something the site has to do to make this possible.

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

Initially I've also struggled with this, and the mental model I found most useful is that a passkey is used to log in into that account from that device.

If the website doesn't allow you to add multiple passkeys then that's bad ux and that's on them.

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.

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

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

I also don't understand why this was the only real downside off TOTPs brought up. "What if you input it in the wrong site?". Surely the exact same thing can happen with passkeys?

  • It can’t, because passkeys are bound to specific domains and you simply aren’t given the option to log in with a passkey on the wrong domain.

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.

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

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

      1 reply →

> it could end up going to Google password manager, Samsung passWord manager, iCloud Keychain, or Windows Somethingorother.

Using all that is just asking for trouble. Turn all off except one.

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.

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

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

      5 replies →

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

      2 replies →

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"

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

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

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