Есть мнение: технология DANE для браузеров провалилась

Говорим о том, что собой представляет технология DANE для аутентификации доменных имен по DNS и почему она не получила широкого распространения в браузерах.

8gx9qbtwf5sglnjdykq5agiud-4.jpeg
/ Unsplash / Paulius Dragunas

Что такое DANE


Сертификационные центры (CA) — это организации, которые занимаются удостоверением криптографических SSL-сертификатов. Они ставят на них свою электронную подпись, подтверждая подлинность. Однако порой возникают ситуации, когда удостоверения выдаются с нарушениями. Например, в прошлом году Google инициировали «процедуру прекращения доверия» к сертификатам Symantec из-за их компрометации (подробно эту историю мы освещали в нашем блоге — раз и два).

Чтобы избежать таких ситуаций, несколько лет назад в IETF начали разрабатывать технологию DANE (но она не получила широкого распространения в браузерах — почему так получилось, поговорим далее).

DANE (DNS-based Authentication of Named Entities) — это набор спецификаций, который позволяет использовать DNSSEC (Name System Security Extensions) для контроля достоверности SSL-сертификатов. DNSSEC представляет собой расширение для системы доменных имен, которое минимизирует атаки, связанные с подменой адресов. Используя две эти технологии, веб-мастер или клиент могут обратиться к одному из операторов зон DNS и подтвердить валидность используемого сертификата.

По сути, DANE выступает в качестве самоподписанного сертификата (гарантом его надежности является DNSSEC) и дополняет функции CA.

Как это работает


Спецификация DANE описана в RFC6698. Согласно документу, в ресурсные записи DNS был добавлен новый тип — TLSA. Он содержит информацию о передаваемом сертификате, размерность и тип передаваемых данных, а также сами данные. Веб-мастер создает цифровой отпечаток сертификата, подписывает его с помощью DNSSEC и размещает в TLSA.

Клиент подключается к сайту в интернете и сравнивает его сертификат с «копией», полученной от DNS-оператора. Если они совпадают, то ресурс считается доверенным.


На wiki-странице DANE приведен следующий пример DNS-запроса к серверу example.org по TCP-порту 443:

IN TLSA _443._tcp.example.org


Ответ на него выглядит так:

 _443._tcp.example.com. IN TLSA (
   3 0 0 30820307308201efa003020102020... )


DANE имеет несколько расширений, которые работают с другими записями DNS помимо TLSA. Первое — DNS-запись SSHFP для проверки ключей при SSH-соединениях. Оно описано в RFC4255,  RFC6594 и RFC7479. Второе — запись OPENPGPKEY для обмена ключами с помощью PGP (RFC7929). Наконец, третье — запись SMIMEA (в RFC стандарт не оформлен, есть только его черновик) для криптографического обмена ключами по S/MIME.

В чем проблема с DANE


В середине мая прошла конференция DNS-OARC (это некоммерческая организация, которая занимается вопросами безопасности, стабильности и развития системы доменных имён). На одной из панелей эксперты пришли к выводу, что технология DANE в браузерах провалилась (по крайней мере, в текущем варианте реализации). Присутствующий на конференции Джефф Хастон (Geoff Huston), ведущий научный сотрудник APNIC, одного из пяти региональных интернет-регистраторов, отозвался о DANE как о «мертвой технологии».

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


Проблемы с распространением DANE в браузерах связывают с длительностью процесса валидации по DNSSEC. Система вынуждена производить криптографические расчеты для подтверждения подлинности SSL-сертификата и проходить по всей цепочке DNS-серверов (от корневой зоны до домена хоста) при первом подключении к ресурсу.

3lmedl5yybj-s0qcu9yza-d-oxe.jpeg
/ Unsplash / Kaley Dykstra

Этот недостаток пытались устранить в Mozilla с помощью механизма DNSSEC Chain Extension для TLS. Он должен был сократить количество DNS-записей, которые приходилось просматривать клиенту во время аутентификации. Однако внутри группы разработчиков возникли разногласия, которые разрешить не удалось. В итоге проект забросили, хотя он был одобрен IETF в марте 2018 года.

Еще одной причиной низкой популярности DANE считается слабая распространенность DNSSEC в мире — с ним работает всего 19% ресурсов. Эксперты посчитали, что этого недостаточно для активного продвижения DANE.

Скорее всего, индустрия будет развиваться в другом направлении. Вместо того чтобы использовать DNS для верификации сертификатов SSL/TLS, игроки рынка, наоборот, будут продвигать протоколы DNS-over-TLS (DoT) и DNS-over-HTTPS (DoH). Последний мы упоминали в одном из наших предыдущих материалов на Хабре. Они шифруют и проверяют запросы пользователей к DNS-серверу, не давая злоумышленникам возможности подменить данные. В начале года DoT уже внедрили в Google для своего Public DNS. Что касается DANE — получится ли у технологии «вернуться в седло» и все же стать массовой, предстоит увидеть в будущем.

Что еще у нас есть для дополнительного чтения:

lcevevvhrpxsnxownufk6ykmvma.pngКак автоматизировать управление ИТ-инфраструктурой — обсуждаем три тренда
lcevevvhrpxsnxownufk6ykmvma.pngJMAP — открытый протокол заменит IMAP при обмене электронными письмами

nh3bvginmatsrsxcu6loffpn5yc.pngКак сэкономить с помощью прикладного программного интерфейса
nh3bvginmatsrsxcu6loffpn5yc.pngDevOps в облачном сервисе на примере 1cloud.ru
nh3bvginmatsrsxcu6loffpn5yc.pngЭволюция архитектуры облака 1cloud

x16rxu3buiqhpy-2jmr3iwscep0.pngКак работает техподдержка 1cloud
x16rxu3buiqhpy-2jmr3iwscep0.pngМифы об облачных технологиях

© Habrahabr.ru