Urzędy certyfikacji (CA) to organizacje, które są zaręczeni certyfikat kryptograficzny Certyfikaty SSL. Złożyli na nich swój podpis elektroniczny, potwierdzając ich autentyczność. Czasami jednak zdarzają się sytuacje, w których wydawane są certyfikaty z naruszeniami. Na przykład w zeszłym roku Google wszczął „procedurę odmowy zaufania” w przypadku certyfikatów Symanteca ze względu na ich naruszenie (tę historię szczegółowo opisaliśmy na naszym blogu - czas и два).
Aby uniknąć takich sytuacji, kilka lat temu IETF zaczął się rozwijać Technologia DANE (ale nie jest ona powszechnie stosowana w przeglądarkach - o tym, dlaczego tak się stało, porozmawiamy później).
DANE (ang. DNS-based Authentication of Named Entities) to zestaw specyfikacji pozwalający na wykorzystanie DNSSEC (Name System Security Extensions) do kontroli ważności certyfikatów SSL. DNSSEC to rozszerzenie systemu nazw domen, które minimalizuje ataki polegające na fałszowaniu adresów. Korzystając z tych dwóch technologii, webmaster lub klient może skontaktować się z jednym z operatorów stref DNS i potwierdzić ważność używanego certyfikatu.
Zasadniczo DANE pełni funkcję certyfikatu z podpisem własnym (gwarantem jego niezawodności jest DNSSEC) i uzupełnia funkcje urzędu certyfikacji.
Jak to działa
Specyfikacja DANE jest opisana w RFC6698. Jak wynika z dokumentu, w Rekordy zasobów DNS dodano nowy typ – TLSA. Zawiera informacje o przesyłanym certyfikacie, rozmiarze i rodzaju przesyłanych danych, a także o samych danych. Webmaster tworzy cyfrowy odcisk palca certyfikatu, podpisuje go za pomocą DNSSEC i umieszcza w TLSA.
Klient łączy się z witryną w Internecie i porównuje jej certyfikat z „kopią” otrzymaną od operatora DNS. Jeśli są zgodne, zasób jest uważany za zaufany.
Strona wiki DANE zawiera następujący przykład żądania DNS do example.org na porcie TCP 443:
IN TLSA _443._tcp.example.org
Odpowiedź wygląda następująco:
_443._tcp.example.com. IN TLSA (
3 0 0 30820307308201efa003020102020... )
DANE ma kilka rozszerzeń, które współpracują z rekordami DNS innymi niż TLSA. Pierwszy to rekord DNS SSHFP służący do sprawdzania poprawności kluczy w połączeniach SSH. Opisane jest w RFC4255, RFC6594 и RFC7479. Drugi to wpis OPENPGPKEY dotyczący wymiany kluczy przy użyciu PGP (RFC7929). Wreszcie trzeci to rekord SMIMEA (standard nie jest sformalizowany w RFC, istnieje tylko jego szkic) do wymiany kluczy kryptograficznych poprzez S/MIME.
Jaki jest problem z DANE
W połowie maja odbyła się konferencja DNS-OARC (jest to organizacja non-profit zajmująca się bezpieczeństwem, stabilnością i rozwojem systemu nazw domenowych). Eksperci na jednym z paneli doszedłem do wnioskuże technologia DANE w przeglądarkach zawiodła (przynajmniej w jej obecnej implementacji). Obecny na konferencji Geoff Huston, wiodący naukowiec APNIC, jeden z pięciu regionalnych rejestratorów internetowych, odpowiedział o DANE jako o „martwej technologii”.
Popularne przeglądarki nie obsługują uwierzytelniania certyfikatów przy użyciu DANE. W sklepie są specjalne wtyczki, które ujawniają funkcjonalność rekordów TLSA, ale także ich obsługę stopniowo przestawaj.
Problemy z dystrybucją DANE w przeglądarkach są związane z długością procesu sprawdzania poprawności DNSSEC. System jest zmuszony do wykonania obliczeń kryptograficznych w celu potwierdzenia autentyczności certyfikatu SSL i przejścia przez cały łańcuch serwerów DNS (od strefy głównej do domeny hosta) przy pierwszym połączeniu z zasobem.
Mozilla próbowała wyeliminować tę wadę za pomocą mechanizmu Rozszerzenie łańcucha DNSSEC dla TLS-a. Miało to na celu zmniejszenie liczby rekordów DNS, które klient musiał wyszukiwać podczas uwierzytelniania. Jednak w grupie rozwojowej pojawiły się nieporozumienia, których nie udało się rozwiązać. W rezultacie projekt został porzucony, choć został zatwierdzony przez IETF w marcu 2018 roku.
Innym powodem małej popularności DANE jest niska częstość występowania DNSSEC na świecie - współpracuje z nim tylko 19% zasobów. Eksperci uznali, że to nie wystarczy, aby aktywnie promować DANE.
Najprawdopodobniej branża będzie rozwijać się w innym kierunku. Zamiast używać DNS do weryfikacji certyfikatów SSL/TLS, gracze rynkowi będą zamiast tego promować protokoły DNS-over-TLS (DoT) i DNS-over-HTTPS (DoH). O tym ostatnim wspominaliśmy w jednym z naszych poprzednie materiały na Habré. Szyfrują i weryfikują żądania użytkowników kierowane do serwera DNS, uniemożliwiając atakującym fałszowanie danych. Na początku roku DoT już był wdrożone do Google w celu uzyskania publicznego DNS. Jeśli chodzi o DANE, to, czy technologia będzie w stanie „wrócić na siodło” i nadal stanie się powszechna, okaże się w przyszłości.