| ▲ | Tarq0n 2 days ago |
| OK now say you're on a work/library/friend's computer and you want to look up an account in 1password on your phone so you can type in the password. Passkeys don't support this very basic and common workflow. Meanwhile there's no real security benefit over password manager generated complex and not reused passwords. |
|
| ▲ | voxic11 2 days ago | parent | next [-] |
| I use a passkey with discord on my phone. If I want to log in to discord on a computer it shows a QR code on the page/desktop app and I scan it with my phone to log in. I could see this become a pretty common pattern. I like it because I can use discord on even a pretty untrusted computer without providing it any credentials or access to my passkey, and then later when I'm done I can revoke the session. |
| |
| ▲ | OJFord 2 days ago | parent | next [-] | | Ok but now do a service that doesn't support that, whether or not it might in the future 'become a pretty common pattern'. | | |
| ▲ | jeroenhd 2 days ago | parent [-] | | On most websites logging in through QR codes works out of the box for passkeys. You usually click "log in with device" or something like that with every desktop OS. You scan the QR code, click the confirmation button, and you're signed in. It's part of the standard UI of normal operating systems. Might not work (well) if you're on an old computer without decent Bluetooth but everything has Bluetooth these days. | | |
| ▲ | bcye 2 days ago | parent | next [-] | | I don’t think this ever works with passkeys stored in pw managers though, only Face ID/whatever Android is doing? | | | |
| ▲ | HelloUsername 2 days ago | parent | prev [-] | | Why does a passkey need bluetooth? For what? Isn't that another vulnerability? | | |
| ▲ | jeroenhd 2 days ago | parent [-] | | A "passkey" is a bunch of metadata and a public/private keypair. It doesn't do anything by itself, of course. A physical device, like a Yubikey or a Titan, doesn't have Bluetooth. For phones and tablets these keys do support NFC but that's a whole different story. The Bluetooth connection is how your phone exchanges the key and authenticates you through the computer. In its most secure phone, the key never leaves the dedicated security hardware/trusted execution environment that protects your key from snooping, the same way you cannot get a physical U2F key to give you the private key bits. You scan a QR code to set up the pairing/connection process (if you haven't already), then a Bluetooth Low Energy exchange happens. You confirm you want to sign in on your phone (so you don't get tricked into scanning a QR code), then the cryptography happens that authenticates you. You can find the protocol here: https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-cl... It should be noted that, at least on Android, any credential manager app will support this exchange. The passkeys in the Bitwarden app on my phone work just like the native Android key store when scanning a QR code, for instance, and other apps will also work. You can switch authenticator apps in the pop-up, or set a dialog in the Android settings if you want to switch the default. Furthermore, there are also CTAP2 implementations for smartwatches (at least for Android smartwatches) that let you authenticate with a tap on the watch. That flow doesn't use a QR code for obvious reasons, you would need to manually connect your computer to the watch before it works. I believe https://github.com/fmeum/WearAuthn is the prime open source example of this feature. | | |
|
|
| |
| ▲ | kasabali 2 days ago | parent | prev [-] | | so you need to have discord installed in your phone. now multiply it with every web site you want to access. | | |
| ▲ | voxic11 2 days ago | parent [-] | | That is how discord has chosen to implement it but nothing about the scheme actually requires an app besides a mobile browser and QR code scanner to be involved. | | |
|
|
|
| ▲ | vel0city 2 days ago | parent | prev | next [-] |
| If I'm on someone else's computer and I want to use a passkey on my phone, the computer will display a QR code. I scan the QR code with my phone, the phone signs the login request and posts it to the service's callback. Then I'm logged in on that new device. If my phone's camera is broken but both devices have bluetooth, it can do the handshake over bluetooth. If I'm on someone else's computer and I want to use a passkey on my authenticator on my keychain, I'll just plug it in and then tap the button on the authenticator. Meanwhile, if I logged in with the password and the account only has a password then they have a full copy of my entire authenticator to the account. With the passkey, once the session is invalidated the access is gone. |
| |
| ▲ | snailmailman 2 days ago | parent | next [-] | | This is good in theory but in practice doesn't always work.
It isn't just a QR code like I would like it to be, its a QR code and you need bluetooth. Maybe there is a hypothetical world where bluetooth drivers actually work on windows machines and can connect to a mobile device seamlessly but that is not my experience. Across multiple windows machines i often have a problem where windows just decides the machine doesn't have bluetooth, and will refuse to display the QR code without any explanation. It doesn't tell you that bluetooth is the problem it just says "insert a hardware token to authenticate". I would love for this feature to actually work but every time I've needed it to it hasn't. Literally this week I only had a passkey on my phone, but at the time I was in Linux with Firefox, and afaict the qr code workflow basically requires either chrome or windows 10. | | |
| ▲ | vel0city 2 days ago | parent | next [-] | | I use this feature a bunch across dozens of different Windows and Mac devices from various device vendors with multiple Android phones and seemingly never had an issue. But I'm also a person who generally never experiences the issues some people have with Bluetooth in general. If I ever have an issue with Bluetooth on a computer, I swap out the wireless chipset with an actually good one. Its almost always just bad hardware. I've only had to do that a few times in the last decade though, more modern WiFi/BT chipsets are generally pretty OK. Its the old ones that are near worthless. Although I will say most of the time I just plug in my USB authenticator. I normally only fall back to the QR code if I don't have my keys on me. And as an edit, I wasn't aware fully that the QR code is to help assist the BT handshake, I had assumed it was posting a signed request back to the service. My bad, my above comment isn't completely correct. Thanks for cluing me in to the BT requirement for the QR code path. | | |
| ▲ | snailmailman 2 days ago | parent [-] | | From what I understand the Bluetooth is required to ensure proximity. It isn’t actually used to transmit anything of vital importance. The QR is doing most of that. It’s just there to prevent scanning the QR through a video call and logging in from elsewhere. Which I’m sure is great in theory. But IMO just adds even more complexity to a system that already has several moving parts and is more fragile than it should be. |
| |
| ▲ | jeroenhd 2 days ago | parent | prev | next [-] | | This is the one Bluetooth feature that has always worked for me out of the box on both Windows and macOS. I haven't tried Linux yet to be honest, no idea if anyone has bothered implementing it yet. Usually open source is a couple years late to this sort of thing (except for maybe distros like Android or ChromeOS). Now, if only Windows, macOS, and Linux can get together and fix whatever needs fixing to get headsets to connect properly automatically, that'd be grand. | |
| ▲ | aPoCoMiLogin 2 days ago | parent | prev [-] | | this doesn't sound like the passkey is the issue, is the implementation or the missing implementation issue. in poland we have similar to passkey implementation for government profile, that is then used to login to most/all government websites or to sign government documents. you point the camera on the qrcode, confirm it on the phone and you are done. this same app has your ID, which can be used in most places (shops, banks, police etc). and btw im using linux (main box), macos, android and ios - no issues so far with really cross device usage |
| |
| ▲ | doctoboggan 2 days ago | parent | prev [-] | | Does the apple passwords app work this way (log in to a public machine by scanning a QR code?) | | |
| ▲ | vel0city 2 days ago | parent [-] | | Passkey on an iPhone, logging into a public-ish terminal by scanning a QR code? Yes. In fact, if you have your Apple Passwords app set to sync through iCloud, you can: - Make a passkey on your Mac for a site in the Passwords app - Go to a different computer (a friend's or whatever) - Attempt to log in, choose use another device, it'll show the QR code - Use your iPhone to scan that QR code and sign in, as the iPhone has the passkey synced through iCloud Note, the same kind of thing is also possible with other password managers as well. |
|
|
|
| ▲ | iamnothere 2 days ago | parent | prev [-] |
| This is why you should use physical tokens like Yubikey. But don’t log in to important accounts on a public computer, like ever, unless it’s a dire emergency. |
| |
| ▲ | ghostly_s 2 days ago | parent [-] | | You can decide what appetite for risk you are comfortable with, but some people don't have any better option than logging in to accounts on a public computer. The industry is pushing this system as the new universal answer for authentication, it NEEDS to work in every scenario passwords do. (...and I’m pretty sure plugging my yubikey into a locked down public terminal is not going to solve this, either.) | | |
| ▲ | iamnothere 2 days ago | parent [-] | | It would let you log in (even though you shouldn’t). Most “locked down” computers still allow things like USB drives and Yubikeys. |
|
|