使用 keepass 生成密码是否安全?例如我的帐户,我使用 keepass 生成的密码是否安全?我未来的 Keepass 万能钥匙能否在 keepass 中安全生成?使用什么方法?适用于 Windows 和 Linux 的 Keepass 2.30。
谢谢,非理性偏执的 Keepass 用户。
使用 keepass 生成密码是否安全?例如我的帐户,我使用 keepass 生成的密码是否安全?我未来的 Keepass 万能钥匙能否在 keepass 中安全生成?使用什么方法?适用于 Windows 和 Linux 的 Keepass 2.30。
谢谢,非理性偏执的 Keepass 用户。
tl; dr:是的,它相当安全。
当攻击者知道您使用 KeePass 时,他们可能还会假设您使用密码生成器的标准设置。这告诉他们长度和字符集 [a-zA-Z0-9]。这使得破解比不知道长度以及如果他们期望你也使用特殊字符更容易破解。但即使有了这些知识,生成的密码仍然太强大而无法暴力破解。
但是密码究竟是如何生成的呢?如果它是一个可预测的伪随机数生成器,那可能是一个攻击点。
查看KeePass 2.30 的源代码,密码生成器似乎是在KeePassLib\Cryptography\PasswordGenerator\PwGenerator.cs. KeePassLib\Cryptography\CryptoRandomStream.cs它使用来自流密码Salsa20的类 CryptoRandomStream作为随机数生成器。
密码生成器的工作方式如下:
PwGenerator.cs第 65 行)。它使用.NET 框架( )中的标准RNGCryptoServiceProvider 。CryptoRandom.csCryptoRandomStream.cs第 114-118 行)。CryptoRandomStream.cs第 119 行)。Salsa20Cipher.cs通过重复将其输出作为输入(第 176-196 行),流密码被用作随机数生成器。要预测密码,需要破解微软的加密随机数生成器并预测熵(如果使用)。
或者,如果有人破解了 Salsa20 密码,则可以从之前的密码中预测出密码。根据维基百科“截至 2015 年,没有针对 Salsa20 的公开攻击”。
最好的问候, 非理性勤奋的软件开发人员。