Oblivious DNS over HTTPS (ODoH): próba poprawy prywatności DNS
Opublikowany: 2020-12-14System nazw domen lub DNS to zdecentralizowany system nazewnictwa dla wszystkich różnych witryn internetowych, które istnieją w Internecie. Jest to jeden z podstawowych elementów budulcowych Internetu i istnieje od ponad trzech dekad. W tym okresie system był przedmiotem krytyki, wraz z ważnymi argumentami, w zakresie wdrażania i związanych z nim obaw o prywatność. W rezultacie podjęto kilka prób rozwiązania tych obaw.
Jedną z takich ofert — i bardzo niedawną — jest wprowadzenie protokołu DNS over HTTPS (DoH), który obiecuje zabezpieczyć komunikację DNS poprzez przesyłanie jej w sposób zaszyfrowany. Chociaż DoH teoretycznie wygląda obiecująco i udaje mu się rozwiązać jeden z problemów z DNS, nieumyślnie ujawnia inny problem. Aby to naprawić, mamy teraz inny nowy protokół o nazwie Oblivious DNS over HTTPS (ODoH), który został opracowany wspólnie przez Cloudflare, Apple i Fastly. Oblivious DoH to w zasadzie rozszerzenie protokołu DoH, które oddziela zapytania DNS od adresów IP (użytkownika), aby uniemożliwić programowi rozpoznawania nazw DNS poznanie witryn odwiedzanych przez użytkownika — coś w rodzaju [więcej na ten temat później].
„ To, co ma robić ODoH, to oddzielenie informacji o tym, kto tworzy zapytanie, od tego, czym ono jest ” — powiedział na swoim blogu Nick Sullivan, szef działu badań Cloudflare.
Spis treści
Niepamięć DNS przez HTTPS (lub ODoH)
Zanim przejdziemy do tego, czym jest ODoH, najpierw zrozummy, czym jest DNS, a następnie DNS przez HTTPS, oraz ograniczenia, które te dwa wprowadzają.
DNS (system nazw domen)
System nazw domen lub DNS to zdecentralizowany system prowadzenia rejestrów wszystkich stron internetowych w Internecie. Można o nim myśleć jako o repozytorium (lub książce telefonicznej) numerów telefonów, które zawiera listę abonentów telefonicznych i odpowiadających im numerów telefonów.
Jeśli chodzi o Internet, DNS jest kluczowym graczem w tworzeniu systemu, który umożliwia dostęp do strony internetowej po prostu wprowadzając nazwę jej domeny, bez konieczności zapamiętywania powiązanego z nią adresu IP (protokołu internetowego). Dzięki temu możesz wpisać techpp.com w polu adresu, aby wyświetlić tę stronę bez konieczności zapamiętywania jej adresu IP, który może wyglądać jak 103.24.1.167 [nie nasz adres IP]. Widzisz, to adres IP jest wymagany do nawiązania połączenia między Twoim urządzeniem a witryną internetową, do której próbujesz uzyskać dostęp. Ale ponieważ adres IP nie jest tak łatwy do zapamiętania jak nazwa domeny, istnieje potrzeba rozwiązania DNS, aby rozwiązać nazwy domen na powiązane adresy IP i zwrócić żądaną stronę internetową.
Problem z DNS
Chociaż DNS upraszcza dostęp do Internetu, ma kilka niedociągnięć — największym z nich jest brak prywatności (i bezpieczeństwa), który stanowi zagrożenie dla danych użytkownika i naraża je na przeglądanie przez dostawcę usług internetowych lub podsłuchiwanie przez niektórych zły facet w internecie. Powodem, dla którego jest to możliwe, jest fakt, że komunikacja DNS (żądanie/zapytanie i odpowiedź DNS) jest niezaszyfrowana, co oznacza, że odbywa się w postaci zwykłego tekstu i dlatego może zostać przechwycona przez każdego w środku (między użytkownikiem a dostawcą usług internetowych) .
DoH (DNS przez HTTPS)
Jak wspomniano na początku, protokół DNS over HTTPS (DoH) został wprowadzony w celu rozwiązania tego problemu (bezpieczeństwa) DNS. Zasadniczo protokół zamiast zezwalać na komunikację DNS — między klientem DoH a przelicznikiem opartym na DoH — odbywa się w postaci zwykłego tekstu, wykorzystuje szyfrowanie w celu zabezpieczenia komunikacji. W ten sposób udaje się zabezpieczyć dostęp użytkowników do Internetu i do pewnego stopnia zmniejszyć ryzyko ataków typu man-in-the-middle.
Problem z DoH
Chociaż DoH rozwiązuje problem nieszyfrowanej komunikacji przez DNS, budzi obawy o prywatność — o zapewnienie dostawcy usług DNS pełnej kontroli nad danymi sieciowymi. Ponieważ dostawca DNS działa jako pośrednik między Tobą a witryną, do której uzyskujesz dostęp, przechowuje on zapis Twojego adresu IP i wiadomości DNS. W pewnym sensie rodzi to dwie obawy. Po pierwsze, pozostawia pojedynczy podmiot z dostępem do danych sieciowych — umożliwiając przelicznikowi powiązanie wszystkich zapytań z adresem IP, a po drugie, z powodu pierwszego problemu, komunikacja jest podatna na pojedynczy punkt awarii (atak). .
Protokół ODoH i jego działanie
Najnowszy protokół, ODoH, opracowany wspólnie przez Cloudflare, Apple i Fastly, ma na celu rozwiązanie problemu centralizacji za pomocą protokołu DoH. W tym celu Cloudflare sugeruje, że nowy system oddziela adresy IP od zapytań DNS, aby żadna pojedyncza jednostka, z wyjątkiem użytkownika, nie mogła jednocześnie wyświetlać obu informacji.
OdoH rozwiązuje ten problem, wprowadzając dwie zmiany. Dodaje warstwę szyfrowania kluczem publicznym i serwer proxy sieci między klientem (użytkownikiem) a serwerem DoH. W ten sposób twierdzi, że gwarantuje, że tylko użytkownik ma jednocześnie dostęp do wiadomości DNS i adresów IP.
Krótko mówiąc, ODoH działa jak rozszerzenie protokołu DoH, którego celem jest osiągnięcie następujących celów:
i. uniemożliwić przelicznikowi DoH ustalenie, który klient zażądał jakich nazw domen, poprzez kierowanie żądań za pośrednictwem proxy w celu usunięcia adresów klientów,
ii. uniemożliwić serwerowi proxy poznanie treści zapytań i odpowiedzi oraz uniemożliwić programowi przeliczeniowemu poznanie adresów klientów poprzez szyfrowanie połączenia w warstwach.
Przepływ wiadomości z ODoH
Aby zrozumieć przepływ komunikatów za pomocą ODoH, rozważ powyższy rysunek, na którym serwer proxy znajduje się między klientem a celem. Jak widać, gdy klient żąda zapytania (np. example.com), to samo trafia do serwera proxy, który następnie przekazuje je do celu. Cel odbiera to zapytanie, odszyfrowuje je i generuje odpowiedź, wysyłając żądanie do (rekursywnego) resolvera. W drodze powrotnej cel szyfruje odpowiedź i przesyła ją do serwera proxy, który następnie odsyła ją z powrotem do klienta. Na koniec klient odszyfrowuje odpowiedź i otrzymuje odpowiedź na żądane zapytanie.
W tym ustawieniu komunikacja — między klientem a serwerem proxy oraz serwerem proxy i celem — odbywa się za pośrednictwem protokołu HTTPS, co zwiększa bezpieczeństwo komunikacji. Co więcej, cała komunikacja DNS odbywa się za pośrednictwem obu połączeń HTTPS — klient-proxy i proxy-target — jest szyfrowana od końca do końca, dzięki czemu serwer proxy nie ma dostępu do treści wiadomości. Niemniej jednak, chociaż w tym podejściu dba się zarówno o prywatność użytkownika, jak i bezpieczeństwo, gwarancja, że wszystko działa zgodnie z sugestiami, sprowadza się do ostatecznego warunku — proxy i serwer docelowy nie są w zmowie. Dlatego firma sugeruje, że „dopóki nie ma zmowy, atakujący odnosi sukces tylko wtedy, gdy zarówno serwer proxy, jak i cel zostaną naruszone”.
Jak na blogu Cloudflare, oto, co gwarantuje szyfrowanie i proxy:
i. Cel widzi tylko zapytanie i adres IP proxy.
ii. Serwer proxy nie ma wglądu w wiadomości DNS, bez możliwości identyfikowania, odczytywania lub modyfikowania zapytania wysyłanego przez klienta lub odpowiedzi zwracanej przez cel.
iii. Tylko zamierzony cel może odczytać treść zapytania i wygenerować odpowiedź.
Dostępność ODoH
Oblivious DNS over HTTPS (ODoH) jest obecnie tylko proponowanym protokołem i musi zostać zatwierdzony przez IETF (Internet Engineering Task Force), zanim zostanie przyjęty w sieci. Mimo że Cloudflare sugeruje, że jak dotąd ma firmy takie jak PCCW, SURF i Equinix jako partnerów proxy, które pomagają w uruchomieniu protokołu i że dodała możliwość przyjmowania żądań ODoH w swojej usłudze DNS 1.1.1.1 Prawda jest taka, że o ile przeglądarki internetowe nie dodadzą natywnie obsługi protokołu, nie można z niego korzystać. Ponieważ protokół jest nadal w fazie rozwoju i jest testowany pod kątem wydajności na różnych serwerach proxy, poziomach opóźnień i celach. Z tego powodu od razu rozstrzyganie losów ODoH może nie być mądrym posunięciem.
Na podstawie dostępnych informacji i danych protokół wydaje się być obiecujący dla przyszłości DNS — przyznając, że udaje mu się osiągnąć taki rodzaj prywatności, jaki obiecuje, bez uszczerbku dla wydajności. Ponieważ jest już bardzo oczywiste, że DNS, odpowiedzialny za odgrywanie kluczowej roli w funkcjonowaniu Internetu, nadal cierpi z powodu problemów z prywatnością i bezpieczeństwem. I pomimo niedawnego dodania protokołu DoH, który obiecuje zwiększyć aspekt bezpieczeństwa DNS, przyjęcie nadal wydaje się odległe ze względu na obawy dotyczące prywatności, które budzi.
Ale jeśli ODoH zdoła spełnić swoje roszczenia w zakresie prywatności i wydajności, jego połączenie z DoH, pracując w tandemie, może rozwiązać zarówno kwestie prywatności, jak i bezpieczeństwa DNS. A z kolei spraw, aby była bardziej prywatna i bezpieczna niż to, co jest dzisiaj.