Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

U2F adoption seems quite slow. Google were in early, and later github and Dropbox. But since then? Feels like nothing happened.


> Google were in early

That's an understatement, they've co-invented it, it was called Project Gnubby at the time. As part of their BeyondCorp project they needed better 2FA and Gnubby was standardized under the FIDO Alliance. Their U2F user study[1] is interesting.

> But since then?

http://www.dongleauth.info/ has a list but yes, adoption has been slow. The W3C Web Authentication spec[2] (which is the successor to the FIDO work) will hopefully see better adoption, and it'll work with existing U2F tokens. Microsoft for example has skipped FIDO 1.0 and committed to the W3C spec instead[3].

1: http://fc16.ifca.ai/preproceedings/25_Lang.pdf 2: https://www.w3.org/TR/webauthn/ 3: https://developer.microsoft.com/en-us/microsoft-edge/platfor...


Aside from the obvious reason why (iOS support looks unlikely to ever happen), I imagine seeing the list of supported browsers read nothing but "Chrome" discourages implementation too.

Though U2F's javascript API situation makes a lack of adoption a bit of a mixed blessing. Because sites need to include browser-specific code to access a browser's U2F support, that means any site adding support for Chrome right now will have to go back and modify their code to add support for Firefox when it comes, etc. (From the spec: "RPs [Relying Parties, i.e. web pages using U2F] interact with the FIDO client through a MessagePort [WEBMESSAGING] object. [...] This specification does not describe how such a port is made available to RP web pages, as this is (for now) implementation and browser dependent.")

Google and Yubico provide an example wrapper around the Chrome-specific method for getting access to Chrome's U2F messageport (at https://github.com/google/u2f-ref-code/blob/master/u2f-gae-d... in the function u2f.getMessagePort), but the wrapper gives up if it's not running in Chrome (the else branch just tries hitting the old Chrome extension by hardcoded chrome-extension:// URL).

Even if Google's wrapper someday adds support for other browsers, every site will need to update its copy of the wrapper before that site will support the other browsers.

If very many sites were adding U2F support right now, I suspect a lot of them would remain Chrome-only even as more browsers added U2F support. Maybe if adoption only happens after more browsers already have their U2F support available, more sites will end up supporting those browsers than if it was getting adoption right now.


Cost is the major problem, with a couple of technical/deployment issues.

The technical/deployment issues to me are the lack of browser support (that means Edge, Firefox, Safari, etc.), the long and slow migration from USB-A to USB-C, and the missing parts of the mobile puzzle. With the latter I mean U2F support for Bluetooth Low Energy (BLE) and NFC on (at least) smartphones.

Ideally, you could visit some secured website on your smartphone, choose to authenticate with Fido U2F, tap your U2F key to the phone, and authenticate with it using BLE or NFC. The same key can be used on a laptop or desktop computer as well using USB.

Those devices will exist (or already exist perhaps), but they will cost a lot more than the plain USB-A U2F keys available now for roughly $15.

To drive adoption, ideally banks would get on board and go for U2F. That way a lot of people would come in contact with the technology, driving adoption and prompting users to use the key for other services as well (for the bank this provides a nice branding opportunity!).

Unfortunately, banks tend to favour private solutions based on TOTP/HOTP in a lot of countries. That means that in, for example, my native country of the Netherlands you will get a small battery powered calculator-like device from your bank that generates the challenge-response verification codes needed to authorize transactions. Each bank has its own solution that only works with them, and each will send you their private branded TOTP-in-a-box device.

Add to this governments that are attempting to introduce electronic ID-cards containing NFC-chips for public authentication with government and commercial entities alike, and you can see why in a lot of countries the only candidates for U2F are global services like GitHub and Dropbox. That reduces the amount of potential U2F users to what are essentially power users.


Just a heads up: on the US Amazon site Feitian has a USB-A + NFC token for $16 (and there's a one-per-customer coupon on the amazon product page to knock it down to $10).

Feitian also have a BLE + NFC + USB token for $24 (with a coupon to buy it for $16), but that requires charging a battery, is less rugged, and the USB requires a cable to connect to it.

It's not as cheap as USB-only (there used to be a $6 USB token sold), but NFC support doesn't have to cost much more (especially as the secure element chips they're built around all move towards having NFC support as a baseline anyway).

Also there seem to be a handful of Java Card implementations of U2F on github already (one of them is even sold as a Fidesmo app, if you want to pay for easy installation), so an NFC-only U2F token could presumably be had for as cheap as any javacard-compatible NFC smart card, and then just registered as a second token.

I don't think it's enough to help push U2F forward by itself, but I think if webauthn can get solid cross-browser support for U2F implemented, price won't continue to be a big problem. Having just read up on webauthn, and seeing how many browsers already have test implementations shipping, I'm pretty optimistic U2F is going to be seeing a lot more interest soon.


There is a very confusing message about what u2f is and how much it costs. If you go to Amazon and search for u2f the first thing you get is a at $18, then you another at $40. But a u2f key is fairly simple and should cost ~$10. Why $40, you might ask? It (and others costing more) come with a range of other options such as TOTP etc that have nothing to do with u2f.

Buy the cheapest u2f key that is certified by FIDO, currently under $10 on Amazon.

Disclaimer, not associated with any u2f company, but I have three of them (and now the github software version as well).


The problem I've had with U2F is that it mostly works nowhere but Chrome, AFAICT. I guess that would be fine, except that U2F doesn't work on Chrome on my platform (FreeBSD, where it causes a segfault).

I tried for a while to run U2F on firefox with an extension. However, I was forever fiddling with user-agent switchers, as I'd only be offered U2F if I was masquerading as Chrome. And even that didn't seem to be enough to use U2F with Google, the last time I tried.


Facebook recently supported it too.

Here's the problem. These are the 2nd factor solutions off the top of my head.

  1.  Yubikey
  2.  Duo
  3.  TOTP/Google Auth
  4.  SMS
  5.  Fido U2F
  6.  JavaCard
  7.  RSA SecurID
  8.  Perfect Paper Passwords.
Sure U2F is technically better, but many of those are 'good enough' and make people lots of money.


I think it is attack-driven. Most bitcoin wallets/exchanges have 2FA/U2F because it is a must given the value at stake. If you are running a forum board, you probably don't care much neither are your users going to bother.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: