DNS – Záznam typu TLSA

  DNS, Teorie DNS, Záznamy DNS

Protokol DANE, který zavádí DNS záznam typu TLSA, vznikl za účelem zvýšení bezpečnosti při ověřování původu serverem poskytnutého certifikátu. DNS TLSA záznam určuje certifikát služby pro kombinaci údajů – FQDN, protokol a port, které dohromady skládají prefix záznamu. Pomocí TLSA záznamu je tedy možné ověřit, zda nedošlo na cestě mezi příjemcem a odesílatelem k pozměnění certifikátu.

Použití TLSA záznamu má smyls pouze v případě zabezpečení DNS zóny domény pomocí protokolu DNSSEC, kdy je zaručena důvěryhodnost autoritativní odpovědi z DNS.

DANE protokol včetně TLSA záznamu je definován v RFC6698

Formát TLSA záznamu

Formát doménového jména – prefixu TLSA záznamu

_<port>._<ipprotokol>.<domena>

Doménový název pro zabezpečenou HTTPS komunikaci na doméně www.domena.tld bude tedy vypadat následovně:

_443._tcp.www.domena.tld

Hodnota TLSA záznamu

TLSA záznam obsahuje tři paramtry a následně binární data pro asociaci certifikátu:

  1. CertificateUsage – 4 možnosti přiřazení certifikátu doménovému názvu
    • 0 – binární data kódují CA certifikát, serverový certifikát musí projít PKIX validací
    • 1 – binární data kódují EE (End Entity) certifikát, serverový certifikát musí odpovídat tomuto EE certifikátu, serverový certifkát musí projít PKIX validací k existujícímu kořenu důvěry
    • 2 – binární data kódují libovolný certifikát CA (který nemusí být v seznamu důvěryhodných certifikátů validujícího klienta), tento certifikát je použit jako nový kořen důvěry, serverový certifikát musí projít PKIX validací k novému kořenu důvěry
    • 3 – binární data kódují EE certifikát, serverový certifikát musí projít odpovídat tomuto EE certifikátu
  2. Selector – definuje, která část certifikátu se ověřuje
    • 0 – celý certifikát
    • 1 – veřejný klíč (SubjectPublicKeyInfo)
  3. MatchingType – definuje, jak se porovnává certifikát z řetězce proti datům v TLSA záznamu
    • 0 – kontrola bajt po bajtu na vybrané části
    • 1 – SHA-256 vybrané části
    • 2 – SHA-512 vybrané části
  4. poslední část záznamu obsahuje binární data pro porovnávání s poskytnutým certifikátem

CertificationUsage = 0/1 slouží k zesílení důvěry CA. V případě hodnoty 0 tím, že se omezí, která CA může být použita pro zabezpečenou komunikaci se serverem. Použitím hodnoty 1 se definuje, který konkrétní certifikát může být k tomuto účelu použit.

CertificationUsage = 2/3 umožňuje zlepšit použití interních certifikačních autorit a ověřování self-signed certifikátů (možnost 3)

Výsledný TLSA záznam může vypadat takto:

_443._tcp.www.domena.tld. IN TLSA 0 1 1 ef2dbd0fb1785efd174e9072b674b439c1c1b1d2f3afd76c8bcd3c8eb02b56e7

Generování TLSA záznamů

Pro generování TLSA záznamů je možné použít například utilitu sweed nebo online generátor

Byl pro Vás tento návod užitečný?