我想在 Tomcat 中启用 SSL key 重新协商,如 https://www.rfc-editor.org/rfc/rfc5746 中所述. Tomcat 将为 SSL 使用 JSSE 实现。我应该使用哪个密码套件来启用它?

  • Tomcat 版本:6.0.44
  • Java 版本:Java 1.8
  • 协议(protocol) - TLS 1.2

请您参考如下方法:

Meta:我不确定这是否是主题,但安全性已暂停。必要时迁移。

所有 Java 8 和 7,以及 6u22 以上的 6,启用根据 5746 的安全重新协商。See the documentation.默认情况下,如果对等方提供或接受它,则使用它;如果对等方不这样做,连接 仍然建立,但重新协商 完成,因为它会/可能是不安全的。这可以通过两种方式改变:

  • 设置系统属性 sun.security.ssl.allowLegacyHelloMessages 为假。如果对等方不同意 5746,JSSE 将不会建立连接。这实际上并不更安全,但对于头脑简单的基本扫描器和人们来说,它明显更安全谁关心像审计员这样头脑简单的基本扫描仪

  • 设置系统属性 sun.security.ssl.allowUnsafeRenegotiation 为真。如果应用程序依赖于消息后检查的对等凭据,则安全性较低。由于客户端总是在任何数据之前检查服务器,这意味着如果服务器请求(不需要)客户端身份验证,并在请求后检查身份验证状态,它可能会错误地接受伪造前缀请求。

5746 的协议(protocol)实现有时在 ClientHello 中使用伪造的“密码套件”(正式名称为 SCSV -- 信号密码套件值)。 JSSE 客户端 可以使用“ciphersuite”名称 TLS_EMPTY_RENEGOTIATION_INFO_SCSV 配置是使用此 SCSV 还是扩展。所有服务器始终使用扩展名,因此此配置对 JSSE 服务器没有影响。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!