-1

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

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

1 回答 1

0

Meta:我不确定这是否是主题,但安全性处于搁置状态。必要时迁移。

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

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

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

5746 的协议实现有时会在 ClientHello 中使用伪造的“密码套件”(官方名称为 SCSV——Signaling Cipher Suite Value)。JSSE客户端可以使用“ciphersuite”名称配置TLS_EMPTY_RENEGOTIATION_INFO_SCSV是使用此 SCSV 还是使用扩展。所有服务器始终使用扩展,因此此配置对 JSSE 服务器没有影响。

于 2015-12-16T12:45:00.567 回答