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

ClientHello

Первое сообщение TLS-рукопожатия, которое передаётся в открытом виде; в нём клиент перечисляет поддерживаемые версии, наборы шифров, группы, алгоритмы подписи, key share и расширения, например имя сервера.
Другие написанияClient HelloClientHello messageGREASE

В нём есть всё, что нужно серверу для выбора параметров: supported_versions, cipher_suites, supported_groups (10), key_share (51), signature_algorithms (13), server_name (0), ALPN (16), pre_shared_key (41, всегда последнее) и другие расширения. Поскольку сообщение не зашифровано, оно раскрывает имя целевого хоста (если не используется Encrypted Client Hello) и отпечаток клиентского ПО.

Размер снова имеет значение: гибридный key share X25519MLKEM768 добавляет около 1,2 КБ, поэтому современный ClientHello часто занимает два TCP-сегмента или два пакета QUIC. Некоторые серверы, балансировщики нагрузки и межсетевые экраны, рассчитанные на то, что он помещается в один пакет, перестали работать, когда браузеры включили постквантовый обмен ключами; этот класс ошибок серверов описан на tldr.fail после того, как Chrome в версии 124 (2024) включил гибридные key share Kyber по умолчанию.

Значения GREASE (RFC 8701) и случайный порядок расширений в Chrome (с начала 2023 года) не дают серверам жёстко привязаться к точному содержимому сообщения. Инструмент для определения отпечатка TLS показывает, что отправляет ваш браузер.

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

Все термины