我想在Tomcat中启用SSL密钥重新协商,如https://tools.ietf.org/html/rfc5746中所述。 Tomcat将使用JSSE实现SSL。我应该使用哪个密码套件来启用它?
答案 0 :(得分:0)
所有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服务器没有影响。