2

有没有办法在不加强密码的情况下强化 aes 加密以防止暴力攻击。我的意思是用户通常选择简单的密码。我不想强迫用户选择越来越复杂的密码。(这是正确的解决方案,但是当他们不断忘记密码并且无法使用密码时,它是无用的)他们从大写,小写和数字中选择密码. 密码长度为 8。我想在不更改这些密码属性的情况下使暴力攻击变得困难。

编辑:密码长度正好是 8。不可接受的长度太短。还有一个关于回复的问题,将加密文本保存在内存中(使用加盐和密钥拉伸)是一个安全问题吗?

4

4 回答 4

3

我很想说:不,这是不可能的。为了使蛮力攻击更难,你需要更多的熵。

话虽如此,如果您进行按键拉伸,您实际上可以使猜测过程变慢。

于 2012-08-15T06:54:11.153 回答
2

如果不知道如何使用它的确切性质,就很难对问题发表评论。(例如,密码只能存储为 8 个字符吗?)。

也就是说,选择好的会使暴力破解更加困难。今天被盗的大多数密码都是由于未能实施适当的加盐造成的。

为了提高安全性,您可以使用一致的散列将盐分片到一系列值上。

于 2012-08-15T07:00:03.383 回答
1

如果您想保护您的用户免受使用“密码”、“12345678”或类似密码之类的密码,那么就没有办法强化它们。

您必须能够在合理的时间内(即平均硬件不到 1 秒)检查提供的密码是否与您拥有的哈希值匹配。即使检查哈希和密码之间的相等性,暴力破解简单密码也需要 1 秒,在普通 PC 上只需不到一天的时间。

如果您想保护平均质量的密码(不在前 1000 个最常见的密码或少数最常用语言中的单个单词),那么密码/密钥拉伸是您的最佳选择:scrypt、bcrypt 或标准 PBKDF2 是不错的选择。

于 2012-08-19T01:23:01.660 回答
0

使用多轮会减慢尝试密码的过程,但这就是我能想到的。

于 2012-08-15T14:42:37.543 回答