Argon2密码哈希参数安全性



我正在开发一个移动应用程序,在我对argon2密码哈希算法的深入研究中,似乎(忽略密钥和salt(有三个主要参数:

  • 迭代
  • 存储器
  • 平行度

虽然广播这些显然没有意义,但在我看来,这些不可避免地需要在移动应用程序中编译,而一个糟糕的参与者可能会通过反编译移动应用程序来找出这些参数。

我需要如何保护这些参数?

如果这些参数需要保护,我如何混淆这些参数或减轻对已编译应用程序的威胁?或者,这些参数是否可以通过移动应用程序中编译之外的其他方式进行分发?

您根本不应该保护您的默认Argon2参数。

相反,你应该为他们感到骄傲。

如果哈希被泄露,您应该选择最大限度地抵抗离线暴力攻击的参数。根据Kerckhoffs的原则,你应该对选择它们公开发布背后的数学有足够的信心。

不需要保护这些参数,安全性不依赖于它们是秘密的。

更需要它们来验证用户输入的密码,因此有必要将它们与存储的密码哈希一起存储(通常它们会成为密码哈希的一部分(。将参数与每个散列密码一起存储可以在未来调整参数(用于更快的硬件(,并且仍然能够验证较旧的密码,这些密码使用较低的参数进行散列。

相关内容

  • 没有找到相关文章

最新更新