Let’s start with a smartphone. A user creates an account with a passkey for a service, that passkey gets stored on their smartphone, and they can use biometrics to sign in from then on. The private key is stored on the smartphone. Great.
But then how do you sign into that same service from a different device?
If it’s by using a password manager, some third party piece of software, How do you sign in on a device where you’re not allowed to install third party software?
How do you sign in on a device where you’re not allowed to install third party software?
You don’t. Passkeys are very ecosystem-centric right now. If you are in apple, google, or Microsoft entirely, they will all allow you to move your passkeys around to different systems using the same basic mechanism they used for password keeping. Moving across ecosystems is absolutely broken - or rather - has never worked.
I think there are mechanisms to allow passkeys to work via Bluetooth or even via camera, as an external authenticator essentially, but I’ve never personally tried them.
Some password managers support passkeys, such as one password and proton pass, which will allow you to use multiple different devices. Personally, I am waiting for key pass to have proper support before starting to migrate to them.
Is keepass actually going to have support for passphrases? The author works in archaic ways and I have a feeling he’s never going to truly support it.
Keepass or keepassxc? Xc i think is a community fork.
I mean regular keepass, I feel like XC is more likely to implement passkeys
Bluetooth and QR code passkeys are built around CTAP, but that’s judt an implementation detail.
You don’t have to use Apple, Google, or Microsoft, though. 1Password and Bitwarden also support passkeys, though you’ll need platform support for them to work as well as the native implementations do; for instance only Android 14 and up can have an arbitrary app act as a passkey provider, older versions will have to deal with Google’s fallback implementation.
In theory these independently provided passkey can even be exported, though I haven’t tried this myself.
I use 1Password as my Passkey holder so it’s device agnostic. But if 1Password ever pulls a LastPass, it won’t seem like a clever solution anymore.
If 1Password becomes annoying, you might want to consider Bitwarden, which, if worst comes to worst, you can host yourself. Unlike Keepass you don’t need to manually sync a password blob. However, that also means that if Bitwarden’s/your server is down, synchronising will be impossible.
We’re in the process of adopting BitWarden at my job. I’m liking it so far. Not enough to convince my family to switch (yet), but enough that I wouldn’t hesitate to jump over there if I needed to.
1Password can’t fail that hard easily. They’ve done great write-ups to compare their architecture to that of LastPass. Long story short: it’s the secret key that protects you: https://blog.1password.com/what-the-secret-key-does/
I would suggest to move to KeepassXC, which already shown that even when KeepassX was too slow to implement features the community was healthy enough to fork it and make it the main fork.
The wallet itself is nice, but managing the database transfers between devices isn’t really something I want to do manually, especially given that devices like Apple’s iPhones don’t support background syncing, crippling Syncthing clients, or alternatives
Service shows you a code that you scan with your device. This code transfers some challenge and information where to send a response. Your device checks if you’re you and then sends a response telling the server you try to log in that hey this guys is indeed the guy, here’s the problem I solved using my private key (asynchronous encryption).
Short answer: they don’t very well yet.
I would really recommend never using bio metrics on your phone regardless of the context. It is easier to fake that you would want it to be. Also you are legally allowed to not tell the law your password. But they can take your biometrics by force.
Unless you’re using a random 10+ alphanumeric passcode and are fine entering it every time you log into your phone, with a short auto-lock period, you’re much better off enabling biometrics (assuming it’s implemented competently) in combination with a longer passcode and understanding how to disable it when appropriate.
I recently replied with this comment to a Gizmodo article recommending the same thing you did for similar reasons, if you’d like to better understand my rationale: https://ttrpg.network/comment/6620188
Read your other comment and I don’t disagree. There are two things that I feel could though have a hiccup. First there is a real possibility that you will not be able to lock your phones. I have never set up face ID on any android I have had, but I don’t see any reference to an auto time out on Android on my phone or any of the setup walkthroughs online. Every manufacturer uses a slightly different build of android so it is hard to say that not Androids has it.
Second it you have a ten digit password as a backup but use face id often the you could forget it. Which would lead many people to use an easy to guess password. Defeating much of the security with a long password has.
I’ve got a pair of YubiKeys that I use to back my passkeys. Works great; I’ve got passkeys that work within the Apple, Microsoft and Google ecosystems and don’t have to worry about password prompts for the most part — but I DO need a YubiKey handy to validate that it’s actually me at the device.
My keys use both NFC and USB-C and work across all my passkeys supported devices when I add in a USB adapter.
One spends most of its time in a safe deposit box, and the other lives on my physical keychain.
To use it, the person would need to be logged in on a device I own (that’s password protected) AND have one of the keys (which also requires a PIN).
Sounds much safer than biometrics.
Passkeys should display a QR Code for you to scan with a trusted device if you try to use them on a device that doesn’t have your passkey stored.
Depending on the site, you can use one device to login to another without installing additional software. For instance, if you have an iPhone with a passkey for microsoft.com stored on it, you can login to Microsoft.com using the iPhone.
Here is a webpage that has some screenshots to show you what I mean. You can probably google some other examples.
It is possible to sync passkeys across devices but at this point is mainly within a single ecosystem.