跳转到: 导航, 搜索

Security/Guidelines/crypto algorithms

应禁止使用业界已知的非安全加密算法

业界已知的非安全加密算法,例如 DES、3DES(除非 K1≠K2≠K3 的情况)、SKIPJACK、RC2、RSA(1024 位或更低)、MD2 和 MD4,应被禁止。

  • 在数字签名生成场景中,禁止使用 MD5 和 SHA1。在密码加密和存储场景中,禁止使用 MD5。在数字签名生成和密码加密存储场景中,禁止使用 MD5(HMAC-MD5 除外)。在数字签名生成场景中,禁止使用 SHA1。
  • SHA1 可以用于 HMAC、PBKDF2 和随机数生成器 (RNGs)。
  • 但是,如果 MD5 和 SHA1 等业界已知的非安全加密算法由标准协议定义,并且没有替代算法,或者产品需要连接到第三方系统或与旧系统兼容,则可以在这些场景中使用这些非安全加密算法。


推荐算法

推荐以下算法

  • 分组密码算法:AES(128 位或以上)
  • 流密码算法:AES(128 位或以上)(OFB 或 CTR 模式)
  • 非对称加密算法:RSA(2048 位或以上)
  • 哈希算法:SHA2(256 位或以上)
  • 密钥交换算法:DH(2048 位或以上)
  • 基于哈希的消息认证码 (HMAC) 算法:HMAC-SHA2


默认使用安全的加密算法

默认使用安全的加密算法。如果客户选择非安全加密算法,系统必须通知他们安全风险。