4 ms·
You didn't provide a secure and practical alternative, please enlighten people unaware of them.
by aikah 7y ago
You didn't provide a secure and practical alternative, please enlighten people unaware of them.
- flixic 7y agoAuthy / Google Authenticator / 1Password have built-in TOTP generators. They have great UX and are much more secure.
- Klathmon 7y agoDon't save your TOTP codes in your password manager if you are going for the "best" security. That turns multi-factor auth back into "single factor auth" and leaves you one exploit away from having your password and TOTP code from getting stolen.
- nailer 7y agoHow could one save a TOTP code in a password manager and use it later? It would be useless in 30 seconds time. Am I misunderstanding something? Or did you mean OTP rather than TOTP?
- Klathmon 7y agoThe setup string which generates the time codes is basically a second password. If something can read that setup string, they can generate their own TOTP codes for your account whenever they want.
- Eldt 7y agoSo you're not actually talking about the TOTP codes that are generated?
- Klathmon 7y agoI've done a piss poor job of describing it, but the way TOTP works is there is a "setup code" or a setup "string". Often in a QR code format. That string is all that is needed to generate all of the TOTP codes forever. So while the TOTP code that you type is different every minute, it's generated by doing some math on the setup string and the current time. Some password managers (like 1Password) allow you to have them generate your TOTP codes by putting in your setup string into them (often using the exact same process you would do to setup your TOTP codes in an app). But i'm saying that's not a good idea if you are going for "most secure", because at that point if something were to somehow exploit your password manager, they will not only get your username and password, but will have that setup string as well so they can generate their own TOTP codes for you.
- nailer 7y agoOh you're discussing storing the seed, not the TOTPs themselves.
- eswat 7y agoThe main benefit behind TOTP is that you can tie its value creation to a second factor, such as something you own like a device (instead of something you know like a password). It’s arguable that you’re removing that second factor when you store the parameters needed to create the TOTP in the same place as you store your passwords.
- deleted 7y ago[deleted]
- flixic 7y agoI store my TOTP in 1Password... I think it's still more secure than SMS (because to restore 1Password vault you also need a Secret, not only your password) and so much more convenient than a separate app, because 1Password auto-copies the TOTP code to your clipboard after filling form fields, making signing in a very smooth experience. It is a security tradeoff that I take for most of my accounts. For a few that a much more sensitive I use a Yubikey.
- Klathmon 7y agoAnd that's fine IMO as long as you know you are making a tradeoff. But unless you have your 1Password setup to need the secret every time you go to have it fill in the password, the seed string is in memory unencrypted along with your passwords (or more specifically, it's stored in a way that it can be decrypted by the app/extension on it's own). That makes it one spectre/meltdown style exploit away from getting everything needed to login to the account. Still, if that system works for you, then good! having any 2fa (even SMS) is better than nothing, storing TOTP codes in a password manager is better than SMS, storing them in a seperate device is better still, and U2F keys are even better still. Like anything it's a gradient of tradeoffs, but I've seen too many people go from Google Authenticator to 1Password in an attempt to further secure their account, and I just like to point out that there's a good chance it's doing the opposite.
- lode 7y agoWebAuthn/U2F security keys. No MITM, phishing or duplication possible. Register more than one per account in case the physical key breaks, keep one in a secure place.
- tialaramex 7y agoThe most secure alternative, which should be the choice for anyone who actually cares, and an option anywhere that thinks _any_ of their users might care is WebAuthn (U2F is roughly the same thing but obsolete, no reason to deploy more of it) WebAuthn uses FIDO Security keys, relatively cheap USB or Bluetooth devices or sometimes just a built-in feature of a smartphone, to authenticate. They are Something-You-Have, but the WebAuthn protocol also offers: * Optionally a mode where you give the FIDO key a PIN (Something-You-Know) or biometric input (Something-You-Are) to do all the authentication locally * Phishing proof - there's no decision about whether this is really your bank. WebAuthn is completely happy to log you into https://fake.bank.phishingsite.example/ https://fake.bank.phishingsite.example/ but the credentials are useless to the crooks who own that site because they won't work on https://your.actual.bank.example/ https://your.actual.bank.example/ even if the crooks got the logo just exactly right and wrote a very convincing pleading email from your bank saying they definitely need you to go to the fake bank site.
- Slimbo 7y agoWith all of these, you're often kicking the vulnerability down to the enrollment step. You've still got to find a way of assigning the authentication device/key generator to the users account in a secure way and dealing with losing the device.
- petecox 7y agoMy bank uses an app, Symantec VIP, to generate a 6 digit code. This works on vacation when I can't receive SMS. It was much cheaper to buy a 4G SIM in Barcelona (for Google Maps etc) than enable international roaming from Australia ($AU5/day).