![Thunderbird:使用 OAuth2 的主密码](https://linux22.com/image/1547555/Thunderbird%EF%BC%9A%E4%BD%BF%E7%94%A8%20OAuth2%20%E7%9A%84%E4%B8%BB%E5%AF%86%E7%A0%81.png)
我已经使用 Thunderbird 很多年了,并且我已经启用主密码来保护我的帐户密码。
现在我的所有帐户都使用 OAuth2 身份验证。使用主密码有用吗?还是说是多余的?
答案1
您的问题涉及密码的存储,据称,您的密码是用 Thunderbird 的主密码加密的,存储在您的计算机的配置文件目录中。
这涉及到 Thunderbird 存储密码的技术性和复杂部分,在过去十年左右的时间里,密码存储方式发生了重大变化。首先,我会引导您进入您自己的配置文件目录,其中可能有许多年前遗留下来的旧东西。它可能有三种不同的密码存储方式,即logins.json
(截至 2018 年)、signons.sqlite
(较旧)和signons.txt
。还有一些以单个“ .s
”结尾的文件可能在此之前出现。由于您的配置文件可能已被编辑、损坏、修复或从之前的计算机随意移动,因此无法知道这些文件中是否存在可能包含您当前密码的文件。无论如何,请更改所有密码,不要使用 2004 年的密码。
以下是查找您的个人资料目录的链接:http://kb.mozillazine.org/Profile_folder_-_Thunderbird 另一个链接告诉您每个文件应该存储在那里:http://kb.mozillazine.org/Files_and_folders_in_the_profile_-_Thunderbird
假设您的 TB 配置文件仅存储了现代 2018 版本的密码文件,那么您的密码都在那里加密,对于可能获得 logins.json 访问权限的黑客来说毫无用处。
所以我的理解是您不再希望在 TB 上输入您的主密码。以下是实现此目的的步骤并确保主密码确实是您所说的“冗余”的,或者我的所说的“多余的”。
- 查看您的 TB 个人资料并查找旧密码文件,以防万一。删除文件日期较旧的旧密码文件(如上所列)。显然,不要删除任何文件日期较近的文件。在记事本或第三方原始文本查看器中打开自动换行功能查看文件。您
logins.json
将以加密形式列出您的密码,因此无需弄乱它。 - 转到工具->选项->安全->已保存的密码...,然后单击全部删除。
- 删除您的 TB 主密码。工具 -> 选项 -> 安全 -> 取消选中使用主密码。
- 该过程完成后退出 Thunderbird。
- 使用 Google 等更改您的 OAuth2 电子邮件密码。(重要的步骤。如果攻击者可以访问您的硬盘并获取并解密您的本地存储的密码,这一步骤基本上可以消除任何关于您的本地存储的密码是否有效的疑问。)
- 启动 Thunderbird。
- 假设您如所述使用 Oath2 进行所有操作,则您的所有帐户都将使用该方法。
- 您现在应该可以在没有主密码的情况下使用 TB。确保您的所有帐户均正常运行。
- 我是这次交流的新手,所以请多包涵!
最后,你的电脑里会残留下加密和非加密形式的密码引用文件。优秀的黑客或取证团队可以获得这些文件,并且只要有足够的时间和金钱,就可以找到有关密码历史记录的信息。如果这对你来说是个新鲜事,那么你可能要考虑全盘加密、智能卡和其他超越在键盘上输入密码的安全技巧。
为悬赏添加了第 2 部分
赏金涵盖的范围要大一些,所以我觉得这是对 OAuth2 问题的重要回答。通常,用户需要运行 Thunderbird 38 或更高版本才能兼容 OAuth2。此外,有些“较新”的 gmail 帐户不再适用于标准 IMAP 密码式登录。由于此用户显然有一个“较旧”的 gmail 帐户,因此使用 IMAP 密码可能是用户 ToDo 的一个选项。这个问题意味着,虽然用户以前使用过他的帐户用于旧式电子邮件密码登录,他不再希望使用此方法并选择使用 OAuth2。
以下是相关链接:
https://support.mozilla.org/en-US/kb/new-thunderbird-38#w_google-oauth2
Google 的技术解决方案如下:https://developers.google.com/gmail/imap/xoauth2-protocol
您可以在最后一个链接中看到PLAIN
,LOGIN
是XOATH2
允许登录 Google SMTP 服务器的方法。但是,只有那些在 Google 个人资料中启用不安全应用程序的用户才允许使用 PLAIN 和 LOGIN 以及较旧形式的 SMTP 或 IMAP 身份验证。Google 希望您使用 OAuth2。他们更喜欢双因素身份验证。LOGIN
并且PLAIN
两者都不是,因此较老的 IMAP 用户可享受祖父级待遇。
让不太安全的应用程序使用你的帐户是设置。您可以通过单击https://myaccount.google.com/lesssecureapps或者通过此处阅读:https://support.google.com/accounts/answer/6010255?hl=en
如果您想知道是否每个人都必须在 Thunderbird 或任何其他应用程序中使用 OAuth2,答案是否定的。 祖父级的旧 Gmail 帐户,尤其是我们这些使用 IMAP 的用户,仍然能够使用 IMAP 和 SMTP 的旧身份验证方法。 全新的 Gmail 帐户可能无法使用这些旧方法,因为 Google 更希望您使用 Gmail 应用程序和其他具有此功能的程序(如 Thunderbird 38 或更高版本)。
答案2
使用标准电子邮件登录时,Thunderbird 默认将您的密码存储在未加密的数据库中。最近,数据库已加密,但使用随机密钥(“SDR 密钥”),该密钥存储在您的个人资料中,攻击者可以访问。当您使用主密码时,它用于加密 SDR 密钥,保护密码数据库。如果您没有主密码或其他向 Thunderbird 验证身份的方法,加密将毫无意义,因为任何有权访问您的 Thunderbird 副本的人都可以解密它。
使用 OAuth2,您需要向 Google 或其他服务提供商提供密码,而不是向 Thunderbird 提供。作为回报,您会得到一个身份验证令牌(好吧,有点更复杂您可以使用该令牌在给定的时间段内登录服务。Thunderbird 不会存储您的密码,而是存储您的身份验证令牌。
我的假设是,如果没有主密码,Thunderbird 会以与存储密码相同的方式存储 OAuth 令牌,因此恶意软件或可以访问您系统的入侵者很容易窃取它们。然后入侵者可以访问您的帐户,至少在令牌过期之前。我无法检查这是否属实,但如果您查看 Thunderbird 的密码管理器(工具/选项/安全/已保存的密码),您将看到您的 OAuth 令牌列在那里。因此,我相信您的 OAuth 令牌的存储方式与传统密码相同。
回答楼主的问题,如果我的假设是正确的,那么我会说即使您的所有帐户都使用 OAuth2,拥有主密码仍然很有用,以保护您的 OAuth 凭据。
使用主密码的进一步原因是
- 以防止随意访问 Thunderbird。我使用创业大师启动时要求输入主密码的插件。这个插件很容易被绕过,但它可以阻止我的小孩/猫删除我的电子邮件。
- 如果你想安装 S/MIME 证书用于数字签名或加密。为了安全起见,您的私钥需要以加密形式存储,而 Thunderbird 需要主密码来保证其安全。
正如 @uruiamme 指出的那样,OAuth2 功能首次出现在 Thunderbird 38 中,但您仍然可以在 Gmail 中使用较旧的身份验证机制。有关如何配置此功能的详细信息,请参阅MozillaZine 知识库。虽然 Google 可能在某个时候决定坚持使用 OAuth2 来访问所有 Gmail,但 Thunderbird 在可预见的未来可能会支持普通密码。仍有许多其他电子邮件服务不使用 OAuth。
资料来源:
- FireFox 和 Thunderbird 中的主密码加密- 简单的解释并提供有关提高安全性的建议。
- 浏览器如何存储你的密码(以及为什么不应该让它们存储)- 更复杂的技术解释,重点介绍 Firefox,但 Thunderbird 的工作方式相同。
- 将 OAuth 2.0 与 Google API 结合使用- 该项目证明,如果没有安全存储,OAuth2 凭证就有可能从一个应用程序被窃取并在另一个应用程序中使用。