DANE
Данные в этой статье приведены по состоянию на 2012 год. |
DANE (англ. DNS-based Authentication of Named Entities) — набор спецификаций IETF, обеспечивающих аутентификацию объектов адресации (доменных имён) и предоставляемых сервисов с помощью DNS. Это новый стандарт, вводимый в действие в 2011—2012 годах.
ОписаниеПравить
Многие современные приложения используют аутентификацию на базе сертификатов в защищённых транспортных соединениях, позволяя пользователям удостоверяться в подключении именно к тому серверу, к которому они хотели, и который называется именно так, а не иначе. Обычно аутентификация такого рода происходит через инфраструктуру открытых ключей с использованием цепочки сертификатов, заканчивающейся известным клиенту сертификатом удостоверяющего центра. DANE предусматривает передачу доверенного сертификата, не известного ранее клиенту, средствами DNS с обязательной проверкой подлинности ответа DNS средствами DNSSEC.
Принцип работыПравить
Перед установлением безопасного соединения (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