Are hardware security keys worth it? If so, which to pick?

This isn't strictly a privacy question as a security one, so I'm asking this in the context of individuals, not organizations.

I currently use OTP 2FA everywhere I can, though some services I use support hardware security keys like the Yubikey. Getting a hardware key may be slightly more convenient since I wouldn't need to type anything in but could just press a button, but there's added risk with losing the key (I can easily backup OTP configs).

Do any of you use hardware security keys? If so, do you have a good argument in favor or against specific keys? (e.g. Yubikey, Nitrokey, etc)

ChallengeApathy ,

I'm not an expert but the way I see it is this: if you're tech-savvy and use common sense, they're not necessary, as a 2FA app with TOTP along with random, strong passwords should be enough. I still use both for most things, only securing more sensitive stuff with a physical key.

However, having one definitely can't hurt, and if you're passionate about cybersec, it'd be kinda strange if you didn't have one.

KillingTimeItself ,

im preferential of the concept of just using a USB drive, and some basic scripting automation to trigger it.

Thats just me hating anything moderately proprietary though.

Nebula224 ,
@Nebula224@lemmy.ml avatar

How would this work? Is there an open source project available?

KillingTimeItself ,

i'm honestly not to sure how one would go about it, i know one of my friends has done it. I would assume there is at least one open source project for this type of thing. Realistically i can't imagine it would be that hard, there are probably writeups on people doing it already. In the most simplistic form you're keeping spicy private keys on an encrypted flash drive. That way they're a physical hardware item, but also physically isolated. Though you would absolutely be in a bit of a bind if you ever lost it. Realistically, changing the key and it's encryption will solve that problem though.

I've recently thought of doing similar things using forward secrecy keys stored on the flashdrive itself so that way it's always different. Similar immediate security risk there, but again changing the key is the solution. Theoretically you could also do a two part key system, where you store a portion of it on your system, and the rest on the drive, so that way in the event of compromise, they only have a portion of the key. And they still need the other part in order to do anything.

scripting wise, it should be pretty simple, you plug in the drive, automount it, rip the key out, stuff it to where it needs to go, and then remove the drive. Always make sure you have secondary backups though, whether written down or stored somewhere. Losing accounts is no fun.

I'm not a security researcher or expert though, there are definitely smarter people out there that have already talked about this kind of thing at length.

Andromxda ,
@Andromxda@lemmy.dbzer0.com avatar

I recommend NitroKeys. They are very secure and open-source.

federico3 ,

You are better off with an encrypted password store and a 2FA on a phone. You can back up both, easily, and they are both protected with fingerprints and/or global passwords.

ChallengeApathy ,

Don't go the fingerprint route if you care about your rights in the US. Biometrics, for some bizarre reason, don't fall under the fourth amendment.

4vr ,

Last year Cloudflare had some offers to buy Yubikeys at half price. Bought two of them. Using these hardware keys is better than trusting phone to be single failure and getting locked out.

Kindness , (edited )

You should always back up your OTP secrets, but I agree Yubikeys are a good choice. You can get USB A for $25. I think the Yubikey 5 grants you app access for an additional $25 or more? Pass.

4vr ,

What I did was to use keepass to store most of TOTP and use Yubikey to unlock it. Absolute critical ones like email is saved directly in Yubikey.

jkrtn ,

This is not quite the same product but I thought this device looked interesting

https://tillitis.se/

SnotFlickerman ,
@SnotFlickerman@lemmy.blahaj.zone avatar

This is pretty slick.

SnotFlickerman ,
@SnotFlickerman@lemmy.blahaj.zone avatar

Mostly yubikey users in here so shout out to fully open source SoloKeys.

sugar_in_your_tea OP ,

OnlyKey and Nitrokey seem to also be fully open source.

sloppy_diffuser ,

I use an OnlyKey and Mooltipass interchangeably. Prefer the lower tech OnlyKey. My passwords are half memorized passphrase and half random characters on the device. Only use for disk encryption, main account, and password manager.

Jae ,
@Jae@lemmy.tedomum.net avatar

Solokeys is a completely dead project at the moment.

The last commit in their repos was well-over a year ago and they don't respond to emails at all. I'd recommend against them for the time being.

UnfortunateShort ,

I want to add that you can not only use USB keys as second factors, but also as a password replacement on Linux and Windows. It is extremely convenient to press a button instead of typing a 16 character pw.

sugar_in_your_tea OP , (edited )

Yup, my computers use full disk encryption and have long passwords (>15 characters). And those passwords are different from my login passwords. I find myself not shutting down as often because it's a pain to log back in.

So they're cost competitive with Google Titan. I would go with the Yubikey in this case since they have a stronger track record, but I also don't see much of a conflict of interest with Google (they don't want your logins, they just want your Internet data).

johannesvanderwhales , (edited )

I bought a couple of yubikeys but haven't fully implemented yet. When 1password has full support for using a security key in place of a passphrase, I will consider using them as my primary unlock method.

I have to say that the Google Titan appears to be better bang for your buck than yubikeys. The FIDO2 yubikey is $55 which is pretty pricey considering you will probably want multiple. I'd be really curious if there's a strong argument against using the Google keys.

sugar_in_your_tea OP ,

The FIDO2-only device is $25 for USB A, $30 for USB-C and supports NFC. You only need the $50+ devices if you want Yubikey OTP, OpenPGP, etc, but if you just want FIDO and FIDO2, they're overkill.

johannesvanderwhales ,

So I get very confused over which protocol is which. I think the cheaper keys lack support for OAUTH. Which is required for things like windows login.

sugar_in_your_tea OP ,

Yes, they don't have OATH (not OAuth, that's a different thing), Smart Card, or PGP. I don't know what Windows uses (haven't used Windows in >10 years), but Linux can use FIDO IIRC.

delirious_owl ,
@delirious_owl@discuss.online avatar

Safer to use QubesOS and run keepass in a vault VM

pineapplelover ,

I bought 2 yubikeys. I try to use it for as many accounts as I can but I can only think of a handful who allow yubikeys. I would get them if you want to but a good 2fa should work fine. Most banks and actual important stuff barely have totp 2fa anyways.

johannesvanderwhales ,

I think the best use case will be to use a yubikey with a password manager. That way it doesn't matter what sites support the security key directly. You could also set up passkeys with the sites so that once you authenticate with your password manager, the login process is transparent. Once more sites support passkeys, anyway.

ninjaturtle ,
@ninjaturtle@lemmy.today avatar

Yes, but its not supported on everything. I use Yubikeys since they support more interaction types. I personally use them to lock my more important things when I can. Like my password vault, financial sites, emails, accounts, etc.

For the accounts that are whatever, less important I use OTP. You can also store a limited amount of OTP tokens on the Yubikey and use their open source software to view the codes.

ALWAYS buy a backup if you do end up locking accounts with it, just in case you lose it. It is more secure than having a code saved digitally as you need the physical key to unlock things.

cried5774 ,

I just ordered couple of yubikeys to play around with. Mainly because my phone died and couldn't get into Gmail to get my bit warden two factor email without my phone to approve the Gmail login.... Luckily phone came back online but was a bit scary to think how tied I was to my phone being operational.

sugar_in_your_tea OP ,

Yeah, I really need to re-backup my 2FA. Everything goes through a Google Authenticator clone, which can run on my desktop, but I haven't actually set it up.

haui_lemmy ,
@haui_lemmy@lemmy.giftedmc.com avatar

Me too on the „need backup“. Any idea how to go about that? I know some sites have backup keys for otp but I have no process for storing then and avoiding a bind (like storing the 2FA for my vault in my vault and getting locked out).

I will probably have to play through scenarios or is there a comprehensive guide on this (probably)?

wellbuddyweek ,

I use vaultwarden (selfhosted bitwarden), which stores both passwords and OTP keys on my own server, which I backup regulary.
This allows acces to my OTP keys from any device, as long as it's in my local network or connected to my VPN.

Must say I really like this solution. If one of my devices fail, I have a pretymuch seamless switch to any of my other devices, which are already configured anyways, since it's also my passwordmanager.

If the server fails, my phone, pc and laptop all still have the keys cached, so I can use those untill I've restored a backup.

haui_lemmy ,
@haui_lemmy@lemmy.giftedmc.com avatar

Thats my configuration as well. I didnt think of the cache. Thanks for mentioning it.

I do think having the mfa on there is risky as you factually disable mfa with it imo. Its basically 2 passwords in the same place.

2nd issue: my vault has mfa as well for the admin account which I cant store in there for obvious reasons.

So in combination I‘ll probably use a second vault to store these to keep them seperate. Will check out aegis for this.

wellbuddyweek ,

For the first issue thats not realy true.
To access the totp key you still need the actual device with the key, it's only now split over multiple devices. Like having multiple bank cards for the same account.

For the seccond issue:
Thats a good point, I have not found a good solution for that either, unfortunately

sugar_in_your_tea OP ,

I currently store my backup keys in Bitwarden, but like you said, that's protected by my OTP solution.

I see two options here:

  • store backup keys in a completely separate way (paper in a safe, encrypted off-prem storage with security key storing that password, etc)
  • have the OTP running in lots of places - currently just my phone, but could run it on my desktop and laptop as well

The first is probably better, but I'm planning on the second because I'm less worried about a physical breach of my home by a technical attacker than me losing/breaking my phone at a really bad time and needing my wife to read off an OTP token over the phone in a pinch.

I do have a Yubikey that I don't use though, so maybe I'll try out the more secure option.

haui_lemmy ,
@haui_lemmy@lemmy.giftedmc.com avatar

Pretty good idea with the yubikey. If they werent 50 bucks I‘d get one but thats a little much for an optional security device that has this one function. Still neat though.

sugar_in_your_tea OP ,

I've got one, but I don't use it because the main reason I got it (secure my Vanguard account) has a simple SMS backup, so it's no more secure than SMS... My phone also doesn't have NFC and the plug is USB-A on the Yubikey, so I can only use it on my desktop unless I carry a dongle around.

But I think things are better now at other services (and USB-C security keys exist), and I'm planning to redo a lot of my online accounts. I'm also getting a new phone soonish, so NFC will be an option. Just wondering if others find value in using them.

haui_lemmy ,
@haui_lemmy@lemmy.giftedmc.com avatar

Understandable. I‘ve had a recent „near miss“ if you will and since then I thought I might wanna check my security as a whole. So maybe I‘ll end up with that as well.

Is it possible to use generated keys as a login option on websites btw? I know its usable for ssh and git but i dont know about other sites. If you made one key for each site, they could never leak your password as they dont have it. Would be a ton of work though.

sugar_in_your_tea OP ,

That's essentially what FIDO2 is (the security keys I'm talking about), but instead of public/private key, it's challenge/response (similar enough security-wise). More and more services support it, but unfortunately the really important ones don't (financial, government websites, etc). So you're left with mostly social media and other tech sites.

haui_lemmy ,
@haui_lemmy@lemmy.giftedmc.com avatar

Thanks for mentioning that! I‘ll probably need to check that out then.

octopus_ink ,

If you put the yubico authenticator on another device you are back in business. If your phone is not literally your only computing device just install the desktop app. My problem with it (also a noob) is that apparently ANYONE can pick up your yubikey when you lose it, fire up the yubico app on their phone and learn what accounts you have protected with it. I'm guessing this is due to a config error on my part, but so far I have not found a solution.

Emma_Gold_Man , (edited )

https://onlykey.io/

Built in hardware pin entry means your unlock code can't be captured by a compromised machine. Emulates Yubikey if you need that, handles Fido / U2F, stores up to 12 passwords, acts as PGP and SSH key if you install the (open source) agent.

The SSH agent implementation is forked from https://trezor.io/ which is advertised more for crypyo wallet uses.

Edit: For OP's concern about losing the key, it also has the ability to export an encrypted backup that can be restored to a replacement key

hashferret ,

This is an interesting piece of kit, though I'm curious who the target market really is? Frankly I would be more comfortable regularly rotating my hardware security key's password than I would be manually keying in my 2nd factors pin every time I need to use FIDO2 or TOTP. This would almost appear to be an excessive amount of security for me as an infosec professional which honestly makes me suspect it's targeted towards a paranoid audience. Not that this wouldn't have it's applications. As a backup security key to be stored in a secure location this is definitely intriguing, but I can't imagine using it on a daily basis.

UntitledQuitting ,

I think “unnecessarily over-the-top” is a key demographic in every market. Not a large one, but definitely present.

Emma_Gold_Man , (edited )

Manually keying in the pin is only needed when plugging in the device. Challenges for TOTP, FIDO2, etc. are a configuration option, and are only 3 digits if enabled (press any button if disabled).

As for "excessive amount of security", security as an absolute measure isn't a great way to think about it. Use case and threat model are more apt.

For use case, I'll point out it's also a PGP and SSH device, where there is no third party server applying the first factor (something you know) and needs to apply both factors on device.

For threat model, I'll give the example of an activist who is arrested. If their e-mail provider is in the country, they can compel the provider to give them access, allowing them to reset passwords on other more secure services hosted outside the country. The police now have the second factor (something you have), but can't use it because it's locked.

Emma_Gold_Man ,

If your usecase and threat model don't require the pinpad, Onlykey Duo is worth a look. No pin, USB A or C, and still gives you 6 slots to support any combination of Fido2, TOTP, SSH, PGP, and password storage.

JohnyRocket ,

I have one and I would not consider myself paranoid. I go to school part time and have to login with different accounts on rotating computers. It is nice to have a password manager I can plug into the PC instead of typing it off of my phone or having to memorize it.

Manalith ,

I use a YubiKey and I like it. At this point the bulk of my 2FA is in ProtonPass, but for my work Microsoft 365 and Duo specifically it's nice to default to it and I'm more likely to have it since it's on my key ring, than my phone. Also nice to have stuff pointed to that rather than an app if you like to upgrade or wipe your phone frequently.

I think most businesses that don't provide work phones should be getting them for their employees so they don't need to require that employee install an app on their personal device.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • privacy@lemmy.ml
  • test
  • worldmews
  • mews
  • All magazines