TSIG (Transaction SIGnature) je v informatice označení pro protokol používaný v počítačových sítích pro zabezpečení změn v databázi DDNS (viz RFC 2845). Může být použit i pro zabezpečení běžných DNS dotazů nebo komunikace mezi servery. TSIG používá sdílené tajné klíče (viz symetrická kryptografie) a jednosměrné hašovací funkce, které umožňují mezi oběma stranami zajistit kryptograficky bezpečnou komunikaci.

Popis

[editovat | editovat zdroj]

I když dotazy na DNS mohou být uskutečněny anonymně (viz DNSSEC), aktualizace DNS musí být ověřeny, protože dělají trvalé změny do systému DNS. Použití klíče sdíleného klientem a DNS serverem zajišťuje ověření požadavku. Díky tomu aktualizační požadavek může procházet nezabezpečeným kanálem (internetem). Jako prevence proti zlomyslným uživatelům sítě, kteří by se snažili zjistit tajný klíč a provádět vlastní úpravy, je použito hašování.

Součástí protokolu TSIG je časová značka (anglicky timestamp), která znemožňuje opakované použití zachycené komunikace. Proto se po DDNS serverech a TSIG klientech vyžaduje, aby jejich čas byl přesný. Protože DNS servery jsou připojeny k síti, je možné pro seřízení času využít protokol NTP.

Aktualizace DNS, stejně jako dotazy jsou normálně přenášeny pomocí UDP, protože vyžaduje nižší režii než TCP. DNS servery ovšem podporují jak UDP tak TCP požadavky.

Implementace

[editovat | editovat zdroj]

Aktualizace, jak je specifikováno v RFC 2136, je sada instrukcí pro DNS server. Ty zahrnují hlavičku, oblast aktualizace, předpoklady, které musí být splněny, a záznamy k aktualizaci. TSIG přidává konečný záznam, který obsahuje časovou známku a haš požadavku. Obsahuje také jméno tajného klíče, který byl použit k podepsání požadavku. RFC 2535 obsahuje doporučenou podobu pro jméno.

Odpověď na úspěšnou TSIG aktualizaci bude také podepsána TSIG záznamem. Neúspěchy nejsou podepsány, aby se předešlo úniku jakýchkoli informací spojených s TSIG klíči pomocí speciálně vytvořených aktualizačních sond.

Nsupdate Dokáže využít TSIG pro aktualizaci DNS záznamu.

TSIG záznam má stejný formát jako ostatní dotazy v aktualizačním požadavku. Význam polí je popsán v RFC 1035.

pole TSIG záznamu
Pole Bajty Popis
NAME max 256 Jméno klíče, které musí být unikátní pro klienta a server
TYPE 2 TSIG (250)
CLASS 2 ANY (255)
TTL 4 0 (protože TSIG záznamy nesmí být cachovány)
RDLENGTH 2 délka pole RDATA
RDATA proměnná Struktura obsahující časovou známku, algoritmus a hašovaná data

Alternativy TSIG

[editovat | editovat zdroj]

I přes to, že TSIG je široce rozvinut, je s ním spojeno několik problémů:

Jako výsledek bylo navrženo mnoho alternativ:

Reference

[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku TSIG na anglické Wikipedii.