CAA záznam v DNS - další možnost zvýšení bezpečnosti

11. 5. 2015 | Jindřich Zechmeister

CAA záznam je nový typ DNS záznamu, který slouží pro zvýšení bezpečnosti uživatelů certifikátu. V DNS zóně zabezpečené domény si můžete nastavit název certifikační autority, které dovolíte pro vaši doménu certifikát vystavit. Symantec, Tahwte a GeoTrust v tuto chvíli ověřování CAA zavádí a určitě se k nim přidají i další významné autority.

Význam CAA záznamu

CAA je zkratka The Certification Authority Authorization (CAA) DNS Resource Record. Záznam v DNS zóně vaší domény určuje, která certifikační autorita může vystavit certifikát pro tuto doménu. Slouží k zamezení vystavení falešného certifikátu jinou autoritou, než jste si zvolili (například nějakou obskurní, či po hacku CA).

Pokud by nastala situace, že "nekvalifikovaná" certifikační autorita obdrží objednávku vystavení certifikátu pro vaší doménu, měla by ji díky CAA napřed autorizovat s vlastníkem domény. Rozhodně by neměla certifikát automaticky vystavit. Předpokladem fungování je však podpora tohoto ověřování ze strany certifikační autority, která bohužel není samozřejmá, ale dobrovolná. Též lze uvažovat o možnosti podvržení DNS, protože ověřování CAA záznamu není podmíněno DNSSECem.

Rozdíl CAA a TLSA záznamem

CAA záznam má sloužit certifikační autoritě pro kontrolu před vystavením certifikátu, zatímco TLSA záznam slouží pro kontrolu již vystavených certifikátů. Kontrolu TLSA tedy doplňuje a zamezuje už vystavení podvržených certifikátů. Oba DNS záznamy se vhodně doplňují a dohromady jejich použití dává smysl. V kombinaci s DNSSECem je jejich důvěryhodnost ještě posílena, avšak CAA záznam DNSSEC bohužel nevyžaduje, jen podporuje.

Příklad CAA záznamu

Pojďme se konečně podívat, jak by mělo vypadat vaše nastavení DNS zóny domény zabezpečené SSL certifikátem.

DNS záznam CAA vypadá takto:

ORIGIN example.com
      CAA 0 issue "ca.example.net"

V případě nastavení záznamu pro autoritaci CA GeoTrust by záznam vypadal takto:

ORIGIN example.com
      CAA 0 issue "geotrust.com"

Tento záznam by platil pro celou doménu, tedy včetně domén nižších řádů.

Chcete-li autorizovat i druhou CA Thawte, stačí doplnit nový řádek.

ORIGIN example.com
      CAA 0 issue "geotrust.com"
      CAA 0 issue "thawte.com"

Zřejmě si kladete otázku, kam by certifikační autorita poslala žádost o autorizaci vystavení certifikátu. Kontakty se podle RFC vkládají k záznamu tímto způsobem:

  $ORIGIN example.com
   .       CAA 0 issue "ca.example.net"
   .       CAA 0 iodef "mailto:security@example.com"
   .       CAA 0 iodef "http://iodef.example.com/"

Použití CAA záznamu a podpora ze strany autorit

Při použití CAA záznamu se bohužel musíte spolehnout na podporu ze strany certifikačních autorit. U těch velkých zřejmě neočekáváte, že by došlo ke zneužití. Ty menší certifikační autority a některé obskurní však nepodporováním CAA podporují možnost zneužití. Paradoxně i proti nim je CAA zaměřen.

Pokud například CA CN-NIC nebude CAA podporovat, nebude pro ni problém vystavit falešný certifikát pro vaši doménu. Pak může přijít na řadu TLSA. Samozřejmě toto riziko je eliminováno u EV certifikátů, kde se krom standardních bezpečnostních mechanismů používá i Certificate Transparency a Public Key Pinning (u populárních domén).

Více informací:

  1. Request for Comments: 6844 - DNS Certification Authority Authorization (CAA) Resource Record
  2. Request for Comments: 6698 - The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA

Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz