跳到主要内容

JEP 115:AEAD 密码套件

QWen Max 中英对照

总结

支持 SP-800-380D、RFC 5116、RFC 5246、RFC 5288、RFC 5289 和 RFC 5430 定义的 AEAD/GCM 加密套件。

目标

  1. 在 JCA/JCE 提供程序中实现 AEAD/GCM 加密算法。
  2. 更新 JCA/JCE,以支持 AEAD 操作。
  3. 在 JSSE 中实现基于 AEAD/GCM 的加密套件。

动机

作为美国国家安全局 Suite B 工作(国家加密基础设施的现代化)的一部分,JDK 需要为像 AES 这样的加密算法支持伽罗瓦计数器模式 (GCM)。GCM 还被用于一些新的 TLS 加密套件中。对于面向美国政府及其他需要现代加密技术的客户的销售来说,GCM 模式是必需的。

为了符合 Suite B 的 TLS 规范,只要客户端和服务器都支持必要的加密套件,就必须使用 GCM 加密套件。为了符合 Suite B 规范,默认的 JSSE 提供程序需要支持 GCM 加密。

描述

Java SE 在 JDK 7 中已经定义了 AEAD/GCM 接口。在 JDK 8 中,JCA/JCE 提供程序将实现这些 AEAD/GCM 接口。对于 PKCS#11 标准,GCM 支持是在 PKCS#11 V2.30 规范中定义的,该规范仍处于草案阶段。因此,SunPKCS11 提供程序不会在 JDK 8 中增强以支持 GCM。

此功能将在默认的 JSSE 实现中支持以下加密套件:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (RFC 5430,RFC 5289)
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (RFC 5430,RFC 5289)
  • TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (RFC 5289)
  • TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (RFC 5289)
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (RFC 5289)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (RFC 5289)
  • TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (RFC 5289)
  • TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (RFC 5289)
  • TLS_RSA_WITH_AES_128_GCM_SHA256 (RFC 5288)
  • TLS_RSA_WITH_AES_256_GCM_SHA384 (RFC 5288)
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (RFC 5288)
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (RFC 5288)
  • TLS_DH_RSA_WITH_AES_128_GCM_SHA256 (RFC 5288)
  • TLS_DH_RSA_WITH_AES_256_GCM_SHA384 (RFC 5288)
  • TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (RFC 5288)
  • TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (RFC 5288)
  • TLS_DH_DSS_WITH_AES_128_GCM_SHA256 (RFC 5288)
  • TLS_DH_DSS_WITH_AES_256_GCM_SHA384 (RFC 5288)
  • TLS_DH_anon_WITH_AES_128_GCM_SHA256 (RFC 5288)
  • TLS_DH_anon_WITH_AES_256_GCM_SHA384 (RFC 5288)

请注意,为了在 JSSE 中支持 GCM AEAD 加密套件,GCM 加密实现必须至少从一个 JCA/JCE 提供商处获得。因此,作为此 JEP 的一部分,SunJCE 提供商将相应地进行增强,以为 JSSE AEAD 加密套件提供所需的 GCM 支持。

测试

  1. 需要验证新接口是否按预期运行。
  2. 需要验证该实现不会以意外的方式破坏向后兼容性。
  3. 需要验证该实现不会以意外的方式带来新的互操作性问题。

影响

  • JCP:对 JCP 无影响
  • 其他 JDK 组件:对其他 JDK 组件无影响
  • 兼容性:影响最小
  • 安全性:对安全性无影响
  • 可移植性:对可移植性的影响有限
  • 用户界面:无图形用户界面
  • 文档:需要记录新功能
  • 国际化:影响最小,可能会添加新的错误消息
  • 本地化:影响最小,可能会添加新的错误消息
  • 法律:无法律问题
  • 其他:无其他已知影响