Mozilla, Cloudflare, Fastly та Apple розробили нове TLS-розширення ESNI (Encrypted Server Name Indication) для шифрування з'єднань
Mozilla, Cloudflare, Fastly та Apple розробили нове TLS-розширення ESNI (Encrypted Server Name Indication) для шифрування з'єднань
Наразі підтримка розширення ESNI реалізована в бібліотеках BoringSSL, NSS та picotls.
Під час проходження на зборах IETF 102 хакатону програмісти з компаній Mozilla, Cloudflare, Fastly і Apple розробили нове TLS-розширення ESNI (Encrypted Server Name Indication), що дозволяє передавати ім'я запитаного хоста в зашифрованому вигляді.
ESNI є покращеною версією розширення SNI, призначеного для організації роботи кількох HTTPS-сайтів на одній IP-адресі. У SNI ім'я хоста у відкритому вигляді передається у повідомленні ClientHello на стадії узгодження з'єднання, оскільки передача здійснюється до встановлення зашифрованого з'єднання.
Ця особливість розширення SNI дозволяє спростити організацію обробки запитів на HTTP-серверах та використовувати проксі та CDN-мережі для перенаправлення трафіку, проте в даному випадку інформація може бути розкрита сторонньому спостерігачеві, наприклад, інтернет-провайдеру. Таким чином, особливість може бути використана для аналізу запрошених сайтів та вибіркової фільтрації трафіку.
У новому алгоритмі ім'я хоста передається у зашифрованому вигляді. Дані захищені криптографічними ключами, які є лише у сервера та клієнта. Крім цього, розширення передбачає функцію приховування звернення до DNS-сервера за допомогою протоколу DNS-over-HTTPS або DNS-over-TLS.
В даний час підтримка розширення ESNI реалізована в бібліотеках BoringSSL (Chromium), NSS (Firefox) та picotls (використовується в HTTP-сервері H2O).