管理所有在线网站密码的实用(和理智)方法是什么?

信息安全 密码 哈希 密码管理
2021-08-13 06:44:23

我只是一个普通人,想要有一种安全的方式来管理我的所有密码。

这是我一直在推迟的事情,但自从LinkedIn 决定放弃我的一个密码后,我认为是时候解决这个问题了。

我说有点安全,因为 - 显然 - 最安全的方式是让我记住我为每个站点创建的每一个唯一的 200 个字符的密码。

我知道有很多网站可以让你为每个 url 创建哈希值,并与你选择的特定单词混合,所以我认为这就是我所倾向于的。

我也可以把它写下来,但是如果我不随身携带密码,我就会遇到大麻烦,而且我会那样笨拙。

管理不同站点密码的实用方法是什么(没有写下来)?我应该研究的任何 Chrome 插件哈希生成器?在线服务?

4个回答

我要做的是:

  • 我把密码写下来。

许多人会畏缩、尖叫和诅咒我,说这是错误的,永远不应该这样做,但这种说法过于简单化了。细节很重要。以下是详细信息:

  • 我将密码保存在文本文件中。
  • 当我离开家并且必须访问我的密码时,我会带上一个上网本。该计算机具有一些特定特征:

    1. 它运行Ubuntu(一个 Linux 发行版)。
    2. 没有配置交换空间。“在 RAM 中”实际上是“在物理 RAM 中”,永远不会成为永久存储。
    3. /tmp目录是 a tmpfs,即该目录中的文件仅在 RAM 中(这是物理 RAM,见上文)。
    4. 我总是关闭机器;我从来没有把它放在“睡眠模式”。

    在这种情况下,我有合理的保证,如果我将文件写入/tmp,读取,然后关闭计算机,那么文件内容将不会被任何窃取机器的作恶者访问。

  • 我的充满密码的文件是用GnuPG对称加密的,有一个又大又肥又强的密码(那个密码,我一直记在脑子里)。

  • 当我必须使用密码时,我/tmp目录中的文件解密,然后立即将其删除;当我不再需要使用电脑时,我会按照我的习惯将其关闭。

在这些情况下,我的密码是相当安全的。这并不完美:如果我的电脑被无声无息地入侵,并且攻击者可以长时间观察我所做的一切,他会得到我的密码——但在这种情况下,他无论如何都会得到它们,只要插入一些恶意代码Web 浏览器本身(无论您如何管理密码,Web 浏览器代码都会在某个时候获取它们,因为它必须将它们发送到请求它们的服务器)。我声称我的方法比在多个站点上重用密码的常见替代方法安全得多。不要重复使用密码!

(实际上,我很少需要访问我的密码文件,因为我记得我经常输入的密码——以及那些我不经常输入的密码,好吧,根据定义,我很少输入它们。)

使用像KeePass这样的密码管理器。

让它为您拥有的每个帐户自动生成不同的密码。这可确保您的密码比人脑可能处理的密码要复杂得多,而且差异也大得多。它还具有您甚至不知道自己的密码的优点,从而保护您免受许多社会工程攻击。

但是,如果您有多个设备怎么办?任何理智的密码管理器都需要您的整个密码数据库的主密码,并使用从它派生的密钥对其进行高度加密。这意味着只要您的主密码足够强,您的密码文件就会保存以发布。这意味着您甚至可以使用他人拥有的云服务器(例如 dropbox.com)在您的设备之间同步您的密码文件。

Lastpass将密码管理与在线同步相结合,但由于它们过去存在的一些安全问题,我有点不愿意推荐它们(尽管它们都不太可能泄露用户的明文密码)。

如果您正在寻找离线解决方案,那么您可以使用 Steve Gibson 的Off The Grid它是一种基于纸张的加密,允许您将域名散列成密码。这为您提供了很多安全性,因为它不需要信任任何第三方来源。我知道您提到您可能会忘记它,但它很容易存放在钱包中。

它的基础是您使用 26x26 的字符表。该表遵循类似于数独的规则(每行和每列中的每个字符只有一个)。这以大量熵(最少 1400 位)开始。如何使用它的基础知识相当容易(我不会再费心重新输入它)。最大的风险是如果有人偷了你的网格。即使这样,您也可以采取一些缓慢的步骤(应该很容易意识到有人偷了它)。这些方法包括,

  1. 选择不同的起始位置
  2. 加盐(您可以通过在执行加密时预先/附加一些东西来做到这一点)
  3. 执行加密时(阅读相应的页面)而不是选择接下来的两个字符。而是选择接下来的三个字符,一个上一个,两个下一个,等等。

我喜欢使用 VeriSign 的Personal Identity Portal它可以自动与许多主要网站一起使用,您也可以添加自己的自定义网站。它还对 OpenID 有一些支持。最好的功能是一键登录,它为您提供一个 JavaScript 代码段,该代码段将自动让您登录到当前页面。