Skip to main content

8. Security Considerations (安全考虑)

关键安全要点

8.1 密钥选择

  • 使用足够长度的密钥
  • 遵循算法特定的密钥大小要求
  • RSA: 最小 2048 位
  • HMAC: 至少与哈希输出大小相同

8.2 随机数生成

  • 使用密码学安全的随机数生成器
  • 确保足够的熵

8.3 算法选择

  • 优先使用推荐算法
  • 避免已弃用或存在已知弱点的算法
  • RSA1_5 存在 Bleichenbacher 攻击风险

8.4 时序攻击防护

  • HMAC 验证使用恒定时间比较
  • 避免泄露时序信息

8.5 "none" 算法警告

  • 默认不接受 Unsecured JWS
  • 仅在明确需要时使用
  • 实现必须要求显式启用

8.6 密钥管理

  • 妥善保护私钥和对称密钥
  • 使用适当的密钥分发机制
  • 考虑密钥轮换策略

8.7 加密考虑

  • 使用认证加密
  • 验证 AAD(额外认证数据)
  • 正确处理初始化向量

实施建议:

  • 保持库和算法实现的更新
  • 遵循最新的安全最佳实践
  • 定期审查安全公告和勘误表