KeePass:使用密钥文件还是常规密码?

RCI*_*CIX 17 encryption password-management passwords keepass

我正在建立一个 KeePass 数据库,它提供了使用密钥文件的能力,据说它更安全,因为它可以使用更长、更复杂的密码,但更容易破解,因为您只需要密钥文件即可打开数据库。我只会在 2 台计算机(一台台式机和一台笔记本电脑)上使用密钥文件,哪一个是最好的选择?

请注意,对我来说使用密钥文件肯定更有吸引力,因为我很难记住任何接近随机密码的东西。

nik*_*nik 17

关于将key files”与KeePass一起使用的能力。

为了生成分组密码的 256 位密钥,使用了安全哈希算法 SHA-256。该算法将用户提供的用户密钥(由密码和/或密钥文件组成)压缩为固定大小的 256 位密钥。这种转换是单向的,即反转散列函数或找到压缩为相同散列的第二条消息在计算上是不可行的。

最近发现的针对 SHA-1 的攻击不会影响 SHA-256 的安全性。SHA-256仍然被认为是非常安全的

最近还有一个更新,但我认为这样的新闻在这里无关紧要)。
说到点子上

密钥派生
如果只使用密码(即没有密钥文件),则使用 SHA-256 对密码加上 128 位随机盐进行散列以形成最终密钥(但请注意有一些预处理:防止字典攻击)。随机盐防止基于预先计算的散列的攻击。

当同时使用密码密钥文件时,最终密钥的推导如下: SHA-256(SHA-256(password), key file contents),即主密码的哈希与密钥文件字节和结果字节连接字符串再次使用 SHA-256 进行散列。如果密钥文件不完全包含 32 个字节(256 位),它们也会用 SHA-256 散列,以形成一个 256 位的密钥。然后上面的公式变为:SHA-256(SHA-256(password), SHA-256(key file contents))。

如果您认为您的密码会更弱一些(并且更利于您的记忆),
那么密钥文件是一个很好的第二个因素
因此,请同时使用两者。

  • 是的,我做到了。我理解有第二个因素,但在这里没用。如果您是移动用户,密钥文件将与密码数据库本身一起保存。如果您失去了对数据库的控制,您可能也失去了对密钥文件的控制。正如 Steve Gibson 所指出的,密钥文件并没有为您提供太多额外的安全性(如果有的话)。 (7认同)
  • 第二个因素在 PayPal 足球的例子中很有用。在这种情况下,您有一个物理设备和一个密码。如果您的密码被泄露,则没有理由相信您的足球在默认情况下同时丢失。相比之下,当商品是一个密码数据库并且安全机制只是驻留在数据库本身旁边的另一个文件时,它有什么好处?没有任何。 (2认同)
  • +1 用于使用密钥文件和主密码。因此,即使他们获得了数据库和密钥文件,您也只需要记住 1 个长密码。他们还不能破解大脑,所以要接受一些抗酷刑训练。 (2认同)

jas*_*onh 5

重点是确保您的密码安全,因此这很简单:密码。如果您使用密钥文件并且失去了对密码数据库的控制,那么您的密码就会全部暴露。

  • 如果您将“密码”存储在某个地方(无论是在便利贴上还是作为密钥文件),您总是会处于危险之中。只要您将密码牢记在心(而且它足够复杂),那么您的情况应该会更好。 (4认同)