view the rest of the comments
Technology
This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.
Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.
Rules:
1: All Lemmy rules apply
2: Do not post low effort posts
3: NEVER post naziped*gore stuff
4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.
5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)
6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist
7: crypto related posts, unless essential, are disallowed
I dislike MFA because it creates a risk of losing access to my account. I can back up my passwords; I can't back up a hardware device.
Normally you get a handful of recovery codes when you set up 2FA. If not, you can just create a backup of the QR-Code or secret when setting up 2FA and store it in a safe location. And even if all that fails there's usually a way to recover an account by going through support.
Although I wouldn't recommend it, there's also 2FA apps out there that have cloud-sync.
It's pretty hard to hand-write a QR code, I don't wish to pay the printer cartel $50 for the privilege of printing it, and it would of course be horribly insecure to print it with someone else's printer.
And how would I use the QR code? I can't scan it with my phone's camera because allowing my phone access to my GitHub account is a security risk, and I can't scan it with my desktop because it doesn't have a camera.
So, how is this going to work? How do I recover my GitHub account without making it less secure than it is with just a password?
Is this some kind of joke that's going over my head?
If not: The QR code alone doesn't give you access to the account. That's the entire point of 2FA. Plus, you always get a ~20 character code that can be backed up instead of the QR code. Screenshots are also a thing.
A hardware device is a physical key. Its no different than backing up your home key. Get two keys and copy them. Keep one on you, and the other in a safe somewhere in case you lose the first.
Hardware tokens are specifically designed to resist copying. Any means of copying it would be considered a security vulnerability.
Bits rot. A hardware token kept in a bank vault may or may not still work when I need it 10 years later, and there is no reasonable process for regularly verifying the integrity of its contents. Backup drives' checksums are verified with every backup cycle, and so are the checksums on the file system being backed up (I'm using btrfs for that reason).
Hardware tokens are expensive. Mechanical lock keys are not.
Not literally copy, as in have an extra set of keys. A spare key. A bank vault is total overkill. I just bought 2 fido2 keys and register both for the services that support them. Have one on your keychain and another in your desk. 2FA is often way over thought, any adversary needs both factors so something you know and something you own is plenty for most people.
How will I notice when the spare fails, if it's only a spare and I don't regularly use it? Then I'm down to only one key, and as any grumpy backup admin will tell you, if you have only one copy of something, you have zero copies.
I would have a key plugged into the computer pretty much all the time when I'm working, so anyone who compromises the computer can impersonate me as long as I'm at work. This would be mildly inconvenient to the attacker, but wouldn't actually stop the attacker. And if the computer isn't compromised, how is anyone going to get into my GitHub account even without 2FA? They certainly aren't going to do it by guessing my 16-character generated password or Ed25519 SSH key.
Something-I-know is worthless for authentication in the age of GPU password cracking. Most humans, including myself, do not have photographic memories with which to memorize cryptographically secure passwords. We're all using password managers for a reason, and a password database is something you have, not something you know.