4 ms·
Ask HN: Why do we need "Passkeys"
On things I care about I used U2F (Yubikey) which as a second factor is ideal. People trying to break into an account won't have my U2F device and fail. (I've seen them try this). Google's support of U2F devices sucks. Like really badly. But they seem to get that these things are safer than "passwords" that are reversible with rainbow tables. Now they are all about "passkeys" which they STORE ON YOUR DAMN COMPUTER OR PHONE.
Here is where I fall off the boat. If we learned EXACTLY ONE THING from the Crypto Coin world it was this, if you put something valuable on your computer or your phone, PEOPLE WILL WORK DILIGENTLY TO STEAL IT. Often in creative ways like otherwise silent drive by clickless exploits in browsers delivered by Ad Networks.
What part of "Good security is security where you don't get to run code on the device providing the security, ever." did they miss?
I am completely at a loss to explain this fail.
- wmf 3y agoPasskeys really can't be phished because they're site-specific and they can't be stolen because they're kept in the secure enclave. It's worth looking into the details.
- ChuckMcM 3y agoI'll give you "site specific" but I'm less confident on "can't be stolen." If the computer can fetch them to use them something running on the computer can too. Of course even "site specific" is valuable in the "gmail account" or "apple ID" world. The last Kreb's article was something like $30 each for gmail creds. Also my computer doesn't have a secure enclave because I'm keeping it disabled to prevent my machine from upgrading to Windows 11 :-). I wonder what it would try to do in that case. That said, are people putting their cryptowallets in the secure enclave too these days? That would be new information for me.
- obpe 3y agoThe key isn't fetched and never leaves the enclave. The enclave does the crypto functions. Passkeys are meant to replace passwords for the average user. And they definitely succeed at that.
- ChuckMcM 3y agoSo in order to access a service your access device has to have a secure enclave that can enact this crypto?
- tony-allan 3y agoMost modern devices do contain a hardware based Secure Enclave. Because the technology is newish I would do some research before using it for anything really important.
- jruohonen 3y ago> Most modern devices do contain a hardware based Secure Enclave. So like Intel's SGX was so secure until it was not?
- sp332 3y agoIt depends on the implementation, but I think that's the general idea. https://developer.android.com/privacy-and-security/keystore https://developer.android.com/privacy-and-security/keystore for Android, for example.
- justinludwig 3y agoOr you can use an external hardware security key; the latest versions of most security keys (like YubiKey 5, Nitrokey 3, etc) support Passkeys. Passkeys are basically just U2F 2.0, allowing you to use an asymmetric key pair as the first factor instead of the second.
- lapcat 3y ago> they're kept in the secure enclave. No, they're not. It is indeed worth looking into the details. It would be impossible to sync passkeys, for example via iCloud keychain, if they were kept in the secure enclave.
- wmf 3y agoI forgot that Apple is syncing passkeys but my understanding is that iCloud sync is enclave-to-enclave (unless you have an old Mac I guess) which is just as secure.
- lapcat 3y ago> my understanding is that iCloud sync is enclave-to-enclave (unless you have an old Mac I guess) You misunderstand. Keys that are stored in the secure enclave never get out. They can't get out. That's literally why it's secure. This is why Apple silicon Mac internal hard drives can no longer be swapped. If the drive is separated from the secure enclave, or the secure enclave is damaged and the encryption key is lost, the data on the hard drive can't be recovered. You don't have the key; you can't get the key.
- wmf 3y agoSo you're saying what... passkeys don't use the enclave at all?
- lapcat 3y agoThere are synced passkeys, and there are device-bound passkeys. The OP mentions Yubikey: you can store a passkey on a Yubikey, and then it's device-bound and can't be exported. But Apple's implementation of passkeys is synced; they're just stored in an encrypted keychain.
- md_ 3y agoI think you're the one who misunderstands. Synced Passkeys are, in the Apple world, still stored in a Secure Element; they just are exportable. https://www.slashid.dev/blog/passkeys-deepdive/ https://www.slashid.dev/blog/passkeys-deepdive/ describes this fairly clearly. Syncing does certainly open up attacks that are not possible against non-synced credentials, but you're incorrect to say that synced Passkeys are not stored in the Secure Element. At least, that's my understanding. Tell me if I'm wrong!
- solardev 3y agoMy passkeys just live in the 1Password cloud and get synced everywhere. Nothing to do with my computer. We went from "something you know, something you own, something you are, choose two" to "something only they know, choose one". Shrug. Sure is convenient though.
- eviks 3y agoPassword manager can generate site-specific keys (and as noted in the comments, they're not stored in the enclave)
- xcrunner529 3y agoWhy SSH keys?
- politelemon 3y agoYou don't need passkeys. They are aimed at a less tech savvy audience whose primary technology interface is a mobile device.
- TeMPOraL 3y agoYou don't need them now. If they get good adoption from mobile-first "less tech savvy audience", then very soon you too will need them.
- Nextgrid 3y agoPasskeys are in theory held in hardware, which in your cryptocurrency analogy is more like a hardware wallet - a malicious attacker can still use it online but can't steal the keys for later offline use. In theory, because most consumer-grade providers do offer some sync option which breaks the "100% hardware" guarantee and could allow malicious software to use this functionality to steal the raw key material for later offline use. Passkeys are a slight upgrade in terms of security but a huge upgrade in terms of vendor lock-in and discouraging people from escaping whatever Big Tech walled garden they're currently in. That's why they're being pushed so hard.
- jesseendahl 3y agoThey are not being pushed for vendor lock in purposes. They are being pushed because passwords are a completely terrible user experience and terrible security story for 99.99% of users on the internet.
- TeMPOraL 3y agoAnd if they happen to strengthen vendor lock-in, well, that's just a nice but entirely coincidental bonus?
- dchest 3y agoThere's no "in theory" or "breaks the 100% hardware guarantee". Passkeys were specifically designed to be able to sync. There are also device-bound passkeys that can't be synced, if you want that. That is all.
- blackqueeriroh 3y agoWhich consumer-grade providers are transmitting their passkeys across their own sync service in plaintext instead of heavily encrypted?
- rfoo 3y agoNope. Passkeys replace passwords, just as SSH keys replace your root password during login. Passkeys alone are a slight upgrade in terms of security compared to password only. They are a major downgrade in terms of security compared to password + second factor.
- jesseendahl 3y agoYou should watch the Apple WWDC developer talk from 2022. It explains very clearly the problems that passkeys set out to address. https://developer.apple.com/videos/play/wwdc2022/10092/ https://developer.apple.com/videos/play/wwdc2022/10092/ Most (not all, but most) of the criticisms I’ve seen of passkeys are a result of people making incorrect assumptions about the problems they were meant to solve. For example, to solve password reuse, weak credentials, phishing, and credential theft from server breaches, you need easy to use, convenient WebAuthn credentials. The convenient part is that they are available on all your devices via secure (E2E encrypted) syncing. The linked talk covers all of this in a lot more detail.
- md_ 3y agoIf someone has code execution in your browser, they can just steal your authentication cookies. They don't need your Passkey. It's true that unsynced/hardware-bound credentials can help mitigate such attacks, but they cannot prevent it. The primary threat model of Passkeys is password theft via phishing, reuse, server-side compromise, etc. If you want to use a USB security key, you still can--Passkeys do not take away from that. But most people are unwilling to go buy a USB key or carry one around, which is where Passkeys--arguably a bit less secure, but far better than the passwords they replace--are still a great step forward.
- rfoo 3y ago> If you want to use a USB security key, you still can--Passkeys do not take away from that. I can't. Most of services I use do not support using Passkeys + a USB security key as second factor. I'm very happy to use Passkeys (synced with my password manager, just like how I sync my password database now) + a USB security key. Unfortunately, most services force me to use Apple (or Google, Microsoft)-implemented Passkeys which are secured by their hardware devices so that they can also function as a second factor.
- md_ 3y agoI don't think most services are requiring specific vendor attestation for Passkeys. I think most services are requiring authenticators that support user verification. Does your USB security key support uv? E.g. https://www.yubico.com/products/yubikey-bio-series/ https://www.yubico.com/products/yubikey-bio-series/
- rfoo 3y agoGood point, it's not about specific vendor attestation. My Yubikey 5 supports user verification via PIN, but it can only store 25 resident keys :( That's my hardwares' fault.
- baxuz 3y agoWhat happens with your google-issued passkey if google bans your account?
- anonzzzies 3y agoYes, I am wondering this as well. It sounds nice but , like google sso, do I depend on google or Apple etc? As that sounds like a bad plan.
- greatgib 3y agoThis fad about passkey looks crazy to me. The good thing about passwords is that it just depend on your mind. You can travel through any country with hostile customs with empty pockets. No one can get your "authentication device" and there is not even a proof that you have an account on any website. Or that you don't have multiple of them.
- ylyn 3y agoWait till you forget your password one day.
- mikewarot 3y agoThat's easy, their password is TrustNo1! ;-) Seriously, all the people of my parents generation have a physical book with account names and passwords in it. You keep it in a safe place, and nobody can hack it remotely. Plus, should your heirs or caretakers need to access it, it's all there in plain text for them.
- Froedlich 3y ago[waves hand] That would be me. Other than a few web forums, I don't use my phone for anything that requires a password. Certainly not for email, banking, or anything that involves personal data, money, or business. A lot of stuff, I don't do on my desktop either. Anything connected to the internet is insecure. No, it's not as convenient to do things by phone or paper mail, but I value security more than convenience.
- ThePowerOfFuet 3y ago>If we learned EXACTLY ONE THING from the Crypto Coin world it was this, if you put something valuable on your computer or your phone, PEOPLE WILL WORK DILIGENTLY TO STEAL IT. Often in creative ways like otherwise silent drive by clickless exploits in browsers delivered by Ad Networks. So you don't use a password manager, and instead use the same password everywhere (or at most a few of them), along with the same email address (or perhaps a couple of them)? If so, you should be made aware of credential stuffing: https://en.wikipedia.org/wiki/Credential_stuffing https://en.wikipedia.org/wiki/Credential_stuffing >What part of "Good security is security where you don't get to run code on the device providing the security, ever." did they miss? You have misapprehended how Passkeys is implemented; the site you are accessing does not run code on your machine for Passkeys. As an aside, the site requesting the Passkey is part of the signed response; in other words, malicious sites impersonating a site cannot cause your browser to generate a Passkey for the site they are impersonating. If you are so worried about sites running code on your box, disable JavaScript entirely in your browser.