从 sgcWebSockets 4.4.8 起,库中引入了一些小改动以提高连接安全性,其中之一是完美前向保密(Perfect Forward Secrecy)。
使用 RSA 密钥交换机制时,它会在服务器的密钥对与为每个唯一安全会话创建的会话密钥之间建立链接。因此,如果攻击者获得了服务器的私钥,他们可以解密您的 SSL 会话以及任何已保存的 SSL 会话。
相比之下,启用完美前向保密(PFS)后,服务器私钥与每个会话密钥之间没有链接。即使攻击者获得了服务器私钥,也无法使用该私钥解密任何已存档的会话,这就是为什么它被称为"完美前向保密"。
启用完美前向保密
要为 TLS 1.2 连接启用完美前向保密,只需启用以下属性:
SSLOptions.OpenSSL_Options.ECDHE := True;
如果您使用的是 openSSL 1.0.2 库(1.1.1 版本默认启用 ECDHE),这将为 TLS 1.2 连接启用 ECDHE。启用 ECDHE 后,库会向 openSSL 库传递具有高安全性的密码列表。
如果您在在线网站 https://entrust.ssllabs.com/ 进行安全测试,在服务器上启用 ECDHE 后将获得安全结果。
用于通过测试的服务器使用了 openSSL 1.1.1,支持 TLS 1.2 和 TLS 1.3,同时也启用了 ECDHE。


