用于密钥派生的最佳实践

主要观点

  • 密钥派生在密码学应用中很重要,但易出错,如 Flickr 的 API 签名伪造漏洞就是误用哈希函数的例子。
  • 介绍了密钥派生的相关概念,包括随机提取和随机扩展,以及 HKDF 算法。
  • 指出了在使用密钥派生函数(KDF)时的常见误解和误用,提供了避免误用的最佳实践。
  • 讨论了如何结合多个密钥材料以获得安全的密钥,包括使用双 PRF 和其他组合方法。
  • 建议在面对密钥派生任务时,考虑使用更高级的工具或寻求专业建议。

关键信息

  • 密钥派生的四种来源:均匀随机、非均匀高熵、低熵、多个来源。
  • HKDF 算法的提取和扩展过程,以及提取盐的作用和注意事项。
  • KDF 误用的例子,如使用不同盐值派生多个子密钥、在 info 参数中使用额外随机数等。
  • 不适合用于密钥派生的情况,如对低熵输入使用 HKDF、将哈希函数用作通用 KDF 等。
  • 结合密钥的方法,如双 PRF 和 CatKDF,以及使用时的注意事项。

重要细节

  • 对于大多数应用,推荐使用常量盐(如全零字节字符串),除非是认证密钥交换等情况。
  • 在使用 HKDF 时,要确保 info 值唯一且包含足够的上下文信息。
  • 对于低熵输入,应使用慢、内存硬算法(如 Argon2)。
  • 双 PRF 使用 HMAC 时要注意密钥长度和碰撞抗性。
  • 结合密钥时,要考虑最终组合密钥依赖尽可能多的上下文信息。
  • 当需要新的密钥派生解决方案时,要合理论证并咨询专业人士。
阅读 8
0 条评论