DNS через TLS: DNS со сквозным шифрованием

Программа перевода самородков DNS
DNS через TLS: DNS со сквозным шифрованием

Чтобы зашифровать последнюю незашифрованную часть интернет-трафика, мыCloudflare DNSСотрудничал с пилотным проектом. В этом пилотном проекте используется безопасный протокол транспортного уровня (т.TLS, широко используемый, проверенный временем механизм, который можно использовать для обеспечения аутентификации и шифрования связи, когда две стороны устанавливают связь по незащищенному каналу) в сочетании с DNS. Эта схема DNS поверх TLS (DoT) шифрует и аутентифицирует последнюю часть веб-трафика. В тестировании DoT люди могут пользоваться полностью зашифрованным опытом с помощью Cloudflare DNS при просмотре Facebook: не только при подключении к Facebook с использованием HTTPS, но и на уровне DNS, от компьютера пользователя к Cloudflare DNS и от Cloudflare DNS к технологии шифрования. по всему DNS-серверу Facebook (NAMESERVER).

История DNS

В конце 1980-х была предложена система доменных имен (DNS), позволяющая людям связывать сущности с короткими, легко запоминающимися именами (такими какfacebook.com), что привело к кардинальным изменениям в сетевой безопасности. Много улучшений было сделано для сетевой безопасности, например, большая часть сетевого трафика теперь подключается через HTTPS, но все еще есть некоторые проблемы с передачей открытого текста онлайн.

2010 год,Расширения безопасности DNS(DNSSEC), благодаря чему протокол DNS поддерживает функцию аутентификации. Хотя DNSSEC поддерживает аутентификацию сообщений, DNS-запросы и ответы по-прежнему передаются в виде открытого текста. Это также делает передаваемый контент легко доступным для любого узла на промежуточном пути между запросчиком и ответчиком. В октябре 2014 года была создана Международная инженерная рабочая группа Интернета (IETF).Рабочая группа DPRIVE, устав которого включает обеспечение конфиденциальности и аутентификации для DNS.

Эта рабочая группа была предложена в 2016 году.RFC 7858Определены стандарты DoT. С этой целью открытые парсеры, такие как Cloudflare 1.1.1.1 и Quad9 9.9.9.9, больше заботятся о конфиденциальности пользователей благодаря поддержке DoT. Это также защищает часть связи DNS от устройства конечного пользователя до преобразователя DNS. Но остальная часть соединения по-прежнему передается открытым текстом. В мае 2018 года DPRIVE переработал метод шифрования сообщений от преобразователей к серверам имен.

DNS до DoT

ДоТ-тест

В течение последних нескольких месяцев мы проводили пробную версию, чтобы включить DoT между рекурсивным преобразователем Cloudflare 1.1.1.1 и нашими основными серверами имен. Цель этого эксперимента — понять возможность масштабного использования DoT, собрать информацию, чтобы лучше понять накладные расходы, связанные с задержкой DoT при приеме ответов, и определить вычислительные затраты. Этот эксперимент дал нам лучшее понимание того, как протокол DoT работает в реальной среде. Кроме того, при загрузке производственной среды эксперимент по замене DNS с UDP и других методов «запусти и забудь» на протоколы зашифрованного соединения, такие как TLS, может выявить некоторые проблемы, которые невозможно обнаружить при разработке протокола.

DNS под DoT

На данный момент пробная версия показала себя как жизнеспособное решение путем наблюдения за производственным трафиком между Cloudflare DNS и серверами имен Facebook. Инициирование нового соединения увеличивает задержку из-за необходимости инициировать запрос, но мы можем повторно использовать соединение TLS для обработки других дополнительных запросов. В результате повышенная нагрузка при инициализации амортизируется в той же степени, в какой Cloudflare DNS находится на уровне p99 для базовой линии UDP основных серверов имен Facebook.

На графике ниже показано изменение задержки (в 17:30) при переходе с TLS на UDP. Это позволяет нам сравнить задержку двух протокольных запросов. На первом графике показан процент задержки без дополнительных затрат на установление сеанса TCP/TLS. Это показывает, что когда соединение установлено, TLS и UDP имеют одинаковую задержку между запросом и ответом.

На втором графике добавляется время установления соединения для учета общей задержки запроса. Как видно из графика, использование TLS или UDP не влияет на общую задержку соединения. Это связано с тем, что мы используем технику возобновления сеанса TLS для выполнения нескольких запросов по одному и тому же соединению TLS, по существу амортизируя накладные расходы на инициализацию соединения.

Для справки, на приведенном ниже графике показана разница в общей задержке, когда техника возобновления сеанса TLS не используется и после установления соединения обрабатывается лишь несколько запросов. Переход с TLS на UDP завершается чуть раньше 22:35.Видно, что влияние TLS на большинство запросов аналогично влиянию UDP в целом, но сказывается задержка запросов под p95 и выше статистических показателей. Последний рисунок показывает, что когда связь уже установлена, задержка не изменяется. Эти два графика показывают, что разница на первом графике связана с тем, когда устанавливаются новые соединения, и на самом деле новые соединения устанавливаются с высокой частотой.

По сути, пользователи, просматривающие Facebook и использующие Cloudflare DNS с DoT, могут пользоваться полностью зашифрованным интерфейсом как при подключении через HTTPS, так и на уровне DNS. Несмотря на то, что мы реализовали методы возобновления сеанса TLS, мы не использовали в полной мере весь спектр оптимизаций, предлагаемых современными стеками протоколов. В будущем мы можем воспользоваться последней версией TLS (TLS 1.3TCP Fast OpenУсовершенствования, вызванные другими технологиями, еще больше уменьшат задержку.

Следующие шаги для DoT

Этот эксперимент доказал, что мы можем использовать DoT для обработки нагрузки производственной среды в масштабе без какого-либо негативного влияния на взаимодействие с пользователем. Мы возвращаем сообществу DNS опыт и знания, полученные в ходе этого эксперимента, в качестве полезного опыта.

IETFКогда стандартное сообщество разрабатывает протокол, иногда не хватает информации от организации, которая в конечном итоге реализует и запускает протокол, что приводит к разрыву между разработчиками протокола, исполнителями и операторами. Этот эксперимент позволяет нам своевременно сообщать рабочей группе о конкретных результатах, основываясь на нашем опыте эксплуатации протокола в производственной среде, а также предоставляет передовой опыт операторам и поставщикам программного обеспечения, заинтересованным в развертывании DoT.

Мы надеемся, что эти первоначальные результаты испытаний вдохновят других отраслевых партнеров присоединиться к нашим испытаниям, увеличить количество операторов DoT и получить больше опыта от разработки этого протокола, что приведет к более высокому уровню обратной связи, большему количеству операционных знаний и передовых практик.

Спасибо Мареку Вавруше из Cloudflare за его вклад в этот эксперимент.

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.