TLS-отпечаток и пост-квантовый переход: чем себя выдаёт мнимый браузер

К концу 2025 года больше половины веб-трафика стало постквантовым. Клиент, заявляющий современный браузер без такого обмена ключами, выдаёт себя тем самым полем.

2026-08-31 GIGATAP Team #vpn
#vpn#anticensorship#tls#fingerprint#post-quantum#reality

TLS-отпечаток и пост-квантовый переход: чем себя выдаёт мнимый браузер

Маскировка под браузер — основа большинства современных транспортов. Логика понятна: если рукопожатие выглядит как рукопожатие Chrome, отличить его от Chrome трудно. Проблема в том, что рукопожатие Chrome — движущаяся цель. Оно меняется с каждой версией, и в 2025 году изменилось так сильно, что старые имитации стали заметнее оригинала.

За 2025 год под этой логикой сместилась почва, и многие конфигурации об этом не знают.

Что такое отпечаток рукопожатия?#

При установке защищённого соединения клиент отправляет сообщение, в котором перечисляет свои возможности: версии протокола, наборы шифров, расширения, поддерживаемые группы, предпочтения по прикладным протоколам.

Этот набор — и порядок его элементов — различается между реализациями. Из него вычисляется компактный отпечаток; известные схемы такого хеширования применяются наблюдателями уже несколько лет.

Отсюда следствие, известное всем, кто настраивал маскировку: подделать только имя запрашиваемого сайта недостаточно. Имя может быть безупречным, а набор расширений выдавать библиотеку, которой ни один браузер не пользуется.

Ровно для этого существуют библиотеки, воспроизводящие рукопожатия распространённых браузеров. Транспорты вроде REALITY опираются на них и позволяют выбрать, каким браузером представляться.

Что изменилось в 2025 году#

Пост-квантовый обмен ключами перестал быть экспериментом и стал большинством.

По данным годового обзора Cloudflare Radar, доля пост-квантового человеческого веб-трафика выросла с 29% в начале 2025 года до примерно 52% к началу декабря. Гибридная схема добавляет к сообщению клиента заметный объём — порядка тысячи с лишним байт.

Это меняет расстановку. Раньше отсутствие пост-квантового обмена было нормой, а его наличие — редкостью. Теперь наоборот.

Клиент, заявляющий современный Chrome, но не предлагающий пост-квантовый обмен, противоречив сам себе. Заявленный браузер обещает то, чего в рукопожатии нет. Это рассогласование не требует расшифровки и видно из первого же сообщения.

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

Побочный эффект: рукопожатие перестало помещаться в пакет#

Дополнительная тысяча байт имеет неожиданное следствие.

Сообщение клиента теперь часто не помещается в один сегмент и разбивается на два. Это нормальное поведение большинства современного трафика.

Ирония в том, что разбиение первого сообщения на несколько сегментов годами применялось как приём обхода примитивных фильтров, не собиравших поток. Сегодня это не уловка, а норма — и её отсутствие само стало отклонением.

Полезно проверять и обратное: собирает ли промежуточное оборудование такое разбитое сообщение. Оборудование, ожидающее рукопожатие в одном пакете, может повести себя непредсказуемо на трафике, который стал массовым.

Разбор: как выглядит рассогласование#

Наблюдателю не нужно ничего расшифровывать. Достаточно сопоставить два поля из одного сообщения.

СОГЛАСОВАННЫЙ КЛИЕНТ
  заявленный браузер:  Chrome 131
  группы обмена:       X25519MLKEM768, X25519, secp256r1
  размер сообщения:    ~1 700 байт, два сегмента
                       └── совпадает с популяцией ✓

РАССОГЛАСОВАННЫЙ КЛИЕНТ
  заявленный браузер:  Chrome 131          ← обещает пост-квантовый обмен
  группы обмена:       X25519, secp256r1   ← но его НЕ предлагает
  размер сообщения:    ~600 байт, один сегмент
                       └── такого Chrome не существует ✗

Проверка стоит наблюдателю одного сравнения полей. Она не требует ни расшифровки, ни статистики, ни накопления истории — рассогласование видно в первом же сообщении соединения.

Именно это делает его дорогим для маскировки: дешёвая проверка применяется массово.

Числовой пример: как сместилась популяция#

Соотношение изменилось за один год, и вместе с ним изменилось, что считать аномалией.

Начало 2025 Конец 2025
Доля пост-квантового трафика 29% 52%
Клиент с пост-квантовым обменом меньшинство большинство
Клиент без него, заявляющий современный браузер обычное дело аномалия

Обратите внимание, что изменилась не сила проверки, а фон. Тот же самый клиент, который в начале 2025 года выглядел совершенно обычно, к концу года стал выделяться — не изменившись ни на байт.

Отсюда общее правило, применимое далеко за пределами этого случая: отпечаток устаревает не тогда, когда его вычислили, а тогда, когда меняется популяция, среди которой он должен теряться.

Отпечаток — это не только рукопожатие#

Второе распространённое заблуждение: считать, что совпадение отпечатка рукопожатия закрывает вопрос.

Наблюдаемых слоёв больше:

Слой Решается выбором профиля рукопожатия?
Набор и порядок расширений да
Размеры записей после рукопожатия нет
Поведение прикладного протокола нет
Форма пачек и паузы между ними нет
Репутация адреса назначения нет
Дополнительная задержка от промежуточного узла нет

Библиотека воспроизведения рукопожатий закрывает первую строку. Остальные остаются, и исследования последних лет показывают, что классификация всё чаще опирается именно на них.

Отсюда смещение задачи: скопировать не рукопожатие браузера, а наблюдаемое поведение браузерного сеанса целиком — при этом не обрушив пропускную способность до неприемлемой.

Гигиена библиотек#

Отдельная тема, которую легко упустить за архитектурными рассуждениями.

Библиотеки воспроизведения рукопожатий — обычный код с обычными дефектами. В 2026 году в популярной библиотеке были опубликованы уязвимости, среди которых рассогласование в профилях, воспроизводящих Chrome: при определённых условиях выбиралась комбинация параметров, которую настоящий Chrome выбрать не может.

Дефект такого рода не ломает соединение. Он делает его опознаваемым — то есть ровно то, против чего библиотека применяется.

Практический вывод: версия библиотеки воспроизведения отпечатков относится к параметрам безопасности, а не к деталям сборки. Устаревшая версия воспроизводит браузер, которого больше нет.

Что проверять#

Короткий список для тех, кто настраивает маскировку:

Соответствует ли фактическое рукопожатие заявленному браузеру. Проверяется захватом и сравнением с настоящим браузером текущей версии, а не по названию профиля.

Присутствует ли пост-квантовый обмен, если профиль представляется современным браузером. Его отсутствие — самостоятельный признак.

Не устарела ли библиотека воспроизведения. Смотреть на опубликованные уязвимости, а не только на дату релиза.

Согласованы ли слои между собой. Заявленный в заголовках клиент должен соответствовать отпечатку рукопожатия. Расхождение между ними — дешёвая для наблюдателя проверка.

Сводка: что заявлено, что отправлено, как выглядит#

Клиент заявляет Что отправляет на самом деле Как выглядит наблюдателю
современный браузер постквантовый обмен ключами как большинство, ничем не выделяется
современный браузер классический обмен ключами рассогласование: версия и поля не сходятся
устаревшую версию поля той же устаревшей версии согласованно, но редко и потому заметно
ничего конкретного собственный набор библиотеки отдельная категория, опознаётся сразу

Опасна именно вторая строка: она возникает сама собой, когда конфигурацию не трогали, а популяция вокруг изменилась.

Вывод#

Маскировка под браузер остаётся рабочим подходом, но она перестала быть настройкой «выбрать профиль и забыть».

Популяция браузеров меняется, и отпечаток годичной давности воспроизводит браузер, которого больше не существует. Пост-квантовый переход — самый заметный пример такого сдвига, но не последний: любая массовая смена в поведении браузеров создаёт то же расхождение.

Из этого следует практика, а не разовое действие: отпечаток проверяется против текущей популяции, а не против той, для которой профиль писался.

Термины#

  • Отпечаток рукопожатия - устойчивый набор полей и их порядка в начале защищённого соединения, по которому опознаётся клиентская библиотека.
  • Постквантовый обмен ключами - алгоритм согласования ключа, устойчивый к квантовому противнику; к 2025 году стал массовым в браузерах.
  • Рассогласование версии - состояние, когда заявленная версия клиента не совпадает с набором полей, который эта версия должна отправлять.

FAQ: частые вопросы#

Почему имитация браузера перестала работать?#

Потому что оригинал изменился. Отпечаток без постквантового обмена ключами теперь выделяется на фоне популяции, а не сливается с ней.

Достаточно ли обновить библиотеку?#

Обычно да, но проверять надо результат: совпадение заявленной версии с фактическим набором полей, а не номер версии в настройках.

Отпечаток — это только рукопожатие?#

Нет. К нему добавляются поведение после установления соединения, порядок запросов и параметры транспортного уровня.

Что читать дальше#