4

The password manager integrated within the Mozilla Thunderbird e-mail program is apparently a little outdated, using 70s crypto (3DES) for storing passwords with a master password, even though there have been changes, albeit very slow (Bug 524403, taking 10 years to fix/improve security, Bug 973759, open).

Is there a way to connect an external (local, GNU/Linux, open-source) password manager without resorting to addons?

Ideally this would be a well-known one like KeePassXC.

EDIT: My main threat model is a running program (something like a web browser with a bug or two) reading and exfiltrating the password storage file - and this being attacked easily due to weak encryption. My system has full disk encryption (FDE) so when switched off this should not be a concern. My web browser actually cannot access that file (there is a container around the browser, using something like firejail or bwrap) but dozens of other programs run unchecked and "uncontainered".

1 Answer 1

1

Sure, you could do that, specially if you are willing to recompile Thunderbird itself. However, I must ask What is your threat model? What are you trying to protect from by using a different password manager?

To recap: Mozilla Thunderbird stores a number of secrets (such as email server passwords) so that it can do things like fetching your mail (something you probably want). These secrets can be protected with a master password.

Without it, an attacker that got access to the system (while thunderbird is not running) could grab a copy of your downloaded/cached mails or install a trojan, but -assuming you are using a master password, and that it is strong enough- could not retrieve the secrets it uses to access the mail servers.

You raise that the store is using 3DES, which isn't the best available cipher. I agree with you. However, I consider 3DES is still secure enough (as of 2020) for what it is being used here, even if it would be nice to have an higher iteration count (which is a different issue than the usage of 3DES).

As for what you asked, there are several Thunderbird extensions which claim to do what you asked:

You didn't want to use add-ons, though. Another way to do that, which doesn't actually require integration with Thunderbird would be to move the files holding the password store (key4.db, cert9.db…) to an encrypted location (a separate luks partition, an encfs mount…). You could use symlinks to point them there, or -even better- directly encrypt the whole thunderbird profile, thus also protecting the local files.

However, the whole disk should already be encrypted (unless the machine is always located in a secure location, where physical attacks are not a concern) and thus, why bother with mounting a separate encryption layer for thunderbird secrets?

In summary,

  • If the threat is an attacker stealing a laptop or hard disk, an encrypted disk fully protects from that, and you don't need thunderbird master password.
  • If the threat is an attacker getting access to the system while it is running (such as leaving the computer unattended) and you have Thunderbird open, a different store won't help. I think that many people tend to open their mail client when they log in, and leave it open (almost) the whole time (something which would be reinforced if closing and opening it requires providing another password). You would need to defend a different way (e.g. locking the station before leaving it, setting a short timeout before launching the screensaver)
  • This would only matter if the threat is an attacker accessing the running system yet without the mail client open, in which case they could still perform quite a number of malevolent actions, as mentioned above (locking the session would protect against both of them).

So I suspect that the fact that the Thunderbird password store uses 3DES doesn't really decrease your security in a noticeable way.

4
  • Thanks for the extensive and well structured answer which I appreciate. My main threat model is a running program (e.g. web browser with bug) reading and exfiltrating the password storage file and them being attacked easily due to weak encryption. The system has FDE and my web browser cannot access that file (container around browser) but dozens of other programs run unchecked. In 2020 many think that 3DES in inadequate - here is OpenSSL's reasoning of 2016: openssl.org/blog/blog/2016/08/24/sweet32 but there are others.
    – Ned64
    Commented Aug 29, 2020 at 8:07
  • If you start worrying about every native application, it may be more efficient to containerize thunderbird itself (or set a global AppArmor/Selinux profile which denies access to every program but thunderbird). For extra security, you could use Qubes-OS and run thunderbird on its own qube (i.e. VM).
    – Ángel
    Commented Aug 29, 2020 at 21:54
  • As per 3DES, I carefully worded the sentence "I consider 3DES is still secure enough for what it is being used here". In sweet32 the attacker makes you generating traffic (encrypted with 3DES) until a collision happens, which is then abused. The use case here is completely different. We have a static file encrypted with 3DES which would rarely be modified (even if it changed daily, that wouldn't be even near what could be problematic -and writing it again will surely use a new IV, so these wouldn't be applicable either-).
    – Ángel
    Commented Aug 29, 2020 at 22:00
  • 3DES is not the best cipher to use if this was a new project. For example, it allows using a meet in the middle attack. Yet, my point was that it was good enough so far.
    – Ángel
    Commented Aug 29, 2020 at 22:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .