Live data from Hacker News

What I Wish I Knew About U2F and Other Hardware MFA Protocols

goteleport.com

51–60 of 95 posts

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#51
post #6

Earlier quoted context omitted.

Interesting, maybe also the development costs too. They sell way less volume of HSMs compared to the standard keys but the HSM's require I'm sure some very rigorous development and testing.

I evaluated and purchased a few Thales HSMs. At the time the difference between the FIPS and standard/dev editions was a bunch of cash and the spaces within the device were filled with epoxy and would erase if tampered with. Software was the same, hardware looked the same. The crypto module is validated only with the $$ hardware. Sometimes the non FIPS devices will have other algorithms not on the FIPS list.

Did you ever consider the Yubikey HSM at all as it’s much cheaper?

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#52

Does anybody know if there is a U2F software solution that works with mobile phones? Ideally with the following features: * Stores keys securely in the Hardware-backed Keystore * Authentication via fingerprint + periodically via password * Allows to backup the secret key during setup * Supports multiple devices * Open source * Works over Wifi * Works with Linux desktops and Android phones

U2F is the predecessor to the current standard, WebAuthn. If a web app supports WebAuthn, then that integrates with native keystores (Windows Hello, Face ID, whatever Android has), as well as hardware keys. The site operator has some flexibility to prefer certain methods (platform vs. external) and devices (attestation). I wrote an authenticating proxy that uses Webauthn: https://github.com/jrockway/jsso2 . I don't t…

Unfortuately WebAuthn with the native keystores requires Bluetooth, which is a constant source of pain. That's a deal-breaker for me.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#53

Earlier quoted context omitted.

I've been troubled by that question too. Especially since I've heard people complain about sites that only allow registering one key. But TacticalCoder just said something really interesting in another part of this conversation: > you can use the Ledger Nano S with your "seed" (say a 256-bit secret, stored as 24 words you hide), to log in sites using U2F. > Additionally as long as you've got your secret, you can rein…

https://www.yubico.com/support/download/yubikey-personalizat... you can do a lot with a yubikey but idk if you can actually change the U2F secret

You can tell the device you want a new random secret (so now your existing credentials don't work), but you can't get the secret out (obviously bad guys would use that, so it would be a terrible idea) neither can you set the current one to an explicit value.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#54

Earlier quoted context omitted.

U2F is the predecessor to the current standard, WebAuthn. If a web app supports WebAuthn, then that integrates with native keystores (Windows Hello, Face ID, whatever Android has), as well as hardware keys. The site operator has some flexibility to prefer certain methods (platform vs. external) and devices (attestation). I wrote an authenticating proxy that uses Webauthn: https://github.com/jrockway/jsso2 . I don't t…

Unfortuately WebAuthn with the native keystores requires Bluetooth, which is a constant source of pain. That's a deal-breaker for me.

I don't think that's true. I just logged into my own WebAuthn implementation via my iPhone with an NFC security key. (Bonus points: the key was enrolled on my PC.)

The server operator can choose to reject NFC, but the implementation/standard doesn't require that behavior.

Edit: Actually, I don't understand your question. Are you trying to authenticate on a PC using your phone as the security key? If so, I don't know how to do that. I just enroll Windows Hello and Face ID.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#55
> Generally, FIDO standards push too much logic into hardware, when it could be handled in software instead.

This is a feature, not a bug. It's one of the core points: Everything is in hardware, so software can't attack it. In theory, a bug in Android/iOS could expose my authenticator app secrets, but even a full root compromise of the host operating system can't extract the secrets or trigger a signing from a U2F key without me physically touching it.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#56
> Unfortunately, we don’t have the freedom to expand other standard protocols the same way.

There's nothing standing in your way. However, SSH has the advantage that it's commonly used interactively, so FIDO is a good fit. Any protocol that is most often used silently with the user maybe not attentive or not even present won't work well - it's easy for your phone's mail client to just present the same password it remembers each time it re-connects, but it would be annoying if you need to touch the fingerprint reader each time. I can imagine (if anybody wanted to) retro-fitting SMTP submission to do FIDO, although I don't know if there's a practical way to hack it into the existing SASL AUTH layer.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#57
post #49

Earlier quoted context omitted.

That's all well and good, but a few weeks later I have another service I'm going to sign up for... I have to... first go to my safe deposit box to grab my third key? If I don't, then seems like it's a lot of bookkeeping.

Needless to say, I don't use these devices on my home depot account. I use them for Google, Github, Dropbox, I don't actually remember anything else. My DNS registrar doesn't support it :P I also don't use my personal key for work stuff and recovering my work key is my sysadmins problem :) That said, when I had admin accounts at work, we used TOTP with a similar scheme: when we registered important (admin) accounts w…

I actually just changed my DNS registrar to namecheap specifically because it supports U2F. I figure my domain is too important to risk losing because I use my domain for email.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#58

Earlier quoted context omitted.

https://www.yubico.com/support/download/yubikey-personalizat... you can do a lot with a yubikey but idk if you can actually change the U2F secret

You can tell the device you want a new random secret (so now your existing credentials don't work), but you can't get the secret out (obviously bad guys would use that, so it would be a terrible idea) neither can you set the current one to an explicit value.

So you can set the current one at the start of your use and keep the secret hidden somewhere forever. Sounds like the solution to me.

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#59

From TFA: > Since the U2F device creates and stores asymmetric key pairs, and is able to sign arbitrary “challenges”, can I use it as a general-purpose hardware key store? You can however do it "the other way round" and use a private key to derive a U2F path. And that same private key can be used for many other applications (or none). For example you can use the Ledger Nano S (originally a cryptocurrencies hardware w…

> Additionally as long as you've got your secret, you can reinitialize your Nano S (or another one) as a new U2F device and there's no need to reset your U2F credentials on the site as the newly initialized device shall work exactly as if it was the old one.

But isn't it the whole point that these devices never let you have the secret?

Re: What I Wish I Knew About U2F and Other Hardware MFA Protocols

#60

Earlier quoted context omitted.

You can tell the device you want a new random secret (so now your existing credentials don't work), but you can't get the secret out (obviously bad guys would use that, so it would be a terrible idea) neither can you set the current one to an explicit value.

So you can set the current one at the start of your use and keep the secret hidden somewhere forever. Sounds like the solution to me.

Evidently the way I wrote this previously wasn't clear enough, so I have attempted to improve this text.

No, you can have a random new value (effectively like you bought a different one), but you won't learn what that is, so it doesn't help you and there's no way to "keep the secret hidden somewhere" except in the sense that it's hidden inside the device where it belongs.

Post reply on HN