TSIG

TSIG ( podpis transakcji ) to protokół sieci komputerowej zdefiniowany w dokumencie RFC 2845. Przede wszystkim umożliwia systemowi nazw domen (DNS) uwierzytelnianie aktualizacji bazy danych DNS. Jest najczęściej używany do aktualizacji dynamicznego DNS lub pomocniczego/podrzędnego serwera DNS. TSIG wykorzystuje współdzielone tajne klucze i jednokierunkowe haszowanie , aby zapewnić kryptograficznie bezpieczny sposób uwierzytelniania każdego punktu końcowego połączenia jako uprawnionego do wykonywania aktualizacji DNS lub odpowiadania na nią.

Chociaż zapytania do DNS mogą być zwykle wykonywane bez uwierzytelnienia, aktualizacje DNS muszą być uwierzytelniane, ponieważ powodują trwałe zmiany w strukturze systemu nazewnictwa internetowego. Ponieważ żądanie aktualizacji może dotrzeć przez niezabezpieczony kanał (Internet), należy podjąć środki w celu zapewnienia autentyczności i integralności żądania. Użycie klucza współdzielonego przez klienta dokonującego aktualizacji i serwer DNS pomaga zapewnić autentyczność i integralność żądania aktualizacji. Jednokierunkowa funkcja mieszania służy do zapobiegania modyfikowaniu aktualizacji i przekazywaniu jej dalej do miejsca docelowego przez złośliwych obserwatorów, zapewniając w ten sposób integralność wiadomości od źródła do miejsca docelowego.

W protokole TSIG zawarty jest znacznik czasu, aby zapobiec ponownemu wykorzystaniu zarejestrowanych odpowiedzi, co umożliwiłoby atakującemu naruszenie bezpieczeństwa TSIG. To nakłada na dynamiczne serwery DNS i klientów TSIG wymóg posiadania dokładnego zegara. Ponieważ serwery DNS są podłączone do sieci, Network Time Protocol może zapewnić dokładne źródło czasu.

Aktualizacje DNS, podobnie jak zapytania, są zwykle przesyłane przez UDP , ponieważ wymaga to mniejszych narzutów niż TCP . Jednak serwery DNS obsługują zarówno żądania UDP, jak i TCP.

Realizacja

Aktualizacja, zgodnie z dokumentem RFC 2136, to zestaw instrukcji dla serwera DNS. Obejmują one nagłówek, strefę do aktualizacji, wymagania wstępne, które muszą zostać spełnione, oraz rekord(y) do aktualizacji. TSIG dodaje końcowy rekord, który zawiera znacznik czasu i skrót żądania. Zawiera również nazwę tajnego klucza, który został użyty do podpisania żądania. RFC 2535 zawiera zalecenia dotyczące formy nazwy.

Odpowiedź na udaną aktualizację TSIG zostanie również podpisana rekordem TSIG. Awarie nie są podpisywane, aby uniemożliwić osobie atakującej uzyskanie informacji o kluczu TSIG przy użyciu specjalnie spreparowanych „sond” aktualizacyjnych.

Program nsupdate może używać TSIG do aktualizacji DNS.

Rekord TSIG ma taki sam format jak inne rekordy w żądaniu aktualizacji. Znaczenie pól opisano w dokumencie RFC 1035.

Pola rekordów TSIG
Pole Bajty Wartość Opis
NAZWA Maks. 256 Zmienia się nazwa klucza; identyfikuje klucz zarówno na kliencie, jak i na serwerze
TYP 2 TSIG (250)
KLASA 2 DOWOLNE (255)
TTL 4 0 Rekordy TSIG nie mogą być buforowane
DŁUGOŚĆ 2 Zmienia się Długość pola RDATA
RDATA DŁUGOŚĆ Zmienia się Struktura zawierająca znacznik czasu, algorytm i dane skrótu

Alternatywy dla TSIG

Chociaż TSIG jest szeroko stosowany, istnieje kilka problemów z protokołem:

  • Wymaga dystrybucji tajnych kluczy do każdego hosta, który musi dokonywać aktualizacji.
  • Chociaż nadal jest w powszechnym użyciu, skrót HMAC-MD5 nie jest już uważany za bardzo bezpieczny. Preferowany jest HMAC-SHA256. [ potrzebne źródło ]

W rezultacie zaproponowano szereg alternatyw i rozszerzeń.

  • RFC 2137 określa metodę aktualizacji przy użyciu rekordu DNS „SIG” klucza publicznego . Klient posiadający odpowiedni klucz prywatny może podpisać żądanie aktualizacji. Ta metoda jest zgodna z DNSSEC dla bezpiecznych zapytań. Jednak ta metoda jest przestarzała w RFC 3007.
  • W 2003 r. RFC 3645 zaproponował rozszerzenie TSIG, aby umożliwić metodę bezpiecznej wymiany kluczy Generic Security Service (GSS), eliminując potrzebę ręcznej dystrybucji kluczy do wszystkich klientów TSIG. Metoda dystrybucji kluczy publicznych jako rekordu zasobów DNS (RR) jest określona w dokumencie RFC 2930, przy czym GSS jest jednym z trybów tej metody. Zmodyfikowany GSS-TSIG - wykorzystujący Windows Kerberos Server - został zaimplementowany przez Microsoft Windows Active Directory serwerów i klientów o nazwie Bezpieczna aktualizacja dynamiczna. W połączeniu ze źle skonfigurowanym DNS (bez strefy wyszukiwania wstecznego) wykorzystującym adresowanie RFC 1918, aktualizacje odwrotnego DNS przy użyciu tego schematu uwierzytelniania są masowo przekazywane do głównych serwerów DNS, zwiększając w ten sposób ruch do głównych serwerów DNS. Istnieje anycast , która zajmuje się tym ruchem, aby zabrać go z głównych serwerów DNS.
  • RFC 2845 definiuje TSIG, określa tylko jedną dozwoloną funkcję haszującą, 128-bitową HMAC-MD5 , która nie jest już uważana za wysoce bezpieczną. Rozesłano RFC 4635, aby umożliwić haszowanie RFC 3174 Secure Hash Algorithm (SHA1) i haszowanie FIPS PUB 180-2 SHA-2 w celu zastąpienia MD5. 160-bitowe i 256-bitowe skróty generowane przez SHA1 i SHA-2 są bezpieczniejsze niż 128-bitowy skrót generowany przez MD5 .
  • RFC 2930 definiuje TKEY , rekord DNS używany do automatycznej dystrybucji kluczy z serwera DNS do klientów DNS.
  • RFC 3645 definiuje GSS-TSIG, który używa gss-api i TKEY do automatycznej dystrybucji kluczy w trybie gss-api.
  • Propozycja DNSCurve ma wiele podobieństw do TSIG.

Zobacz też

  1. ^ „RFC 7534 — Operacje serwera nazw AS112” . maj 2015 . Źródło 2017-12-29 .
  2. ^ „Przegląd projektu AS112” , pobrano 2017-12-29.

Linki zewnętrzne

  •   RFC 2136 Dynamiczne aktualizacje w systemie nazw domen (AKTUALIZACJA DNS)
  •   RFC 2845 Uwierzytelnianie transakcji tajnym kluczem dla DNS (TSIG)
  •   RFC 2930 Ustanowienie tajnego klucza dla DNS (TKEY RR)
  •   RFC 3645 Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG)
  •   RFC 3174 Amerykański bezpieczny algorytm mieszania 1
  •   RFC 4635 HMAC SHA TSIG Identyfikatory algorytmów
  •   RFC 8945 Uwierzytelnianie transakcji tajnym kluczem dla DNS (TSIG)