http.sys和winhttp.dll有SSL/TLS“会话恢复”和“虚假启动”?

http.sys和winhttp.dll有SSL/TLS“会话恢复”和“虚假启动”?

问题描述:

我有一个用Delphi编写的应用程序,它附加了客户端winhttp.dll,它在服务器端使用mORMot(SOA/ORM客户端服务器库,它为Web服务器功能附加了“http.sys”)。下一步也将是一个用JS编写的网络客户端。http.sys和winhttp.dll有SSL/TLS“会话恢复”和“虚假启动”?

因此,对于延迟时间大约为100ms的每个正常连接,包括SSL/TLS握手时间将大于350ms。

我读到通过“会话恢复”和“虚假开始”(通过重用证书和更快地推送数据)延迟可能是类似< 200毫秒,这对我来说是一个非常大的收益。

所以我的问题是:“http.sys”(服务器)结合“winhttp.dll”(客户端)可以使用这些进步?如果是,从哪个版本?注意:我认为,从Win8.1和Win Server 2012开始,这是真的,但我找不到任何文档,只有> = IIS 8.5会话恢复。

+0

我在超过20年曾经使用SSL的每个实施,支持会话恢复,在每个平台上每一个版本。我不知道'虚假入门'是什么意思。不清楚你在问什么。 – EJP

+0

1. false start = [https://tools.ietf.org/html/draft-bmoeller-tls-falsestart-00](https://tools.ietf.org/html/draft-bmoeller-tls-falsestart- 00); 2.会话恢复已添加到版本8.5中的IIS [https://social.technet.microsoft.com/Forums/windows/en-US/f4aee519-d20f-48c3-983a-03732f687d40/configure-iis-85-tls-会话恢复?论坛= winservergen](https://social.technet.microsoft。COM /论坛/窗/ EN-US/f4aee519-d20f-48c3-983a-03732f687d40 /配置-IIS-85-TLS-会话恢复?论坛= winservergen) – emk

我试图找到关于此的文档,它肯定很难得到。 IISpeed.com只是说:

“配置前向秘密密码以启用TLS False Start”。 (https://www.iispeed.com/pagespeed/recommendations

以下是一些可能有所帮助的PowerShell脚本。谨慎使用 - https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

伊利亚·格里戈里克进入更详细一点,什么浏览器需要TLS抢跑:

为了使在所有浏览器TLS虚假启动服务器应该登广告支持的协议列表通过ALPN扩展 - 例如“h2,http/1.1” - 并且被配置为支持和偏好使前向保密的密码套件。 (https://hpbn.co/transport-layer-security-tls/#deploying-tls-false-start

经过良好调整的TLS部署应至少增加一个用于协商TLS连接的额外往返,无论它是新的还是恢复的,并避免所有其他延迟缺陷:配置会话恢复并启用前向保密启用TLS False Start。 (https://hpbn.co/transport-layer-security-tls/#enable-1-rtt-tls-handshakes

但是,我还没有找到一个实施指南,引导您通过www.hass.de上的该页面以外的分步骤。 (H2包含在Ilya的HTTP标头推荐中,但对于TLS False Start不是必需的。)

不要忘记优化服务器TLS性能的其他方法。请务必阅读Ilya的书https://hpbn.co/,或至少阅读他的清单以利用其他性能收益。 https://hpbn.co/transport-layer-security-tls/#optimizing-for-tls https://hpbn.co/transport-layer-security-tls/#enable-http-strict-transport-security-hsts