Java 停靠环境中的Argon2参数
我正在将基于spring boot/kotlin的微服务部署到Kubernetes集群中进行身份验证。 为了安全地存储和比较密码,我希望使用Argon2,但我很难找到正确的参数Java 停靠环境中的Argon2参数,java,docker,kubernetes,passwords,password-hash,Java,Docker,Kubernetes,Passwords,Password Hash,我正在将基于spring boot/kotlin的微服务部署到Kubernetes集群中进行身份验证。 为了安全地存储和比较密码,我希望使用Argon2,但我很难找到正确的参数 由于该服务应该在公共云中运行,因此我选择了Argon2id模式以降低侧通道攻击的风险 按照常规,我选择了一个salt,输出长度为32B 给定停靠环境中的约束条件,我选择了并行因子2 总的来说,我希望散列操作大约需要1s 现在困扰我的参数是内存。第8节建议使用大约1GB的内存。 目前我们的POD总共有1GB的内存限制,
- 由于该服务应该在公共云中运行,因此我选择了Argon2id模式以降低侧通道攻击的风险
- 按照常规,我选择了一个salt,输出长度为32B
- 给定停靠环境中的约束条件,我选择了并行因子2
- 总的来说,我希望散列操作大约需要1s
2^12KB=4MB
和2^16KB=64MB
之间
因此,我的问题是:是否有关于如何权衡内存和迭代的建议或建议,特别是在Docked环境中?
我使用5次迭代和2^18KB=262MB
获得了很好的结果。鉴于Argon2的内存硬度是针对专用硬件的使用,260MB的内存限制是否足够
编辑:为了让我的问题更清楚:我所能找到的所有讨论都建议我尽可能多地使用内存,我的机器可以提供。在云环境中,这个角色通常是颠倒的,我需要说明我需要多少资源。这个问题可能已经得到了回答。答案还包含相关问题的链接,所有这些问题的目的都是为Argon2找到好的参数。