http.sys и winhttp.dll имеют SSL/TLS "возобновление сеанса" и "фальстарт"?

У меня есть приложение, написанное на Delphi, которое присоединяет winhttp.dll на стороне клиента, на стороне сервера оно использует mORMot (клиент-серверная библиотека SOA/ORM, которая присоединяет "http.sys" для функциональности веб-сервера). Следующим шагом будет также веб-клиент, написанный на JS.

Таким образом, для каждого нормального соединения с задержкой ~100 мс будет> 350 мс с включенным рукопожатием SSL/TLS.

Я прочитал, что из-за "возобновления сеанса" и "фальстарта"(при повторном использовании сертификата и ускорении отправки данных) задержка может составлять примерно 200 мс, что для меня очень важно.

Поэтому мой вопрос: "http.sys"(сервер) в сочетании с "winhttp.dll"(клиент) может использовать эти достижения? Если да, то с какой версии?

Примечание: я предполагаю, что начиная с Win8.1 и Win Server 2012 это правда, но я не могу найти никаких документов, только>> IIS 8.5 имеет возобновление сеанса.

1 ответ

Я пытаюсь найти документацию по этому вопросу, и это определенно трудно найти. IISpeed.com просто говорит:

Msgstr "Настроить шифры прямой секретности, чтобы включить 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 False Start:

Чтобы включить TLS False Start во всех браузерах, сервер должен объявить список поддерживаемых протоколов через расширение ALPN - например, "h2, http/1.1" - и быть настроенным на поддержку и предпочитать комплекты шифров, которые обеспечивают прямую секретность. ( https://hpbn.co/transport-layer-security-tls/)

Хорошо настроенное развертывание TLS должно добавить не более одного дополнительного обхода для согласования соединения TLS, независимо от того, является ли оно новым или возобновленным, и избегать всех других ловушек задержки: настройте возобновление сеанса и включите прямую секретность, чтобы включить TLS False Start. ( https://hpbn.co/transport-layer-security-tls/)

Тем не менее, я не нашел руководство по внедрению, которое шаг за шагом проведет вас через эту страницу на www.hass.de. (H2 включен в рекомендацию Ильи по заголовку HTTP, но не требуется для TLS False Start.)

Не забудьте о других способах оптимизации производительности TLS вашего сервера. Обязательно прочитайте книгу Ильи, https://hpbn.co/, или, по крайней мере, просмотрите его контрольные списки, чтобы воспользоваться другими приростами производительности. https://hpbn.co/transport-layer-security-tls/ https://hpbn.co/transport-layer-security-tls/

Другие вопросы по тегам