Soft U2F: A software-based U2F authenticator for macOS

(githubengineering.com)

261 points | by darwhy 2466 days ago

22 comments

  • madamelic 2466 days ago
    Can someone explain how this is an improvement on phone-based, non-SMS 2FA?

    This solution seems ripe for exploitation by putting your passwords (if you store your passwords on your computer) and 2FA on the same machine.

    • bugmen0t 2466 days ago
      This is mostly against phishing. A phisher can get users to insert a token from a USB device or a text into evil.com. But U2F uses public key crypto, so your token derived for evil.com is not the same as for github.com
      • StavrosK 2465 days ago
        This is a brilliant idea to use as a third factor. Instead of TOTP or the hardware U2F key, just create keys for all your browsers. That way, you're more protected against phishing, but still have a way to log in if you lose your keyfile.
        • subway 2465 days ago
          My knee jerk reaction was 'sounds an awful lot like a cookie', but maybe that's an indicator that the problem could be slightly generalized to offering a 'secure' version of localstorage.
          • StavrosK 2465 days ago
            It's almost like a cookie, yes, in that you could say "trust this browser". However, the problem comes when you ask for the second factor for a new computer. A TOTP approach would give the second factor to the phisher, whereas U2F does not.

            Come to think of it, I'm not sure that's a problem with the cookie and not with TOTP.

          • Harley454 2465 days ago
            I got paid $10438 last month by working online. Its an easy online job to do and earning is more and better than the regular office job. I have found this job six months ago and starts earning in my first month easily. Everybody can do this job from home by just follow this web. g­­­o t­­­o t­­­hi­­­s si­­­te ho­­­me media tech t­­­a­­­b f­­­or m­­­or­­­e d­­­et­­­a­­­i­­­l thank you .

            ►►►https://is.gd/qKRnJt

        • Emilie_ 2465 days ago
          Benjamin answered I'm in shock that some one can make $4929 in 1 month on the internet . ___________http://bit.do/dnRs5
        • Harmony_ 2465 days ago
          A­­r­­e y­­o­­u b­­o­­r­­i­­n­­g y­­o­­u­­r l­­i­­f­­e f­­o­­r p­­o­­c­­k­­e­­t m­­o­­n­­e­­y.i­­f u d­­o­­n’t w­­o­­r­­r­­y f­­o­­r y­­o­­u­­r p­­o­­c­­k­­e­­t m­­o­­n­­e­­y I s­­h­­a­­r­­e m­­y h­­o­­m­­e p­­r­­o­­f­­i­­t s­­y­­s­­t­­e­­m t­­o e­­v­­e­­r­­y­­o­­n­­e.i e­­n­­j­­o­­y m­­y l­­i­­f­­e b­­e­­c­­a­­u­­s­­e I u­­s­­i­­n­­g t­­h­­i­­s e­­a­­s­­y o­­n­­l­­i­­n­­e j­­o­­b­­s a­­n­­d e­­a­­r­­n­­i­­n­­g $­­2­­5­­9­­8­­6 d­­a­­i­­l­­y w­­o­­v­­r­­k f­­o­­r o­­n­­l­­y 3 h­­o­­u­­r­­s a d­­a­­y o­­n­­l­­i­­n­­e f­­o­­r d­­o­­i­­n­­g t­­h­­ivs e­­a­­s­­i­­e­­s­­t o­­n­­l­­i­­n­­e h­­o­­m­­e j­­o­­b­­z.f­­o­­r m­­o­­r­­e d­­e­­t­­a­­i­­l­­s v­­i­­s­­i­­t t­­h­­i­­s l­­i­­n­­k… ᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵᴵhttp://usawork.cn.to
      • madamelic 2466 days ago
        Ahhhh. That makes a lot more sense. Thank you.
      • anfedorov 2465 days ago
        Also, if your machine is compromised, your the cookies used to authenticate you post-login can be stolen just as well. RTFA.
    • mastahyeti 2466 days ago
      I think the greatest practical threat to TOTP is phishing. U2F, regardless of where keys are stored, binds a keypair to an origin. Only authentication requests from `github.com` can use the `github.com` keys. For my money, any U2F implementation is a win over any TOTP.
    • pilif 2465 days ago
      U2F has the advantage that a server compromise won't compromise the second factor as there's no shared secret accessible to both parties.

      Of course, keeping the token on the same machine that you're using for logging in is reducing the security, but then, the token is stored in the Keychain and once you're at the point where malware is so deeply hooked into the system that it has access to the system Keychain, then it can also inject itself into your browser and get a 2FA token whenever you log in.

    • heavymark 2466 days ago
      Passwords are often already on the users phone. Such as if you use say Authy or Google Authenticator for your 2 factor, your phone if say an iPhone already stores all your passwords in your keychain which is accessible on your iPhone just like on your computer. Or if you use 1Password your passwords are accessible on your phone just like on your desktop. So still comes down to you having a strong master password for your keychain and or 1Password, etc that only you know.

      If you use Authy on your phone, they have long had a chrome extension that allows you to get your codes on your computer, already for years and that works with all your existing codes rather than this which is limited to just GitHub currently it sounds.

      But hopefully someone else can comment on the security improvements of Soft U2F or if its more just building a standard rather than people having to rely on Authy or such.

      • pfg 2465 days ago
        > But hopefully someone else can comment on the security improvements of Soft U2F or if its more just building a standard rather than people having to rely on Authy or such.

        The main difference is that U2F is phishing-resistant because it binds keys to the origin. TOTP, on the other hand, can still be phished.

        (I believe Authy attempted to solve some of this with their browser extension for sites that use their first-party integration, rather than just for users using Authy as a generic TOTP app. I would generally avoid their first-party integration because of their reliance on SMS.)

        • Faith_ 2465 days ago
          My last pay check was $9500 working 12 hours a week online. My sisters friend has been averaging 15k for months now and she works about 20 hours a week. I can't believe how easy it was once I tried it out. This is what I do===http://www.millionaireprofit.cf/
    • crummy 2466 days ago
      The improvement is accessibility. It's less secure than physical 2FA but more so than just 1FA. As the article says, "for many, the security of software-based U2F is sufficient and helps to mitigate against many common attacks such as password dumps, brute force attacks, and phishing related exploits."
      • nevir 2465 days ago
        It's really not that much less secure than physical 2FA: I'm willing to bet that most people just leave their hardware key in their laptop at all times. (where "most people" ends up being corporate U2F users, who are probably given YubiKey Nanos and the like)

        At that point, your laptop is basically your 2nd factor - which this software is pretty similar to.

        • petee 2465 days ago
          But even if you leave it in, everything is still protected in hardware, and in addition, malware can't trigger a physical presence button push...so, it is in fact significantly less secure...
          • djcapelis 2465 days ago
            > malware can't trigger a physical presence button push

            It kinda can, it just needs to trigger a dialog the user thinks looks legit. Or easier, just stay resident until the next time the user pushes the button.

            Don't get me wrong, U2F has benefits, but it's not invulnerable to malware designed for it. You want real system level protections to back it up and most users aren't running on operating systems that can really cash the check you're trying to write with that threat model.

    • jdc0589 2466 days ago
      on an unrelated note: can someone explain why SMS based 2FA was every considered to be a good idea? That crap drives me NUTS.
      • ptoomey3 2466 days ago
        Mostly because, thus far, it has the best user setup experience (doesn't require user to download a new app and hence can often get enabled in seconds) and has the best "lost device"/"broken device" story (people tend to not have their backup codes). I think things like Soft U2F can change that equation a bit. An iCloud keychain synced 2FA credential would go a long way toward addressing some of the usability issues with traditional TOTP based 2FA.
      • w8rbt 2465 days ago
        You have to get people to buy into using 2fa. SMS and cell phones were good for that. They are not secure and are being abused now (SS7 attacks) and one day won't be used for 2fa at all, but the platform was a good start and certainly better than nothing at all. Hopefully, OATH (HOTP and TOTP) and FIDO will take over where SMS leaves off.

        And the real danger of cell phones and SMS is account recovery processes that SMS a recovery code to your cell. That's way more concerning than 2fa via SMS IMO.

      • fitzroy 2465 days ago
        SMS-based 2FA also gives companies a good excuse to collect users' mobile phone numbers — particularly sites for which one might not otherwise feel compelled to provide that information.

        Not saying it was a good idea for security, but that probably made it easier to justify internally.

      • stephengillie 2466 days ago
        It feels inherently insecure to blast a 2FA code across every device where you've got Hangouts installed. (And if you've got Hangouts installed on the PC where you're logging into, then it's not 2FA anymore.)
        • kbenson 2466 days ago
          > It feels inherently insecure to blast a 2FA code across every device where you've got Hangouts installed.

          I think that may be Project Fi specific. To my knowledge, Hangouts doesn't do SMS anymore except for Project Fi customers, and even prior to them forcibly removing SMS handling from Hangouts on my Samsung and telling me to find something else after an update, it never synced SMS messages it to other Hangouts instances.

  • cntlzw 2465 days ago
    U2F is great and you can get a physical device for around $15. I wish banks and such would adopt U2F sooner than later. They could just sent U2F tokens as giveaways.

    Big downside: Apple and Microsoft. They don't support it in their browsers. No browser support, no U2F.

    • bostand 2465 days ago
      safari and edge users are a tiny minority. Most security aware people use chrome anyway.
      • ohthehugemanate 2465 days ago
        Really, you think security aware people use Chrome? The security aware people I engage with avoid it. The baked in data collection and telemetry are a concern for them. Some of them even remember specific problems, like that time it turned out Chrome was listening on your mic all the time, and sending the a audio back home.

        The security conscious people I know use Firefox or chromium.

        Of course, your point stands: no one's using safari or edge. :)

        • dogma1138 2465 days ago
          You always have chromium also don't confuse security awareness with privacy concerns.

          Chrome is more secure this means that you have less of a chance having your data compromised including any and all data on your machine by an unknown 3rd party. Since Chrome's data collection is known it can be incorporated into a simple threat model. You know what is collect and who collects it, most security aware people will be OK with Chrome collecting some metrics that in all fairness are likely to be collected anyhow unless they block every JavaScript and Cookie on the planet, do no use any Google service or a service that uses GA in exchange for not having to worry about their browsers being pwned.

    • ekingr 2465 days ago
      Any chance iOS Safari enables it once Apple opens its NFC APIs in 11?
    • al2o3cr 2465 days ago
      Haven't used it, but the Soft U2F README refers to a Safari plugin for U2F.
  • atonse 2466 days ago
    To Github people: I ordered your yubikey token but stayed away from U2F out of fear that I'd be locked out if I lost the hardware token.

    But I didn't realize you could setup U2F and TOTP as a backup.

    • tptacek 2465 days ago
      Not only can you do this, but the major services won't even let you set up U2F without a backup factor.

      The best current Google auth stack, by the way, is:

      1. U2F

      2. Phone-based authenticator app (TOTP)

      3. Password-manager password

      4. Printed codes

      5. DISABLE SMS. (Google forces you to enroll in SMS to turn on 2FA; you can simply delete your phone number after enrolling everything else).

      • rcthompson 2465 days ago
        Thank you for letting me know that SMS authentication is not mandatory for Google accounts! I assumed it was for the reason mentioned in your comment.
      • atonse 2465 days ago
        For some reason I made the wrong assumptions. Thanks for the clarification. I'm going to activate that U2F key asap, and also disable SMS for my google account.
    • sowbug 2466 days ago
      You can also order as many of the U2F devices as you wish and associate them all with any number of accounts. Yes, they do cost money, but the cheapest today is $10 shipped on Amazon. Even if you prefer the ergonomics of the more expensive ones, it's fine as a backup you keep locked in a safe at home.
      • chaz6 2465 days ago
        I do this, but the downside is, if I lose one I have to go through each service removing both tokens (because some services do not tell you which is which) then adding the existing (not lost) token with the new one. This is making me wish for OpenID again where I nominate my authenticator of choice so I only have one place I need to maintain my tokens.
  • Rjevski 2465 days ago
    What's wrong with client certificates? Instead of reinventing the wheel they should've just used those which would've given browser vendors a reason to improve their UX regarding client certs.
    • ptoomey3 2465 days ago
      That is roughly all U2F is. It is a per-origin key pair that is registered with each site and used to sign challenges. At some point browsers themselves might implement something like Soft U2F, at which point, they basically will have "improved the UX of client certs".
      • Rjevski 2465 days ago
        The advantage of client certs over U2F is that client certs use the same proven mechanism your browser uses to verify the server's cert, and can even be handled by the web server. It's also seamless for the user - if needed you can be logged in right from the first request. U2F needs to be implemented over the top in the app itself and the login process is at the minimum two steps (no way to login from the first request).
    • Freak_NL 2465 days ago
      With hardware U2F the benefit lies in not having the private key available on the client device at all. That means that copying it is impossible (without dismantling the key and using quite advanced equipment to attempt to read the private key).

      With software U2F I think you are right; client-side certs just work, now, in all major browsers. Installing them is a hassle, but it can be managed with good documentation (we use client-side certificates for authentication at the moment).

      Personally, I don't think software U2F should exist outside of development and testing scenarios.

      • hdhzy 2465 days ago
        Well you can have client certificate on hardware. Some hardware even has attestation built in [0] so you can be sure that the private key is non exportable. PIV based smartcards do not require external drivers on most modern OSes.

        [0]: https://developers.yubico.com/PIV/Introduction/PIV_attestati...

        U2F is designed for only one algorithm and allows a lot of optimizations (e.g the private keys are not really stored on the device but rather generated from master seed and origin). That's why they are substantially cheaper than PIV devices.

    • hdhzy 2465 days ago
      Client certificates are best from security perspective but lack UX (this could be fixed) and are not designed with privacy in mind. U2F on the other hand generates unique pair of keys for each origin. By default.
    • wmf 2465 days ago
      Most sites can't sacrifice all their users in the short term for the good of the Internet long-term.
  • jdeibele 2465 days ago
    Somewhat disconcerting to see this in Chrome:

    Attackers on github-production-release-asset-2e65be.s3.amazonaws.com may trick you into doing something dangerous like installing software or revealing your personal information (for example, passwords, phone numbers, or credit cards).

  • bugmen0t 2466 days ago
    You don't really[1] need to install this, if you're using Firefox. Just set the prefs 'security.webauth.u2f' and 'security.webauth.u2f_enable_softtoken' to true.

    [1] (Unless you need the token to live in your Mac OS keychain, instead of the Firefox profile directory.)

  • philip1209 2466 days ago
    Until Yubikey releases a USB-c version of their nano, I think I'll use this. Since I've had to transition to a keychain U2F device instead of one I can leave in my laptop, I find myself using it far less.
    • sowbug 2465 days ago
      I'd expect the U2F protocol to be built into secure elements on laptops before a Type-C Nano comes into existence.

      USB-C ports are too precious to keep them filled all the time with an authentication device, and there doesn't seem to be enough room in the male side of the Type-C coupling to allow the necessary circuitry to exist in a slim form factor. Both these problems are solvable, but meanwhile secure elements are already shipped with many laptops.

      (An assumption of this comment is that the Nano is kept semi-permanently in the laptop port. That's what the Nano is indeed designed for.)

      • drodgers 2465 days ago
        Honestly, I don't know why Apple don't implement U2F on the secure enclave (activated via the TouchId sensor); it seems like such an obvious move.

        Maybe they're trying to get iCloud and Safari support all ready to release at-once?

        • hdhzy 2464 days ago
          Wow, great idea!

          I think Web Authentication will slowly make U2F obsolete, in a sense that U2F will become one of many authentication methods, others could also be implemented. Checking WebAuth specs one can see references to Android attestation, TPM attestation so generally secure hardware elements. Implementing a U2F solution would require emulating USB exchange I guess.

          Of course U2F still has an advantage that you can take your token and authenticate on a different device but unfortunately newer Yubikeys do not support U2F over NFC and there are not so many other solutions.

        • cormacrelf 2465 days ago
          ¡Hola 2018!
  • djrogers 2466 days ago
    This seems a little restrictive if it doesn't have some sort of 2FA alternative, like a mobile TOTP app or something. I'd hate to be locked out of any accounts for losing my MacBook, or to be unable to use the accounts from mobile or a different platform.

    As a secondary/simpler 2FA alternative I like it, but the description here doesn't do much to explain how to get around the problem of only having this available on my macs.

    • philip1209 2465 days ago
      In general, U2F doesn't work on iPhones - so most sites offer multiple methods of secondary authentication (including Github, Facebook, and Google).

      So, it is a bit of a convenience - but it also more secure because it matches hostnames.

    • ndm 2465 days ago
      TOTP via SMS or apps is required to set up a u2f key on GitHub.
    • elchief 2466 days ago
      the solution for actual U2F tokens is to buy 2 and put one in a safe deposit box. not sure what the solution is for software version
      • noja 2465 days ago
        Wouldn't work. Too inconvenient. What if you need to add another account? Go to the safe deposit box, create the account, then take it back again?
      • ams6110 2465 days ago
        Something that 0.05% of people would actually do. And that's being generous.
  • petee 2465 days ago
    This seems misguided - it is watering down a decent system simply to appease and attract people too cheap to buy tokens; if 2fa is something that is so important to you, and you need it, just buy the damn tokens!

    A vague comparison, would be me selling pre-printed 'random' passwords on paper because a user generating their own was 'too difficult'

    IMHO, soft token u2f is only useful for testing, development, and personal entertainment

    • ptoomey3 2465 days ago
      What is the attack scenario you feel a hardware token protects you against that a software token will not (for the use cases U2F was designed for)? Sure, hardware tokens prevent malware from actually lifting your private keys. But, to steal your software private keys you likely need malicious code running on your computer. And, once an attacker has that, it is largely game over for all intents and purposes anyway. They can ask your hardware token to sign bogus requests, steal your passwords, etc. Sure, with a hardware token you can wipe your machine and feel semi-confident that you get to keep your private keys. But, really, once your machine has been compromised and you wipe it, setting up new private keys sounds like a wise practice regardless. I'm not arguing that hardware tokens have zero use. But, for most users, the attack model where hardware tokens shine is likely not of value to them.
      • nicpottier 2465 days ago
        I may be mistaken (and I'm sure someone will point out if I am) but I think most hardware U2F tokens require you to physically press something on the token to validate that it should pass over your keys.

        The soft U2F solution presented here still prompts you, but it is easier to imagine the software being modified/owned on a compromised machine than then hardware token being hacked in such a way as to hand over the keys without a physical press.

        • mastahyeti 2465 days ago
          From my testing of several hardware U2F implementations, the test-of-user-presence (touching the button) unlocks the device for an amount of time. During this time multiple authentication/registration will succeed without further user interaction. Even without this behavior though, hardware tokens don't indicate which site your authenticating with. Malware could just make an authentication request right as some user action triggers a legitimate authentication request.
        • ptoomey3 2465 days ago
          Once you have malicious software running it is largely game over. Sure, the hardware token can require a press..but once pressed what challenge is being signed? Malware can just wait and send a challenge for Site A when you are actually trying to sign into site B. Or, the malware can just wait until you login and steal your browser cookies. Oh, also, Soft U2F can require a similar physical touch if you have a mac with Touch ID.
          • tscs37 2465 days ago
            Atleast for my u2f token, I'm being shown the site I'm signing for on a hardware screen.
            • mastahyeti 2465 days ago
              Which device are you using? With U2F, the browser doesn't send the name of the site to the authenticator.
              • tscs37 2465 days ago
                I'm using Trezor, I believe it has been preloaded with certain websites so it knows Github and Google and the likes.

                It also shows parts of the public key (or so I believe, it is a unique identifier) per website.

      • petee 2465 days ago
        Well physical presence is huge - your software-compromised token can sign infinite number of bogus token requests, where as with hardware, you'd have to be an idiot to press the button for random requests, or repeatedly; and has nothing to do with stolen passwords.

        The best an attacker can do at that point is access whatever account-specific token that was 'intercepted', and use that until it expires on whatever site...which if implemented correctly won't let you make any major changes without your token press - aka, software-token just gave up your account, where hardware would have stopped it.

      • doorley 2465 days ago
        You can use a hardware token on multiple machines.

        My bank, for example, has both your password entry and the private keys on the token. All you ever enter onto a computer or smartphone is the one time password, even when using their smartphone app.

        I like my bank.

    • Buge 2465 days ago
      My bet on the reason for creating this: new Macs have no USB-A port, and there are no USB-C U2F tokens that fit flush in the port.

      Github isn't too cheap to buy the token. The token they want to buy simply doesn't exist.

      • RainaRelanah 2465 days ago
        By flush, do you mean fully hidden inside the port? Yubikey has the 4C which should work on the MacBook and is the same size as their normal keys.
        • Buge 2462 days ago
          I mean you put it in the port, and leave it there permanently. Moving the laptop around, putting it in/out of backpacks and bags with no risk of damage or serious snags or pressure.

          Yubikey 4C definitely does not qualify.

    • pfg 2465 days ago
      Malware running on your computer is a game-over scenario even with hardware tokens. The main difference here is that you'll need to revoke the device key after a compromise.

      Password reuse and phishing are probably the most common threats users face. This addresses both with a (for most users) negligible security trade-off. If it increases U2F adoption, I'm all for it. I'd like to see U2F (or webauthn) become a browser/OS feature, backed by TPMs or things like TouchID, but this is a good first step.

    • m-j-fox 2465 days ago
      But notice the software is only for Mac. So it's for people who are too cheap to spring for a $10 key but drop $1k on a laptop. Go figure.
  • ianopolous 2465 days ago
    I've been looking into 2FA on Github and I don't understand why you must have either SMS or TOTP (typically a mobile app) as the primary second factor. Why not let users go straight to a yubikey? I don't want my mobile involved in the process at any point. You also can't remove the TOTP factor once you've added a yubikey, so yubikeys are 2nd class citizens, despite being much more secure.
    • ptoomey3 2465 days ago
      The primary reason is exactly the reason you cited (u2f support is not ubiquitous across browsers..especially mobile). We may consider allowing folks to use u2f exclusively in the future, but we started conservatively given the already risky proposition of account lockout with regular 2FA.
      • ianopolous 2465 days ago
        Thank you for clearing that up. Personally, I'm more likely to lose my phone or have it brick itself (happened to my previous phone) than to lose a yubikey.
  • sly010 2465 days ago
    I don't see anyone mentioning that Google won't allow you to use U2F anywhere but on Chrome. E.g last time I tried I couldn't log in using Firefox even if I installed the plugin. [0]

    [0] https://productforums.google.com/forum/#!topic/gmail/IwKFuNh...

    Edit: link

  • re1man 2465 days ago
    Extension version with similar functionality: https://chrome.google.com/webstore/detail/keyless-u2f/bhgbpf.... Works with Mac + Windows. Amazing to see more soft solutions for U2F.
  • mongol 2465 days ago
    U2F adoption seems quite slow. Google were in early, and later github and Dropbox. But since then? Feels like nothing happened.
    • Rafert 2465 days ago
      > 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...

    • jack12 2465 days ago
      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.

    • Freak_NL 2465 days ago
      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.

      • jack12 2465 days ago
        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.

    • talkingtab 2465 days ago
      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).

    • drewg123 2465 days ago
      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.

    • bb88 2465 days ago
      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.
    • csomar 2465 days ago
      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.
  • chaz6 2465 days ago
    The benefit of U2F to me is that it is a hardware token. I would never use a software token when I can use a hardware token.
  • mkj 2465 days ago
    The kext shouldn't be necessary for a Safari and Firefox plugin. Is it just there to fake a u2f usb device for Chrome?
  • milkshakes 2466 days ago
    this would be great if it were linked to touchbar fingerprint sensor
  • lisper 2466 days ago
    I tried it but it didn't work for me. I'm running Mavericks. Do I need to reboot or something?
    • mastahyeti 2465 days ago
      I've only tested on Sierra, so I'm not terribly surprised that this doesn't work. Would you mind opening an issue so I can help debug? https://github.com/github/SoftU2F/issues/new
    • ndm 2465 days ago
      Are you triggering U2F challenges by visiting sites that support u2f? Opening the app doesn't do anything.
      • lisper 2465 days ago
        Yes. The configuration I was using (Yubico test site on Chrome) works against hardware tokens.

        Just for context, I'm pretty well versed in U2F. I actually sell a U2F token of my own (https://sc4.us/hsm) and I've published a serverless U2F test harness (https://github.com/rongarret/u2f-test).

  • cbhl 2465 days ago
    I'm surprised they're willing to trust a mouse click on a notification. (Can't that be simulated by malware by using the Accessibility APIs?) I was expecting a U2F authenticator that wanted a Touch ID touch first.
  • scott00 2465 days ago
    Any plans for a Windows version?
  • bdcravens 2465 days ago
    If you're already into Bitcoin the hardware wallets also can be used for U2F
  • exabrial 2465 days ago
    It'd be awesome to see keybase integration
  • mtgx 2466 days ago
    This isn't also backed-up by SMS, is it? Because the majority of U2F-supporting services seem to be doing that - even Google (and for its own Google Prompt, too).
    • mastahyeti 2466 days ago
      You still have to configure TOTP (SMS or App) 2FA before you can add a U2F device. That might change in the future.
    • kbenson 2466 days ago
      > even Google (and for its own Google Prompt, too).

      Just for iOS, or for Android as well? Is Android intercepting Google sourced SMS messages so it doesn't appear to be SMS, or are you referring to the iPhone experience?

    • cimnine 2466 days ago
      You can disable Google SMS 2FA anytime.
      • ptoomey3 2465 days ago
        And the same is true on GitHub. You can use app based TOTP without SMS.