Why does it have to be 6 digits? Especially if it expires in like 5 minutes? And why can't we have some sort of centralised solution to all this? The authenticator apps are probably worse than SMS in terms of the interface.
I am starting to think the amount of manpower wasted on this globally is way more than the fraud preventing in terms of economic cost.
Thanks for listing. Rant over.
When accounts get hacked, the company is almost always blamed (in both the user’s and the public’s mind), even if they had nothing to do with it (the user was reusing a password from another site that got hacked). So there’s almost no choice but to require it, else they face a large reputational risk.
I find it odd you need to enter it so many times every day. Most sites allow you to “trust this browser” for some period of time. Are you clearing cookies all the time? Sounds like you might be making it worse due to some other habits.
> The authenticator apps are probably worse than SMS in terms of the interface.
I don't share your opinion. I use andOTP[2] and it does exactly what it needs. Password managers may also allow you to store them next to your passwords, but this is not something I do nor something KeePassXC recommends[3].
[1]: https://en.wikipedia.org/wiki/Time-based_one-time_password
[2]: https://f-droid.org/en/packages/org.shadowice.flocke.andotp/
Except for Steam AND Battle.net (Blizzard) which both have their own dedicated 2FA apps.
I use 1password to manage all of this and the only thing compliant is about some sites that seem to break a password manager's ability to auto-populate form fields.
On the other hand... it may not be the brightest idea to have both password manager AND 2FA in the same baseket, but it may be a good compromise for a lesser secure-demanding services (i.e. those that, if breached, won't affect you in any way other than internet points; think forums, reddit and such).
- Companies that deliberately offer a subpar webapp experience (including, not keeping you logged in and spamming you with 2FA) to push you to download their mobile app
- every fucking company that saves your credit card info - I mean I understand why (you wouldn't want credit cards to be easily abused) but it just points out to the actual market failure - Visa/Mastercard duopoly and subsequent lack of innovation (obviously the correct solution here is to have phone-app confirmation of every purchase even for stored credit cards)
Let me whitelist a computer/installation to not require 2FA all the time. Blizzard's battle.net client does this and it's wonderful. I only have it installed on a non-movable tower computer at home. Not a laptop that can be stolen or that I might forget somewhere. It doesn't even matter that I value the contents of my Blizzard account less than credentials to some website, because there's a checkbox to "remember this account". I don't often have nothing but praise for a feature (or for Blizzard) but this is THE BEST. I would 100% enable that for some websites. I think Github is the other good citizen where I can usually do all my stuff and only need my yubikey once per week. And even then, touching the yubikey is 10x less work than fumbling with an OTP app on my phone.
I want security and convenience, and I think it is possible.
Doxxing/insecure (SMS/e-mail) and inaccessible (Google/Apple required)? 110%. Sick of it. More often than not that these are required I'm certain that "2FA" and "for your security" are just pretexts to be able to tie accounts to meat-space individuals.
If you are talking about TOTP and want some centralized solution where you're OK with ceding some control, it exists. Authy seems to be the most popular. I'm sure there are other options where you can get it synced between your smartphone and browser extensions, if that is what you prefer.
When passwords for computers were first introduced RMS objected. His password was "password", and anyone could log in using it.
Remember that RMS is correct (when it comes to computers) and reflect.
Why did he do that?
Because he knew that passwords on computers were stupid make-believe (we call it "security theater" now), pernicious nonsense.
Computers are where you put secrets to give them to hackers. Computers don't keep secrets.
However, it's worth noting that you can get desktop apps for TOTP, and some password managers also support it. So you don't necessarily have to go via your phone.
I basically use two devices so if I just set up my TOTP on both of them (and they both had OS integration), I'd then get 2FA security without me having to do anything.
2. Almost every login I've seen allows you to check a box to specify some variation of "Don't use MFA when logging in from this machine in the future."
WebAuthn is more friendly, because you can either enroll something you have (a Yubikey) or something you use (your device - via Windows Hello/iOS fingerprint reader/etc). This of course requires the service to support multiple enrollments, and WebAuthn by itself is much more complex to understand and use. Logging in is just a matter of username/password + fingerprint/Yubikey/Windows Hello.
Things have gotten way easier with password managers and proper MFA in my opinion.
• Get: https://github.com/pcarrier/gauth
• Edit: gauth.csv (1 line per account)
• Do: watch gauth (1 line per account)
• Profit!
And apart from Steam, all my codes are Google Authenticator compatible, meaning there are several different options for an authenticator app that will hold all my codes. Seems as centralized as I would ever want.
I have considered going the Yubikey route, but it seems like it might be cumbersome when used across a range of devices.
Yes, makes no sense in terms of security (storing both on the same place) but hey, it's life.
Usually those websites allows you to skip the 2FA from a known computer if you keep the session cookies.
I currently use Bitwarden Premium and the TOTP authentication has been mostly hassle-free.
Example: Duo security uses a 6 digit hotp.
If anything, the codes should be longer - 8 digits would be far better (8-10 digits bumps up against what a person can easily keep in their mind at one time for long enough to type it)
See https://www.rfc-editor.org/rfc/rfc4226#section-4 and https://www.rfc-editor.org/rfc/rfc4226#appendix-E.1
> Especially if it expires in like 5 minutes?
Usually it's 60 seconds. See https://www.rfc-editor.org/rfc/rfc6238#section-5.2
> And why can't we have some sort of centralised solution to all this?
So, Single Sign On (SSO)? Who do you trust to run the SSO services? Google, Microsoft, Facebook? Bring your own SSO (this used to be a thing that some sites supported, but it was too complex for the average user and too much support burden for the average site).
> The authenticator apps are probably worse than SMS in terms of the interface.
Worse how? These apps solve a different threat model (documented in the 2 RFCs mentioned above. Particularly note:
* HOTP Intro: https://www.rfc-editor.org/rfc/rfc4226#section-2
* TOTP Intro: https://www.rfc-editor.org/rfc/rfc6238#section-1
> I am starting to think the amount of manpower wasted on this globally is way more than the fraud preventing in terms of economic cost.
How would you quantify that waste vs the threat mitigated?
---
The general answer to why 2FA at all is that password hygiene is generally pretty terrible. Pretty much every "normal" (non developer / security professional) when you talk about passwords will say some form of "I use a different password for my bank, from the services I don't care about" [unspoken... which all share the same password]. My guess is that most people don't even do that. 2FA prevents the problem of I know Joe's password for ServiceA, so I can also get into Joe's account on Service{B..ZZZ}
---
The landscape of 2FA auth for each service that you rely on pretty much looks like:
* Use your own password storage
* without 2FA
* with 2FA (TOTP/SMS/email)
* Use Google/Facebook/Twitter/... * accept whatever the user has setup for 2FA
* Use a third party service (e.g. Auth0)* U2F / WebAuthN - newer stuff happening. I don't know a lot about these to talk much about them
---
Being security aware and practicing security hygiene is hard, but personally I'd prefer not to be the low hanging fruit when it comes to security breaches.