scram-sha-256设置在PostgreSQL 10中使用了多少次迭代?
将此参数设置为scram-sha-256将使用SCRAM-SHA-256加密密码。
为密码协商和存储添加SCRAM-SHA-256支持(Michael Paquier,Heikki Linnakangas)这证明比现有的md5协商和存储方法更好的安全性。
答案 0 :(得分:3)
这是scram-common.h
中称为SCRAM_ITERATIONS_DEFAULT
的编译时变量。目前设定为4096。
这基本上符合规范“经验法则”,在2015年11月被引用为15,000。它是目前允许迭代的最低值。来自RFC-7677
此机制的优势部分取决于哈希 迭代计数,如[RFC5802]中的“i”所示。根据经验, 哈希迭代计数应该是现代机器将 需要0.1秒才能执行完整的算法;但是,这是 在移动设备和其他相对较低的设备上不太可行 绩效系统。在写这篇文章的时候,经验法则 提供大约15,000次迭代;然而,哈希迭代 - 在目前的手机上,4096的计数大约需要0.5秒。 通过缓存ClientKey可以避免这种计算成本 (假设Salt和哈希迭代计数是稳定的)。的因此, 该规范的建议是哈希迭代 - 伯爵应该至少4096,但应该仔细考虑 给予使用显着更高的值,特别是在哪里 移动使用并不那么重要。