“Пасхалки” в трафике
(Заметка первоначально опубликована в Facebook, 19/05/2020.) Я вот так устроил, что один сервис, проверяющий TLS, использует специально сконструированное сообщение ClientHello TLS 1.3 (см. скриншот) с посланиями внутри. Небольшая хитрость состоит в том, что там не только поля SessionID и ClientRandom с сообщениями, но и ключ для Диффи-Хеллмана (ECDH) на кривой P-256 – с посланием. Ключ – это два числа, но они должны задавать точку кривой, и хорошие реализации TLS проверяют, что ключ принадлежит кривой. Конечно, вычисление второй координаты Y по известной X-координате – никакой проблемы не составляет, но пришлось урезать пару символов, так как число приводится по порядку базового поля. У тех, кто знаком с ECDH, сразу возникнет вопрос – решил ли я попутно задачу дискретного логарифмирования для P-256? Но нет (а если бы решил, то сообщил бы об этом более занятным способом). Дело в том, что реально в этом сканере общий секрет не нужен, поэтому ответный ключ сервера просто игнорируется. (Конечно, вряд ли кто-то ещё это всё видит в трафике. Но при отладке – помогает.)

Адрес записки: https://dxdt.ru/2022/05/19/9230/
Похожие записки:
- Реплика: названия букв и омонимия
- Прогресс ESNI
- Экспериментальный сервер TLS 1.3: обновление
- Кодирование в рунах
- Десятилетие DNSSEC в российских доменах
- Реплика: пример про ДСЧ
- Open Source и добавление "вредоносного кода"
- Реплика: уточнение о языках программирования
- Полностью зашифрованные протоколы в Интернете
- ESNI (зашифрованное поле SNI) и системы анализа трафика
- Статья Cloudflare про ECH/ESNI
Написать комментарий