Перейти к содержимому
ecdsa.com

QUIC

Транспортный протокол поверх UDP из RFC 9000 со встроенным рукопожатием TLS 1.3 (RFC 9001): он шифрует почти все транспортные метаданные и переносит HTTP/3.
Другие написанияQUICHTTP/3RFC 9000

QUIC передаёт сообщения TLS-рукопожатия во фреймах CRYPTO внутри пакетов QUIC, а не в записях TLS, и выводит ключи защиты пакетов из расписания ключей TLS (key schedule). Пакеты Initial защищены ключами, выведенными из идентификатора соединения, поэтому такая защита — лишь обфускация, а первую серию пакетов клиента (first flight) необходимо дополнить как минимум до 1 200 байт: это ограничивает усиление трафика (amplification) при подделке адреса источника.

Потоки мультиплексируются без блокировки начала очереди (head-of-line blocking), соединения переживают смену IP-адреса благодаря идентификаторам соединений, а рукопожатие завершается за один цикл приёма-передачи (0-RTT при возобновлении сессии). Поверх QUIC работает HTTP/3 (RFC 9114); браузеры узнают о его поддержке из заголовков Alt-Svc или DNS-записей HTTPS.

Из-за постквантовых key share клиентский Initial больше не помещается в один пакет; QUIC с этим справляется, но некоторые промежуточные узлы (middleboxes) и серверные стеки пришлось исправлять. Отпечатки JA4 помечают рукопожатия QUIC начальной буквой q.

Стандарты и ссылки

Все термины