TLSA záznam
TLSA záznam je typ DNS záznamu, který se používá k ověření SSL/TLS certifikátu pomocí DNS, konkrétně v kombinaci s bezpečnostním rozšířením DNSSEC. Tento záznam říká, jaký certifikát (nebo jeho část) se očekává na dané doméně a portu, a definuje způsob, jak jej ověřit.
TLSA je klíčovým prvkem technologie zvané DANE (DNS-based Authentication of Named Entities), která umožňuje ověřovat serverové certifikáty bez závislosti na klasických certifikačních autoritách (CA).
Jak to funguje
Při navazování zabezpečeného spojení (např. HTTPS, SMTPS, IMAPS...) může klient z DNS (pomocí TLSA záznamu) získat informaci o tom, jaký certifikát nebo klíč očekávat na cílovém serveru – a může jej porovnat s tím, co server skutečně poskytne.
Tím se výrazně zvyšuje bezpečnost – například pokud by někdo podvrhl certifikát pomocí falešné CA, DANE to odhalí, protože certifikát neodpovídá tomu, co je uloženo v DNS a podepsáno pomocí DNSSEC.
Formát TLSA záznamu
Záznam se vztahuje ke konkrétní doméně, portu a protokolu, a vypadá například takto:
_443._tcp.mojedomena.cz. IN TLSA 3 1 1 [hash certifikátu]
Obsahuje 3 klíčové parametry:
- Usage (použití) – určuje, jak se má certifikát ověřit (např.
3
= ověřit certifikát přímo, bez CA). - Selector – říká, která část certifikátu se kontroluje (např. celý certifikát nebo jen veřejný klíč).
- Matching Type – jaký typ porovnání se používá (např. SHA-256 hash).
Příklad vysvětlený
_443._tcp.mojedomena.cz. IN TLSA 3 1 1 2A3F9E... (zkráceno)
Tento záznam říká:
- Pro port 443 (HTTPS)
- Na doméně mojedomena.cz
- Očekává se certifikát, jehož SHA-256 otisk (hash) je
2A3F9E...
Klient, který důvěřuje DNSSEC, porovná tento hash s certifikátem serveru – pokud sedí, spojení je důvěryhodné.
K čemu se používá
- Pro ověřování TLS/SSL certifikátů bez závislosti na veřejných CA
- K zabezpečení služeb jako HTTPS, SMTPS, IMAPS, POP3S, XMPP, SIP apod.
- Pro ochranu e-mailových serverů (např. DANE pro SMTP), aby se zabránilo MITM útokům
- V kombinaci s DNSSEC zajišťuje důvěryhodné a kryptograficky ověřitelné připojení