Hacker News new | past | comments | ask | show | jobs | submit login
Yubikey with USB-C (yubico.com)
234 points by nickik on Jan 5, 2017 | hide | past | favorite | 169 comments



No word on switching back to open source. Their YubiKey NEO was open source; not sure why insist on proprietary code for the YubiKey 4. I'm frankly not comfortable with this kind of "security by obscurity".

https://github.com/Yubico/ykneo-openpgp/issues/2#issuecommen...

Edit: Never mind, there's actually a reasonable explanation for the change: https://www.yubico.com/2016/05/secure-hardware-vs-open-sourc...


I believe it has been discussed here previously, but open source on a propietary firmware (Java VM) wouldn't be considered open source by many.

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

It is interesting how it allowed revealing the details of a bug in the implementation, though.

https://developers.yubico.com/ykneo-openpgp/SecurityAdvisory...


> open source on a propietary firmware (Java VM) wouldn't be considered open source

It's significantly better than completely closed though!


Why? You still can't control, fix or trust the software as a whole.

It's like a parachute that almost opens.


Then it's at least a parachute and not a backpack with an anvil.


And yet you'll still be in trouble when you impact the ground


For my feel, the phrase "security by obscurity" is a little overapplied.


My understanding was this had to do with a licensing issue with one of the chips they were using.


It's unfortunate that there is no Yubikey nano for USB-C yet. I really like the nano form factor, especially because I can't accidentally break a USB port like I could with the normal sized one.

I guess it's really hard to fit all of the electronics in a port as small as USB-C though.


Are there USB-C to, uh, "normal" USB adapters out? You know, that go the OTHER way?

I'd hate to not be able to use the USB-C Yubikey with my desktop, my keyboard port, my hubs, etc. Seems easier to just use the normal Yubikey plus a dongle for the few machines that support USB-C.


Unfortunately the standard explicitly forbids that type of adapter because they could be used to plug two USB-A power supplies together. (USB-C power supplies are designed to prevent this from being an issue.) Source: https://plus.google.com/+BensonLeung/posts/UFCHbSDRa2o

That doesn't mean they don't exist - you can find a few on Amazon - but reputable companies aren't making them, so quality is going to be suspect.


I think the term you're after for "normal" might be USB Type-A :)


I really, Really, REALLY love my nano and can't wait for a USB-C version. Actually, that is one of the things that would make me not want a new MBP.


I like the form factor, but as a second factor it sucks. Effectively your computer becomes the second factor, and it's much more likely that your laptop (with the Nano plugged in it) is stolen, than a keychain with a bigger Neo.

It's acceptable if you only use it for OTP, but I can't get myself to put GPG private keys on a Yubikey Nano...


The Nano is essentially a Client Certificate in USB form.


You could just put a GPG subkey on it. That way it's revokable if lost, without destroying your entire PGP key.


Why? Your GPG key is airgapped and inextricable (except possibly via something like a DPA-style attack), and you can set a PIN required to perform any private key operations, complete with a configurable number of attempts before the device wipes itself.

There are DPA attacks to be worried about, but if you set a decent PIN and limit the number of failed attempts your GPG keys will probably be safe if your Yubikey is ever lost/stolen.


That is not what airgapped means.


I figure I can get a lot more security with a practical-length passphrase than a practical-length PIN.


I have a 6 digit pin (8 digit admin pin) with 3 retries before the device wipes itself. The chances of an attacker cracking that are negligible - I'm more concerned about someone observing my typing (applies to passphrase as well) or actual physical attacks on the yubikey (stolen, decapped, ...) but I'm not the target demographic where such effort would be warranted (or at least I hope so). An attacker could backdoor my PC and intercept the passphrase dialog - but in that case he'd still need my yubikey which makes remote attacks impractical and makes me notice the theft. This is not the case with a passphrase on a secret key - a machine compromise may silently take everything without you ever noticing.


A security token is an excellent concept, but usually fails when applied to 'typical' use-case scenarios.

Are you military personnel who is in charge of turning the key and launching the nukes? -Excellent reason to have a key that is impossible to forge. -Also, "key discipline" is likely very high.

Are you a paranoid nerd that wants to make sure that you cannot be compromised? -Excellent reason to have a key that is impossible to forge. -But what happens when you lose that security token?

i.e. "Honey! I can't find the car keys, have you seen them?"

We desperately need _BETTER_ 2FA. Bio-metrics are not the answer. I would be in favor of an implantable RFID chip or whatever 'better' tech comes around.


> But what happens when you lose that security token?

Pretty simple: you use your backup key to revoke the lost key. This is possible with e.g. Lastpass and Google. Of course, if the attacker logs in before you revoke the key, you are hosed, but the same would be true in your car analogy.

> i.e. "Honey! I can't find the car keys, have you seen them?"

With car keys, too, you have a backup key. Arguably, the physical car keys are easier to copy.

> I would be in favor of an implantable RFID chip or whatever 'better' tech comes around.

Nothing new, see this article from 2004 [1]. As you can read in the article, its first headline was even in 2001 (to put in perspective this is 15 to 16 years ago). Company's name is VeriChip.

The problem is that the signal can be intercepted (AFAIK it doesn't use a form of OTP), and the key cannot be easily replaced/revoked. A YubiKey doesn't suffer from this issue. The issue a YubiKey has is that it can be easier lost than an implant.

The YubiKey Neo ('large' version, not the 'laptop' version) supports NFC.

> We desperately need _BETTER_ 2FA.

Why? How?

[1] http://www.wnd.com/2004/04/24179/


I'd love something like a Yubikey Neo (NFC) with a fitness band type form factor (that I can shower/swim with), and an intention indicator (button of some sort) before the NFC would respond.


Right now I use a Pebble smartwatch (which I use for fitness, too) with Bluetooth 4 to unlock my Android phone. Not very secure since (as you put as well) I don't verify the unlock via my smartwatch, and I'm not sure about impersonating Bluetooth 4. Then again, I'm not sure if NFC (RFID) can be impersonated, either. And, if yes, how feasible it is.


That begs the question, what if you lose your backup key too (it's far less frequently used, adding to the possibility) or don't have one because it would decrease security? Here is where car analogy stops working.


> That begs the question, what if you lose your backup key too (it's far less frequently used, adding to the possibility) or don't have one because it would decrease security? Here is where car analogy stops working.

What if you lose the backup key to your car? You're can break a window to enter, but a modern car won't start easily because of the lock on the steering wheel.

Make sure you don't store both keys at the same place. Make sure one is stored at a secure place, while the other one is securely attached with you. A secure place to store a key is a fireproof safe, or a notary.


In a real pinch, I can pay a locksmith.

Can you do the same with crypto?

The procedures to maintain access to your car aren't really sufficient.


A non issue, PEBKAC.

If you're afraid you lose both your main key as well as your backup key at the same time before you were able to reinstall another backup key you can ensure you have more than 1 backup key, and/or (re)consider where you store your backup key(s).

Also, it depends on where you are using the YubiKey. If its an online service you may be able to identify yourself via alternative ways. If its your FDE, you're hosed. Or you have backups. Either way, the above still applies.


Not disagreeing with your comment, but what do biometrics have to do with this article? I don't think Yubico does anything with biometrics, and these devices definitely don't have any such capability.

Moreover, U2F already is awesome 2FA (better than _BETTER_). Fast and unphishable. Buy a few of these, keep one on your keychain, one on your desk at home, and a backup locked in your safe, and you're all set.

We use the USB-A version of these things extensively at my company, and they're unbelievably convenient.


I'm not the OP but I assume they brought up biometrics because that's something you can't forget and leave at home (like you can with a Yubikey attached to your car keys).


Fwiw I wear my key around my neck. It only comes off the shower. Routine is the key to retention


I get it, now, thanks. OP used biometrics as a strawman, and I misinterpreted the use as a reply to a (nonexistent) point in the original article.


We don't need better 2FA, we need better 1FA. Biometrics are not the answer for that either, but rather new protocols that are independend of the mechanism you use.

That exactly what the FIDO protocols are trying to do.

You can use you shitty local fingerprint sensor as a authenticator but you will still get better security agains everything exept if somebody steals your phone.

Phising is the biggest problem, it needs to be solved. We can do it in the first or the second factor. People either need to move to U2F or they need to move UAF on the first factor.

This is really the only hope.


> Biometrics are not the answer for that either

Biometrics are a way to identify a user (and establish a username); not a form of authentication or replacement for a password. This is because biometrics cannot be replacement, while they can be copied or mimicked.

1FA is theoretically possible without a password, with a form of OTP.


Biometrics SUCK. I spend many days a month digging rocks. My finger prints are rarely intact enough for a fingerprint reader to capture them and read them.


> Biometrics SUCK.

As do [secure] passwords. Which I'll demonstrate below.

> My finger prints are rarely intact enough for a fingerprint reader to capture them and read them.

Scan multiple fingers. Use different biometrics such as a photo of your face, or your eye. Remember, biometrics are meant as username replacement, not authentication (e.g. password-based); ie. so you don't have to type 'lightedman', not 'ethically-rage-retake-unlined-wrangle-lapel'.


And yet the original point still stands, which is biometrics are terrible passwords. I still agree with this timeless article on biometrics (fingerprints for this article, but all biomentrics in general) are excellent usernames, but terrible passwords:

http://blog.dustinkirkland.com/2013/10/fingerprints-are-user...


> Remember, biometrics are meant as username replacement, not authentication (e.g. password-based); ie. so you don't have to type 'lightedman'

I think that's a solution in search of a problem. That may be all biometrics are actually good for; I don't think it's why anyone is interested in them.


It is a minor convenience which in the end is going to save a lot of minutes a day per human being. Time which can be spend more productive.


I'm confused...how are authentication and "password-based" related? (Yes, passwords can establish who you are...just as biometrics or tokens can. Or they can be used in place )

Using Biometrics for claimed identity is a choice (I guess...it's not one I've heard of before), not a mandate. 2FA doesn't specify what factors line up with with "claimed identity" vs "confirmed identity" - just that 2 factors is more secure than 1 factor.

I've never heard of "used biometrics as username, and a password as password", nor that "biometrics are meant as username replacement". Have I fallen behind, or am I misunderstanding you?

My understanding is that, in CONFIRMING identity, you want at least two of "know something, have something, be something". Every example I've heard/seen (admittedly limited) used these to confirm a claimed identity, not to make the claim in the first place.


"Remember, biometrics are meant as username replacement, not authentication (e.g. password-based)"

Tell that to my fiance's iPhone, or my HP NX-series laptop which has Windows XP and a biometric user authentication login, I don't think they got the memo.

"Scan multiple fingers"

I guess you didn't read what I wrote. I'll just stop here until you do.


> I don't think they got the memo.

Sadly, they haven't. Did you get the memo where people from CCC got the fingerprint from a minister, just to prove a point?

> I guess you didn't read what I wrote. I'll just stop here until you do.

I did read what you wrote. That doesn't refute that in use cases, one finger(print) may stop working while another still works. It also doesn't refute that other biometric data stays intact. Although having to type 'lightedman' is a minor nuisance.


"That doesn't refute that in use cases, one finger(print) may stop working while another still works."

Not in mine. Simply put there are too many cuts on every single finger on my hands to make biometric fingerprinting a reliable thing, and those cuts change pretty much daily. Do mining like I do, in hard rock, with hand tools and no gloves (because you need to feel for things lest you destroy a perfect specimen.) You're not escaping uncut, no matter what.


Cheers for explaining your use case.

For people like you we either need alternative way of identification (such as face recognition), or we need you to type your username ('lightedman'). The latter is IMO (in 2017, without physical keyboards) rather annoying.

Remember, I don't suggest we authenticate via fingerprints.


> Did you get the memo where people from CCC got the fingerprint from a minister, just to prove a point?

And they could have got his phone PIN just by standing in line behind him at Starbucks when he unlocks his phone


Practically speaking, I've been using a yubikey plugged permanently into my laptop for many years, and it works fine. I use it to authenticate to my work VPN (with a password as second factor).

The only downsides are: one fewer USB port, and the green light on the yubikey which is permanently lit.


You've made a great list of the downsides, perhaps you could at some point list the upsides? A yubikey you don't move around, and that you don't take extra steps to ensure the security of, seems no more secure or useful than a cert file on your hard drive.


As others have said, you have to touch the yubikey to get it to generate a one-time password (it acts like a USB keyboard).

The yubikey is one factor, the VPN also requires a second factor (memorized password). These are concatenated so you type the password without pressing the enter key, then tap the yubikey (which "types" the OTP + enter key). This process works in web forms, shells, etc. Could hardly be simpler.

If the laptop is lost/stolen, I can deactivate the token.


Unlike a cert file, a hacker can't steal the keys in a Yubikey if the machine is compromised. Same reason why many enterprises prefer using TPMs for storing machine certs.

The advantage of a Yubikey over a TPM in this case is that the Yubikey requires a physical tap before it'll sign a request, which prevents certain MITM attacks.


If I understand correctly, you must touch the Yubikey to reply to a second factor request. Simply being present in the USB port is not sufficient to utilize its credentials.


the PIV and OpenPGP apps don't seem to require the physical interaction, but do require a PIN entry (just like a traditional smartcard).


I have one that's permanently installed too, and the green LED isn't ever lit unless an app is asking for touch. Perhaps it depends on what mode you have it it? (I'm using mine in U2F + PGP Card mode.)


Indeed it is always important when considering security, to look at the other side and balance the risk of someone else gaining unauthorised access with you possibly losing access forever. Everyone wants "unbreakable" encryption, but unfortunately it seems very few consider the possibility of themselves losing the key --- perhaps it is because locks in the physical world are not quite as strong as good data encryption, and can be easily overcome with locksmiths and the like.


> But what happens when you lose that security token?

It's really not that big of a problem, at least in the "paranoid nerd" context. Just have backup keys that your users can print out and keep in a safe place. Or have more than one U2F device - most implementations I'm aware of allow users to register more than one device.

Of course, for most applications, there'd still be the usual support backdoor. That's definitely a problem not quite as easy to solve.


> I would be in favor of an implantable RFID chip or whatever 'better' tech comes around.

Like a vivokey? http://vivokey.com/learn-more.html


Why not just wear a ring?

Seems like the main reason is so that the guy who made it can call himself a transhumanist and say futuristic things.

Watch him put his phone to his wrist. If it was on his finger he wouldn't have to take the phone out of his hand. Is that thing glass? How is he not worried about it shattering when he falls?

I found http://nfcring.com/ but macbooks can't do NFC, otherwise I'd preordered one.

I also learned that NFC is RFID at 13.56 MHz.


The vivokey has a secure element: you can keep RSA keys on it and use it like a yubikey.

Notably, it's the first NFC 4096 bit capable device I've seen (Yubikey Neo is max 2048bit; Yubikey 4 doesn't have NFC).


Moi? I'd rather buy ten passive backup keys than implant an RFID key that puts out a signal that never turns off. At that point you're robbing Peter of pay...Well...Um...Big Brother.


Maybe I'm going about this the wrong way but how do people handle 2FA across multiple machines with multiple keys?

I have multiple desktops, laptop and several mobile devices that I often context switch across. I'd like to use 2FA without having to plug and unplug the key every time I want to switch devices.


You just buy a key for each and leave them permanently plugged in. Works best with the nano.

(This assumes that you're OK allowing physical access to the device to count as one of the factors in 2FA, instead of e.g. physical access to your keychain or wallet or messenger bag where you would otherwise keep the key.)


IDK if this is the right way to go about it.

But I have one long password (30 characters) for logins and disk encryption, and everything else is 1Password/2FA. If you allow cookies, you won't get asked to use the key again. Most sites allow you to also use an authenticator app on your phone (some even force you to also set this up when you add a key). And I have GPG subkeys for every machine, so the key is only needed for the initial bootstrap. So this way, the amount of times you actually have to use the key is low. I'd say I use mine one a week, maybe less.


> some even force you to also set this up when you add a key

Which is a good idea if your key gets crushed.


What I really want is not USB-C but rather a Yubikey 4 the supports NFC. None of the sticks support all features, is quite vexing. Now I have to carry different sticks for different reasons.


NFC is the thing that's got me still using my Neo. It's the only reasonable way to use one with a phone for 2FA.


Apple phones support neither USB-C nor NFC, so for those it's a non-issue. Android phones (from the last few years onward) have NFC but also have USB-C, so why exactly would you need to have both?


S7 doesn't have USB-C, and that's about as recent as it gets. And even if my phone had USB-C, NFC is more convenient.


My tablet doesn't have USB-C, along with that not every phone does yet either. And neither does my laptop. So I end up needing an adapter somewhere. Right now NFC makes things a lot more convenient compared to USB-C everywhere. That'll get there eventually but it's not ready yet.


Concept itself is user friendly for mobile use.

Too bad a lot of phones don't have NFC, or the NFC doesn't work with the YubiKey Neo.

Given it is wireless, is it eavesdroppable?


It would be nice to have USB C at one end and normal USB at the other.


Yeah, for the moment at least USB-C isn't universal enough that I'd be comfortable carrying a key that _only_ works with devices that have USB-C ports. Maybe in a few years...


I recently bought a new Yubikey 4 Nano, and it came with a USB-C adapter that holds on very nicely (as in, the adapter hasn't accidentally come off the Yubikey while in my pocket). It's a good choice if you need to use your Yubikey with any non-USB-C devices.


What is a Yubikey, I asked:

"Your YubiKey provides a second factor of security for your logins, beyond a username and password. Your YubiKey needs to be registered or paired with each computer, service, or site you use it with. "


Yeah, it's basically a smart card you can use with a bunch of popular sites like Google, GitHub, Dropbox, etc. (See http://www.dongleauth.info/ for a more extensive list.) Based on an open standard (FIDO U2F). Some versions also support storing PGP keys and the like.


Why would one prefer to use a dedicated device like this, now that smartphone-based 2nd-factor is an option?


There are a number of reasons.

- Clicking button is far easier and faster (it really does make a difference).

- Your smartphone is complex software and often attacked. Secrets can be stolen.

- Based on public-key crypto, no secret on the server.

- Built in phishing protection

- Your own private key is secure hardware that you can't read the key from

To be fair, a smartphone could also implement U2F and you would get some of the same benefits. Samsung phones for example already support UAF (the other FIDO) protocol.


Doesn't this mean that Yubi has the potential to know what your private key is (since they have to bake it into firmware before selling you the device)?


Most key dongles or smartcards let you load your own key on the device in a write-only fashion, or use the inherent secure cryptographic operations from the device to generate a key (which could subsequently tested if it is random enough through examining the public key portion and multiple tests).


> use the inherent secure cryptographic operations from the device to generate a key (which could subsequently tested if it is random enough through examining the public key portion and multiple tests).

It's not really possible to verify randomness this way - particularly for a device that already has a decent chunk of storage and crypto operahtions. Suppose the "random" number generator is actually an AES keystream coming from a key controlled by the NSA - how would you tell?


Unlike TOTP, U2F devices like the Yubikey protect against phishing attacks. The more expensive (not-just-U2F) Yubikeys also work as a GPG smartcard, which you can use for things like SSH authentication.


Can you explain how a smartphone-generated (or received via SMS) 2FA token is susceptible to pishing or other remote theft? I like the idea of the Yubikey but I just don't see how it's any different or better from receiving, say, a Google 2FA SMS on the smartphone that's always within reach.

I genuinely want to understand this so I'm hoping you or someone else can explain.


Smartphones are a very high target for everyone, from the FBI on down, and their attack surface is very large. So there is always (and will likely always be) security vulnerabilities in any smartphone, regardless of the brand/vendor/etc. These can be gotten at remotely because these devices have WiFI, bluetooth, etc in them, making them much more accessible remotely.

Yubikey's and the like are a high target item, but probably only for government-level adversaries, in general you have to be pretty well funded to attack these things, plus their attack surface is very very small, and most all of the attack surface is physical (i.e. you have to physically get the yubikey device to attempt any hacks on it). These devices generally only have a USB port, so to get at them remotely you have to first get remote access to the device(computer) they are plugged into, making it even harder of a target.

That's the general overview. Specifically, SMS received tokens are not secure (because of the SMS part not being secure). NIST recently declared SMS based 2FA to be a bad idea, for instance.


A phishing page can simply imitate the 2FA step in the login process and ask for the OTP to be entered, and then use it for its own login attempt. With U2F, the site basically authenticates itself as well, so a third-party phishing page wouldn't get anywhere.


Many attacks on ISP / IaaS companies have involved social engineering to "SIM swap"; allowing intercepting 2FA SMS messages.

https://www.wired.com/2016/06/hey-stop-using-texts-two-facto...

Other comments expalain the vulnerbility of phones, but Linode's Time-based One-time Password implementation (tied to a phone app) may have been hacked server-side.

http://www.securityweek.com/how-attackers-likely-bypassed-li...


If a site looks like google and you enter your TOTP it will just take it and login.

The only thing TOTP protects against is somebody collecting logins and using them later. Today good phishers do attacks JIT, so TOTP is pretty useless for that attack vector (and that is the most importent one).

Your Yubikey can pretty much be connected to your computer all the time. So usability is actually better.

Plus there is of course the problem of smartphone security.


The 2FA apps on the phone (like authify and google authenticator) use a shared secret between the server and phone, plus the time, to generate the code. (This is the alphanumeric or qr code you set up with)

If someone can remotely root your phone, they can remotely retrieve your shared secret, and thus generate your authentication tokens.


It's somewhat easier (pressing a button on a USB device vs manually typing in a short code) and more secure (malware cannot steal the key from the USB dongle, and it's physically secure against tampering).


I use PingID for authentication and the manual code entry is only required as a fallback. When everything goes right, you just need to swipe to approve at the lock screen. Also, I'm doubtful there's any cause for concern about malware or physical tampering on iOS.

I do like the idea of being able to plug in to authenticate for ssh on any computer, however...


I invite to take a look at the just released Yubikey Handbook (https://github.com/ruimarinho/yubikey-handbook), an open source book on the many different Yubikey use cases and stories.

Everyone of us has asked that question before :)

Open to contributions as well!


It has two modes. If you short press it, it will generate a one time password. A long press will output a static password. Both modes can be configured optionally.


The newer models support U2F, which is a challenge-response thing: the website prompts you to insert your YubiKey and tap it, and the key signs a response and sends it back to your browser.

I believe this adds protection against phishing because the browser communicates which origin (that is, which domain name) is sending the challenge, and that gets hashed into the signed response. So if trust-me-im-google.com proxies google.com, it can ask you for a one-time password, and the one-time password will be valid when google.com gets it, so the MITM can get your login cookie. But if you're using U2F, the signed response will say "Yes, I would like to authenticate to trust-me-im-google.com", and google.com will reject that.


That's very cool. Could you elaborate on the method in which the key accepts the challenge? I was under the impression that a Yubikey only acted as a USB keyboard - which ensured it's security by isolation.


The general protocol is U2F:

https://developers.yubico.com/U2F/

Yubico has some python code here:

https://github.com/Yubico/python-u2flib-host

https://github.com/Yubico/python-u2flib-server

Chrome builds U2F into the browser itself for website authentication.


I've built a node.js version if Python is not your chosen stack: https://github.com/emilecantin/node-u2flib-server

Another choice that looks (sadly, for me) more popular: https://github.com/ashtuchkin/u2f


I believe they're describing U2F, and share your perception that at some point in the past these were just keyboards.

[1] describes the flow at a high level, and [2] goes into more details

[1]: https://www.yubico.com/about/background/fido/

[2]: https://developers.yubico.com/U2F/Protocol_details/Overview....


The other answers are correct, but even before U2F the yubikey supported other methods as well. The have a classic HMAC based ChallengeResponse-Mode, a smartcard and PIV interface.


The U2F device will not sign anything if the appId (that is the web origin/domain in most cases) is not already registered.


>What is a Yubikey

A yubikey 4 or Neo has 2 slots which can be configured for about 5 different things. OTP, challenge response, static password, and some other things I can't remember right now. It also has 3 slots for a PGP private key, signing key, and encryption key. It also has 4 PIV slots to use as smart card key storage for authentication (ssh), code signing, and other things I can't remember. Then there are additional PIV slots to hold expired keys you might want to keep around for some reason?

It has quite a lot of functionality for a little device. The main difference between Neo and 4 is Neo has NFC, where 4 supports 4096 pgp keys. 4 is the newer one, but nothing new has NFC yet.

I use it with luks for full disk encryption, ssh, and to store my pgp key for QTPass/Android Password Store. QTPass + passff extension for firefox is nice.

I haven't set it up as a 2FA for sudo yet, but that's possible also. I don't plan to use it for PGP encrypted email for the same reasons described here.

https://blog.filippo.io/giving-up-on-long-term-pgp/


It's unfortunate that they went closed source but I still have a Neo here that survived several months in my washing machine (it got silently caught between the rubber manifold and the drum). Eventually when I found it again, plugged it in expecting nothing, but was greeted with the green flashing led and the button worked just fine. I still have it but don't use it anymore, the closed source thing grates a little with me so use other methods now.


Would you mind taking the time to share the details of your current open source authentication solution?


Yes, certainly. I ended up using TOTP with an authenticator on my phone. Try FreeOTP[1] or if you're not fussed about pure open source, Authy is worth a look. On the systems you can link it into PAM using Google's OTP plugin[2], either locally or via SSH etc.

It's definitely not that ground breaking but it works, provides reasonable extra security and meets my requirements. It lacks some of the feature of Yubikey like storing GPG on there or HMAC etc, but I don't need those functions in reality.

[1] https://freeotp.github.io/ [2] https://github.com/google/google-authenticator-libpam


Worth mentioning that it seems that the USB-C OpenPGP app may support RSA 4096. I'd love to upgrade my yubikey ssh key from RSA 2048 -> 4096.

Currently my YubiKey Neo only supports RSA 2048 as it's a hardware limitation of the NXP A700x chip used inside.

[0] https://www.yubico.com/2015/02/big-debate-2048-4096-yubicos-...


All yubikey 4 support 4096 for GPG. If you use pgp auth key and gpg-agent for ssh, this is ok.

The yubikey also supports PIV. There you still can only use 2048.


YubiKey 4 supports 4096-bit RSA. But it's not USB-C.


But that's what the article is about?... The YubiKey 4C. A YubiKey 4 that supports USB-C.


Why? RSA-2048 isn't threatened.


Have they ever figured out compatibility with iOS? I feel like this is the biggest thing holding them back from broader adoption.


Have you tried to setup a Yubikey with RSA-keys and click-to-sign? It's things you expect "just to work", but the tooling around the Yubikey sucks big time and thats what holding them back. It's a shame though cause they make really good hardware.

Their strategy has been to gain tracktion through the major tech players. Think it's time for Stina to realize they cannot ignore the rest of us if they want to make it big.


What competitors have tools that just work?

For the most part there provided guis work wunderfully.

GPG is of course always a mess.

I agree with click to sign, that seems to be a bit hacky, otherwise however its fine.


They are working on Bluetooth LE version. Should make it possible.

But its really all the fault of apple stupid NFC police, not some other issue.


Now that iOS supports USB keyboards, it might work. Not sure why I haven't tried it since that came out, but I'll give it a shot and report back.


iOS has supported USB keyboards for 6.5 years now.


But it didn't provide enough USB power I thought for the Yubikey. I'd heard this changed, but I have a feeling you'd know better than me there! ;)

(Long time no chat btw!)


I haven't actually researched this topic, but it looks like the current Lighting Camera Adapter (which is how you get a USB port) advertises "USB 3", so presumably that means it offers enough power (http://www.apple.com/shop/product/MK0W2AM/A/lightning-to-usb...).

(Jeremy, is that you? Long time indeed!)


NFC? AIUI, they can't support it until Apple does.


Great! The reason I bought a Yubikey Neo over the Yubikey 4 is that I need access to the key on all my devices - computers and my phone(s). It's a way to do secure and user-friendly way to solve the key distribution problem to have access to your TOTP tokens, FIDO credentials and/or your PGP keys on all your stuff. I would not use PGP otherwise, as it leaves key distribution as an exercise to the user [2].

Since USB-C is going to be the standard on computers, phones and tablets this new product will be very versatile and usable secure authentication across almost all devices [1]. Only question is - do apps like Yubico Authenticator and OpenKeyChain support this on Android already?

[1]: You're out of luck on iDevices of course, but you're out of luck with iDevices and Yubikey already.

[2]: This was much less of a problem for the first ~15 years of PGP's existence of course, but it feels old-fashioned nowadays.


I regularly use OpenKeychain with the YubiKey 4 Nano USB-C bundle on a Nexus 5X.

https://www.yubico.com/product/yubikey-4-nano-usbc-bundle/


I'd love to replace my YubiKey Neo with the USB-C version because it looks more rugged. That said my Neo works fine but I fear it destroying a USB port after a minor accident.

However, my problem with USB-C is while it works great on my laptop, my desktop doesn't have a USB-C port anywhere near my desk or keyboard. I'd have to buy a hub or something. I'm sure this will get better as I find excuses to replace parts of my desktop hardware.


Exactly my thoughts. Finally a yubikey I don't have to worry about breaking. Admittedly, I've never broke one, but I still live in fear of doing so.

I'm surprised folks like the Neo though. I rarely use mine anymore as I kept accidentally triggering it when I carried my laptop to meetings.


The Yubikey Nano is pretty great in this regard - doesn't stick out enough to really worry about breaking.


The Nano (not Neo) is the one I was referring to (said wrong thing). It's the one I used to trigger at least once a day accidentally, usually in a chat window as luck would have it.


The big advantage of the Neo is NFC. As for,

> I rarely use mine anymore as I kept accidentally triggering it when I carried my laptop to meetings.

..for macOS there is statusbar application called YubiSwitch [1] which allows one to enable or disable their YubiKey (default keybind Alt + Cmd + Y). It has various useful features such as timeout (default 10 sec, feature disabled by default), or locking the computer if key is removed. I use it together with a YubiKey Nano 4, with a YubiKey Neo as backup.

Be sure to enter the right ProductID to make it work. You can only use one, so if you ever use your backup key you need to configure that ProductID.

[1] https://github.com/pallotron/yubiswitch


I mistakenly stated Neo when I meant Nano. The Nano is great as far as being inconspicuous and rugged, but I accidentally trigger it to much.

I'll look into Yubiswitch, thanks!


If you hit it to often just dectivate slot 1. Unless you really need 2 slots.

(Slot 1 is click, Slot 2 is long click)


I actually use both slots, but this would help if I didn't.


I have the same problem sometimes but spaming OTP tokens seems not to bad.

During a conference just make sure I don't have IRC on top.


If you need to move a USB port from here to there, you don't need a hub, just an extension cord: https://www.amazon.com/Extension-TUSITA-Devices-Connector-Ex...

Not a new problem for USB-C, of course.


What are the options for handling loss or theft of your YubiKey if using as an individual? I love the concept of a physical token as a second auth factor, but last I checked, there were no good loss-recovery scenarios when used as an individual (versus in a corporate environment where IT manages the Yubikeys).


Far as I can tell, the best strategy when using any 2FA system personally is to enroll at least 2 authenticators, and keep one in a safe place (preferably that a family member or trusted friend can get to while you are traveling).

If either is compromised, you can use the other to log in and block it.


Thanks, this makes sense. I suppose you can buy as many Yubikeys as your paranoia dictates and potentially even distribute your backups in different physical locations.

Is there any potential for the Yubikeys to get "out of sync"? Or do you just initialize both Yubikeys upfront, and then distribute them to a safe place?


You do them upfront, then store one in a safe place (ie: for github I have yubi and yubibackup registered)


It depends on the recovery options provided by the website. Usually they have other means, such as downloadable codes.

Generally I would just buy 2 however.


I bought two and keep one 'safe'.


I use the yubikey, and I wish it had a blinking LED while it was in the slot, to let me know that it was still there, and should not be.

The first week I had it, I left it inserted in the computer a number of times. Now I keep it on my keys so that I don't forget to remove it.

Now I


It needs A on one end and C on the other, because nobody I know works on only one device.

(OTG too for various devices, of you want really wide compatibility)


Does anyone know why the yubikey 4 supports RSA 4096, but ECC only goes up to 384 and not 521? Sure 384 is likely "enough" but ECC 521 is both faster and smaller than RSA4096. I just can't seem to figure out why they would impose that limit.


Strange they mention supporting 521 here [1], but on the compare page they only list 384?

[1] https://www.yubico.com/2016/05/secure-hardware-vs-open-sourc...

Edit: looking at the PIV tools manual they provide; I can see no mention of the tool supporting 521, it fails when I try to generate a key.

Looking through the .h files, I do see mentions of p521 ;)

  int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
  int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
  int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
  int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
  int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);


Probably a hardware limitation?


Anyone else using a similar product, OTHER than Yubikey? I've read on certain forums about Yubikeys being "flimsy" and less durable than similar products; is this true? what is your experience with it?


I have a less durable, cheaper U2F key, which is sort of the opposite of what you were asking for. I actually don't know of anything that's more durable... the yubikeys that fit inside a USB A port are pretty damn durable.


I have four Yubikeys (three of the "4" variant, one of the nano) and all of them are extremely durable. You'd have to purposefully try to damage one for anything to happen to it.


I've had mine for close to a year now, and for a while it was on my keychain daily. It has held up well!


Yubikeys actually seem pretty durable; that seems to be the gist of the opinions I've read on their durability. A piece of anecdotal evidence; I am carrying an older model Yubikey on my keyring, and it is holding up pretty well (almost two years now).

They certainly don't come across as flimsy.


I have had a yubikey neo on my keychain for almost 4 years now. It is thin plastic and seemed like it might not hold up this long, but it has been going strong. I think they have changed designs to make it smaller since (which would be stronger). They do make solid products.

That said, I would rather use Google Authenticate (TOTP) for two factor. Getting my phone out is a regular thing. Getting the yubikey out and plugging it in seems more of a hassle. Passpack is the only thing I have to use the yubikey for -- would be happy if they provided TOTP. Spending $40 for two factor these days is kind of ridiculous.


Why not just leave it plugged in. That might be tricky in a train or so, but normally its fine. I use a Nano and just leave it in most of the time.

Its not only more convinient, its also far, far safer then TOTP.

The will not support TOPT because that would require constant power.

You can get a U2F only stick for 18 bucks from them. Once in a while (for example when github interduced U2F the sell 2 for 5$).


I regularly use 8 different devices (laptops and desktops). That's USD$400 in keys if I were to keep them in devices, not including shipping, currency conversion, etc.

Then there's the concern about who has access to those keys when I'm not around.

I keep a backup key in a safe location, and my primary on my keychain which is typically in my pocket.



TOTP requires an app, Yubico Authenticator.


Exactly, and if you are going to use an app anyway, you may as well have the app keep the token.


I actually still use it because this was I can use somebody else phone or some other device if I need to. That has come in very handy before.


I've worn out multiple USB extension cables with my Yubikey, but the device itself is still going strong.


I have a Nitrokey Pro in addition to my YubiKey 4. I love that it's got a much more open design and am happy to support the company for that reason, but its enclosure looks like a reasonably good generic USB key. Going only by tactile feel, I expect the Yubikey to outlast it.


I've had a YubiKey on my keychain for over a year and a half and it's held up very well. It looks quite beat up due to being in my pocket, rubbing on other keys, and so on but it works perfectly.


I have a regular Yubikey 4 - it looks like flimsy plastic but it's surprisingly strong. I can't snap it in half even with full force, doesn't even seem to bend.


Couldn't there be a passthrough? I guess that means making the key a two port hub (one internal for the key itself, one external for connection additional devices).


Great to hear. Seems like very fast turn around addressing the needs of USB-C. Looking forward to the snag free version.


Lovely to see USB-C, I hope it will be plug and play for all USB-C phones as well!


"We are working on an additional smaller YubiKey form factor with a USB-C design akin to the YubiKey 4 Nano, but do not yet have a time frame for availability."

This is what I'm waiting for. Besides lower prices. There's just no way these things should cost more than $2.


For the full featured Yubikey I don't particularly mind the price — it does a lot.

Pure FIDO U2F keys (USB, but also NFC and Bluetooth LE) however I would very much like to see hitting a $5 or lower price point. It would enable services to introduce proper two factor authentication without breaking the bank. At the moment these keys are just a bit too expensive (Yubico's USB-only U2F key costs $18; slightly cheaper in bulk).


> There's just no way these things should cost more than $2.

Absent R&D costs, support costs, sales costs, and you know - actually making money...


Don't forget things like standing behind your product and replacing it when things go wrong, because this is security after all.[1]

Alternatively, I bet they could sell them for less and deny all future security issues or ask that you throw them away when they are inevitable discovered.

[1] https://www.yubico.com/2015/04/yubikey-neo-openpgp-security-...


I'm a little dubious they can fit the Nano smarts inside the USB-C connector, like they did for USB-A. It's just so much smaller, and they didn't have a lot to work with before.


They can put it in a little nub outside of the connector like USB-A Wifi dongles [1] do. I don't care if it fits entirely in the USB port like the Nano, I just don't want it sticking out far enough that it'll get bent or damaged when I put my laptop in my bag.

[1] https://www.adafruit.com/products/2810?gclid=CLnuoLPDq9ECFQ1...


yubikey can still be circumvented by bribing or blackmailing a user. idk seems like another security illusion.

and it's proprietary so only yubikey knows what kind of extra shit they're running on it.


50USD for what I'd guess is about 1USD of components.

Not that this isn't justifiable... just the way it goes when most of the cash goes into development perhaps.


> 50USD for what I'd guess is about 1USD of components.

These are crypto hardened chips with obfuscated ASIC layouts and other details to prevent things like power line attacks and decapping. These aren't quite your run of the mill commodity chips.

Furthermore, Yubico stands behind their product. When someone hacked the key with a power line analysis attack, they released updated firmware [1]. When someone hacked the OpenPGP applet that I use for SSH, they replaced my Yubikey Neo in a hassle free manner [2].

> Not that this isn't justifiable... just the way it goes when most of the cash goes into development perhaps.

When you factor in the cost of pretending that security devices don't have issues and compare it to the cost of actually handling those issues, it may not be so bad.

[1] https://www.yubico.com/2014/04/improvements-physical-yubikey...

[2] https://www.yubico.com/2015/04/yubikey-neo-openpgp-security-...


I have a rather favorable impression of the company based in their responses to the incidents that you mentioned. They replaced my YK Neo without any hassle after the OpenPGP applet vulnerability was disclosed.


The chip in my Yubikey Neo appears to be a NXP A700x[0][1]. The datasheet so short it's almost useless, but it's at least something.

[0] https://www.yubico.com/2015/02/big-debate-2048-4096-yubicos-...

[1] http://www.nxp.com/documents/short_data_sheet/A700X_FAM_SDS....


Not saying that it's not worth the money, as I'm a user of the very early Yubikey and as it is not only the hardware. But I cannot fully agree with the high costs associated with the hardened obfuscated ASIC But from what I read it is not an ASCI (which is good). The Neo has a NXP A7005 CPU [1] and a USB interface chip. The crypto part is of course in the CPU and for a NXP A7005CGHN1 I find prices below 4$ for quantities.

[1] http://www.hexview.com/~scl/neo/


Dirt cheap compared with RSA




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

Search: