4 ms·
It seems like U2F fits most of your criteria: open and free, standardized and easy to implement, foils phishing, etc. It can't be easily cloned though. https:/
by tonyztan 9y ago
It seems like U2F fits most of your criteria: open and free, standardized and easy to implement, foils phishing, etc. It can't be easily cloned though.
https://en.wikipedia.org/wiki/Universal_2nd_Factor https://en.wikipedia.org/wiki/Universal_2nd_Factor
- KGIII 9y agoThat looks like a good starting point. Does the site exchange tokens with the USB key, so that the device also confirms the site is who they should be? My thinking is that the site should have a custom token to exchange with the device and the device should have a custom token to exchange per site. I'd also love to see it easily replicated and free for the user to put on their own devices. People are going to lose them, in droves. They'd be password protected, of course. I guess you could make them delete their data if there are too many mistaken password attempts, as well as make it destroy the data if used in an unapproved computer - things like that. I figure they can layer different features atop it, depending on how much security is needed.
- emmatoday 9y agoU2F has a per-site key. The browser acts as an intermediary between the site and USB authenticator. My simplified understanding is that it works like this: The first step is registration of the authenticator with the site. The site sends a registration request to the authenticator. The authenticator generates a new key pair. It encrypts the private key with a symmetric key that never changes and never can be extracted from the authenticator. Then it sends a registration response to the site, which includes BOTH the public key and the encrypted private key. The site is responsible for keeping the keys. Then you are ready to authenticate. The site sends a challenge request to the authenticator which is unique and probably has an expiration time. Inside the challenge is the encrypted private key. The authenticator uses the never changing symmetric key to decrypt the private key, sign the challenge, and return it to the site. Then the site checks the signature against the public key on file. The key benefit here is that the browser will not allow a site to send a challenge which is not for it's own domain. Which means there is no way a phishing site can MITM the 2FA process. Even if they get a challenge from the real site, the browser won't let them present it to the authenticator to sign. As opposed to TOTP where the OTPs can be easily phished and used within the time window they are valid.
- perpetualcrayon 9y agoThis is exactly the kind of 2fa that I've envisioned in the past (not being familiar with U2F), with the exception that I think the ideal solution will be a U2F device that doesn't require a power source. A special kind of NFC chip. May already exist (not sure how feasible it is), but I'm not aware if it does.
- emmatoday 9y agoThe Yubikey Neo and at least one other U2F capable device support U2F over both USB (for laptops) and NFC (for use in Chrome on Android). The authenticator is not internally powered.