DNSSEC
DNSSEC (ang. DNS Security Extensions) - rozszerzenie systemu DNS mające na celu zwiększenie jego bezpieczeństwa. DNSSEC zapewnia uwierzytelnianie źródeł danych (serwerów DNS) za pomocą kryptografii asymetrycznej oraz podpisów cyfrowych.
Spis treści |
Działanie[edytuj]
Serwery i klienci systemu DNS są pod opieką administracyjną. Ich bezpieczeństwo polega na zabezpieczeniu transmisji. Całą strukturę systemu DNS przed modyfikacją i sfałszowaniem zabezpiecza protokół DNSSEC, który umożliwia: integralność, sprawdzenie danych, definicję zabezpieczenia strefy, co zapewnia bezpieczeństwo całego systemu.
Dane w strefach pakowane są w paczki RRset, które zawierają rekordy rozpoznawane przez taką samą nazwę, klasę i typ. Podpisywanie paczek RRset a nie pojedynczych rekordów RR jest bardziej użyteczne, gdyż serwer nazw zwykle zwraca całą grupę rekordów w odpowiedzi na pytanie DNSowe. Podpisy tworzy się przy wykorzystaniu algorytmów MD5 i RSA lub algorytmów SHA-1 i DSA. Grupa rekordów jest zaszyfrowana prywatnym kluczem strefy. Użytkownik systemu może sprawdzić informacje za pomocą publicznego klucza strefy. Do 2008 roku specyfikacja DNSSEC wymagała ujawnienia wszystkich podpisywanych domen. W nowej specyfikacji wprowadzono mechanizm NSEC3, który miał ten problem rozwiązać. W praktyce jednak możliwe jest jego złamanie[1].
Dodatkowe elementy wprowadzone przez DNSSEC[edytuj]
Protokół DNSsec wprowadza do systemu DNS rekordy, które zapewniają jego bezpieczeństwo:
- klucz publiczny DNSKEY – sprawdza podpisy paczek RRset,
- rekord NSEC (Next Secure) – zapewnia spójność danych strefy i umożliwia sprawdzenie informacji, czy istnieje rekord lub o braku zabezpieczeń,
- rekord RRSIG (Resource Record Signature) – zawiera podpis zestawu rekordów RRset,
- rekord DS (Delegation Signer) – wskazuje klucz KSK (Key Signing Key), podpisujący klucz ZSK (Zone Signing Key) strefy podrzędnej.
Protokół DNSsec wprowadza nowe bity nagłówka komunikatu systemu DNS:
- DO (DNSSEC OK) – resolver obsługuje DNSSEC
- AD (Authenticated Data) – dane autentyczne, bit ten informuje, że dane zostały sprawdzone,
- CD (Checking Disabled) – wyłączone sprawdzanie. Informuje serwer, że dane niesprawdzone będą akceptowane.
Przypisy
- ↑ Daniel J. Bernstein: Breaking DNSSEC. University of Illinois at Chicago, 2009.