News for hackers. Stuff that matters.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by aftbit on Thursday May 05, 2022 @11:35AM (#31274677)
Are there any FIDO security keys that explicitly support backing up and restoring their master secrets? I would love to move from Username + Password + TOTP but my current workflow requires that I am able to regain access to my digital accounts using nothing but a few page paper backup including core service passwords & exported TOTP secrets.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by gazby on Thursday May 05, 2022 @12:01PM (#31275058)
Just so you don't feel alone with the replies being of the typical variety, I'm 100% with you. The flaws in the "backup token" approach are rehashed constantly but the world keeps turning as though they're irrelevant.

I look forward to hardware tokens reaching a popularity level where we see implementations in software and this conversation can be rendered moot.

Shout out to Mozilla and Dan Stiner for their work so far.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by danstiner on Thursday May 05, 2022 @02:14PM (#31276738)
Thanks for the shout-out!

I wrote that U2F implementation in software because I wanted phishing protection without needing to carry a hardware key. Well, and to learn Rust :) It's certainly a security trade-off to just store secrets in your keychain like I choose to, it is not meant to be a replacement for a hardware key and in fact I have a Yubikey I use when the situation calls for it.

I'd love to use TPM and biometrics to implement U2F/WebAuthn on Linux and have a proper, secure solution. Similar to what Apple has done with Touch ID. But that's no easy task. TPM support is poor on Linux and other options like relaying auth requests to your phone for approval and storing secrets in the Secure Enclave is no easier.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by password4321 on Friday May 06, 2022 @05:02PM (#31289582)
> relaying auth requests to your phone for approval and storing secrets in the Secure Enclave

Like the acquired/abandoned https://github.com/kryptco/kr [key stored in a [...] mobile app] with iOS and Android apps all under an "All Rights Reserved"-source license?

Also, newer Macs have a Secure Enclave (supports 256-bit secp256r1 ECC keys):

https://github.com/maxgoedjen/secretive [storing and managing SSH keys in the Secure Enclave [...] or a Smart Card (such as a YubiKey)]

https://github.com/sekey/sekey [Use Touch ID / Secure Enclave for SSH Authentication!]

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by danstiner on Tuesday May 10, 2022 @12:10PM (#31328801)
Yep exactly, Krypton looked interesting, sorry to see it's dead.

And yep Apple is way ahead on this imo, the touch sensor securely communicates with the Secure Enclave, I'm not aware of other laptop hardware doing that. (https://support.apple.com/en-bh/guide/security/sec067eb0c9e/...)

I'd love to have something equivalent for Linux, but given that requires hardware support I think relaying auth requests to your phone is the closest equivalent.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @12:27PM (#31275392)
Software ("virtual") implementations are already possible in WebAuthn. It's up to the service whether to allow enrollment via a software authenticator; most services will want to allow this, seeing as it's still way more secure than ordinary username/password.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by throwaway52022 on Thursday May 05, 2022 @12:40PM (#31275560)
For web apps/services, the browser needs to be involved here too, right? (And maybe the OS?) How can I tell Chrome on my desktop to use my "software token" instead of Chrome looking for a hardware token over USB or finding it via NFC, so the remote service can ultimately interact with my (virtual) token?

(I don't even want to think about how to tell Mobile Safari on my iPhone how to find my key)

EDIT: My ideal setup, I think, is an app on my phone that I can use as my token - somehow signaling to my desktop/laptop that it's nearby and can be used as a token and ideally popping up a notice on the phone lock screen when there's an authentication request so I can quickly get to it. Then in my app, I'm free to export and backup my keys for all of the sites I'm enrolled with as I see fit. I know, I know, maybe being able to export the keys makes the setup less secure, but I will trust myself not to accidentally give the backup to a phishing site. (And I do worry that I'll accidentally get phished using a TOTP app, so I'd like to switch to FIDO, but I don't want the pain of multiple keys)

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by mjevans on Thursday May 05, 2022 @02:51PM (#31277109)
I do NOT want to use my phone. It cannot be considered to be a secure device given the 'network' baseband control chipset will never be owned by the phone's buyer and has full access to the device.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @03:10PM (#31277302)
Storing your keys in secure hardware on a phone is almost certainly more secure than storing a key in software on your desktop hard drive.

If you don't trust your hardware, it's almost always game over. Desktops have devices running dubious firwmare as well, but at least with a hardware key store, the window of compromise ends at the time you update – a stolen key stays stolen forever.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by toastal on Thursday May 05, 2022 @11:39PM (#31281048)
For me the biggest anti-phone argument is that they break and that is very common. They also run out of power. Hardware keys offload this to something that can go through the washing machine or ride in monsoon rains on my motorbike's keychain.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by DCKing on Thursday May 05, 2022 @08:41PM (#31279880)
This is an urban legend. It ticks all the boxes of people who are inclined to be paranoid about these sort of things (I realize saying that may come across as a value judgment: it isn't), so it remains a popular meme. But the "baseband controls the main phone" is a meme that was maybe true for mid 00s dumbphones but not modern smartphones.

That's not to say that you should trust modern smartphones. That's up to you. It's just that in whatever "trust" means to you, the baseband urban legend shouldn't come into the equation.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by judge2020 on Thursday May 05, 2022 @09:01PM (#31280030)
While I can't find the reference, I remember reading about how Apple set up their connection to the modem in a very particular way to where it has its own co-processor for any code it needs to run, and the bridge between it and the main SOC is just IO for rpc and network access.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by astrange on Thursday May 05, 2022 @09:24PM (#31280172)
Well, the baseband always was its own processor - that's why it's a separate thing called a baseband. What you're thinking of is an IOMMU, it's like a firewall that prevents coprocessors from reading all of RAM.

If there are vulnerabilities on the AP (main processor) then you can hack it from the baseband, but also from the bluetooth or WiFi chips.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by astrange on Thursday May 05, 2022 @09:26PM (#31280183)
Your phone is a whole lot more secure than your PC. It has to be, because you carry it around with you all day and it's easier to steal, so it has to be resistant to a lot more things.

Caveat emptor on cheaper/older phones or ones you enabled developer modes on.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tpush on Thursday May 05, 2022 @05:12PM (#31278470)
The baseband CPU doesn't have full access on any decent phone.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by SXX on Friday May 06, 2022 @01:32AM (#31281652)
How do you know for sure it's isolated? Every phone has tons of blobs running in background and hardware itself is very much blackbox.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by t-3 on Thursday May 05, 2022 @07:20PM (#31279435)
Got a list of decent phones?
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tpush on Thursday May 05, 2022 @08:15PM (#31279710)
The baseband on an iPhone is connected via USB and has no DMA, for example. I believe Google's Pixel phones are similar.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by judge2020 on Thursday May 05, 2022 @09:11PM (#31280083)
https://news.ycombinator.com/item?id=31275560

Yes, either the Browser or the OS will need to be involved. For example, for Webauthn on Chrome on Windows: chrome receives the request, then it calls the Windows Hello APIs. Then, that Windows Hello API shows a popup to read a physical security key or authenticate a virtual security key via face/PIN (this is protected by a TPM, but it's "virtual" since Windows generates it via the TPM but stores it encrypted on-disk).

To support a syncing fido keyvault, Chrome could very well redirect the calls to its own popup for choosing to 'use Chrome', or 'use another key', which would then call the Windows Hello API. In fact, Chrome already supports this[0], with 'Add a new Android phone' is simply how they're presenting Webauthn over BLE, and it works with iOS when passkeys are enabled in the iOS developer menu[1].

0: https://i.judge.sh/Qq93C/v_GG5R7LyM.png

1: https://developer.apple.com/documentation/authenticationserv...

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @03:08PM (#31277288)
A much more secure way of doing this is to use the platform's/OSs most secure way of storing private keys, which in many cases is hardware (Secure Enclave on iOS, TrustZone or "real" secure hardware like Titan M on Android, TPM on Windows/Linux).

This is already supported by many browsers (unfortunately Mozilla/Firefox are dragging their feet on this one [1]) and gives you exactly the user experience you want.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1536482

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @04:21PM (#31277966)
This does not solve the backup issue. It's effectively using the phone or computer as a whole as a hardware key, which introduces multiple failure modes compared to external hardware keys while also adding to privacy concerns. It might have some extremely niche use for some use of on-prem devices in enterprise settings where the inability to sever the authentication element from the actual hardware might be convenient; other than that, TPMs are essentially a misfeature given the existence of smartcards and hardware keys.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @06:53PM (#31279277)
The backup issue is solved by using an external authenticator for initial provisioning of new devices.

In a compliant implementation, you can add a new external authenticator from an existing trusted device, and a new trusted device from an existing external authenticator.

> while also adding to privacy concerns.

What concerns are you thinking about here?

> TPMs are essentially a misfeature given the existence of smartcards and hardware keys.

TPMs are essentially built-in smartcards (with a few other optional features like measurements/attestation, but these have never really taken off as far as I know, other than giving TPMs the reputation they have) and are very well suited for use as platform authenticators.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @08:02PM (#31279631)
> In a compliant implementation, you can add a new external authenticator from an existing trusted device, and a new trusted device from an existing external authenticator.

You can kinda sorta do this with WebAuthn if the service you're enrolling into allows for multiple authenticators (the spec recommends this, but some services don't allow more than one). But then you have to repeat that enrollment step with all devices, for every new service you sign up to. Which is practically useless because an actual backup is supposed to be stored in a safe place that might be hard to get to.

> TPMs are essentially built-in smartcards

The question is why anyone sensible would want to have a smartcard built into their computing device. The only uses I can think for it are nefarious, i.e. allowing outside services to track the user and violate their privacy.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @10:39PM (#31280663)
To securely store device-specific authentication credentials such as WebAuthN those used by WebAuthN/FIDO, for example.

> The only uses I can think for it are nefarious, i.e. allowing outside services to track the user and violate their privacy.

A smartcard would be one of the worst or at least most complicated ways to implement tracking: It can communicate with the rest of the system only through an extremely limited interface and can strictly only ever answer requests sent by the host, never initiate requests on its own.

To do anything nefarious, it would need a privileged companion service on your computer – which doesn't gain anything from being able to talk to the smartcard.

As an aside: Even TPMs are an extremely passive technology. The only thing that arguably makes them "evil" is the fact that they can perform measurements for device attestation, but it can still never transmit these on its own. That evil is pretty indirect, in that some service providers might only allow users to use TPM-enabled and sufficiently attested clients to access their services, and exclude open hardware and software.

That's coincidentally exactly what DRM is, and it's already here, and not at all limited to TPMs. I'm cautiously optimistic though that it's possible to strike a compromise and limit attestation to properly sandboxed parts of the system, e.g. only the parts of the GPU relevant to display copyrighted movies, without getting undue access to the rest of the system.

The smartcard part of TPMs is about as capable of evil (as far as your computer and your data on it is concerned) as a USB-connected mug warmer.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by raxxorraxor on Friday May 06, 2022 @07:15AM (#31283781)
But if I never adopt TPM these compromises aren't necessary. Doing so would only give me negatives.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Friday May 06, 2022 @09:02AM (#31284609)
But there isn't a compromise.

You can use the "smartcard part" of a TPM. This gives you secure/non-extractable key storage.

You can use the attestation/trusted computing part of a TPM. This gives you trusted computing, which can be used for DRM, if you install software or use a service using DRM and grant it access to your system. If you don't like that, just don't do that. (Today's DRM solutions don't even use TPMs anymore, for what it's worth.)

If you want/need neither, just use neither!

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by raxxorraxor on Friday May 06, 2022 @09:41AM (#31284963)
If everyone were forced to use TPM it probably would still be used as a DRM mechanism. My problem is with enabling the usage in the first place whereas I only have negligible security improvements.

The only think that kept DRM from leveraging it was indeed the low usage in consumer spaces.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by raxxorraxor on Friday May 06, 2022 @07:05AM (#31283737)
This is such a restrictive security model though. Sure, devices are already identifiable. That is a security issue in my opinion. Yes, authentication is one use case where it is actually beneficial. But the security threats from this are far greater in my opinion even if you include phishing. Privacy is a concern for users even if it is conveniently ignored here.

> Your privacy is important to us.

Privacy statement of the group and I think it is a straight lie. This is a major if not the major security concern. TPM didn't address the problem and therefore isn't a too popular guest.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by throw1138 on Thursday May 05, 2022 @12:38PM (#31275539)
Are there any existing implementations I should be aware of?
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by md_ on Thursday May 05, 2022 @12:58PM (#31275806)
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by sodality2 on Thursday May 05, 2022 @01:38PM (#31276329)
OpenSK is mainly intended for flashing onto a device like a nordic dongle.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by _vdpp on Thursday May 05, 2022 @02:06PM (#31276657)
I think the whole point of HSMs is that you can’t back up (read: exfiltrate) the master secrets. Having said that, on certain Yubikeys you can store PGP keys on them, and put the same secret key on several different Yubis. If you’re relying on a hardware key it’s probably a good idea to have a backup key and make sure both are registered with whatever system you’re accessing. LastPass and GitHub at least support adding several different security keys.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by TacticalCoder on Thursday May 05, 2022 @03:58PM (#31277797)
> I think the whole point of HSMs is that you can’t back up (read: exfiltrate) the master secrets.

You're getting it backwards though. You are right that the whole point of an HSM is to not leak secrets when connected to a compromised computer. However there's nothing wrong with a HSM device that can be initialized with a "seed" of your liking, as long as that initialization step is done in a fully offline / airgapped way.

Ledger (whose CEO was, before creating Ledger), one of the member of the team working on the FIDO specs, make a "hardware wallet" for cryptocurrencies that can run a FIDO app. And it's totally possible to initialize the seed of your liking for your U2F device.

Now I did test this a while ago (out of curiosity) and it all working but I'm not really using it atm: I don't know where it's at regarding the latest FIDO2 specs.

But the point is: what GP asked for can totally be done.

I understand some may want to move the goalpost and say: "ok but then the problem now is not losing your piece of paper where you wrote that seed". But that is another topic altogether that does change nothing to the fact that you can have an HSM used for U2F that can be backed up.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by 3np on Saturday May 07, 2022 @11:57PM (#31301140)
> Ledger (whose CEO was, before creating Ledger)

You mean their CTO aka btchip, right? Current CEO is non-techie and was not directly part of founding team.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by _vdpp on Thursday May 05, 2022 @04:09PM (#31277885)
How is that seed any different from a password then?
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @05:45PM (#31278729)
It never comes into contact with the memory of a network connected system, therefore putting it beyond the reach of phishing or malware thus solving the overwhelming majority of risks actual passwords are exposed to.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by Kab1r on Thursday May 05, 2022 @04:58PM (#31278329)
For one, it's only ever seen once: during initialization.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by jjeaff on Thursday May 05, 2022 @06:44PM (#31279210)
In addition, I believe it is not stored on the device. So it can't be exhilarated.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by rodgerd on Thursday May 05, 2022 @08:07PM (#31279668)
I, too, find devices prevent exhilaration these days.

Seriously, though, paper is better for most people that managing device cloning or the like. Most people can have a notebook in their house as a backup-of-last resort. Asking folks to become HSM managers seems unlikely to lead to better outcomes.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by adrian_b on Thursday May 05, 2022 @03:38PM (#31277580)
The ability to have a backup does not imply any ability to exfiltrate the master secrets.

It is enough to have a means to wipe out any information contained in the device, including any master secret.

At that point, there should be a means to enter a new master secret in the blank device, before proceeding to use it normally.

If a device provides this feature and it does not contain any other secret information introduced in it by the manufacturer, then it allows the owner to have any kind of backup that is desired.

I am also one of those who would never use a security device that contains any kind of secret information that is not under my control.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by TacticalCoder on Thursday May 05, 2022 @04:22PM (#31277981)
> If a device provides this feature and it does not contain any other secret information introduced in it by the manufacturer, then it allows the owner to have any kind of backup that is desired.

Precisely. The Ledger Nano S (and probably the Nano X too) allows to do exactly what you describe, the very way you describe it (three wrong PINs, on purpose or not, and the device resets itself to factory default and, as you wrote, at that point it's unusable until you enter again a master secret (either your old one or a new one: the device has no way to know and doesn't care).

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by miohtama on Thursday May 05, 2022 @05:57PM (#31278816)
iPhones can do wipe on too many failed attempts as well:

https://osxdaily.com/2021/05/27/set-iphone-erase-automatical...

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by _vdpp on Thursday May 05, 2022 @04:39PM (#31278138)
If I’m the one entering the master secret in, then the device is a glorified password manager. The point of an HSM is that nobody, not even the user, can access the secrets. I’m not saying there isn’t a use case for such a device, or that it isn’t possible, only that the security guarantees you get from it are different. The security model you’re describing is the same as someone entering their secret key in the “notes” app in a phone, leaving it in Airplane mode with FDE and wipe after a certain number of incorrect PIN entries. You can call that a “HSM”, but it’s not what I’d consider one.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @04:55PM (#31278307)
A password manager that does not allow one to log in to the wrong site is still very useful. Also, just because you're entering a master secret in doesn't mean it's any easier to get it out. The user could simply be required to generate the master secret herself and back it up on her own.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by _vdpp on Thursday May 05, 2022 @05:50PM (#31278758)
Sounds basically like a key store/loader like this one: https://www.cryptomuseum.com/crypto/usa/kyk13/index.htm. I have a little experience with its successor. There’s a legit purpose for it but it’s a different animal then an HSM in my opinion.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by adrian_b on Thursday May 05, 2022 @05:40PM (#31278691)
The device that you name "HSM" is the kind of device that is suitable for a company to distribute to its employees to login into the company network or servers.

It is not a device useful to have for an individual user. On the other hand, hardware password managers are useful for individual users.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by yuav on Thursday May 05, 2022 @04:23PM (#31277988)
For HSM with FIPS140 Level 3 certification the master key can only enter and leave in encrypted form. Backup/restore and cloning is possible, but there are mechanisms like hardware and firmware validation to ensure only the same type device and certified venfor software can make use of it.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by thinkmassive on Thursday May 05, 2022 @05:59PM (#31278832)
compliance != security
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @02:54PM (#31277139)
You'll need to generate the key on a less secure host to do that, though, which partially defeats the purpose of a hardware key in the first place.

As far as I understand, "real" HSMs (i.e. the expensive, rack sized type of security key) sometimes offer the ability to export their root key to other models by the same manufacturer using a specific ceremony.

Arguably this also significantly weakens the security of the keys protected in the HSM, but at least it does not automatically expose it to software.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by TacticalCoder on Thursday May 05, 2022 @04:10PM (#31277898)
But is that a problem though? I generated my own HSM/U2F keys throwing dice and the seed is basically just one 256 bit numbers. I did have, indeed, to compute a matching checksum (for the scheme I used represented the 256 bit numbers as a list of 24 words, out of a dictionary of 2048 words, where some bits of the last number acts as a checksum).

This only needs to be done once. For example by booting an old computer with no wifi capabilities and no hard disk from a Linux Live CD.

> You'll need to generate the key on a less secure host to do that, though, which partially defeats the purpose of a hardware key in the first place.

I kinda disagree with that. I generated my key by throwing physical dice. No random number generator to trust here. I only needed an offline/airgapped computer to compute the checksum and that program cannot lie: I know the first 256 bits out of the 264 bits so the program computing the checksum cannot lie to me, it's only giving me 8 bits of checksum.

Then I only need to trust the specs, not the HSM vendor.

Now, sure, my old Pentium III without any hard disk and without any WiFi, without any physical ethernet port, may be somehow compromised and exfiltrate data through its fans or PSU or something but what are the odds here? Especially: what are the odds compared to the odds of having a rogue HSM vendor selling you U2F keys for which it fully knows the secret?

I'd argue this requires less trust than the trust required in buying a pre-initialized HSM device.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @05:18PM (#31278527)
> booting an old computer with no wifi capabilities and no hard disk from a Linux Live CD.

By doing that, you are increasing your trusted code base by several orders of magnitudes doing that. This might be fine for your purposes, but in a corporate environment, it might very much not be.

> Then I only need to trust the specs, not the HSM vendor.

You do trust the HSM (vendor) no matter how you use it. Ironically, the more modern a cryptographic protocol is, the more opportunity for surreptitious key exfiltration there is. This could be in the form of predictable (using a shared secret) initialization vectors, wrapped keys and much more.

You also trust an HSM to be more tamper-resistant and/or more hardened against logical attacks than a regular computer, or there would not really be a point in using one in the first place.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by withinboredom on Thursday May 05, 2022 @03:08PM (#31277281)
You can generate the keys inside the yubikey. Then just have two keys instead of a shared key. That’s actually better IMHO since that allows you to revoke one of you lose it instead of having a compromised backup.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @03:16PM (#31277368)
Ah, sure, if your use case allows registering multiple keys that is indeed a good way to solve it. Unfortunately that's not always the case (as pointed out in other threads).
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by _vdpp on Thursday May 05, 2022 @03:20PM (#31277402)
Yeah, for the paranoid you’d have an air-gapped box with your PGP tools on it that you’d plug the hardware key into for setup.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by sheerun on Thursday May 05, 2022 @02:35PM (#31276955)
A backup key could have ability to reject original one, problem solved...
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @02:51PM (#31277104)
How would that work in practice? Key/certificate revocation is notoriously hard.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by sdfgdfgbsdfg on Thursday May 05, 2022 @08:28PM (#31279788)
Here's how YubiCo proposes to address this: https://www.yubico.com/blog/yubico-proposes-webauthn-protoco... Revocation is done RP side, but it essentially allows a primary authenticator to register itself and the secondary on a given RP
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by withinboredom on Thursday May 05, 2022 @03:09PM (#31277292)
With GitHub, you just remove it from your account. For 2fa, same story.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by traceroute66 on Thursday May 05, 2022 @11:42AM (#31274810)
> Are there any FIDO security keys that explicitly support backing up and restoring their master secrets?

Why would you need that ? On most services that I use that support FIDO, you can register as many keys as you like.

Seems to me that is a much more secure option than to provide a potentially exploitable option of allowing key extraction.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by li2uR3ce on Thursday May 05, 2022 @12:10PM (#31275167)
I want to avoid having to fetch my backup key every time I want to setup a new account. The backup key is kept offsite and thus inconvenient. It's offsite because that protects me from fire or other such catastrophic events.

This is what keeps me preferring password based security because I can backup my encrypted password database offsite with ease. Everything else provides hard path to recovery.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by traceroute66 on Thursday May 05, 2022 @12:34PM (#31275496)
> I want to avoid having to fetch my backup key every time I want to setup a new account. The backup key is kept offsite and thus inconvenient.

As stated, you can have as many backup keys as you like.

Thus you are not limited to two keys.

Buy one more key. Keep one off-site and two on-prem. Rotate them once in a while to keep the off-site one fresh.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @12:41PM (#31275572)
> As stated, you can have as many backup keys as you like.

That does not solve anything unless the backup keys are enrolled to each and every one of the services you use. Adding more backup keys and storing them more and more securely just makes it harder to be sure that you've enrolled them all to the latest service.

This is not an issue if users are explicitly allowed to enroll "virtual" soft authenticators that they can back up and restore as they see fit, but that's an additional requirement that comes at some compromise, since some services might instead want to ensure that you're enrolling a non-cloneable credential. (E.g. your physical bank or non-remote employer, that can easily verify your identity via additional means if needed to restore your access.) The WebAuthn spec allows for both models.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by md_ on Thursday May 05, 2022 @12:43PM (#31275588)
I think their point is that they don't want to have the window of vulnerability (to loss) when they have added a new account but haven't yet rotated their off-site key?

That said, the real answer is that FIDO keys can be synced by e.g. Apple (as described in more detail here: https://www.wired.com/story/fido-alliance-ios-android-passwo...). So you can potentially just make your offsite backup be a hardware key that gets you into your iCloud keychain, and (if you are willing to trust Apple) use your iCloud for backing up all your other accounts' keys.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by andrey_utkin on Thursday May 05, 2022 @01:12PM (#31276004)
You cannot register more than one security key with *AWS*. Which a lot of devs beg for, for years. Can't find that support ticket URL now.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by _vdpp on Thursday May 05, 2022 @02:08PM (#31276679)
That’s a pretty big foul. I use a different hardware key plugged into each workstation I use and then some “roaming” keys that I can use for backup, travel, etc.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @05:49PM (#31278755)
To work around this I sync multiple Ledger devices with identical seed phrases which allow for duplicate FIDO devices that can be shared with any teams that need break-glass root account access.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by greggyb on Thursday May 05, 2022 @10:16PM (#31280511)
AWS employees are issued two Yubikeys, which are registered for all internal auth use cases. For me, but not for thee, it seems.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by Spivak on Thursday May 05, 2022 @05:10PM (#31278455)
And probably never will because the official unofficial solution is to use SSO and have your identity provider handle that.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by eikenberry on Thursday May 05, 2022 @02:32PM (#31276928)
I have 100s of passwords and dozens of TOTP keys in my password manager. Logging into every one of these sites with 2 keys, and having to re-auth with all of them if you lose one of those is unworkable. It only really makes sense for centralized auth solutions like you'd have at work, not for day to day personal things. I want a FIDO key that I can use for day to day things.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @05:52PM (#31278774)
Backup a 24 word seed phrase once on a FIDO device that supports BIP39.

Now go enroll 100 sites in it and then lose or destroy the device.

Enter the 24 word backup to a new device and access to your 100 sites is restored.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by black_puppydog on Tuesday May 10, 2022 @02:34AM (#31324131)
This sounds like what GGP would want. Does it exist?
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by light_cone on Thursday May 05, 2022 @02:37PM (#31276980)
First of all, _most_ services is not _all_ services, so you have a use case here.

Also, you could make FIDO keys that support restoring but not backing up. If you could set up a FIDO with custom random seed _as an expert option_, then you could have a secure key, and keeping the seed private would be your expert problem.

I would adopt such a solution, whereas now I don't adopt the proposed solution because I cannot add a new service while having the backup key remaining off-site.

Maybe another solution would be to be to have _absolutely all_ services accept several keys (enforced by protocol), in addition to be able to accept adding an off-site key with only its fingerprint, but without requiring to have it physically.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by pat2man on Thursday May 05, 2022 @12:01PM (#31275057)
Ledger (https://www.ledger.com) supports FIDO and lets you do backups. You really need a screen to do it correctly, otherwise there is little point in having an external device.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by diggernet on Thursday May 05, 2022 @01:07PM (#31275940)
TacticalCoder has previously commented here (https://news.ycombinator.com/item?id=26844019) about the ability to set a specific seed on Ledger devices, so you can make a backup key that behaves identically to your main key.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @03:14PM (#31277344)
This might be true for cryptocurrency transaction initiation, but in the WebAuthN model, what's the benefit of having a screen?

The result of a WebAuthN challenge procedure is almost always a session cookie (TLS channel binding if you're really fancy), so the only thing that an authenticator could display on your screen is "do you want to authenticate as user x to website y", which arguably does not add that much value.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by nybble41 on Thursday May 05, 2022 @05:46PM (#31278732)
> … so the only thing that an authenticator could display on your screen is "do you want to authenticate as user x to website y" …

That is exactly why you want it.

Consider, for a moment, that you have a key which is used to log in to your bank account and some other, much less critical site. Perhaps a GitHub account where you store some hobby projects.

Without an unforgeable indication on the authenticator to show what you're logging in to, malware can wait until you're logging in to the second site, and thus expecting a prompt to use the authenticator, but actually trigger the authentication process for your bank off-screen. You tap the button or whatever on the authenticator thinking that you're logging in to your GitHub account but actually all your money is being siphoned off to who-knows-where.

A key that signs whatever request is presented to it without any indication to the user of what the request actually was is dangerous.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @06:10PM (#31278931)
If you have malware on your computer (that can compromise the browser), it can just wait until you actually log in to your bank and then grab the session cookie/proxy away your authentication.

It's a different story if the operation you are confirming with a security key actually can be rendered on the display, e.g. "pay $100 to someshop.com" (as in SPC [1]). In that scenario, there is actually nothing to steal except for the signed message itself, which would be useless to anybody that's not someshop.com, but given that WebAuthN almost always just yields a session cookie, I don't really see the benefit.

[1] https://www.w3.org/TR/secure-payment-confirmation/

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by nybble41 on Thursday May 05, 2022 @06:24PM (#31279045)
> If you have malware on your computer (that can compromise the browser), it can just wait until you actually log in to your bank and then grab the session cookie/proxy away your authentication.

Sure, but you might never log in to your bank from this particular computer precisely because you don't trust it. But you think it's fine to log in to your hobby account since that doesn't store anything you really consider important.

If you assume there is never any malware on the host then you don't need the key at all—the host can store the secrets and handle the authentication on its own.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @06:48PM (#31279236)
Oh, that's a good point – I personally never use my security key at untrusted computers, but I guess this could be a somewhat common use case.

> If you assume there is never any malware on the host then you don't need the key at all—the host can store the secrets and handle the authentication on its own.

True, a permanently plugged in authenticator is largely equivalent to just using a password manager (which also prevents against skimming, if used exclusively via autofill, never via copy/paste), but unlike a password mananger, it makes unsafe actions explicitly impossible for non-sophisticated users. I'd consider this a strong advantage.

It also survives OS reinstalls, ransomware etc.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tialaramex on Thursday May 05, 2022 @05:15PM (#31278501)
The comment you're replying to is about cloning WebAuthn credentials. This is a delicate operation, because you are effectively cloning your entire identity. So yeah, a screen seems reasonable for that purpose.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by rdl on Thursday May 05, 2022 @12:58PM (#31275823)
Ideally there would be a way to create "tickets" or something from an authenticator in advance and then use them for registration without physical access to the device. Then I could have 100 tickets from my backup on my master, keep the physical backup in a secure offsite location, and enroll new services using master + backup-tickets. When I run out of tickets, generate 100 more.

Being able to export/back up/restore master secrets would be nice too.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by sdfgdfgbsdfg on Thursday May 05, 2022 @08:37PM (#31279855)
https://www.yubico.com/blog/yubico-proposes-webauthn-protoco... Is basically that, but with infinite tickets :)
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tadfisher on Thursday May 05, 2022 @01:08PM (#31275948)
This sounds suspiciously like PGP subkeys. Having not read into how FIDO works, I'm going to now assume it works by supplying a "public key" to a third party, and the third party authenticates by having you encrypt a nonce with a private key. How far off am I?
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by est31 on Thursday May 05, 2022 @01:42PM (#31276375)
FIDO involves creating a new public/private key pair for each website, to prevent cross website tracking. The keys are derived from a secret stored on the device, so the device doesn't need to store anything but that secret, which enables it to be used with a limitless number of websites.

Edit: there seems to have been a paper that studied the very question of "can you create keys asynchronously so that you can later use them with a backup key": https://eprint.iacr.org/2020/1004.pdf https://www.youtube.com/watch?v=urJ2DhpLAEk

I need to read the paper however on how feasible an implementation of this is, and how much buy-in it needs from website and browser vendors.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @02:56PM (#31277171)
Cryptographically speaking it's signing a challenge, not encrypting a value (which would be a public key operation), but generally speaking yes, that's the idea of it!

One of the things FIDO adds beyond a protocol for "plain" hardware-generated and stored keys is the idea of attestation, i.e. authenticators being able to express statements like "keys can never leave this authenticator" or "this key requires PIN or fingerprint verification" – all assuming you do trust the manufacturer.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tialaramex on Thursday May 05, 2022 @05:12PM (#31278473)
However, you should not require attestation for public services. If you let Jim sign up with his dog's name as a password, but then refuse to let Sarah sign in because her FIDO device wouldn't provide "attestation" you're crazy.

Attestation probably isn't the correct choice for almost anybody, but the cases where it could at least make sense are if you're an employer checking employee authenticators, if you gave everybody a Yubico Fantastic XXV authenticator, you might decide it makes sense to verify the credentials enrolled are from Yubico Fantastic XXV authenticators. But still probably not. On the whole, everywhere I see UIs for managing attestation it makes me a little bit sad, because it's an attractive nuisance. Azure AD for example does this.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by rdl on Thursday May 05, 2022 @08:13PM (#31279698)
It might be that if someone has a hardware key which makes a sufficient attestation, you disable some OTHER supplemental authentication mechanism; like, if it says it requires a biometric, then you could allow auto-login in a context where you'd otherwise also require a pin or other second factor.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tialaramex on Friday May 06, 2022 @04:26AM (#31282771)
You can't say "Does it require a biometric?". The attestation is proof this device was issued by this manufacturer, so you're going to be whitelisting manufacturers and maybe specific product lines. Somebody technical needs to understand how to determine matches, and then somebody with authority needs to decide which ones are acceptable (maybe they're going to buy and test each model?), only if you're actively doing this is it even viable.

Now, I want you to imagine if corporate has to approve motor vehicles for the HQ's 600 vehicle car park. Of course the CEO's BMW M5 daily driver is approved, and for the first week maybe the random cars owned by people who regularly use that car park get whitelisted pretty easily. By the next month though, one of two things, either you're told just buy the same exact model of car as the CEO to "save trouble" or everybody just tells you to use a different car park nearby, and the HQ real carpark sits mostly empty because approval is a hassle.

The right answer, you can see, is to just not have a rule whitelisting cars at all. It's a bad rule.

If all you want to ask for is "Use a second factor" then you can do that, there's a flag in WebAuthn, and the resulting signatures have the UV bit flag set (all WebAuthn signatures have UP set, but Presence of users is distinct from Verification of users). Because it's a signed flag, even though it's a single bit, you can rely upon it unless you don't trust the device you enrolled. But, again, why? What is your threat model where your users do deliberately enrol untrustworthy devices but presumably never just helpfully enrol a device for a crook ?

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @06:58PM (#31279303)
Sure, don't require attestation for services where 2FA is completely optional.

But for sensitive systems/services, why not make use of the advanced capabilities that hardware authenticators offer? I'm using one in a corporate environment, and in my view it makes a lot of sense.

I'd also not be upset if my bank would let me bypass the mandatory "account restricted, call customer support" dance every time I initiate a transfer over $10 between my own accounts using only a "trusted" authenticator brand... And banks typically care a lot about security properties like "this authenticator does not allow extracting private keys".

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @05:56PM (#31278800)
Existing devices with BIP39 random seed backup support have you covered here with far less complexity.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by dwaite on Thursday May 05, 2022 @03:38PM (#31277576)
The vendors here are proposing a platform synchronization method such that these are both backed up as well as shared across devices within a particular platform account.

There likely is a hardware key that supports export and import of keys (even if that winds up being a fork of say the Solo key firmware). However, as an end-user one doesn't want to accidentally forget to export keys for a while, nor do they want to worry about how to properly secure a backup. So, you likely would want additional infrastructure such as vendor software which would do this for you on a schedule.

There are interesting models which could work here, such as a factory-paired 'set' of keys being sold in the same package, where only the second key (the one you kept in your fire safe) has the necessary keys to decrypt and load such a backup.

The question is whether a security manufacturer would be interested in this, as the presence of such a mechanism may prevent them from getting certain security certifications and being able to sell/be used in certain markets and scenarios.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by blep_ on Thursday May 05, 2022 @07:27PM (#31279470)
FIDO, at least, doesn't store per-site keys on the device. You only have to back up and restore the master key, which doesn't change and so doesn't need to be scheduled.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by dwaite on Friday May 06, 2022 @03:27AM (#31282355)
When generating non-resident/non-discoverable credentials, many authenticators will use a source of randomness, an internal secret and possibly the name of the requesting origin to generate a private key, and export either a seed value or a wrapped version of that key in a 'credential handle' during registration. You have to pass that handle back to authenticate someone, which the authenticator will process and check to see if they were the one that issued it. Such credentials are only usable for secondary factors, because you need to know what list of registered handles to pass to the authenticator, which means you will typically need to know who the requesting party is.

Web Authentication and CTAP 2.x added the notion of discoverable credentials, which do not require such handles and as such are usable as a primary factor for authentication. A site can simply ask into the void "do you have any credentials for example.com" and potentially get back an answer. These necessarily require state.

Several of the platforms do not want to deal with the security ramifications of exporting wrapped keys, and simply generate and store keys even in the traditional U2F case. This is actually why the terminology was changed from 'resident' to 'discoverable' in WebAuthn L2 and CTAP 2.1 - a non-discoverable credential has the old behavior where you have to supply the handle to get back a response, but there's no guarantee that credential won't be resident in some state store of the authenticator.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by password4321 on Thursday May 05, 2022 @12:30PM (#31275434)
There are some software tokens (Wear OS watch, Android phone), but they are purposely not exportable from the Android Keystore.

https://github.com/herrjemand/awesome-webauthn#software-auth...

There was mention of a secure backup proposal, but it doesn't appear to have been touched after being a draft for a year:

https://github.com/Yubico/webauthn-recovery-extension

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @05:58PM (#31278824)
Devices like Ledger already have seed phrase backup/restore via BIP39, but this is only safe or practical on devices with a screen which Yubico is very adamantly against ever supporting.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by snarf21 on Thursday May 05, 2022 @01:36PM (#31276298)
I wish FIDO was built into the phones (enclave) requiring a biometric and passcode. For 99% of users this would be superior to email/password and get rid of a lot of hacks/phishing. It doesn't require extra hardware to buy and simply requires a minor protocol update to have the challenge on a laptop/desktop show as a QR-code (or could be sent via BT). The mobile sends the response out of band to a destination set at creation.

For users with a greater threat model (worry about enclave being hacked), they can use physical FIDO keys.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by X-Istence on Thursday May 05, 2022 @01:59PM (#31276586)
That is exactly what Safari supports. Safari supports TouchID, FaceID (on iOS), and also supports storing data in a remote device with a QR code.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by amf12 on Thursday May 05, 2022 @04:34PM (#31278085)
> I wish FIDO was built into the phones (enclave) requiring a biometric and passcode

Pixel 6 supports this (Titan Security Key built-in) , but only works with Google accounts I think. I hope more phones support this.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tialaramex on Thursday May 05, 2022 @05:27PM (#31278600)
Not just Google accounts, most Pixel phones (I think I have a Pixel 2 here) do WebAuthn. I use it for GitHub (occasionally) and my private pastebin setup which is WebAuthn protected for ease of use - and I could use it for Facebook (but I never book faces on my phone) and other services.

One bonus feature does need the Google account. If you're signing into say banana.example with WebAuthn, using Chrome on a PC, and Chrome can't see any FIDO authenticators plugged in, it will try your phone! It asks Google, hey, does this user have a phone (Chrome is signed in to your Google account) ? Google says yeah, they have "amf12's Pixel 6". The Chrome browser uses Bluetooth on the PC to say "Hey, amf12's Pixel 6 are you out there? Can you do WebAuthn?" if your phone hears the Bluetooth message it's like "Hi, amf12's Pixel 6 here. Standing ready to do WebAuthn" and then via the Google servers it's arranged that your login attempt on Chrome, on the PC, is proxied to the phone, where it appears on screen ("Do you want to log in to banana.example as amf12?") and you can OK that from the phone. Nice work flow actually, although the technology is remarkably complicated.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by dwaite on Thursday May 05, 2022 @03:44PM (#31277648)
The proposal here is using iCloud Keychain, leveraging the secure enclave. The only catch (for some security-minded, a bit one) is that iCloud Keychain acts similar to a resizable HSM cluster.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by giaour on Thursday May 05, 2022 @02:09PM (#31276698)
This should already be supported on most phones: https://webauthn.me/browser-support
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by snarf21 on Thursday May 05, 2022 @03:24PM (#31277438)
Let me be more specific, this should work in apps not just the browser and should work with my logging into my laptop in the browser and leveraging my phone as a FIDO "key".
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by dwaite on Thursday May 05, 2022 @03:53PM (#31277735)
> This should work in apps not just the browser

Apple, Google and Microsoft all have native API variants of the Web Authentication API. These typically use entitlements requiring authorization back to a website. This means e.g. a Twitter application could leverage the same authenticator registrations as twitter.com, leveraging both platform and roaming security keys.

>... and should work with my logging into my laptop in the browser and leveraging my phone as a FIDO "key".

The press release details this commitment; for instance, I can use an Android phone to log into a website on my Mac. An example of such an option should be visible on all shipping desktop Chrome browsers if you do a Web Authentication registration or authentication request (I believe unfortunately currently titled something like 'Add an Android phone'). On the Apple side, being able to leverage this is currently sitting behind a developer feature toggle.

One can hope that this will be extended to say the Windows platform itself - at that time, I would expect be able to use my iPhone or Android phone to log into any Windows machine on an AAD-backed domain.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @06:00PM (#31278837)
Most iOS and Android devices have support for WebAuthn right now out of the box. Go give it a try.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by TacticalCoder on Thursday May 05, 2022 @04:17PM (#31277947)
> Are there any FIDO security keys that explicitly support backing up and restoring their master secrets?

Yup there are for sure, for I tried it and it works. Now: I tried it out of curiosity and I'm not actually using it atm, so I don't where it's at but...

I tried on Ledger hardware wallets (stuff meant for cryptocurrencies, but I tried them precisely for the U2F app): initialize the device with a seed of my own and then register to FIDO2/U2F/webauthn sites. Worked fine.

Took a second hardware wallet, initialized it with the exact same seed: boom, it's working fine and I could login using that 2nd HSM device as the 2FA.

Note that as soon as I used the 2nd device, the first one wasn't working anymore: if I wanted it to work again, I'd need to reinstall the U2F app on the HSM device (the way the device work is it only accepts apps that are signed, and that is enforced by the HSM itself: the HSM has the public key of the Ledger company so it can only install "apps", like the U2F app, that is actually signed by Ledger... I'm not saying that's 100% foolproof, but it's not exactly the most hackable thing on earth either).

The reason you cannot use both devices at once is because of how an increment number is used: it has to be monotonicaly increasing and when the app is installed on the HSM, it uses the current time to initialize its counter.

I haven't checked these lately: I know the specs evolved and I know Ledger said they were coming with a new U2F app but I didn't follow the latest developments.

Still: I 100% confirm you that it's not only doable but it's actually been done.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by TacticalCoder on Thursday May 05, 2022 @04:20PM (#31277959)
> requires that I am able to regain access to my digital accounts using nothing but a few page paper backup including core service passwords & exported TOTP secrets.

EDIT: you basically save a 256 master seed as a list of 24 words (out of a fixed dictionary of precisely 2048 words, so 11 bits of entropy per number). 264 bits altogether: last word contains 3 bits par of the seed and 8 bits of checksum.

Trivial to write down. Very little chance of miswriting it for: a) you must prove to the HSM you wrote your seed down correctly and b) the dictionary is known and hardly any word can be mistaken for another.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by mmis1000 on Thursday May 05, 2022 @02:42PM (#31277017)
I think FIDO is not meant to be backup at first place. It's more a derived key exists to authenticate certain device safely without being stolen to authenticate other you aren't expected. Make it easily backupable actually defeats its whole purpose if it is intended to be used this way.

And for service that actually want it to be used as major key. I think they can just make the one authenticated able to authenticate another(and even decide whether this new device can auth yet another or not). (Like the way google use: popup on user phone, and ask if user would like to let the computer login.)

I think the one we actually need is a common protocol to authenticate new fido device from existing one. Although you can do it currently, every website have different flow to do it. And there is not currently a common way here. A common and machine understandable way to auth new device from existing one may ease the pain.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @02:50PM (#31277101)
At least the WebAuthN standard seems to be moving in a different direction [1], which is also surprising to me.

In a nutshell, it will be possible for relying parties (i.e. websites) to detect multi-device/backup capable authenticators if required, but disabling multi-device functionality would require a very explicit opt-out, not an opt-in, on the relying party's side.

[1] https://github.com/w3c/webauthn/issues/1714

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by mmis1000 on Thursday May 05, 2022 @03:06PM (#31277264)
That seems to make fido just a non human readable/rememberable account/password. A somewhat downgrade from original hardware enforced implementation. But also make it more usable to majority of people, because keep something without losing it is just a pain to many people(where is my fxxking key goes again?). And it is still 1000x better than people using same password on every website.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @03:20PM (#31277405)
It's much more than a non-rememberable password: One of the most important attributes of WebAuthN/FIDO is that it's fundamentally impossible to fall victim to phishing.

Assuming your browser isn't itself compromised, it is impossible to authenticate using a key for service.com on evil.com. Passwords can't do that. (PAKEs or other challenge/response protocols theoretically could, if implemented in the browser and not on websites, but that's a different story.)

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by mmis1000 on Friday May 06, 2022 @06:23AM (#31283506)
However it will be weaker to malware compares to the original one. Because if you can export or sync the key, then malware probably also can if your device is compromised.

The guarantee that key is never cloned unknowingly even machine fully compromised isn't in this new model.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Friday May 06, 2022 @09:19AM (#31284766)
> The guarantee that key is never cloned unknowingly even machine fully compromised isn't in this new model.

True, that was my concern with the new specification as well. But I believe the main problem will be account takeovers, not malware.

> Because if you can export or sync the key, then malware probably also can if your device is compromised.

Not necessarily. There are ways to still keep these keys only in secure hardware while allowing synchronization if the secure hardware supports service-provider mediated attestation.

HSMs usually support a similar process, where keys can be copied to a different HSM by the same vendor, preserving all of their usage and authentication restrictions (i.e. only the same set of authenticated and authorized users are able to use them).

This conceptually works by e.g. a new and old device, or a service-provider side HSM-secured backup and a new device, establishing a secured channel, attesting their state to each other and then copying the credentials over that secured channel.

By necessity, this includes the service provider (or at least their HSM code) as a trusted party: They are the one that ultimately gets to decide which new devices get added to the synchronization set, and under what circumstances (running a recent hardware and software version, multifactor authentication, providing a high or low entropy shared secret).

Of course, all of this also vastly increases the trusted computing base, and this might well not be appropriate for high security organizational environments.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by eikenberry on Thursday May 05, 2022 @02:45PM (#31277061)
Yes there are. FIDO specifies different authentication levels and level 1 allows access to the master keys (it allows for pure software implementations). I think this page gives a decent overview of the levels... https://fidoalliance.org/certification/authenticator-certifi...
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by vngzs on Thursday May 05, 2022 @12:56PM (#31275792)
With a sufficiently programmable hardware key, yes, you can back up the secrets. See an enumeration of methods in [0]. Be careful if you plan on doing this; make sure the tradeoffs make sense to you. You probably want to do the programming from an airgapped, trustworthy Linux machine.

Beware that if you do this and lose your primary key, or if it is stolen, then an attacker can impersonate you. Setting up multiple unique keys is probably more useful in general, even if it's more cumbersome.

[0]: https://dmitryfrank.com/articles/backup_u2f_token

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by WhyNotHugo on Friday May 06, 2022 @04:18AM (#31282696)
You can have a backup key and keep it off-site (e.g.: at a family member's place).

If you lose your main key, you can resort to that one to re-gain access.

Keys that allow backing up the secret material are tricky, since they could potentially be cloned and someone would have a backdoor with you being unable to know of it.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @05:33PM (#31278650)
Hardware wallets like a Ledger allow you only once, on initialization, to backup the initial random seed to paper in the form of 24 english words via the BIP39 standard.

You can use this seed by hand or on a duplicate device to deterministically recreate all keys be they webauthn, pgp, bitcoin, or otherwise.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by jupp0r on Thursday May 05, 2022 @11:42AM (#31274807)
Yubikey recommends a backup key for that very reason. Most providers allow you to register multiple keys.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by jedberg on Thursday May 05, 2022 @11:53AM (#31274946)
While it's not a bad idea, I'm pretty sure Yubikey recommends a backup key so that they can sell twice as many Yubikeys.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by markatto on Thursday May 05, 2022 @03:39PM (#31277594)
I use the "multiple security keys" approach, and the biggest problem is keeping track of which keys are registered with which services and making sure the list is up to date. A few examples of situations where this is a problem:

1) I don't keep all of my keys on my person, so if I want to sign up for a service when I'm not at home, I have to remember to go back and add my other keys at a later time. If I wanted to, for example, keep a backup key in an offsite location such as a safe deposit box, this would be even more painful.

2) If I lose a key, I need to go and change every service to deactivate the lost key and add my replacement key. This is both time-consuming and error-prone, as it requires me to keep a full list of providers that I use keys with somewhere.

3) Some providers do not even allow you to register multiple keys.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by jupp0r on Friday May 06, 2022 @11:39AM (#31286439)
The way it’s meant to be done:

1. You register both the primary and the backup key with every identity provider (ie GitHub)

2. You only carry the primary key with you at all times. You keep the backup key in a physically safe space (ie next to your birth certificate).

3. In case the primary key gets lost, you make the backup key your new primary key. You can log in with it everywhere because you already registered it in step 1.

4. You order a new key which will become your new backup key.

5. Go to step 1.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by Zamicol on Thursday May 05, 2022 @12:08PM (#31275146)
"providers allow you to register multiple keys"

Why isn't my identity just a Merkle root? I don't understand the need to register individual keys.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by giaour on Thursday May 05, 2022 @02:20PM (#31276807)
You'd also need some way to revoke keys signed by the root if a valid hardware key were lost, stolen, or confiscated.

I think Yubico will actually do something like this for large enough customers, though revocation is left as an exercise for the customer. When I worked for AWS, I was issued a couple company YubiKeys, and there was a web portal where I could revoke a token's association with my account.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lxgr on Thursday May 05, 2022 @02:59PM (#31277193)
How would you add a new key at a later point in time (i.e. after your initial registration of e.g. a main and a backup key, after having lost the main key and wanting to add a new backup/main key)?

The FIDO/WebAuthN model does by design not include a stateful/centralized authority that could maintain the required state for any such solution.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by nybble41 on Thursday May 05, 2022 @05:56PM (#31278802)
A backup key is a good idea, but there needs to be a way to enroll the backup key for a new account (ideally automatically) without the key being physically present, since otherwise you can't (practically) store the backup key off-site. To this end, you should be able to enroll a key using only the public part of the keypair.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by sdfgdfgbsdfg on Thursday May 05, 2022 @08:42PM (#31279888)
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by kayodelycaon on Thursday May 05, 2022 @12:20PM (#31275293)
And where do you store the backup key?
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by graton on Thursday May 05, 2022 @12:33PM (#31275475)
In each one of my PCs and also on my key-ring is how I do it.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by kayodelycaon on Thursday May 05, 2022 @12:55PM (#31275782)
If you sign up using one key, do the other keys work with that account? Unless it does, you're greatly increasing the complexity of creating new accounts anywhere.

That's basically what I'm getting at. Do I need to do significant amounts of extra work to keep an off-site backup in another state?

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by graton on Thursday May 05, 2022 @06:08PM (#31278913)
I don't personally consider it greatly increasing complexity. At account creation I register the Yubikeys at the PC and on my keyring. When I first login from a different PC I use the Yubikey from my keyring to login and then register the Yubikey at this new PC.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by howinteresting on Thursday May 05, 2022 @01:35PM (#31276285)
Sounds miserable compared to using a password manager.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by tadfisher on Thursday May 05, 2022 @01:09PM (#31275961)
Sounds like we should be doing FIDO with TPM then.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by jupp0r on Monday May 09, 2022 @07:53AM (#31313022)
Next to your birth certificate
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by MrStonedOne on Thursday May 05, 2022 @01:43PM (#31276398)
Yep! Just store your backup key in a safe-deposit box with your bank.

Then go get it every time you sign up for a new account so you can make it the backup for that account

then go store it again.

and again. and again. and again.

oh no! you lost your key! time to go to the bank to get your backup, sign in to all the accounts, remove the old key, register a new backup, oh wait, got to wait for the new backup to ship, so i guess you can't do that yet. hope you don't lose your key in the meantime, anywho, time to spend a few hours painstakingly removing your lost key from all the 9 thousand sites you use.

yay! its a week to a month later, you finally got your new yubikey shipped, time to go log into to 9 thousand websites again to set it up as the backup for all of the sites.

Ok, time to take it down to the bank.

whats this? a cool new app my friend wants to show me, ok, time to go drive to the bank and get my backup key out of storage and sign up for this cool new app.

You know, this whole driving to the bank thing, its kinda inconvenient, maybe i should just store it in my closet safe.

What do you mean the gas line under my house exploded? but both my yubikeys are in there!

----

The above is fiction, and even under fiction it seems ridiculous how this would really go is even worse:

"Go get my backup key to use for this new app my friend showed me? fuck that"

. .

"What do you mean i can't reset my password, but i lost my yubikey!"

"No, i didn't want to get up to grab my backup token when i was registering."

"Oh wait! i bet i still have the recovery codes as a pdf in my downloads folder. its a good thing no viruses ever think to look in there"

----

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @06:08PM (#31278915)
There is no need for your described complexity.

More advanced FIDO devices like the Ledger allow you to backup the initial random seed allowing you to create a duplicate device from the backup any time you wish. No sites you signed up with will know or care that you swapped devices as the new device will generate identical keys via a deterministic KDF from the seed.

You can put this seed far away and would only ever need it when you wish to replace a lost or broken authentication device.

Aside: no US major banks issue safety deposit boxes anymore other than wells fargo which will stop issuing them soon as well.

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by password4321 on Friday May 06, 2022 @05:26PM (#31289761)
"Backing up" only, no restore (circa 2016):

Decrypt/Extract NitroKey HSM RSA Private Keys

https://news.ycombinator.com/item?id=12068858

Re:Apple, Google and Microsoft Commit to Expanded Support fo... by NovemberWhiskey on Thursday May 05, 2022 @12:14PM (#31275214)
By design, ideally not. WebAuthn optionally includes (as a 'SHOULD') a signature counter concept that allows relying parties to be confident that the attestation isn't coming from a previously-cloned version of the authenticator.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @12:32PM (#31275459)
The specification states that cloning should merely be included in the service's underlying threat model. E.g. you might well be able to log in from an authenticator that fails the "signature counting" step if it's expected that the authenticator would allow for backing up and restoring its stored credentials.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by NovemberWhiskey on Thursday May 05, 2022 @01:00PM (#31275837)
I think the point is it's up to the relying party to make the decision; so an uneven user experience is possible.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @01:07PM (#31275933)
If an "insecure" authenticator reveals itself at enrollment, the only "unevenness" is that attempts to enroll it might fail, perhaps with a request to use a securely attested authenticator instead - you would never be locked out from any service after the fact. This is better than "cloning" a supposedly secure device and then failing a count check while trying to authenticate.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by NovemberWhiskey on Thursday May 05, 2022 @01:15PM (#31276033)
Yeah; being told "you can't use that here" for some sites is a pretty uneven user experience, wouldn't you say? Not sure why the scare quotes are necessary here.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by zozbot234 on Thursday May 05, 2022 @11:42AM (#31274805)
Is this actually needed? Looks like the online part of this is just WebAuthn, which could be supported by the same tools we use for TOTP. You would "enroll" a visible master secret that you could then back up and optionally store in a hardware security key. The device itself wouldn't need to allow for extracting the secret again, because you backed it up at enrollment.
Re:Apple, Google and Microsoft Commit to Expanded Support fo... by lrvick on Thursday May 05, 2022 @06:10PM (#31278928)
Ledger and similar hardware wallets support one time BIP39 backup covering all current and future accounts today.