Live data from Hacker News

Bringing passkeys to Android and Chrome

android-developers.googleblog.com

171–180 of 264 posts

Re: Bringing passkeys to Android and Chrome

#171
The thread here seems like a dumpster fire to me. Everyone here is worrying about lock-in to an open standard, so I want to clarify things.

WebAuthn is an open standard. It's a way for you to prove to a website that you have a specific private key. There's no lock-in, because the key is portable (unless you don't want it to be). There's no privacy issue, because the key is unique per website. There's no security issue, because it's unphishable and can be unstealable if it's in hardware.

If you don't like Google or Apple, use your favorite password manager. All it will have to keep is a private key per website, and you're done. No usernames or passwords. You visit a site and are automatically logged in with a browser prompt.

This is amazing, it's the best thing that's ever happened to authentication. It's something the end user cannot have stolen. Can we be a bit more excited about it?

EDIT: If you want to try it, I just verified that https://www.pastery.net/ works great with Passkeys even though I haven't touched the code in a year.

That means that django-webauthin also works great with Passkeys, for you Django users:

https://pypi.org/project/django-webauthin/

Also, the latest Firefox on Android seems to work great.

Re: Bringing passkeys to Android and Chrome

#172
post #166

I'm noticing very little discussion about the user aspect, and I say that with non-savvy users in mind. I run a mid-sized web app/community where I've been supporting such users for a long time. Right now, I offer a classic login, and a few social providers. You'd think this is straightforward to support, but about 70% of support requests consists of the endless ways in which users can mess this up. "Can't get in" Tr…

The flip side is that it’s incredibly easy to use, faster, and means you don’t have to worry about forgotten passwords or phishing. It’s like an order of magnitude faster than less secure MFA options, too.

Re: Bringing passkeys to Android and Chrome

#173
post #147
post #58

Earlier quoted context omitted.

Sure, but here's the deal with this. Even with Yubikeys it has always been recommended (as long as I've been involved in these types of discussions anyway) that you should have two of them. If you lose one you have one safely secured that can get you into any service you need to. This is my general stance on it as well, and one that I think I would still strongly recommend even in this new Passkeys era. That would co…

> If you lose one you have one safely secured that can get you into any service you need to. Even that is not good enough, by a longshot. This is so much worse than even regular passwords. It works for corporatiosn. Lost your key? Go to IT and generate a new one. It does not work for individuals.

You realize you can have multiple devices for Passkeys, right?

It’s webauthn. Which means you can have one or more of the following, in any mix you wish: yubikey, iPhone, Android device, password manager that has said they’ll support this (1Password, Bitwarden, Dashlane, and probably more).

Password managers will sync the private keys between devices as well. So, as long as you can access your password manager you should be able to use that.

Re: Bringing passkeys to Android and Chrome

#174
post #30

Earlier quoted context omitted.

They way keys are managed means that the passkey material is never available to Google, Apple, etc

Are the keys encrypted with a key derived from a master password? Does the decryption only occur on the user's device? Is this master password not reused for the account or has account authentication been changed to use a cryptographic proof produced on-device? If the key is ever decrypted on vendor's servers, everything else is theater. And this is all of course also excluding auto-updating vendor-supplied authentic…

These are all implementation decisions, since behind-the-scenes this is all just Web Authentication API.

That also means if you dislike the idea of some big company holding all your keys in cloud backed-up vault, you can just use one of the dozens of hardware FIDO key manufacturers.

On iOS, the keys are stored in iCloud Keychain, which is also the password auto-fill vault.

These keys are protected with two levels - iCloud encryption and an effective HSM cluster of apple security enclaves.

There is no master passphrase/secret exposed to the user, it is synchronized by phones on the account. You must join the 'ring' of personal devices in addition to using the iCloud login to decrypt iCloud information.

This means unlike basic iCloud encryption (which has a recovery HSM used to help people gain access to their accounts and which legal processes may grant access to read data), you need to perform additional actions to get access to this vault.

Each 'passkey' (Web Authentication Credential) is a locally generated secp256r1 key pair in that keychain, with associated site information and storage for additional information such as the site-specified user identifier and friendly display name.

There's basically three levels of protection for the data

1. whatever the cloud hosting provider has for data at rest

2. the per-account iCloud encryption key, which is never shared with the hosting provider but exists on an Apple recovery HSM

3. the per-account device ring key, which is not visible to Apple.

so no, the credential's private key itself is never visible to Apple.

Apple does have a mechanism (if you go into Passwords) to share a passkey with another person's Apple device. You need to be mutually known (e.g. need to have one another as contacts, with the contact record containing a value associated with their Apple ID) and it needs to be done over Airdrop for a proximity check. Presumably, this uses the public key on their account to do an ECDH key agreement and send a snapshot of the private information over the encrypted channel.

Auto-updating vendor-supplied authentication code for iPhones is complex because of the split between the operating system code and the Secure Enclave firmware, the (misuse) of that API via a compromised operating system, and the potential to get malicious changes into the Secure Enclave firmware itself.

Re: Bringing passkeys to Android and Chrome

#175

Can we have this but self-hostable and open source, please? Something like Bitwarden that you can stuff onto your own device? I know there are hosted services for handling auth on the server backend, but what about the other way around? I use Krypton but that's not maintained (and already broken on some websites like Github). I trust the secure storage module of my phone and I trust my computer's TPM, unlike many oth…

Yes, you can. It's an open standard. Bitwarden can (and probably will) just support it.

Re: Bringing passkeys to Android and Chrome

#176
post #127

Dumb question: what keeps me from spoofing the fingerprint[1] and obtaining all the passcodes at once? [1] https://phys.org/news/2005-12-biometric-expert-easy-spoof-fi...

First, note that the article you linked is pretty old — the people who build biometric systems have added countermeasures in the last couple decades. They're definitely not perfect but it's not an especially easy attack since it's personalized and doesn't scale.

The first thing to remember is that your fingerprints / face scan are not the identifier for your passkey. They are used by the local device to unlock its secret store but the actual keys are regular crypto keys and the remote website never sees any of them. The interface also does not provide access to the private keys ever, and it should be rate-limited so it's not “get all of the keys” but the much slower “use the phone I stole to hammer out requests to different websites, mashing that sensor every second or two”. That means that whoever stole your phone & forged your biometrics is in a race with you revoking their access, but when you do it won't matter that they have your biometrics unless they can also steal your new phone (stop pissing off the Mossad).

The other thing to consider is what your threat model is. If you're worried about someone stealing your phone and building a realistic model of your fingerprint or scan of your facial structure, you have to ask what the alternatives are. For example, it'd be a LOT easier for an attacker to use a hidden camera or drone to record you entering your password — not using biometrics means you're typing it frequently, for example — and you're also at risk for all of the scenarios which passkeys are immune to (credential reuse, phishing, weak passwords), which happen to be by far the most common way people are compromised. Very few of us have to worry about targeted attacks by skilled adversaries, and if you are worried about that you probably need to move or hire a bodyguard more than anything involving infosec.

Re: Bringing passkeys to Android and Chrome

#177

Do you know if it's possible to see a list of stored passkeys in Android? I installed the Play Service beta, managed to create a passkey and sign in, but can't see the list of credentials anywhere in the UI.

How/where did you create the Passkey? I don't see a UI for it anywhere.

Re: Bringing passkeys to Android and Chrome

#179
post #161
post #73

Earlier quoted context omitted.

I’m with you, I de-Googled all my services a few years ago, and I couldn’t be happier with the decision. I’m curious though, what’s preventing you from using a password manager on your phone? I use KeePass, and I’m able to use my password DB on any device I want.

How do you handle syncing? I use KeePassXC on my desktop, and I back up the encrypted password DB to SpiderOak, but I haven't figured out a good way to get that DB onto my phone, auto-synced. Also are you worried about the security of the DB on your phone? My password DB's passphrase is a good 50+ characters long, which I can type quickly on my laptop, but I can't imagine pecking that out on a phone. And I feel like…

> How do you handle syncing?

Syncthing [1] works very well. I personally do not trust my phone with my passwords, so barely do any serious things on my phone.

[1] https://syncthing.net/

Post reply on HN