2FA is redundant for unlocking physical devices. Access to the device itself is already a second factor.
The point of 2FA is that someone MUST physically take something from you to gain access, which greatly limits attack vectors. If you use 2FA properly, the only thing you need to worry about for account security is whether you still have your 2FA key on you.
Do you use SSH ? Yubikeys are a fabulous way to store SSH keys.
Also bear in mind that aside from a secure storage mechanism, Yubkeys can also be configured to require pin and/or touch.
Therefore no matter what gets onto your computer, the Yubikey won't provide the answer unless touched.
Yes, but not for anything where keeping the SSH private key more secure than my AWS/DigitalOcean credentials would be useful. And I store those credentials in 1Password, which doesn't have a sufficiently mature integration with Yubikey on Linux or Android.
You can also self host it fully.
I know 1Password can fill TOTP for you, but I like having my security spread across 1Password and Yubikey. In the unlikely event 1Password gets compromised they still need physical access to my computer.
I don't log onto the mac with Yubikey and it has full-disk encryption turned on, so I'm pretty happy with the attack surface.
Both yubikeys are configured to enter the same impossible to memorize password on a press to unlock 1Password, hid mode is supported by every device with a USB ports.
I also use them as an otp second factor when a site requires it.
Finally, they are configured with a x509 certificate that I use as my ssh keys. I generate one key per devices that way the secret never leaves it and I require a pin to unlock the key. For convenience, I use an ssh agent to cache the pin
I could also use them for pgp signature and encryption but I have no use case for that.
Source: I was curious, so I used a camera connection kit to login to Okta with a Yubikey as my MFA last month.
Abandoned?
You do know luks supports FIDO, right?
Here's a small guide on how to do it: https://prose.bentopais.pt/setting-up-trezor-on-arch#luks-un...
You'll also find how to use your key to login to the tty, authenticate to sudo commands and much more.
Remember, 2fa is your second factor. It’s right there in the acronym. It is there to protect against a bad actor stealing your password.
By definition, a second factor won’t improve the ergonomics of logging in.
Many messenger apps already do something like this (using your phone numbers as a first factor and using an optional password for account protection) and IMO the login flow is much easier for services that I don't care about.
Let me register and login with WebAuthn alone and I'll be very happy. You can even use the same logic you're already using for password resets, just re-enroll the FIDO key when someone clicks "I can't log in" and proces access to their email account. Immune to credential stuffing and many other digital attacks that can happen from the other side of the world while you're asleep!
Without that the only benefit of a Yubikey over a strong password saved in a password manager is phishing protection, which I'm not willing to pay that amount of money for.
The place where they shine is when you have already acknowledged that you want (or have been forced by your employer to use) 2FA.
Malware on a device where I'm logged into the service can use that authenticated session to access all the things I want protected.
If the service is hacked, the hacker probably has direct access to everything the password was protecting.
Any well-secured service should protect critical actions with 2fa. “oh, are you sure you want to transfer all your funds? Please re-authenticate first”
If your PC or smartphone is compromised nothing will prevent you from losing control of your accounts.
I know that's a bit wishy-washy, but for example I think I could replace my memorized 1password password with something longer if I never had to enter it from memory, which would only be the case if I could use the Yubikey on all my devices.
If those aren’t enough, I guess yubikeys aren’t the right call for your threat model, which is fine.
Want local authentication? pam_u2f, pam_gpg, pam_x509 are all maintained.
You should be able to set up PAM to use them in that way, without needing any yubikey-specific hijinks. Something like https://discourse.ubuntu.com/t/smart-card-authentication/260...
You can use smartcard in linux as both GPG key, and SSH key (via GPG SSH agent).
Which means leaking your private key for SSH is essentially impossible, as key can be generated on device which means it never leaves it, even if your machine gets compromised
I wish 1Password offered a high security, security key ONLY mode.
I’ve only ever encountered that braindead design with AWS, every other place allows multiple keys.
And I can’t say I find multiple keys cumbersome, it’s simply the same procedure again: Click add, insert key and tap the button. Just twice instead of once.
There's also non-tech users to consider. It's pretty hard to convince users to use a password manager; plenty of people still re-use the same password across sites. It's impossible to prevent that. But it is possible to enforce 2FA for _your_ site.
Password recovery is often done through the phone via SMS (health care/banking) when a 2FA hardware key would be safer. And since you're implementing 2FA, just remove the password, and ask the user to use the 2FA key.
I have a hardware key AND an authenticator app active for the account, but they STILL won't let me send transactions without entering a code sent to my phone number. And actually, not even then, because even though I receive the code fine, they say they can't authenticate me and don't give me a chance to enter it. Yes, it's a VOIP number, but it's been the same VOIP number for the 10 years I've had the account. It's not like it's new.
They needed to send me 3(!) SMS messages in the process. One to get the username (with a valid email address). One more to request to change the password. And one more to actually change the password.
The methods they used to break into the site are often considered "trade secrets".
Every year or so I try to figure out if a 2fa device practically has sufficient support that using it would improve my security. The answer has always been no.
No 2fa device has sufficient support that it could increase the security of my 1password account, which I use on Linux and Android. No 2fa device has sufficient support that it could be used to unlock the lockscreen of any of my devices either.
Edit: There is a way to use a Yubikey to decrypt Linux full-disk encryption. It relies on an abandoned personal GitHub project. Sounds fun, but not sufficiently secure it's worth spending more than $100 to allegedly improve my security with it.