我正在考虑使用PBKDF2从密码实现密钥生成。从PHP 5.5开始,有函数http://www.php.net/manual/en/function.hash-pbkdf2.php,但我的服务器在PHP 5.3上运行。在网上快速搜索之后,我在PHP中找到了这个自定义实现:https://gist.github.com/rsky/5104756我对在该领域更有经验的人的问题是,如果它被认为是安全的吗?
答案 0 :(得分:1)
如果它编译为正确的测试向量,那么我不会担心密钥派生函数的安全性。
如果您所在的计算机上也提供对其他用户的访问权限,则可能需要担心侧通道攻击。在这种情况下,您可能不得不担心对哈希算法的侧通道攻击;通常,在快速CPU上对对称算法执行基于时间的攻击是很棘手的(不受保护的RSA更容易)。
盐值足够大并且不重复,这一点非常重要,因此请检查系统上的安全随机数实现。
请注意,有多个级别的“安全”。没有系统,用例,线程模型等的确切细节,没有人可以或应该给你更多的通用答案。