| |
| ▲ | 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. | | |
| |
| ▲ | 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! | | |
| |
| ▲ | 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] |
|