如何在Tomcat中启用TLS重新协商?

时间:2015-12-15 08:53:39

标签: ssl tomcat6 tls1.2

我想在Tomcat中启用SSL密钥重新协商,如https://tools.ietf.org/html/rfc5746中所述。 Tomcat将使用JSSE实现SSL。我应该使用哪个密码套件来启用它?

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

1 个答案:

答案 0 :(得分:0)

Meta:我不确定这是关于ontopic的,但安全性是暂时的。必要时迁移。

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

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

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

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