Czy SNI stanowi zagrożenie dla prywatności odwiedzających moją witrynę?

10

Po pierwsze przepraszam za mój zły angielski. Nadal się tego uczę. Oto jest:

Gdy hostuję jedną witrynę dla każdego adresu IP, mogę używać „czystego” protokołu SSL (bez SNI), a wymiana kluczy następuje, zanim użytkownik powie mi nazwę hosta i ścieżkę, którą chce odzyskać. Po wymianie klucza wszystkie dane można bezpiecznie wymieniać. To powiedziawszy, jeśli ktoś będzie wąchał sieć, nie zostaną ujawnione żadne poufne informacje * (patrz przypis).

Z drugiej strony, jeśli hostuję wiele stron internetowych na jeden adres IP, prawdopodobnie użyję SNI, a zatem odwiedzający moją stronę musi mi powiedzieć docelową nazwę hosta, zanim będę mógł dostarczyć mu odpowiedni certyfikat. W takim przypadku ktoś wąchający jego sieć może śledzić wszystkie domeny witryny, do których ma dostęp.

Czy w moich założeniach są jakieś błędy? Jeśli nie, to czy nie stanowi to zagrożenia dla prywatności, zakładając, że użytkownik używa również szyfrowanego DNS?

Przypis: Zdaję sobie również sprawę, że sniffer może dokonać wstecznego wyszukiwania adresu IP i dowiedzieć się, które strony internetowe były odwiedzane, ale nazwa hosta podróżująca w postaci zwykłego tekstu przez kable sieciowe wydaje się ułatwiać władzom cenzury blokowanie domen opartych na słowach kluczowych.

pagliuca
źródło
Co rozumiesz przez „blokowanie domen oparte na słowach kluczowych”? Jak dopasowałbyś domenę do słowa kluczowego?
David Schwartz,
Przykłady: strony internetowe z określonego regionu (* .com.br); z organizacji (* .google.com); *porno*; itp.
pagliuca,

Odpowiedzi:

9

Twoja analiza jest nieprawidłowa. Jesteś bezpieczniejszy dzięki SNI niż bez niego.

Bez SNI adres IP jednoznacznie identyfikuje host. W ten sposób każdy, kto może ustalić adres IP, może określić hosta.

W przypadku SNI adres IP nie jednoznacznie identyfikuje hosta. Ktoś musiałby faktycznie przechwycić i przejrzeć część ruchu, aby ustalić dokładny host. Jest to trudniejsze niż tylko uzyskanie adresu IP.

Jesteś więc (nieco) bardziej bezpieczny dzięki SNI niż bez niego.

Każdy, kto będzie blokował na podstawie uciążliwej analizy danych pakietowych, będzie również blokował na podstawie adresu IP. Będą blokować „złe” na podstawie adresu IP z SNI lub bez SNI.

Jednak odpowiedź na twoje pytanie brzmi „tak”. SNI nie stanowi zagrożenia dla prywatności. Dzięki SNI ktoś, kto może przechwycić ruch, oprócz nazwy IP otrzymuje nazwę hosta.

David Schwartz
źródło
Dziękuję za odpowiedź. Więc SNI byłby bezpieczniejszy tylko w przypadkach, gdy atakujący zaczyna wąchać dopiero po wymianie kluczy, czy mam rację?
pagliuca,
2
@pagliuca SSL tak naprawdę nie jest przeznaczony do ukrywania, z kim rozmawiasz, jest przeznaczony do ukrywania tego, co do nich mówisz. Nie zamierzasz pokonać filtru internetowego, unikając wysyłania SNI; przechowują rozległe bazy danych IP do domeny. W każdym razie punkt rootowania, ponieważ przeglądarka klienta, która obsługuje SNI, zawsze wysyła SNI, niezależnie od tego, czy Twój serwer tego potrzebuje.
Shane Madden,
@ShaneMadden Interesujące. Wiedząc o tym, teraz nie mam powodu, aby nie używać SNI :), ponieważ prawdopodobnie większość użytkowników ma już przeglądarki, które ujawniają zdalną nazwę hosta w każdym żądaniu HTTPS.
pagliuca
1
Ta odpowiedź jest zła. Znacznie łatwiej jest pasywnie wąchać SNI (i na pewno wiedzieć, o którą stronę prosił użytkownik), niż aktywnie wychodzić na adres IP, aby zgadywać, co przeglądał użytkownik (który z symbolami wieloznacznymi może zawierać wiele witryn, adresy IP również zmieniają się z czasem, podczas gdy gromadzone dane SNI pozostają wiecznie niszczące prywatność dokładne).
cnd
@ cnd Nie musisz wcale „aktywnie wychodzić na adres IP”. Jeśli możesz pasywnie wąchać SNI, możesz pasywnie wąchać adres IP. Albo jest na liście witryn, które oglądasz, albo nie. I bez SNI adres IP jednoznacznie identyfikuje witrynę. W przypadku SNI tak nie jest.
David Schwartz
0

Masz rację. SNI jest poważnym problemem dla twoich odwiedzających - ujawnia dokładne strony internetowe, z którymi użytkownicy łączą się z dostawcą usług internetowych i innymi pasywnymi stronami słuchającymi. Ale tak też DNS ... no cóż ... przywykł do: google naprawia to: -

https://thehackernews.com/2017/10/android-dns-over-tls.html

Znajomość adresu IP NIE mówi ISP, która strona internetowa znajduje się na tym adresie IP, chyba że aktywnie wychodzą i szukają siebie, co jest czymś zupełnie innym niż pasywne węszenie pakietów klientów.

cnd
źródło