Password is a shared secret: When you want me to prove myself, i repeat the password we both know. Both of us could loose that password and it happens every day. Can’t go a day without a major data breach news.
passkeys use public-private keys. Anyone can posses the public key, so that is ok to leak. The private key you keep to yourself. When you ask me to prove myself, you hand me a challange which i manipulate with my private key and hand back to you. You check it with the public key and conclude that i am indeed the one that posseses the private key. Mathematical magic! The private key was never shared.
For the user, the password is replaced with a file stored somewhere. Either in your usb security key or in your password manager of choice. Stored in a security key (aka authenticator), the private key never leaves the
authenticator and all cryptographic operations are done inside it. The private key can’t leak. Amazing! Passkes in a security key are called hardware bound, very secure and nice. The security key, you can plug out and take with you. There are built in hardware like this in phones and computers. But you can’t take that with you. That sucks. They only authenticate that device. But you can make any number of passkes for all your devices.
The bad part is that some big corporatins would like to control where and how you can store the passkeys and preferably make it harder for you to escape them. The solution is to not use the services of these malicious corpos.
Attestation means that whatever code runs on your authenticator has been submitted to the FIDO Alliance (google and buddies) and they signed off on it. After that it can’t be changed.
Security keys like the Solokey Hacker (the superior version), is not signed and never will be, cause I can tinker with it in any way I wish. It’s truly mine.
Like the article highlights, attestation is part of the standard. The remote service can ask for cryptographic proof that your authenticator, where you stored your passkey, is attested. I have not seen any service doing that so far. IT managers are doing that internally, for their employees for sure. They don’t trust bobs homemade solution, only their chosen vendors. From that standpoint it’s reasonable.
This gives the service the power to deny you freedom of choice of where to store your passkey. They might say only yubikeys allowed or only microsoft hello or only IOS secure enclave or whatever they wish. It might become a scenario where they don’t allow any passkey solution that can run outside their platform. Running LineagOS or Linux? Google and microsoft will say it’s “not secure enough”.
They will abuse that power to make your decision for you and lock you in. “Password manager not allowed, Use our cloud insted”.
Ideally it’s not part of the standard and they don’t get the option of knowing anything about your authenticator. It’s none of their bussines how i choose to store my secrets.
Any sane service will just not ask about the attestation. They don’t have to ask. I would not ask my users on my webpage. You can store your passkeys on printed paper for all i care. Although, storing them on a usb/nfc key is pretty damn secure and cool!
Personal anecdote to illustrate: the last time I tried creating and using passkeys for my Google account, I got the impression they (Google) would only accept keys coming from either Google Authenticator (their 2fa smartphone app) or something like macos’s built-in keychain. No way to give them a key generated using a local, offline service that I could store however I want - it needed to be accessible using, basically, a big corpo['s software] as the intermediary. This coming from how their website would request the keys from my browser (which means mozilla seem to be in on it as well :/).
Given that I currently use a pure file-based password manager that I can move around and switch the keys for as I please, the current state of passkeys feels like a step back in terms of allowing me to control my digital identities.
It sounds like your browser is not hooked up to your password manager. I’m not sure how you want it to work if the browser APIs the website needs don’t have the required plumbing.
That does not mean the standard or Google have locked anyone out of the ecosystem.
EDIT: seems like it’s both simpler and more complex than I thought to achieve what I want. https://codeberg.org/PassFF/passff/issues/581 suggests it is “just” a local tweak. At the same time, any search I make for finding an actual implementation guide for authenticators is buried under pages of results for using passkeys in your own web app. The ecosystem’s current state seems to be “don’t bother, just trust us!”. Even the damn “passkeys.com” site is a barely disguised ad for OwnID.
I dunno, the browser could open a file picker and let me point it towards the passkey, or perhaps let me paste the key contents into a field?
It’s been several months since I looked into it, so maybe things have changed since, but I don’t see why the browser has to be hooked up to my password manager through a mechanism that seemingly can’t be user-piloted nor user-intercepted. How does a browser API require some external third-party software to be installed and configured to work?! It’s a public/private key pair at the end of the day, right? Not some novel algorithm, protocol, or whatever. Why can’t I simply tell the browser “here is where my existing passkeys reside; place any newly generated ones here as well”? Or perhaps “here is the program to call and here are the arguments to supply when you need to create and/or retrieve a given passkey”?
I don’t think I have claimed the standard itself is locking anyone out - let me correct that if I did. I have just not found a way to not be locked out of the feature itself in the products of big players like Google - my Google account(s) being the one service where I feel like I could actually benefit from using passkeys over passwords (not to mention one of those I have seen pushing the “replace all your passwords with passkeys!” messaging).
To be specific, my password manager is http://passwordstore.org/, (“the standard Unix password manager”).
So in order to log into most websites, you need your username/email address and a password.
You can save your username/password in your web browser or in the cloud.
Sometimes people get lazy and reuse passwords, sometimes people forget their passwords.
Passkey is a replacement for usernames/passwords. It does require that the passkey is saved somewhere, often on your device (in the cloud is possible, but non-standard).
When you “create” a passkey, this passkey is used only at a single place. For example, you’d have a passkey for your bank, another one for your email, another one for Lemmy. You have no say in the matter, that’s just how it works.
When you log into a website that has passkey enabled, your passkey/password manager pops up, you click on the passkey and that’s it. There is no email address, there is no password, no MFA.
edit: oh, you also asked about the difference between passwords.
It’s all about improved security.
You go to certain websites, and they’ll only allow a-zA-Z0-9, others require a minimum length of 8 characters, needs 3 symbols (except ! for whatever reason ;)
Then you have no idea how the website is storing your password. Are they encrypting it? Did they do it correctly?
If you look at the number of “breached/leaked” passwords on the internet, it’s because it’s hard to securely store passwords.
Passkey solves all this. Websites are just given “a public key” and it can be “just stored”, no special treatment necessary.
10PRINT"So in order to log into most websites, you need your username/email address and a password."20PRINT""30PRINT"You can save your username/password in your web browser or in the cloud."40PRINT""50PRINT"Sometimes people get lazy and reuse passwords, sometimes people forget their passwords."60PRINT""70PRINT"Passkey is a replacement for usernames/passwords. It does require that the passkey is saved somewhere, often on your device (in the cloud is possible, but non-standard)."80PRINT""90PRINT"When you "; CHR$(34); "create"; CHR$(34); " a passkey, this passkey is used only at a single place. For example, you"; CHR$(39); "d have a passkey for your bank, another one for your email, another one for Lemmy. You have no say in the matter, that"; CHR$(39); "s just how it works."100PRINT""110PRINT"When you log into a website that has passkey enabled, your passkey/password manager pops up, you click on the passkey and that"; CHR$(39); "s it. There is no email address, there is no password, no MFA."120PRINT""130PRINT"edit: oh, you also asked about the difference between passwords."140PRINT""150PRINT"It"; CHR$(39); "s all about improved security."160PRINT""170PRINT"You go to certain websites, and they"; CHR$(39); "ll only allow a-zA-Z0-9, others require a minimum length of 8 characters, needs 3 symbols (except ! for whatever reason ;)"180PRINT""190PRINT"Then you have no idea how the website is storing your password. Are they encrypting it? Did they do it correctly?"200PRINT""210PRINT"If you look at the number of "; CHR$(34); "breached/leaked"; CHR$(34); " passwords on the internet, it"; CHR$(39); "s because it"; CHR$(39); "s hard to securely store passwords."220PRINT""230PRINT"Passkey solves all this. Websites are just given "; CHR$(34); "a public key"; CHR$(34); " and it can be "; CHR$(34); "just stored"; CHR$(34); ", no special treatment necessary."
Imagine instead of inventing and storing passwords in your head and typing them in each device. With passkeys each device generates a real, cryptographically strong password for each site and stores it in a secured part of the device. Nothing to memorize.
Sites must now to let you have many passwords so you can have many devices without needing to sync between devices like a password manager might do.
No one can guess your password and it is never reused because they are machine generated. They are protected on device by the security of your device (typically behind a pin) so if you trust your OS, it is safe (which, in effect is the same as passwords you type).
Unfortunately, the experience still sucks and shitty companies might use them to further lock people in if they end up with all their passkeys on one iphone, for example.
There. You’ve solved 90% of online fraud that begins with website(s) leaking your credentials and someone combining leaks to gain access to everything in your life via your email (including bank, socials, porn habits, whatever).
Enforcing what? It’s up to your email service to adopt the change. The way it currently works was probably okay for the early days of the internet when people had just started using emails, but now that so much private and sensitive financial information passes through your email account, it makes little sense that the same credential you use to login to your email account (email id) is also what you must use when some random website forces you to register in order to access it, just so they can send you massive volumes of unsolicited spam.
Certainly a simpler change with more potential to do good relative to the ease of enforcing a convoluted passkey-slash-usb-slash-save-this-file-somewhere-safe implementation
Then you’ve missed the point of the change entirely. Splitting email addresses into public and private-facing addresses is one thing. Reusing passwords is entirely another evin if both are related to securtity.
It’s something you pass around–like a word, but a key instead. If you’re familiar with passwords–instead of a word–imagine a key: a passkey. That’s what passkeys are. The issue with passkeys is–as you pass them around they begin to open more and more stuff; everyone is opening stuff with your key as it’s passed. So they need to be sanitized every now and then. Deposit them into a furnace and buy a new passkey. Every two to three days. If you have more questions please feel free to ask!
Okay. I think I’m understanding. A passkey is a virtual key? That we have to buy? And some company makes these virtual keys? And there’s a virtual locksmith who makes virtual locks? And you have to hire them to install them on your computer? Is this what’s going on?
I apologize. The reply you responded to was entirely satirical. It was written in frustration. From my point of view passkeys are the way to do authentication. More specifically public-key cryptography. It has a lot of desirable qualities. Governments and ‘tech platforms’ should have been using it from the start–we’ve had the software to do this since the 1980s and it was libre-software by the 1990s.
Any criticism of passkeys (as brought up in this thread) are more so applicable to the private-dictatorships that are Microsoft, Apple and Google. The contrary behavior of continuing to use these private-dictatorships whilst decrying passkeys is tantamount to hypocrisy? stupidity? To give a tiny bit of context: the quality of attestation in passkeys are also applicable to SSL-certificates, yet no one is decrying SSL-certificates. It’s also applicable to every GNU/Linux distribution and libre-software at large.
That’s to say the criticism is written from a place of ignorance. “Privacy” forums on the internet are not interested in reality. Their users are full of users with static behaviors. More often than not any questions asked in these places amount to “how can I continue doing what I was doing before? Big-corp has introduced a change I don’t like. I want to do the exact same thing on big-corp that was previously permissible.” When the factual observation is stated: “big-corp is a corporation designed for surveillance-capitalism therefore if you desire liberty and privacy whilst computing you cannot use such a corporation in any manner” it’s met with unfounded hostility, hypocrisy and lies. Any use of such software is contrary to your stated desire: digital-privacy. Even when responses illustrate how you could achieve what the OP wanted, but with libre-software and privacy-preserving-software you’re often met with: “no. I want to use Google/Microsoft/et al.” Users are lazy idiots.
Technical and correct responses are ignored whilst a flood of ignorant, emotional or status-quo enforcing responses are brought to magnified attention. I’ve abandoned restraint and started to shitpost as every one else appears to be doing.
I suppose this is all a criticism of ‘social-media’ and how it’s a waste of everyone’s time.
That’s to say the criticism is written from a place of ignorance.
The praise is also written from a place of ignorance too. People love it and they don’t know what it is. If you can’t explain it to a five year old, then you don’t understand it. And if we don’t understand, it’s a horrible idea to fork over our security to it. We don’t want to rely on a box full of ADE 651 bomb detectors.
So… Uh… What’s a passkey? The article is saying they’re pure evil. Everyone here is saying they’re good. Everyone knows what they are except for me.
What’s the difference between a passkey and a password?
https://www.yubico.com/resources/glossary/what-is-a-passkey/
Sounds like a turbo encabulator.
Also, that website is full of sand traps. Every time I accidentally mouse over something, a huge menu covers up the definition.
Password is a shared secret: When you want me to prove myself, i repeat the password we both know. Both of us could loose that password and it happens every day. Can’t go a day without a major data breach news.
passkeys use public-private keys. Anyone can posses the public key, so that is ok to leak. The private key you keep to yourself. When you ask me to prove myself, you hand me a challange which i manipulate with my private key and hand back to you. You check it with the public key and conclude that i am indeed the one that posseses the private key. Mathematical magic! The private key was never shared.
For the user, the password is replaced with a file stored somewhere. Either in your usb security key or in your password manager of choice. Stored in a security key (aka authenticator), the private key never leaves the authenticator and all cryptographic operations are done inside it. The private key can’t leak. Amazing! Passkes in a security key are called hardware bound, very secure and nice. The security key, you can plug out and take with you. There are built in hardware like this in phones and computers. But you can’t take that with you. That sucks. They only authenticate that device. But you can make any number of passkes for all your devices.
The bad part is that some big corporatins would like to control where and how you can store the passkeys and preferably make it harder for you to escape them. The solution is to not use the services of these malicious corpos.
Nice explanation!
Can you elaborate on this part?
Attestation means that whatever code runs on your authenticator has been submitted to the FIDO Alliance (google and buddies) and they signed off on it. After that it can’t be changed.
Security keys like the Solokey Hacker (the superior version), is not signed and never will be, cause I can tinker with it in any way I wish. It’s truly mine.
Like the article highlights, attestation is part of the standard. The remote service can ask for cryptographic proof that your authenticator, where you stored your passkey, is attested. I have not seen any service doing that so far. IT managers are doing that internally, for their employees for sure. They don’t trust bobs homemade solution, only their chosen vendors. From that standpoint it’s reasonable.
This gives the service the power to deny you freedom of choice of where to store your passkey. They might say only yubikeys allowed or only microsoft hello or only IOS secure enclave or whatever they wish. It might become a scenario where they don’t allow any passkey solution that can run outside their platform. Running LineagOS or Linux? Google and microsoft will say it’s “not secure enough”.
They will abuse that power to make your decision for you and lock you in. “Password manager not allowed, Use our cloud insted”.
Ideally it’s not part of the standard and they don’t get the option of knowing anything about your authenticator. It’s none of their bussines how i choose to store my secrets.
Any sane service will just not ask about the attestation. They don’t have to ask. I would not ask my users on my webpage. You can store your passkeys on printed paper for all i care. Although, storing them on a usb/nfc key is pretty damn secure and cool!
I’m trying to reconcile corp IT doing it being reasonable, but it shouldn’t be in the standard. If it’s not in the standard, how would they do it?
Personal anecdote to illustrate: the last time I tried creating and using passkeys for my Google account, I got the impression they (Google) would only accept keys coming from either Google Authenticator (their 2fa smartphone app) or something like macos’s built-in keychain. No way to give them a key generated using a local, offline service that I could store however I want - it needed to be accessible using, basically, a big corpo['s software] as the intermediary. This coming from how their website would request the keys from my browser (which means mozilla seem to be in on it as well :/).
Given that I currently use a pure file-based password manager that I can move around and switch the keys for as I please, the current state of passkeys feels like a step back in terms of allowing me to control my digital identities.
It sounds like your browser is not hooked up to your password manager. I’m not sure how you want it to work if the browser APIs the website needs don’t have the required plumbing.
That does not mean the standard or Google have locked anyone out of the ecosystem.
EDIT: seems like it’s both simpler and more complex than I thought to achieve what I want. https://codeberg.org/PassFF/passff/issues/581 suggests it is “just” a local tweak. At the same time, any search I make for finding an actual implementation guide for authenticators is buried under pages of results for using passkeys in your own web app. The ecosystem’s current state seems to be “don’t bother, just trust us!”. Even the damn “passkeys.com” site is a barely disguised ad for OwnID.
I dunno, the browser could open a file picker and let me point it towards the passkey, or perhaps let me paste the key contents into a field?
It’s been several months since I looked into it, so maybe things have changed since, but I don’t see why the browser has to be hooked up to my password manager through a mechanism that seemingly can’t be user-piloted nor user-intercepted. How does a browser API require some external third-party software to be installed and configured to work?! It’s a public/private key pair at the end of the day, right? Not some novel algorithm, protocol, or whatever. Why can’t I simply tell the browser “here is where my existing passkeys reside; place any newly generated ones here as well”? Or perhaps “here is the program to call and here are the arguments to supply when you need to create and/or retrieve a given passkey”?
I don’t think I have claimed the standard itself is locking anyone out - let me correct that if I did. I have just not found a way to not be locked out of the feature itself in the products of big players like Google - my Google account(s) being the one service where I feel like I could actually benefit from using passkeys over passwords (not to mention one of those I have seen pushing the “replace all your passwords with passkeys!” messaging).
To be specific, my password manager is http://passwordstore.org/, (“the standard Unix password manager”).
So in order to log into most websites, you need your username/email address and a password.
You can save your username/password in your web browser or in the cloud.
Sometimes people get lazy and reuse passwords, sometimes people forget their passwords.
Passkey is a replacement for usernames/passwords. It does require that the passkey is saved somewhere, often on your device (in the cloud is possible, but non-standard).
When you “create” a passkey, this passkey is used only at a single place. For example, you’d have a passkey for your bank, another one for your email, another one for Lemmy. You have no say in the matter, that’s just how it works.
When you log into a website that has passkey enabled, your passkey/password manager pops up, you click on the passkey and that’s it. There is no email address, there is no password, no MFA.
edit: oh, you also asked about the difference between passwords.
It’s all about improved security.
You go to certain websites, and they’ll only allow a-zA-Z0-9, others require a minimum length of 8 characters, needs 3 symbols (except ! for whatever reason ;)
Then you have no idea how the website is storing your password. Are they encrypting it? Did they do it correctly?
If you look at the number of “breached/leaked” passwords on the internet, it’s because it’s hard to securely store passwords.
Passkey solves all this. Websites are just given “a public key” and it can be “just stored”, no special treatment necessary.
This is still fuzzy. What would this look like in BASIC?
10 PRINT "So in order to log into most websites, you need your username/email address and a password." 20 PRINT "" 30 PRINT "You can save your username/password in your web browser or in the cloud." 40 PRINT "" 50 PRINT "Sometimes people get lazy and reuse passwords, sometimes people forget their passwords." 60 PRINT "" 70 PRINT "Passkey is a replacement for usernames/passwords. It does require that the passkey is saved somewhere, often on your device (in the cloud is possible, but non-standard)." 80 PRINT "" 90 PRINT "When you "; CHR$(34); "create"; CHR$(34); " a passkey, this passkey is used only at a single place. For example, you"; CHR$(39); "d have a passkey for your bank, another one for your email, another one for Lemmy. You have no say in the matter, that"; CHR$(39); "s just how it works." 100 PRINT "" 110 PRINT "When you log into a website that has passkey enabled, your passkey/password manager pops up, you click on the passkey and that"; CHR$(39); "s it. There is no email address, there is no password, no MFA." 120 PRINT "" 130 PRINT "edit: oh, you also asked about the difference between passwords." 140 PRINT "" 150 PRINT "It"; CHR$(39); "s all about improved security." 160 PRINT "" 170 PRINT "You go to certain websites, and they"; CHR$(39); "ll only allow a-zA-Z0-9, others require a minimum length of 8 characters, needs 3 symbols (except ! for whatever reason ;)" 180 PRINT "" 190 PRINT "Then you have no idea how the website is storing your password. Are they encrypting it? Did they do it correctly?" 200 PRINT "" 210 PRINT "If you look at the number of "; CHR$(34); "breached/leaked"; CHR$(34); " passwords on the internet, it"; CHR$(39); "s because it"; CHR$(39); "s hard to securely store passwords." 220 PRINT "" 230 PRINT "Passkey solves all this. Websites are just given "; CHR$(34); "a public key"; CHR$(34); " and it can be "; CHR$(34); "just stored"; CHR$(34); ", no special treatment necessary."Imagine instead of inventing and storing passwords in your head and typing them in each device. With passkeys each device generates a real, cryptographically strong password for each site and stores it in a secured part of the device. Nothing to memorize.
Sites must now to let you have many passwords so you can have many devices without needing to sync between devices like a password manager might do.
No one can guess your password and it is never reused because they are machine generated. They are protected on device by the security of your device (typically behind a pin) so if you trust your OS, it is safe (which, in effect is the same as passwords you type).
Unfortunately, the experience still sucks and shitty companies might use them to further lock people in if they end up with all their passkeys on one iphone, for example.
Oops, I lost my device or bricked it, now what? Login with passsword? Password reset?
As the article states, they’re an extremely malicious solution to a problem that has better, simpler, and easier to understand solutions.
It’s also a very good solution to the “problem” of users being able to do things our corporate overlords don’t want us to do.
In short, they’re even worse malware than the ones they’re sold as protecting us from.
Enshittification manifest.
Can you give an example?
Amazon/whatever login:
Email login:
There. You’ve solved 90% of online fraud that begins with website(s) leaking your credentials and someone combining leaks to gain access to everything in your life via your email (including bank, socials, porn habits, whatever).
How do you suggest enforcing it?
Enforcing what? It’s up to your email service to adopt the change. The way it currently works was probably okay for the early days of the internet when people had just started using emails, but now that so much private and sensitive financial information passes through your email account, it makes little sense that the same credential you use to login to your email account (email id) is also what you must use when some random website forces you to register in order to access it, just so they can send you massive volumes of unsolicited spam.
Certainly a simpler change with more potential to do good relative to the ease of enforcing a convoluted passkey-slash-usb-slash-save-this-file-somewhere-safe implementation
I don’t understand what will stop the users from using same passwords for both services
Then you’ve missed the point of the change entirely. Splitting email addresses into public and private-facing addresses is one thing. Reusing passwords is entirely another evin if both are related to securtity.
It’s something you pass around–like a word, but a key instead. If you’re familiar with passwords–instead of a word–imagine a key: a passkey. That’s what passkeys are. The issue with passkeys is–as you pass them around they begin to open more and more stuff; everyone is opening stuff with your key as it’s passed. So they need to be sanitized every now and then. Deposit them into a furnace and buy a new passkey. Every two to three days. If you have more questions please feel free to ask!
Okay. I think I’m understanding. A passkey is a virtual key? That we have to buy? And some company makes these virtual keys? And there’s a virtual locksmith who makes virtual locks? And you have to hire them to install them on your computer? Is this what’s going on?
I apologize. The reply you responded to was entirely satirical. It was written in frustration. From my point of view passkeys are the way to do authentication. More specifically public-key cryptography. It has a lot of desirable qualities. Governments and ‘tech platforms’ should have been using it from the start–we’ve had the software to do this since the 1980s and it was libre-software by the 1990s.
Any criticism of passkeys (as brought up in this thread) are more so applicable to the private-dictatorships that are Microsoft, Apple and Google. The contrary behavior of continuing to use these private-dictatorships whilst decrying passkeys is tantamount to hypocrisy? stupidity? To give a tiny bit of context: the quality of attestation in passkeys are also applicable to SSL-certificates, yet no one is decrying SSL-certificates. It’s also applicable to every GNU/Linux distribution and libre-software at large.
That’s to say the criticism is written from a place of ignorance. “Privacy” forums on the internet are not interested in reality. Their users are full of users with static behaviors. More often than not any questions asked in these places amount to “how can I continue doing what I was doing before? Big-corp has introduced a change I don’t like. I want to do the exact same thing on big-corp that was previously permissible.” When the factual observation is stated: “big-corp is a corporation designed for surveillance-capitalism therefore if you desire liberty and privacy whilst computing you cannot use such a corporation in any manner” it’s met with unfounded hostility, hypocrisy and lies. Any use of such software is contrary to your stated desire: digital-privacy. Even when responses illustrate how you could achieve what the OP wanted, but with libre-software and privacy-preserving-software you’re often met with: “no. I want to use Google/Microsoft/et al.” Users are lazy idiots.
Technical and correct responses are ignored whilst a flood of ignorant, emotional or status-quo enforcing responses are brought to magnified attention. I’ve abandoned restraint and started to shitpost as every one else appears to be doing.
I suppose this is all a criticism of ‘social-media’ and how it’s a waste of everyone’s time.
The praise is also written from a place of ignorance too. People love it and they don’t know what it is. If you can’t explain it to a five year old, then you don’t understand it. And if we don’t understand, it’s a horrible idea to fork over our security to it. We don’t want to rely on a box full of ADE 651 bomb detectors.
You’re an idiot.
Are you serious?
No. Sorry.