DANE
DANE (англ. DNS-based Authentication of Named Entities) — набор спецификаций IETF, обеспечивающих аутентификацию объектов адресации (доменных имён) и предоставляемых сервисов с помощью DNS. Этот стандарт вводился в действие в 2011—2012 годах.
Описание
[править | править код]Многие современные приложения используют аутентификацию на базе сертификатов в защищённых транспортных соединениях, позволяя пользователям удостоверяться в подключении именно к тому серверу, к которому они хотели, и который называется именно так, а не иначе. Обычно аутентификация такого рода происходит через инфраструктуру открытых ключей с использованием цепочки сертификатов, заканчивающейся известным клиенту сертификатом удостоверяющего центра (CA). DANE предусматривает передачу доверенного сертификата, не известного ранее клиенту, средствами DNS с обязательной проверкой подлинности ответа DNS средствами DNSSEC в обход CA. DANE также может позволять владельцу домена выдавать ключи определённым CA. Также эта технология позволяет решать различные проблемы, связанные с использованием сторонних CA, например, не нужно делать сертификаты временными.
DANE, в отличие от других технологий, не распостранён, например в Mozilla Firefox и Google Chrome нет поддержки такой спецификации.
Принцип работы
[править | править код]Перед установлением безопасного соединения (HTTPS, TLS для любого поддерживающего протокола) клиент совершает ряд дополнительных DNS-запросов. В ответах на эти запросы клиенту передаются параметры сертификата или сам сертификат. При этом клиент устанавливает связь с сервером, адрес которого валидирован DNS-сервером клиента посредством DNSSEC. После открытия соединения клиент верифицирует ответ сервера либо при помощи имеющегося сертификата, либо его цифрового отпечатка (fingerprint).
Ресурсные записи
[править | править код]IANA стандартизировала одну новую запись TLSA (код 52). Формат записи:
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Cert. Usage | Selector | Matching Type | / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / / / Certificate Association Data / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Описание полей
[править | править код]- Certificate Usage — тип передаваемого сертификата
- Selector — размерность передаваемых данных
- Matching Type — тип передаваемых данных
- Certificate Association Data — данные сертификата
Пример DNS-запроса
[править | править код]Клиент при установлении защищённого соединения с сервером example.org по TCP-порту 443 выполняет дополнительный запрос:
IN TLSA _443._tcp.example.org
DNS-ответ
[править | править код]Полный сертификат PKI:
_443._tcp.example.com. IN TLSA ( 3 0 0 30820307308201efa003020102020... )
Ссылки
[править | править код]- RFC 6394, Use Cases and Requirements for DNS-Based Authentication of Named Entities (DANE) (англ.)
- RFC 6698, The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA (англ.)
- DANE — новая роль DNS в обеспечении безопасности — статья в журнале «Открытые системы», № 03, 2013