Требует ли время ожидания TCP брандмауэра возобновления TLS? - PullRequest
0 голосов
/ 19 сентября 2018

Брандмауэр определяет время ожидания TCP-соединения через час.

Отправка сообщения по этому соединению с сервера приводит к [RST, ACK] с брандмауэра.enter image description here

Сообщения, отправленные с клиента, просто отбрасываются, если они являются частью исходного соединения.enter image description here

Если с клиента устанавливается новое соединение, оно проходит через брандмауэр без помех.

Это нормально - маршрутизаторы, брандмауэры, VPN,NAT и т. Д., Все время ожидания соединений и требуют от вас повторно подключиться с новым рукопожатием или выполнить возобновление TLS.Но есть ли способ продолжить использование сеанса TLS, не «возобновляя» его?Я говорю это, потому что сеанс TLS никогда не заканчивался, только основной TCP.

Поскольку сеанс TLS не зависит от TCP, нам не нужно возобновлять уже активный сеанс TLS только потому, что какое-то промежуточное устройство блокирует нас.Существует ли какой-либо тип «возобновления TCP», который мы можем выполнять в одном сокете?

1 Ответ

0 голосов
/ 19 сентября 2018

Это называется "возобновлением сеанса" в TLS.

Цитирование последнего стандарта на нем (https://tools.ietf.org/html/rfc8446):

Хотя PSK TLS могут быть установлены изPSK также могут быть установлены в предыдущем соединении и затем использоваться для установления нового соединения («возобновление сеанса» или «возобновление» с помощью PSK). Как только рукопожатие завершено, сервер может отправить клиенту идентификатор PSK, который соответствуетк уникальному ключу, полученному из начального рукопожатия (см. Раздел 4.6.1.) Клиент может затем использовать эту идентификацию PSK в будущих рукопожатиях для согласования использования связанного PSK. Если сервер принимает PSK, тогда контекст безопасностиновое соединение криптографически связано с исходным соединением, а ключ, полученный из начального рукопожатия, используется для начальной загрузки криптографического состояния вместо полного рукопожатия. В TLS 1.2 и ниже эта функциональность обеспечивалась "идентификаторами сеансов" и "билетами сеанса"[RFC5077]. Оба механизма устарели в TLS 1.3.

Подробнее см. В разделах 2.2 и 4.6.1 RFC.

Не может быть возобновление на уровне TCP, так как новое соединение TCP должно начинаться с новоголокальный порт (в противном случае любой трафик все равно будет отслеживаться состоянием брандмауэра).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...