Comment by bmitch3020

8 days ago

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

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

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

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

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

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

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

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

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

    • > Passkeys have to be online to enroll additional keys

      No they don't? A passkey is fundamentally just a private key pair, which can be copied around just like a very long password. Of course if you store it inside one hardware enclave and want to move it to another hardware enclave you have a problem, but for software implementations it's simply a client UX issue.

      8 replies →

    • Most website implementations that support passkeys have to support multiple key enrollment. It's the only long-term reliable way for the many, many users that are cross-ecosystem, which especially means Windows users in the age of no Windows Phone. Every Windows user has either an Android or iPhone. You can bootstrap with Bluetooth LTE access to your phone for a Passkey, but it's a rough web experience if the user needs to do that every time they access a page, so most good flows ask the user the enroll a Windows PC passkey in addition to their phone's passkey and really good ones make use of a passkey auto-enrollment option designed for this scenario (Bluetooth passkey to "local" passkey auto-enrollment).

      Perhaps surprisingly, Windows has helped keep Passkeys from being "proprietary" lock-in because Microsoft no longer has users in a single ecosystem.

      There is no dedicated auto-enrollment for "backup" keys, but most consumer sites make it very easy to enroll "backup" keys yourself.

      Also, Passkeys don't have to be "online" to enroll additional keys. Each key is independent, enrolling is just generating new keys. The trouble is that web browsers generate lots of Passkeys (at least one per domain, at the very least) so if you in theory want to print them all and store them in a physical vault it might be a hefty book you are printing.

      Cloud sync isn't required. Most users want it so that they don't have a single-point-of-failure.

      As an implementation detail some Passkeys have a master key that is then used in some key derivation function (KDF) to generate the hundreds or thousands of individual passkeys (at least one per domain), and that's what most Yubikey passkey implementations need to do because Yubikeys weren't designed to store lots of keys, so it is devices like Yubikey that makes it seem like Passkeys are less independent than they really are.

    • I am not sure I completely understand.

      > so a Yubikey passkey is very quickly a single-point-of-failure

      It is a single point of failure when there is one. As soon as you use two, then it's not a single point a failure anymore, is it?

      The counter argument I usually read is: "Yeah but it is not practical, because you need 3 yubikeys: the first 2 with you, that you enroll everywhere, and one in a safe. And every time you add a new passkey, you need to go get the one in the safe, replace it by another one, and enroll the one of the safe. You can't spend your life driving between your desk and your safe".

      But I have been using multiple Yubikeys for... 8 years now I think? I don't remember the last time I enrolled and important key. Sure, once in a while I add a website, and it is a bit annoying to have to enroll the other Yubikeys at a different time. But it really doesn't happen that often, and anyway most of those websites allow me to recover my account with my email. So it is actually practical to have a "convenience yubikey" for websites that don't matter so much, and in case this Yubikey dies... well those websites were not so important, and anyway I can recover from my email.

      The difference for the important websites (and really, I don't think I have really important websites in my life that don't allow me to recover by going in person with my ID, but for the sake of the argument) is that I actually do have multiple Yubikeys, one of which is stored away.

      Whereas the master password of my Bitwarden account is a single point of failure, and the security of my online Bitwarden account is as well.

      11 replies →

    • I use Yubikeys for WebAuthn 2FA (not as passkeys). Keeping them in sync is not a big issue in practice: I just don't sign up for new services that often. There's a stable set of services I'm using and it is rare that I actively look for something new. Usually it is the other way around--how do I use this thingamajig without creating an account.

    • Why would cloud sync never be "truly secure" (no such thing btw – security is always a tradeoff, availability also matters etc.)? A hardware root of trust and credential synchronization are not mutually exclusive.

      True, most solutions today don't do this, which makes onboarding of fraudulent additional instances to some cloud-synced vault a big security concern, but I don't think it's fundamentally impossible.

      1 reply →

  • > You can put your passkey in another safe.

    This! Passkeys would have been tough for me to adopt without this ability. Now passkeys are significantly more convenient that any other MFA method.

  • Right, but... I can already store my credentials in a password manager and enable MFA. I understand the pitch, but Passkeys seem to buy me very little as a user and add significant brittleness.

    • Most password managers allow passkey creation and storage. Most cyber attacks these days are initiated by phishing. If you get hammered one night and open a bogus link, you can still complete the pass/OTP combo, but a passkey will simply refuse to sign a domain that's not tied to

  • > I store mine in my vaultwarden.

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

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

    • Passkeys are just a private key plus some metadata.

      Bitwarden lets you export your vault, and the export contains the private key in plain text. There is virtually no difference to writing down a password on a piece of paper. Well, I guess a passkey is a lot longer than the avg password.

      This changes if attestation ever becomes widespread. Which will only happen if Apple does a U-turn on their stance.

      5 replies →

Same for me.. I don't want my login information to be tied to a particular device, or device vendor. TOTP is a clear winner in all of this. Minor inconvenience, but highly secure and portable.

  • A password manager solves this problem. I use 1password but there are others, including open source solutions. Passkeys for me are by far the most convenient form of MFA-based authentication.

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

Want to dance? Yes | Maybe Later

  • It's not a lack of comprehension, it's late stage capitapism laser focused on the next quarter's earnings and nothing but that.

> I was forced to use a passkey implemented within the vendor's app

Sigh. It's OpenID (the original one) all over again? Everyone wants to be the auth provider, nobody wants to accept other auth providers.

> I want to be able to backup and lock my credentials in a safe.

I use passkeys all the time and absolutely have this on every account I care about.

> I've yet to voluntarily enable passkeys, for the main reason that I want portability, and not to be tied to any single device that can be lost.

For any given Passkey-enabled service you use, you can have multiple Passkeys - ideally one per device, and it doesn't prevent you from also authenticating with another method, such as username and password.