我试图找出Argon2密码哈希的最佳参数。
我已经阅读了RFC和他们对其提出的建议。因此,我根据我的目标机器对论文上的推荐进行跟进。
问题是,一个单一的调用完全符合所需的时间。然而,他们从来没有同时提到几个电话。
例如。我有一个8 CPU核和32 RAM的服务器。然后,我用: 16车道、1次迭代和128 and内存配置了一个Argon2id。
我叫过一次。太棒了!我的执行时间为˜50˜。现在我同时模拟几个电话。执行时间会大大增加。对于20个并行调用,执行时间增加到˜500 to。
我可以调整算法以适应服务器上的平均流量,以适应所需的时间,但每次出现峰值时,性能都会恶化。这也意味着降低价值,这意味着攻击成本更低。
哪一种是最好的方法?
发布于 2020-06-26 22:20:39
即使是内存和时间参数的相对较小的值,也会使攻击者很难对用户的密码进行离线暴力攻击,因为用户必须尝试这么多密码才能找到密码。
因此,您应该选择允许服务器执行可接受的值,即使考虑到您允许的最大登录速率。拒绝服务(DOS)攻击是一种风险,因此您需要使用适当的方法来限制同时登录尝试的次数,并在它们淹没您的内存和CPU之前限制重复尝试。
请参阅通过CAPCHAS提供的关于阻塞Brute部队攻击的建议、辅助延迟、设备cookie、不可预测的行为、IP地址的锁定等。
https://crypto.stackexchange.com/questions/66884
复制相似问题