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

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

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

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

答案1

关于使用能力' key files' 和KeePass

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

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

(有另一个最近的更新, 但我认为此类新闻与此无关)。
回到当前问题

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

使用两个密码时密钥文件,最终密钥的派生方式如下:SHA-256(SHA-256(密码),密钥文件内容),即将主密码的哈希值与密钥文件字节连接起来,然后再次使用 SHA-256 对得到的字节字符串进行哈希处理。如果密钥文件不完全包含 32 个字节(256 位),则它们也会使用 SHA-256 进行哈希处理,以形成 256 位密钥。上面的公式将变为:SHA-256(SHA-256(密码),SHA-256(密钥文件内容))。

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

答案2

关键在于保证密码安全,所以这一点毋庸置疑:密码。如果您使用密钥文件,并且无法控制密码数据库,那么您的所有密码都会暴露。

答案3

两种方法都用。将密钥文件保存在闪存驱动器中并随身携带。但不要放在桌面的某个地方(这和在便签上写密码是一样的)。我使用这种方法加密硬盘分区(使用 truecrypt)。因此,如果有人仍然以某种方式获取您的密码,他们也需要密钥文件。

答案4

我选择了使用密钥文件。我还创建了一个电子邮件帐户,专门用于存储我的密钥文件(例如,我不喜欢每次要访问我的电子银行帐户时都拿着 USB 闪存)。

如果我使用的计算机不是我的个人计算机,我只需在我想要使用密钥文件的计算机上登录该电子邮件帐户,然后登录另一个拥有我的最新版本的.kdbx 文件的电子邮件帐户。

最后,我下载 KeePass 并将其安装在 PC 上,使用密钥和 .kdbx 以及我的数据库密码,就完成了!

当然,我会删除所用电脑上的 .kdbx 和密钥文件。

相关内容