2016-09-24 2 views
0

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

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

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

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

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

+0

Каждой реализацию SSL я когда-либо использовал в течение 20 лет поддерживают сессионное возобновление, в каждой версии на каждой платформе. Я не знаю, что вы подразумеваете под «ложным запуском». Неясно, что вы спрашиваете. – 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. Возобновление сеанса было добавлено в IIS в версии 8.5 [https://social.technet.microsoft.com/Forums/windows/en-US/f4aee519-d20f-48c3-983a-03732f687d40/configure-iis-85-tls- сеанс возобновление? форум = winservergen] (https://social.technet.microsoft.ком/Форум/окно/EN-US/f4aee519-d20f-48c3-983a-03732f687d40/Configure-МИС-85-TLS-сессия-возобновление? Форум = winservergen) – emk

ответ

0

Я также пытаюсь найти документацию по этому вопросу, и это определенно трудно найти. 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 включен в рекомендацию HTTP Header Ilya, но не требуется для TLS False Start.)

Не забывайте о других способах оптимизации производительности TLS вашего сервера. Будьте уверены и прочитайте книгу Илья, 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

Смежные вопросы