DANE

DANE (DNS-Based Authentication of Named Entities, RFC 6698) — способ прикрепить TLS-сертификат или публичный ключ прямо к DNS-записи через DNSSEC. Клиент проверяет: «этот cert от этого сайта? — DNS говорит да, вот подтверждение».

Идея: не полагаться на список из 100+ доверенных CA, где любой скомпрометированный CA может выпустить серт на твой домен. DANE говорит: «CA должен быть указан в моей DNS-записи».

TLSA-запись

Формат: _port._proto.host TLSA usage selector matching data

_443._tcp.example.com. IN TLSA 3 1 1 abcdef012345...

Четыре числа:

ПолеЗначенияСмысл
usage0/1/2/30 CA-constraint · 1 Service-cert · 2 Trust-anchor · 3 Domain-issued (самоподписан)
selector0/10 полный cert · 1 SPKI (только публичный ключ)
matching0/1/20 exact · 1 SHA-256 · 2 SHA-512
datahexсам отпечаток/ключ

Стандартная комбинация: 3 1 1 — самоподписанный, SPKI, SHA-256.

Зачем нужен DNSSEC

Без DNSSEC DANE бесполезен: атакующий подделает DNS-ответ и подставит свой TLSA. Поэтому DANE = DNSSEC-signed зона + TLSA record. Если DNSSEC у тебя не настроен — DANE тоже не будет работать.

Где реально используется

Плюсы

Минусы

См. также