Hlavní navigace

České domény budou bezpečnější

27. 3. 2008
Doba čtení: 6 minut

Sdílet

 Autor: 29
DNSSEC je rozšíření doménového systému DNS, které umožní ověřit pravost informací získaných z DNS a předcházet tak např. phishingu či spamu. Hodně se kolem něj mluví, do praxe se ale prosazuje jen pomalu. V letošním roce má ta velká chvíle nastat v ČR - CZ.NIC chystá zavedení DNSSEC do domén .cz a 0.2.4.e164.arpa.

Jak funguje DNSSEC

Ověření pravosti údajů není nijak nový problém, jeho obvyklým řešením bývá digitální podpis. Také DNSSEC zvolil tento přístup – do DNS se přidají nové záznamy, které budou obsahovat podpisy ostatních informací. Nepodepisují se jednotlivé záznamy, ale vždy skupina záznamů se stejným jménem a typem. Pokud například pro pc.onde.cz budou existovat tři záznamy typu A a jeden záznam typu MX, přidají se pro něj dva digitální podpisy: jeden podepíše všechny tři záznamy A, druhý záznam MX.

Odpovídá to logice dotazů a odpovědí v DNS. Jestliže klient shání záznam určitého typu pro nějaké jméno, dostává v odpovědi vždy všechny záznamy splňující jeho požadavky. V DNSSEC k nim bude připojen jeden společný podpis, aby objem odpovědi zbytečně nenarůstal. Podpisy (uložené v záznamech nově zavedeného typu RRSIG) jsou totiž poměrně velké.

Digitální podpis založený na asymetrické kryptografii, kdy odesilatel informaci podepíše svým soukromým klíčem, který nikdy nedá z ruky, a příjemce ji ověřuje volně dostupným veřejným klíčem, je známý již poměrně dlouho. Známý je také největší nedostatek jeho plošného použití – jak si důvěryhodně opatřit veřejný klíč náhodného odesilatele.

Pro běžné digitální podpisy má k tomuto účelu sloužit certifikační autorita, která svým digitálním podpisem potvrdí, že údaje v certifikátu (obvykle veřejný klíč a adresa) k sobě opravdu patří. Aby klient mohl důvěřovat podpisu certifikační autority, je její veřejný klíč certifikován autoritou vyšší úrovně a tak dále hierarchicky až po kořenovou certifikační autoritu, jejíž veřejný klíč umožní ověřit vše a klienti jej získají například rovnou při instalaci operačního systému.

Říká se tomu infrastruktura veřejných klíčů (PKI) a existuje to pouze ideově, protože líté politicko-ekonomické boje o provozování oné bájné kořenové certifikační autority držící klíč ke všemu zatím nemají vítěze. Místo jednoho stromu máme les a každý webový prohlížeč obsahuje haldu certifikátů jeho jednotlivých podstromů (ve svém Firefoxu jsem jich napočítal něco přes stovku).

DNSSEC na to jde podobně – veřejný klíč domény potvrzuje doména nadřazená. Do podepsané domény se vloží záznam DNSKEY obsahující její veřejný klíč a do její rodičovské domény přibude záznam DS (Delegation Signer) umožňující ověřit pravost klíče. Typicky obsahuje SHA1 hash dotyčného klíče a je podepsán klíčem rodičovské domény, který lze opět ověřit záznamem DS o patro výš, a tak dále až do kořene.

Existuje praktické doporučení (nikoli však povinnost) používat dva typy klíčů. Klíč pro podpis zóny (Zone Signing Key, ZSK) podepisuje jednotlivé záznamy v doméně. Může být kryptograficky slabší a bývá častěji měněn. Klíč pro podpis klíčů (Key Signing Key, KSK) pak slouží k podpisu záznamů obsahujících ZSK. Měl by být kryptograficky velmi silný, aby nebylo třeba jej často měnit. Jeho potvrzení je převzato do nadřazené domény. Toto uspořádání umožňuje měnit ZSK podle libosti, aniž by bylo nutné komunikovat se správcem nadřazené domény. Ověření platnosti A záznamu pro fiktivní server www.onde.cz by tedy vypadalo zhruba následovně:

1 - dnssec

Na rozdíl od PKI je DNS ve výrazně výhodnější výchozí pozici – hierarchie domén již existuje a ty mají své správce. Takže stačí, aby správci domén v hierarchii nasadili DNSSEC, podepsali své domény, předali DS záznamy do domén nadřazených a může se začít. Bohužel se – obdobně jako v případě PKI – rozhořel hektický spor o podpis kořenové domény. Nic nepomáhá, že doménu spravuje IANA a je tedy přirozeným kandidátem na podepisujícího. Místo přímočarého technického řešení se vedou politické boje o to, aby zlí Emeričani ten Internet příliš nekontrolovali. Dost na tom, že ho drze vymysleli.

Výsledkem tahanic, které se vedou již dlouho a k cíli nejspíš hned tak nepovedou, je vytvoření alternativního řešení. Nese název DNSSEC Lookaside Validation (DLV) a umožňuje poskytovat klíče k ověřování DNSSEC mimo standardní hierarchii DNS. Tedy například otisk KSK domény cz nebude obsažen v kořenové doméně, ale v některé DLV doméně. K získání se opět použije DNS, konkrétně DLV záznamy definované v RFC 4431. Jejich obsah je totožný se záznamy DS, ovšem umístění a zpracování se liší. Celý mechanismus je popsán v RFC 5074 a jeho hlavní předností je, že DLV úložišť může být více a není nutno řešit, kdo bude třímat jediný soukromý klíč k celému DNSSEC. DLV je koncipováno jako doplněk k DNSSEC – pokud existuje DNSSEC cesta k ověření údajů, má před DLV přednost. Pokud jednoho krásného dne bude kořenová doména skutečně podepsána, domény zapojené do globální DNSSEC hierarchie automaticky přestanou DLV využívat.

Paradoxně se zdá, že zatím vznikl jediný DLV registr. Provozuje jej Internet Systems Consortium, všeobecně známé díky autorství nejrozšířenějšího DNS serveru BIND. Existovala výzva, aby IANA vytvořila svůj DLV registr, ovšem nezdá se, že by padla na úrodnou půdu. Výzva měla podobu Internet draftu draft-weiler-dnssec-dlv-iana, jehož platnost mezitím vypršela. Osobně bych byl raději, kdyby IANA prosadila svůj podpis kořenové domény.

DNSSEC u nás

Jak se tohle všechno projeví v našich doménách cz a 0.2.4.e164.arpa? Pro zjednodušení budu nadále psát jen o doméně cz, kroky pro ENUM doménu jsou samozřejmě analogické, jen jejich načasování se trochu liší. CZ.NIC musí zajistit následující tři základní kroky:

  • podepsat doménu cz
  • umožnit správcům domén druhého řádu vkládat do ní DS záznamy pro své klíče
  • umožnit ověření pravosti veřejného klíče domény cz

Podepsat doménu cz je čistě technické opatření. Nástroje k tomu existují, jde vlastně jen o úpravu procesu, jehož prostřednictvím se data dostávají na autoritativní servery. Doména cz se generuje z údajů v databázi každých 30 minut, do budoucna se součástí tohoto procesu stane i její podpis. Klíče pro doménu cz budou rozděleny na KSK a ZSK. KSK budou dva a měly by se měnit jednou ročně, zatímco tři ZSK budou platit jeden měsíc.

Asi nejkomplikovanější je zahrnutí DS záznamů pro klíče podřízených domén. Stejně jako ostatní údaje je budou správci domén zadávat prostřednictvím registrátorů, což vyžaduje jak rozšíření komunikace mezi registrátory a registrem, tak úpravy nástrojů nabízených registrátory správcům domén. Pro práci s klíči zvolil CZ.NIC podobný přístup jako pro autoritativní servery. Zavedl nový objekt KEYSET obsahující sadu veřejných klíčů (KSK). Vytvořením vazby mezi doménou a KEYSETem správce domény oznámí, že klíče z dotyčné sady se používají k podepisování záznamů v dané doméně. Ze strany správce domény je takový přístup velmi flexibilní – umožňuje mu stejnou sadou klíčů podepisovat několik domén. Pokud se mají klíče změnit, stačí upravit KEYSET a změna se promítne do všech domén, které dotyčný KEYSET používají. Velmi podobně se dnes zachází s objektem NSSET nesoucím informace o autoritativních serverech pro domény.

Pro ověření pravosti veřejného klíče domény cz použije CZ.NIC mechanismus DLV, konkrétně registr dlv.isc.org provozovaný ISC. Při ověřování DNSSEC údajů z naší domény se prostředky DNSSEC dorazí až na úroveň domény cz, jejíž veřejný klíč se pak (pokud je klient patřičně konfigurován) ověří u dlv.isc.org.

BRAND24

2 - dnssec-dlv

Podle kalendáře na DNSSEC stránce sdružení CZ.NIC má ostrý provoz vypuknout již v září, tedy zhruba za půl roku. Tamtéž najdete i prezentace popisující DNSSEC obecně i praktické návody, jak postupovat při podpisu své domény. V nejbližších dnech tu zveřejní technický popis své implementace DNSSEC. Velmi dobrým zdrojem teoretických i praktických informací je také projekt DISI při RIPE NCC.

Vzhledem k rostoucímu pronikání Internetu do všech možných oblastí našich životů považuji DNSSEC za velmi přínosný. Už se těším na září…

Bude DNSSEC přínosem i pro vás osobně?

Byl pro vás článek přínosný?

Autor článku

Autor dělá nepořádek v příslovích, protože sítě nejen dělá, ale i učí a dokonce také řídí. Působí na Ústavu nových technologií a aplikované informatiky na Technické univerzitě v Liberci. Píše knihy.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).