Cloudflare, Apple и Fastly заявили о разработке нового стандарта DNS, который отделяет IP-адреса от запросов. Oblivious DNS over HTTPS (ODoH) имеет открытый исходный код.
Обычная система доменных имен (DNS) сопоставляет используемые доменные имена, такие как cloudflare.com, с IP-адресами и другой информацией, необходимой для подключения к этому домену. DNS-запросы отправляются в открытом виде. Это означает, что на сетевом пути между устройством и преобразователем DNS может появиться третье лицо, которое будет видеть и запрос с именем хоста, и IP-адрес гаджета.
Чтобы защитить DNS от постороннего вмешательства, был разработан стандарт DNS через HTTPS (DoH) и DNS через TLS (DoT). Оба протокола предотвращают перехват, перенаправление или изменение запросов между клиентом и преобразователем. Клиентская поддержка DoT и DoH растет, она реализована в последних версиях Firefox, iOS и других. Однако пока Cloudflare остается одним из немногих провайдеров, предлагающих общедоступную услугу DoH/DoT.
Ключевой компонент ODoH — это прокси, не связанный с целевым преобразователем. Протокол запустили при поддержке прокси-партнеров, включая PCCW, SURF и Equinix.
ODoH добавляет уровень шифрования с открытым ключом, а также сетевой прокси между клиентами и серверами DoH, например 1.1.1.1. Комбинация этих двух дополнительных элементов гарантирует, что только пользователь имеет доступ как к сообщениям DNS, так и к собственному IP-адресу одновременно. Цель расшифровывает запросы, зашифрованные клиентом, через прокси. Точно так же цель шифрует ответы и возвращает их прокси. При этом цель видит только запрос и IP-адрес прокси, расшифровывая их с помощью ключа DNSSEC. Прокси-сервер не видит сообщений DNS и не может идентифицировать, читать или изменять ни запрос, отправляемый клиентом, ни ответ, возвращаемый целью. Клиент может выбрать и изменить свои прокси и цели в любой момент. Таким образом, успешная атака может быть реализована, только если и прокси, и цель скомпрометированы.
Добавленное шифрование является «сквозным» между клиентом и целью и не зависит от шифрования на уровне соединения, обеспечиваемого TLS/HTTPS. Для поддержки функций прокси требуется два отдельных соединения TLS. В частности, прокси завершает TLS-соединение от клиента и инициирует другое TLS-соединение с целью. ODoH дополнительно шифрует сообщения между клиентом и целью, поэтому прокси-сервер не имеет доступа к содержимому сообщения.
Клиенты передают зашифрованные запросы прокси-серверу через HTTPS-соединение. После получения прокси-сервер пересылает запрос указанной цели. Затем цель дешифрует запрос, выдает ответ, отправляя запрос рекурсивному преобразователю, например, 1.1.1.1, и шифрует ответ. Зашифрованный запрос от клиента содержит инкапсулированный ключевой материал, из которого целевые объекты получают симметричный ключ шифрования ответа.
«Наряду с повышенной безопасностью и производительностью базовой глобальной сети PCCW, доступ к которой можно получить по запросу через Console Connect, производительность прокси-серверов в сети улучшена резолверами Cloudflare 1.1.1.1. Эта модель впервые полностью отделяет клиентский прокси от резолверов», — заявил Майкл Глинн, вице-президент по цифровым автоматизированным инновациям в PCCW Global
На диаграмме ниже показано кумулятивное распределение времени запроса/ответа в DoH, ODoH и DoH при передаче по сети Tor.
По сравнению с другими вариантами DNS, ориентированными на конфиденциальность, ODoH сокращает время запроса вдвое и более.
Открытый исходный код реализаций ODoH доступен на Rust, odoh-rs и Go, odoh-go.
Протокол поддерживается TLS-расширением ESNI (Encrypted Server Name Indication), которое позволит передавать идентификатор запрошенного хоста в шифрованном виде. В 2018 году его разработали Mozilla, Cloudflare, Fastly и Apple.
См. также:
psydvl
Не слышал раньше про Fastly, по крайней мере так громко…