- Big Tech has implemented passkeys in a way that locks users into their platforms rather than providing universal security
- Passkeys were developed to replace passwords for better account security, but their rollout by Apple and Google has limited their potential
- Proton Pass offers passkeys that are universal, easy to use, and available to everyone for improved online security and privacy.
Not commenting on the merits of the blogpost’s arguments, but Proton is selling their own product here too
And if you believe in our mission and want to help us build a better internet where privacy is the default, you can sign up for a paid plan to get access to even more premium features.
Translation: don’t give those other guys money, give us your money!
The horrors of giving money to a company that actually cares instead.
They’re closer to a cooperative.
Well no, their call to action isn’t to not give anyone else money. They didn’t have anything negative to say about their competition like 1Password. They’re just warning you about the shady things Google and Apple are doing specifically. And as an alternative they’re offering their own solution instead, which also doesn’t cost any money.
As a fan of Proton services I don’t like “blog posts” from companies where the solution to a problem is just their product, regardless of who the company is
Proton enabled passkeys in their free tier. So ultimately, yes by using their free tier and being safe in the thought that you can always leave if you want, that might drive you to pay for a paid plan.
But companies trying to earn your business by offering you a good honest product is not at all the same as a company using anti-consumer practices to keep you from leaving lol.
As someone who is not familiar with photon, I love to see a vendor presenting a feature with a technical discussion, even if they’re also selling it. As far as I can tell, no one was hiding intent, no one was directly selling, so “well done”. Or maybe I just agree with the premise, I dunno
deleted by creator
We’ve tried to stay true to the intention behind passkeys. With Proton Pass, passkeys:
- Are easy to use, no matter your device or platform
- Can be quickly shared or exported
- Use an open-source implementation
- Are available to everyone with our Free plan
?
from the post, they say they aren’t locking you in because you can export
If I can’t add your passkey to my Bitwarden vault, I’m not using your passkey.
If I can’t add your passkey to my local KeepassXC database, I am not using your passkey.
You can also host it yourself.
https://bitwarden.com/blog/host-your-own-open-source-password-manager/
Yea, I know. But my preference is for my password manager to not be cloud at all.
I don’t mean to be pedantic but self hosted isn’t cloud.
Doesn’t it require cloud activation?
It requires a key and id they generate.
https://bitwarden.com/help/install-on-premise-linux/
Though from the instructions, I’m not sure if the install needs continuing communication outbound to function.
Yea, I understand, and it’s a perfectly valid choice. But does that disregard people’s preference to not bother with this at all?
I don’t think I understand the question.
To be clear, the alternatives are valid choices.
That was a rhetorical question. What I wanted to say was basically “if it is only supported by Big Tech walled gardens and some open, selfhostable cloud password managers, I am not using such passkeys, because for me it is far more comfortable to have my password manager fully offline”.
Eh, easier to just use the same password for everything.
I use 12345, personally.
Huh… same as my luggage.
Why are us nerds like this? No one asked, please dont.
I mean, they were responding to someone who sounded like they were acting superior for self-hosting their password manager. This person chimed in with “well you can self-host Bitwarden too”. And now you’re upset because they offered a direct counterpoint, and furthered a conversation?
This is a guy who planted some Cheerios because he thought they were donut seeds.
Yeah or if they only offer 2FA via SMS. Like 1) it’s not even that much more secure and 2) it’s just more awkward.
But I also hate how Steam and Blizzard only allow you to verify logins in their mobile app. Fucking ridiculous.
It is stupid that they not only require the app to be present, but to verify each and every trade. Even those for items that drop to everyone for free. Good thing it does work in an Android VM but still - very annoying.
Bitwarden proper wants $40/year to have two users sharing passwords. You might try Vaultwarden?
That doesn’t seem unreasonable at all for not having to host your own server.
That’s with hosting your own server. Unfortunately I only discovered this paywall after sending them $10 out of good will.
Of course it’s open source, so it’s certainly possible to break their DRM, and if it were something less sensitive I would.
I still might, but VaultWarden looks like a better alternative.
Nowhere on their pricing page does it say you need to host your own server.
I pay $10/year for my wife and I, total. The $40 is if you want 3-6 people. AFAIK, you still need to pay if you self-host and use the premium features, but you can self host on the free plan as well.
$10/year for my wife and I is completely reasonable, and I’d pay the $40/year if my kids needed their own accounts. It’s a fantastic service.
If you self host you need the $40 plan for two people. Seems kinda backwards, doesn’t it?
Yeah, they absolutely don’t make that clear or I wouldn’t have gone with Bitwarden.
Really? It says it’s supported for each account type. It looks like you don’t even need the $10/year account anymore for sharing with one other user.
You’d think that based on your link, wouldn’t you. I did.
My support ticket response:
Hi Serinus,
There actually isnt a mistake what you are reading is the pricing page for premium individuals, which you already have. But if you check our pricing page for orgs and you are in the free org, you will see that you cannot self-host the free org, as seen here.
You can find more information here; https://bitwarden.com/help/password-manager-plans/#compare-personal-plans
I hope you find this clear and helpful.
Kind regards,
A
Follow Bitwarden on social media:Your issue is creating an org. The free tier allows again one collection with one user. So don’t create an org, share a collection.
One user can’t share a collection with another user. An org is required to share.
It seems no matter what new advancements we make in technology the big tech companies seek nothing more to implement it in a way that benefits themselves. Regardless if it means fucking over the consumer.
I really hate what the internet has become over the last couple of years.
That’s capitalism for you. They’re not interested in making things better, they’re interested in making more profit.
Correct. But often that only happens if they make things better for you.
On the contrary, companies making a profit by making things better for you as a concept is pretty close to extinct. See corporations realized they don’t have to make better products if they just box out the competition so that you no longer have a choice. Theres even a term for it now, because practically every company across every industry is doing it, enshittification. Charging more for inferior projects is the new goal.
A company that grows itself by making a better product is an objective rarity in the modern world.
Is this an ad?
It’s a PSA with an ad at the end.
That was my observation as well. If it walks like a duck and it quacks like a duck…
Its a witch?
No, no, no. A Witch must float like a duck.
I am not using passkeys until it’s possible to easily migrate them between providers (not just devices / browsers). If I used Proton Pass, and then later decided to use another password manager, could I export my passkey data?
We’ve also given passkeys and passwords equal priority so that you can use them interchangeably in our apps. This means you can store, share, and export passkeys just like you can with passwords.
That’s excellent. Thanks for pointing that out!
The next question is does anyone actually let you import passkeys? I don’t think there is ☹️
I have a few keys in Bitwarden but before I go adding more I am going to play with Proton Pass. A lot of users were understandably annoyed when Bitwarden released passkey support but in such a limited manner.
Proton Pass allow you to export your passwords in various formats (both plain and encrypted). That you are able to import somewhere else is not something Proton Pass can guarantee but you have your data.
Not surprised,
Google too nowadays.
There’s a reason why they removed their company motto “Don’t be Evil”
don’t be google
I thought they just removed the first word.
Google has obviously been crap for a long time, but that was just a dumb motto to begin with. It’s not aspirational, it’s not useful for anything and it barely requires anything of anyone.
They changed it to: Do the right thing.
It’s not much better, they’re still an awful company, as most companies are, but this is just the worst reason to rag on them.
“Do the right thing (for the shareholders)”
The right thing to whom? Shareholders? (=
“Don’t be evil” to whom? Shareholders? ;)
Proton Pass offers passkeys that are universal, easy to use, and available to everyone for improved online security and privacy.
I wonder if there could be any bias in Proton claiming their product is the best
Well of course. It’s still right - the ecosystem lock-in is insane. There needs to be a standard for cloud to cloud transfer between providers.
Or you know, use Proton Pass or 1Password.
I’d trust them miles before Google or Apple. Hell, they dropped the prices on some of their products when they found ways to provide them cheaper. Proton is a good company.
That doesn’t mean they will be around forever. Economic realities care little about whether a company is good or not.
In fact history has shown the good die out or become corrupt. Still using them for now though.
Iirc you can export everything. Most allow export of passwords of course but i think proton allows export of passkeys too.
So there’s portability if they ever do disintegrate.
True, but this is valid for every company.
Let’s say that since the company is Swiss based and, AFAIK, not quoted maybe they are not driven by the “the next quarter is all that matters” mentality of many quoted (US) companies.
There is a smaller chance that they will do something stupid to monetize more just to be ok next quarter (while risking to lose everything the next one) and will be there as long as they provide a value to the customer for the paid price.
Do you typically just take people’s word for their claims or do you do cursory research?
Better yet: use a hardware 2FA token that supports passkeys
The issue is that most of them are limited in the amount of passkeys they can manage.
In the case of the Yubikey 5
Currently, YubiKeys can store a maximum of 25 passkeys.
It depends on the passkey type (resident vs non-resident keys)
Right, now I remember reading about that, I forgot.
Passkey = Resident Key
Nonresident keys are not passkeys, they are solely a second form of authentication meaning the service you are logging into still requires a password.
Couldn’t a site theoretically use a nonresident key with just a username, in place of a password?
This seems to imply it might be possible:
https://developers.yubico.com/WebAuthn/WebAuthn_Developer_Guide/Resident_Keys.html
Discoverable Credential means that the private key and associated metadata is stored in persistent memory on the authenticator, instead of encrypted and stored on the relying party server. If the credentials were stored on the server, then the server would need to return that to the authenticator before the authenticator could decrypt and use it. This would mean that the user would need to provide a username to identify which credential to provide, and usually also a password to verify their identity.
For sure, but that still isn’t a passkey. The method you are talking about is the equivalent of non-passphrase protected SSH protocol, which is a single form of authentication (i.e. if someone has your security key they have your account).
The term passkey implies MFA: having a physical key and a password, a physical key and a fingerprint scan, or equivalent.
Sure the username could be considered the password, but usernames are not designed to be protected the same way. For example, they typically are stored in clear text in a services database, so one databreach and it’s over.
How is 25 bad? Do you need a passkey for each service /app/website? Can’t you use the same key for many services? (trying to understand how they work)
Yes, you need a passkey per service, so you would quickly end up with your 25 slots full.
Ideally yes, they’re supposed to eventually replace all passwords. Of which I have hundreds. And yes not 100% of them will do that on the near future but a lot more than 25 will.
I have 150 passwords in my password manager. I’m not buying 7 YubiKeys (and to be fair that’s not what they’re designated for)
/aparté: being downvoted for trying to understand gives me reddit vibes well done
Being down-voted for asking questions is bullshit. Your questions are valid and those people suck.
No, sharing passkeys across services is way too risky. One service gets compromised, someone gets your passkey, and then they have access to all of your services. It’s the same principle with regular passwords.
Uh, each service only has access to your public key, not the private one that stays with you. It’s less risky than a regular password.
Even with U2F hardware keys where the server-side stores the encrypted key (to allow for infinite sites to be used with a single hardware key), it’s only decryptable on your key and thus isn’t that useful for someone who has compromised a service.
Thanks. I’m still learning about this “new” technology (which already is, what, eight years?)
It started with U2F which may be older?
Having a key shared across sites wouldn’t be great. If it was great it would be an article talking about “passkey” not “passkeys” because you would just have one. Like some sort of Skeleton Passkey that unlocks all your shit when compromised.
That’s impossible. Passkeys were designed specifically to be impossible to share across different websites.
Well, that’s basically my point. It’s not a good idea.
Thank you ; I misunderstood that one passkey could be like a fingerprint sort of
You only need one per website if you want it to autofill the username, because resident keys held on the security token can be recognized and suggested automatically but otherwise you must first enter your username on the website and let the website send its challenge value for the corresponding domain and account pair so that your security token can respond correctly.
Eh… That’s not exactly a silver bullet or necessarily “way better”; it’s got a lot of usability issues.
You really only want to do that for your most important sites and then you want to use multiple passkeys to make sure you retain access.
When vaultwarden supports this I’ll play ball. If I don’t have control over my authentication methods, then they aren’t my authentication methods.
Do you really think it’s a good idea to store your password, TOTP and pass key in one place?
Yes, as long as that place is only accessible by a physical passkey (such as a Yubikey). The risk is miniscule and the convenience is 100% worth it.
I’m actually not sold that I should be putting all my keys in a single password manager like Bitwarden.
To my bank? No. To a Lemmy account? Yep.
Treating social media accounts as irrelevant is fine as long as none of your real life friends associate with you on the same platform. Once that’s the case, scammers can take over your platform and send messages to your friends telling them you’re stuck and need money or other sorts of things that sound ridiculous but work all the time.
I am not treating them as irrelevant, hence a password manager. But I am not treating it as fort knox. Most of my real-life friends probably don’t even go that far.
I personally settled on having TOTP in the same application but in a different database.
Bitwarden does, not sure about the self-hosted version.
Still waiting for the mobile app. Maybe the firefox addon would work, but would prefer the app
Vaultwarden has supported pass keys for a while. The client app does all the hard work in this pattern.
The way Apple or companies like Paypal implement two-factor authentication, let alone passkeys, drive me up the wall. This all could have been so much better.
I’m not even going to mention all the platforms that rolled out passkey creation support, but not passkey login support, for whichever damn reason
Yeah, Apple 2FA is infuriating, especially since you can do all factors from the same device. Kind of defeats the purpose of traditional 2FA/MFA. Also, companies that decide you 2FA experience has to use their app, instead of a standards-compliant TOTP app of your choosing…ugh.
Traditional 2FA (assuming you mean apps with codes) can be done from the same device (if you have the app with the codes installed on that device).
It doesn’t defeat the purpose of 2FA. The 2 factors are 1. The password and 2. You are in possession of a device with the 2FA codes. The website doesn’t know about the device until you enter the code.
Yeah my point is it does not protect the local device well. It does protect well from remote compromise though.
If you think forcing everyone to carry an object other than their phone around so they can use 2factor on their phone is a good idea… Or if you said I need to go to my laptop when I’m logging in on my phone and vise versa… that’s nonsense too. Sure maybe some companies require this. But that’s different.
Authy on my phone is just as “dumb” as Keychain on my phone.
How else are you imagining this should work? Keep in mind normal people need to do it too.
If I’m on my laptop, and the 2fa code shows on that same laptop, it defeats the purpose of it. The point is sortation of security privileges, ask this just adds more work while providing no less security to the device. It does protect you from remote compromise, though.
It doesn’t defeat the purpose of it, as you indicate, it can protect from remote attacks.
Also most or all of these should require some for of local authentication.
For example I have 2fa apps on my phone, where I need to use them, so yes, that’s less than ideal. However
- it protects against remote attacks
- it protects against SIM attacks
- and even if someone stole my phone and unlocked it, they’d still need my face id for every use
I bring my yubikey with me, it’s in my keychain. This is not only more secure against phone theft/access, which probably is not very relevant for most people, but it spreads the risk of locking yourself out.
For example, I was in Iceland with my girlfriend and she “lost” her phone. We wanted to locate it, so I logged to Google for her, which asked 2FA. If she used her phone, she would have been toast. Instead I made her use yubikeys too, and she just logged in and found her phone.
Obviously you can lose your hardware tokens too, but it’s generally less likely (you take out your home keys way less than your phone, for example). You can also backup your TOTP on multiple devices etc., of course.
For Apple, it’s your iCloud account that everything depends on, and it’s the weakest point. Not by itself maybe, but in practice there needs to be a way to reset your iCloud password, even without your phone. Currently I believe that’s just an Apple representative asking life questions, but that information is mostly publicly available. There needs to be a better way.
A physical 2fa device may be just what we need to securely rest our iCloud passwords, keeping everything else more secure
That’s a fair point. iCloud Keychain is a single point of failure.
The factors are:
- Something you have
- Something you are
- Something you know
Here the password is something you know and the device is something you have (typically also protected by something you are, like your fingerprint or face)
Someone with your phone but no password or fingerprint is SOL. Someone with your password but not your phone also SOL
PayPal for sure, because at one point they actually removed the ability to use a hardware mfa token.
A little known fact about iCloud is that you can use hardware MFA tokens. I think this feature was just recently released though. They force you to enroll at least two tokens too, which is a nice safety. I set this up about a month ago and it’s been great.
I’m well versed in IT security, and even with (or because of) my knowledge, I still haven’t looked deep into setting up passkeys on my services. Just because it’s such a clusterfuck of weird implementations.
I can’t imagine being a normal consumer and wanting to set them up. The poor support teams having to support this…
And I’m managing at least one service at work that could totally benefit from passkey integration. The headache of looking into how to properly implement them is just way too much
What does secrets management look like at work?
I can’t imagine being a normal consumer and wanting to set them up.
It’s quite simple on iOS. IIRC, when logging into the paypal website you get a prompt asking if you’d like to use passkeys. Accept that, then you get a keychain prompt asking if you’d like to make/use a passkey. Click continue and pass FaceID authentication, then you’re in with a passkey. For future logins you click the login with passkey and it faceIDs you in. It’s easy.
Then you are totally locked in with Apple devices and cannot switch to Android and take your passkeys with you
I’m not saying it’s good, I’m saying it’s easy. It is not hard for normal consumers to setup.
Lock downs are pretty much a hard pass for me. Anything I buy, I research, and if there’s even the slightest hint of BS incompatibility, it’s simply a no go.
Yeah I’ve avoided passkeys. Anything that Google is pushing to me is always in their interests.
That is not the takeaway here.
The takeaway is Passkeys are great technology but as implemented by Google, Microsoft, and Apple fall short of what they could be.
Are we talking in circles here? “I avoid passkeys because of Google” “Passkeys implemented by Google have problems”
The way out of the circle that you’ve put yourself in is realizing Google isn’t the only company implementing passkeys.
And that most people are in multiple ecosystems…e.g. Android/iOS + Windows. So they can’t use a solution that’s not interoperable.
Fortunately there are several interoperable solutions now. There weren’t as recently as last year though.
Are we talking in circles here?
No. “I avoid passkeys because of Google” is avoiding an entire technology because of a bad implementation. “Passkeys implemented by Google have problems” is only avoiding passkeys implemented by Google, leaving using passkeys still on the table.
People not getting phished is in their interests. That doesn’t mean it’s not in yours.
People getting their accounts compromised leads to spam email, spam comments, fake crypto livestreams, etc that impact others. Google definitely has an interest in preventing people from getting their accounts compromised and not just for the benefit of the individuals with the accounts but their platforms as a whole.
A lot of my hesitation is that not only are passkeys being pushed by the big vendors AND they seem to have a less than portable implementation BUT ALSO they don’t seem to give enough details. Everything is dumbed down for the less technical until it means nothing
I like that this thread already has more actual information than all the outreach of the big vendors over months
The spec behind it is solid, it creates per-domain cryptographic keyspairs which allows your device to prove you’re you in a standardized and secure way while avoiding adding a new way to track you across sites, and by using the device’s TPM chip to hold the key it’s also resistant to most types of manipulation.
Google pushed email accounts to you, do you not have an email address either?
Email was already ubiquitous and generally standardized by the time Gmail released in 2004.
Asymmetric cryptography has been ubiquitous and generally standardized by the time Google began letting you store Passkeys, so what’s your point?
Is Google supporting a particular service or system a dealbreaker for you or not? Because Google has far more fingers in the public operation of email than it does passkeys. So if you’re still ok with having an email account, then you should be just as ok with using passkeys.
I’m not locked into Gmail: I know it implements standards and I choose it as long as it is most convenient.
A lot of what comes into my gmail account is actually addressed to various aliases from various providers, and I can point those aliases anywhere
In particular, all my recent online accounts use unique generated email addresses that I can disable at will, and that forward to my actual email
Well that’s great news, then you’ll like passkeys because you can use them without being locked into anything.
I noticed that recently every post on Proton’s blog has been an advertisement of their services.
They are hypocrites.
A few days ago they posted that corporations are bad because they collect fingerprints, profile users, etc., yet they are no better, as their mobile apps rely on Firebase Cloud Messaging (FCM) owned by Google to deliver notifications to their users.
In 2020 they wrote that they “may offer alternative push notification system”, but apparently shitting on corporations is easier than making actual changes. Four years ago.
That’s a google services issue. That’s Google’s fault.
It was their choice to not exclude this knowingly-evil service from their applications though.
Yes. It’s still the fact that Google monopolizes shit. Same thing with Apple by the way.
But there are apps that have been built with Google-independent notifications. Proton could have supported UnifiedPush, for example, yet they decided not to.
Yes
Could someone ELI5 (if possible) what passkeys actually are?
Basically hardware keys (like YubiKey) without hardware
So…. Software keys…
a.k.a password-protected certificates
deleted by creator
Most in the crypto industry wouldn’t consider a hardware key that shares metal with an internet connected device to be a very safe hardware key though. Of course when your hardware key such as a ledger or yubikey is plugged into your computer, now it’s also sharing metal.
I think the industry needs a term to differentiate between all these categories of hardware wallets.
The best is an airgapped hardware wallet such as Keystone.
Oh, yes. Let’s listen to the crypto industry, that famous industry with no security breaches or frauds. We might as well ask for site design advice from restaurants that don’t put their hours or menu somewhere prominent on their site.
I’d like to think there’s a difference between the cryptography industry and the cryptocurrency industry
That’s probably what pisses me off the most about the cryptocurrency world. They somehow appropriated the word “crypto” to mean their internet money, instead of the meaning it had tracing back to World War 2, if not earlier.
The crypto industry has been perfecting key security for 10 years with huge financial incentive to do so.
Hacks and grifters are in every industry. It’s unrelated to a conversation about passkeys.
Let me know when the crypto community gets key security perfected so I can buy some glorified airplane points from a guy named catfucker88 or whatever. In the mean time, I’ll use normal cryptography libraries and leave the headassery to others.
Wtf are you talking about
If the key is in the same device that’s being used to access a protected resource over the network, the thing can be potentially be hacked and the key retrieved.
That’s why there are solutions were the key never leaves a secure hardware device, such as challenge-response authentication were a bank card’s smartchip is used to generate responses to the challenges (with the key never being outside the card) or keydongles that show a variable code, depending on time.
This is actually pretty old tech.
From my understanding it’s the concept of trust. Basic passwords are complete trust that both ends are who they say they are, on a device that is trusted, and passing the password over the wire is sufficient and nobody else tries to violate that trust. Different types of techniques over time have been designed to reduce that level of trust and at a fundamental level, passkeys are zero trust. This means you don’t even trust your own device (except during the initial setup) and the passkey you use can only be used on that particular device, by a particular user, with a particular provider, for a particular service, on their particular hardware…etc. If at any point trust is broken, authentication fails.
Remember, this is ELI5, the whole thing is more complex. It’s all about trust. HOW this is done and what to do when it fails is way beyond EIL5. Again, this is from my own understanding, and the analogy of hardware passwords isn’t too far off.
so it’s basically what a SSH key is? can I not log in to an account from my laptop if I set it up on my phone then? that seems like a massive hassle if it’s the case
It basically performs the same function as an SSH key (providing public key authentication), yes.
Your issue with logging in on your phone vs laptop can be solved by either syncing them (like the OS/Browser platforms of Google/Apple/Microsoft or a password manager like Proton Pass/Bitwarden do) or by setting up each device separately (like most people should do with SSH keys). Each method comes with trade-offs: syncing means they aren’t device bound and can potentially be stolen, setting it up on each device can be a pain, etc.
The important thing to remember is that passkeys don’t need to be the only authentication methods attached to an account. You can use the convenience of a passkey most of the time when it’s possible and then fall back to another method (like a password/TOTP pair) when that’s not available (such as when setting up a new device). There’s also always the standard account recovery options if all else fails, those don’t necessarily go away.
The other thing to remember is that it’s not trying to be a perfectly secure solution to all authentication everywhere but to replace passwords with something better. Not having to generate and store random passwords with arbitrary complexity requirements, being able to log in with just a tap or a click, and not having anything that needs to be kept secret on the website’s side can be enough of an improvement over passwords to make the change worthwhile.
If a passkey isn’t device bound, what makes different/better than a complex password? Is it just the standardisation that you mention? Enforcing using passkeys becomes exactly the same as enforcing using complex passwords
One key benefit regarding hacking: the data that’s passed back and forth between the user’s browser/app and the website/service is a challenge and a response and is no longer sensitive like a password is and the authentication related data (the public key) that the website stores for a user’s account isn’t useful to an attacker.
One key benefit regarding phishing: passkeys/WebAuthn credentials incorporate the domain name into part of the authentication and it’s enforced by the browser. This means that using a passkey/security key on the wrong site won’t give an attacker anything useful unless they also somehow control the DNS and have a valid TLS certificate to impersonate the site with. This is unlike the situation with a phishing website where a user can be tricked by a fake but convincing looking website into giving over not just a password but a one time code provided through SMS or a TOTP.
One key benefit regarding usability: The user just has to choose which account to log into from their password manager instead of having it need to autofill correctly on the website (I still run into sites that don’t autofill right). They also don’t need to worry about any specific password complexity requirements or changing passwords in response to breaches or password expiration times.
this makes a lot of sense, thanks!
You setup passkeys for all your devices with biometric features. I know I have a Yubikey for my desktop, facial recognition on my phone, and a fingerprint reader on my laptop. So, I setup 3 passkeys using biometric (fingerprint or face). I also kept my password and 2FA for now because it’s all new. I wouldn’t recommend jumping in face first.
I only am using it on a few key sites and partly because I’m a web developer testing it all out. I wouldn’t advise it for the average user at the moment but it’ll mature and many password managers can store passkeys now. As it matures, I’m hopeful it becomes seamless like FaceID and fingerprint readers.
Close, but you are still trusting the device you own. If I were to compromise that device, I could capture that key and use it. Again, this is my limited understanding, but a zero trust solution works in such a way that the actual keys are not stored anywhere. During setup, new temporary keys are generated. A keypass binds to the temporary key for use of authentication. The temporary key can be revoked at any time for any reason, whether it’s due to a breach or routine policies. It can be as aggressive as it needs, and the implication is that if someone else (either you or an attacker) got issued a new temporary key then the other would not receive it. Using an incorrect temporary key would force an initialization again, using the actual keys that aren’t stored anywhere.
The initialization process should be done in a high trust environment, ideally in person with many forms of vetting. But obviously this doesn’t take place online, so there is the risk that your device is not trusted. This is why the process falls back on other established processes, like 2FA, biometrics, or using another trusted device. How this is done is up to the organization and not too important.
But don’t get too hooked on the nuances of passwords, keys, passkeys,etc. The entire purpose is to limit trust, so that if any part of the process is compromised, there is nothing of value to share.
Disclosure: Worked in military and this seems to be a consumer implementation of public/private key systems using vector set algorithms that generate session keys, but without the specialized hardware. It’s obviously different, but has a lot of parallels, the idea in this case is that the hardware binds to the private/public keys and generates temporary session keys to each unique device it communicates with, and all devices can talk with members of it’s own vector set. Capturing a session key is useless as it’s constantly being updated, and the actual keys are stored on a loading device (which is subsequently destroyed afterwards, ensuring the actual key doesn’t exist anywhere and is non recoverable, but that’s another thing altogether). My understanding of passkey systems is solely based on this observation, and I have not actually implemented such a solution myself.
Not ELI5 level but…
If you understand SSH keys, it’s basically the same thing made more general.
Whatever website (e.g. lemmy.world) has a copy of the public key, they encrypt something with the public key, you decrypt it, reencrypt it with your private key and send it back (where they can then decrypt it and verify what they got back is what they expected). By performing that round trip, you’ve verified you have the correct key, and the “door opens.”
The net effect is you can prove who you are, without actually giving someone the ability to impersonate you. It’s authentication via “secret steps only you would know” instead of authentication by a fixed “password” (that anyone who hears it can store and potentially use for their own purposes).
That’s all wrapped up in an open protocol anyone can implement and use to provide a variety of (hopefully) user friendly implementations (like the one Proton made) 🙂
I guess it’s a bit like a bank card with a PIN. You go to pay for something and your card stores your credentials on it. To allow those credentials to be read you need to unlock them using the PIN.