Missed opportunity for “What the eff is a Passkey?”
Removed by mod
You’re still entering the password or pin for your password manager. I genuinely do not see how this is better. It’s simply an alternative, not an improvement.
-
Password managers are, generally speaking, far more security conscious than the average website. I’d rather send a password to my password manager a couple times a day than send passwords to every website I interact with.
-
One click to confirm vs. 2-3 to autofill. Tiny gains in speed 🤷♀️ If you make a password manager even slightly more convenient than just using
gregspassword123for everything, you can onboard more normies.
Most people that have password managers are already using different passwords for each website. Usually randomly generated. What’s the difference between that and a passkey?
Removed by mod
Client side hashing of a password just makes the hashed result the password, as far as security is concerned.
Unless there is some back-and-forth with the server providing a one-time-use salt or something to make each submission of the password unique and only valid once, at which point that might get snooped as well.
Better off relying on client certificates if you are that concernedAh, thanks for that explanation. That makes sense. Eliminates a possible attack vector with https
Right. Most people that have password managers. Making a password manager easier and more convenient to use means some portion of people who aren’t using one may start.
Realistically this is the biggest overall advantage.
Sure, there are minor advantages to people already using password managers, but that’s such a tiny minority of people…
A pass key is the private key in a private/public key pair. The private key is stored in the TPM on your device. The website contains the public key. When you use your “one password” you’re in effect giving your device permission to access the key storage in your TPM to fetch the private key to present it to the site.
What this means in practice is that if a website has a data breach they won’t have your hashed password, only your public key which… is public. It doesn’t and can’t do anything on its own. It needs the private key, which again only you have and the website doesn’t store, to do anything at all.
If you want to read more about it look into cryptographic key pairs. Pretty neat how they work.
When you use your “one password” you’re in effect giving your device permission to access the key storage in your TPM to fetch the private key to present it to the site.
Very small correction as I understand, but your private key is never presented. The web service should never interact with the private key directly. Your device is signing some bit of data, then the server uses your public key to verify that it was signed by your private key. Its a small distinction, but is one of the principal uses of asymmetric encryption is that the public key can truly be public knowledge and given to anyone, while the private key is 100% always only accessed by you the user.
Yeah, the TPM should perform the signature inside of the security chip, the key is always off limits from everything else
Removed by mod
deleted by creator
It would be backed up at the point of provisioning.
A TPM can be set to allow exports or block them, so if you program the TPM to export a key once and then flip the switch to block exports then you can have this kind of backups and synchronization
Passkeys use cryptographic keys held client side which are never transmitted, they user cryptographic challenge-response protocols and send a single use value back. You can’t intercept and reuse it unlike with passwords.
But does their advantage in security overcome the fact that they’re a much larger target?
It’s similar to how money under a pillow could be safer than money in the bank; depending on who you are.
In general, yes. Big sites get hacked all the time. Passwords from those sites get cracked all the time. Anyone who uses the same password on multiple sites is almost guaranteed to have that password stolen and associated with a username/email at some point, which goes on a list to try on banks, paypal, etc.
Conversely, to my knowledge, there has been one major security breach at a password manager, LastPass, and the thieves got more-or-less useless encrypted passwords. The only casualty, at least known so far, is people who used Lastpass to store crypto wallet seed phrases in plaintext, who signed up before 2018 when the more secure master password requirements were put in effect, chose an insecure master password, and never changed it once in the four years prior to the breach.
It’s not perfect, but the record is lightyears better.
Put it this way: Without a password manager, you’re gambling that zero sites, out of every single site you sign on to, ever gets hacked. From facebook, google, netflix, paypal, your bank, your lemmy or mastodon instances, all the way down to the funny little mom-n-pop hobby fansite you signed up for 20 years ago that hasn’t updated their password hashing functions since they opened it. With a password manager, you’re gambling that that one site doesn’t get hacked, a site whose sole job is not to get hacked and to stay on the forefront of security.
(Also, you don’t even have to use their central servers; services like BitWarden let you keep your password record locally if you prefer, so with a bit of setup, the gamble becomes zero sites)
I use a different password for every site tho. Using same pw for every site, that’s another extreme entirely.
Most people do not. The average user has one or two passwords, and maybe swaps out letters for numbers when the site forces them to. Because remembering dozens of passwords is hard. If you, personally, can remember dozens of secure passwords, you’re some kind of prodigy and the use-case for a password manager doesn’t apply to you, but it still applies to the majority.
One doesn’t have to remember dozens. Just a basic algorithm for deriving it from the name of the site. Complex enough that it’s not obvious looking at a couple passwords but easy to remember.
This method works for me. I understand its dangers (can still correlate. Dozen passwords and figure out the algo). But it’s my current approach. I hate even discussing it since obscurity helps.
Your system is most likely way less secure than you think. I mean, possibly not since you’re here, but most schemes are trivial to solve even automatically.
…and that doesn’t really matter either, because so many people have such shitty passwords (and use the same ones everywhere) that noone really bothers checking for permutations when they have thousands of valid accounts.
But if truly enough people are convinced to be more secure your scheme may eventually become a target, too.
With passkeys (and password managers in general) the security gets so good that the vast majority of current attacks on passeord protection get obsolete.
Okay, I’m glad you have a system, but it’s not really relevant? I didn’t say you should use a password manager. I said it’s good for the majority of people who can only remember one or two passwords.
-
You’re entering your password into your password manager, which is stored by a company or entity whose entire job is to keep it secure. You’re not giving your password, in any form, to the website or service you’re accessing. When the website gets compromised, your hashed password is not in a database waiting to be cracked. All the attacker gets is a public key they can’t use for anything.
Passkeys are asymmetric, meaning that the server only ever sees your public key. If the server gets breached, then only your public key is leaked, which isn’t a big deal. Functionally, it’s almost identical to SSH keys.
Since you should use a password manager anyways, it wouldn’t make a difference if they get a randomised password or public key.
If they get your password they can impersonate you to the server. They can’t do that with just the public key part of your passkey.
That’s true.
Ideally my password should be hashed and salted anyways, so that shouldn’t make a huge difference.
If you’re using a hardware token like a YubiKey then you do need to enter your PIN before being able to use it.
The main benefit is that you cannot extract the Passkey from the secure element (the token cannot be transformed from what you have to what you know) and it cannot be phished through a fake domain as the challenge-response will not match.
Removed by mod
Because it’s for your website logins. It just stores the key and auto logins.
Because you don’t send a secret value, you only send a cryptographic asymmetric single use value which is safe to disclose
deleted by creator
TOTP generated on the same device as the passkey is not a secondary factor. It will have been compromised together with the passkey.
For passkeys, the secondary factors are used to access the passkey vault, not auth to the server. And these secondary factors should be a master password, biometrics, or physical keys. TOTP and SMS are out.
deleted by creator
I’m not sure I follow you - if someone can compromise the key material on my phone that is protected by a different factor, then it doesn’t matter whether the 2FA is server-side or not, it’s compromised either way.
deleted by creator
[This comment has been deleted by an automated system]
deleted by creator
This is where PAKE algorithms for secure password checks fits in
Passkey plus TOTP doesn’t really make sense (they’re both client side cryptographic keys, you don’t need two protocols), at least use a PAKE algorithm with a PIN instead if you want the server to be able to check the user’s knowledge of a secret without sending it in a readable form
I can see the “phone falls into the toilet” as a big problem that people will have.
It’s already a huge problem now. Lots of people only have one auth device they depend on for everything. At least passkeys come with standards which should help spread the use of vault sync and backups and hopefully those practices become the norm.
deleted by creator
RIP local sexpot.
deleted by creator
Except passkeys are an Open Authentication standard from the FIDO alliance. Soooooo, not from a corporation.
https://fidoalliance.org/passkeys/
You can use passkeys in KeePassXC, if I understand correctly.
They are the equivalent of using a hardware key like YubiKey or SoloKey, except the passkey is stored on your phone/PC instead of a USB thumbstick.
deleted by creator
Except Google was only mentioned in terms of whether or not they support it.
You’re commenting on an article from the Electronic Frontier Foundation, an organization dedicated to fighting for internet and digital freedoms, about an open standard that has only just begun being implemented widely.
Look, I hate corpos as much as anyone, but please let’s please tone down the alarmism.
I’d like to thank you for providing context to reactivism based solely on an emotional reaction without doing any research first.
I am guilty of that as well, but you put effort in, explained things and that takes time. Thanks.
[This comment has been deleted by an automated system]
Removed by mod
deleted by creator
Removed by mod
deleted by creator
Removed by mod
deleted by creator
Damn I was wondering exactly that a few days ago. Once again lovely job from eff to clarify here.















