Long answer: In practice, TOTP schemes are used (from a webadmin point of view) just to stop credential stuffing attacks [1].
There is very little additional security in generating TOTPs on a dedicated device, such as a smartphone, compared to generating them on the password manager itself. Threat models in which a separate setup would have a benefit include only breaches of your password database itself.
For savvy users with unique passwords, protecting against that threat model offers little benefit at a significant convenience penalty, as such attacks are unlikely to begin with. If MFA with hardware tokens is not an option, then it might not be worth the hassle of TOTPs.
As such, password managers that offer TOTP are useful in scenarios where using TOTP is mandatory and does not provide security benefits.
As I understand, preventing such a scenario is not the purpose of MFA. Rather, it is to prevent the scenario where an attacker either attempts to brute-force guess your password to a particular application (or figures it out in some other way) and now is blocked by the inability to get passed the "enter the OTP code from your authenticator app" question.
---
The scenario that you ask about is a valid concern. It is just not the same concern as what is solved by OTP/MFA.
One area where the notion of separation of keys makes more sense is cryptocurrency, where if you have any serious investment in it, it is advised to set up a multi-key scheme. In such a case, even if somebody were to be forcefully required to allow a physical attacker to gain access to their password manager, there would still not be enough information there for the attacker to steal anything.
Gist is: Most people treat TOTP as a second, time based password (multi step authentication) instead of a second factor. If you truly want 2nd factor, you should never sync your passwords to the phone you are using as 2FA, and never use your passwords on the phone you are using as 2FA.
So it depends on your own security concerns if you want to treat TOTP as a true second factor or as a secondary, time based password only.
For one thing, TOTP any it’s nature isn’t tied to a thing I have. Heck - you could build a TOTP token web service accessible from anywhere, it’s just an algorithm.
Secondly, if you’re using a password manager, you likely don’t know the password, so that part doesn’t fit either.
And if you insist on still fitting that square peg into todays round hole: The thing I know is my password managers’ decryption key, and the thing I have is my laptop / iPhone.
---
Every other realistic threat is not helped by TOTP. There is some threats that in theory TOTP can help with, but dont given how it is used on the web.
* phishing - just as easy to phish the token
* trojan on your computer/shared workstation - just steal the session cookie or take control of browser remotely
(For U2F/fido keys/webauth based 2fa the situation is a bit different, but almost nobody uses that)
I’m more concerned about losing my Device as many MFA tokens are not backed up in apple ecosystem.
The architecture is flawed for conveniences sake.
I still use 2FA when it's available because it still protects against an individual password leak.
(Probably also because some people really don't get the point of 2FA and demand that feature, but the above is enough of a legitimate reason to support it.)
Putting a TOTP code in a password manager is in many was a way of turning off MFA for services that don’t let you do this.
Suppose you’re actually targeted by government, and you want to protect access you only have two possibilities.
Store it in encrypted cold storage that people that are targeting you have access to or forget them altogether and lose access yourself.
I feel like people have forgetting what is actually being protected from.
Most MFA apps on iOS either store the keys in iCloud Keychain or some some third party sync service or not at all when your phone breaks.
I think the threat model isn’t well thought through at all.
An offline encrypted keystore doesn’t in fact have a worse security characteristic than most options listed above.
And yes theoretically an hsm is better but realistically speaking I think a physical key that I carry around every day isn’t almighty either.
Realistically though, once an attacker's gained access to your computer or phone, there's very little you can do to prevent them misusing that data. You can keep your TOTP on a second device encrypted with a Yubikey that you keep in a vault in Geneva, but it's not overly useful when an attacker can simply call your bank and read out the security reset SMS they sent you/him.
I'm happy to hear from security power users if there's anything I'm missing.
https://1password.community/discussion/101714/why-is-it-a-go...
So I'm pretty sure I already broke this separation due to convenience. So might as well put it in my PW Manager.
Practically I'd say that using the TOTP functionality of your password manager is such a big win for the average user that I'd advise people use it without hesitation.
Also, I think that we should be able to reset a regular password with a TOTP?
Why do we need email?
I guess in this case it's like a second password. Only really useful if someone only manages to bruteforce/spy my main master key but not the second one, right?
Would love to hear opinions on this, I might be missing something.
MFA is all about having a second physically held device to authenticate, TOTP is one of the mechanisms by which this is done.
Not everything needs MFA, however it is often mandated so having the ability to generate TOTP in a situation like this (such as when an account is shared and pure security is not crucial) is convenient.
This is sort of like asking why do defence attorneys defend their client of the prosecution wants to convict them or why stores have security cameras if I want to take their stuff for free.
It’s still something you know plus something you have. If your credentials are somehow intercepted, you’re still covered.
Presumably it only falls down in the event your machine is fully compromised at which point you have bigger things to worry about.
With that said, it’s worth having separate 2FA setup on your actual password manager.
I also only use TOTP on sites that don't support u2f/fido/webauthn or implement it badly (like amazon that only allows a single key).
I use password manager for passwords.
Use my phone for lower security TOTP codes, and a hardware key for things I was slightly more secure.
I'm not considering online password managers which IMHO are inherently weaker than local ones.
If somebody steals my laptop the passwords database is protected by a master password anyway.
MFA = Multi Factor Authentication.
For those who didn't know, like me. I wish acronyms were less used or at least described when introduced. Like Elon Musk once said:
"Don't use acronyms or nonsense words for objects, software or processes at Tesla. In general, anything that requires an explanation inhibits communication. We don't want people to have to memorize a glossary just to function at Tesla."
What users want > What is good practice.
One of the things I like about 1Password is that we were able to switch off the built in TOTP for our whole organisation, and force all TOTP codes to go via Duo Security. Thereby forcing a separate 2FA app.