VPN i Tor nie zastępują HTTPS: gdzie kończy się każda warstwa
Tunel kończy się u własnego partnera, a obwód Tor przy przekaźniku wyjściowym. Tylko HTTPS dociera do samej witryny, więc zwykły formularz pozostaje czytelny.
VPN i obwód Tor szyfrują ruch przez część drogi. Oba przestają go szyfrować u partnera, którego wybierają same. HTTPS to warstwa, która dociera do samej witryny, i żadna ilość tunelowania przed nią nie zamienia zwykłego wysłania formularza w chronione. Prześledzenie każdej warstwy do miejsca, w którym się kończy, czyni to oczywistym.
Trzy warstwy, trzy różne punkty końcowe
Konwencjonalny VPN kończy swój tunel na serwerze VPN. Wszystko między twoim urządzeniem a tym serwerem jest w tunelu, a wszystko po nim nie jest. Obwód Tor zachowuje się tak samo z innym partnerem i opuszcza sieć przy przekaźniku wyjściowym, który przekazuje twoje żądanie do celu.
TLS kończy się w witrynie. Certyfikat, który zweryfikowałeś, wiąże nazwę hosta z kluczem kontrolowanym przez witrynę, a klucze sesji istnieją między twoją przeglądarką a tym serwerem. Ten punkt końcowy leży poza serwerem VPN i wyjściem Tor.
Zatem trzy warstwy mają trzy różne granice zaufania, a żądanie przechodzi przez nie po kolei. Wzmocnienie jednej nic nie mówi o pozostałych, a ostatnia jest jedyną, w której uczestniczy cel.
Co ujawnia ostatni skok
Jeśli aplikacja używa zwykłego HTTP, treść za wyjściem jest czytelna dla każdego, kto obsługuje ten skok. Wcześniejszy tunel wykonał swoją pracę doskonale i po prostu już go nie ma. Poświadczenia wpisane w formularz HTTP są ujawniane dokładnie w tym miejscu, w którym skończyła się ochrona.
| Layer | Terminates at | Who can read the request there |
|---|---|---|
| VPN tunnel | The VPN server you selected | The operator of that server, and anyone who can compel them |
| Tor circuit | An exit relay chosen by the network | The exit relay operator, for traffic that is not otherwise protected |
| HTTPS | The website's own TLS endpoint | The site itself, and no intermediary on the path |
Przy poprawnie zweryfikowanym HTTPS pośrednik na trasie nie może odczytać ani po cichu zmodyfikować treści aplikacji. Nadal widzi, że się połączyłeś, kiedy i pod jaki adres, ponieważ nagłówki pakietów muszą być trasowalne. Poufność treści i metadane o połączeniu to różne właściwości, a tylko pierwszą zapewnia TLS.
Tożsamość konta to znów trzecia rzecz. Zalogowanie się do konta identyfikuje cię wobec tej usługi niezależnie od tego, jakiego adresu wyjściowego użyłeś, więc wyjście chroni ścieżkę sieciową, a nie konto. Ta różnica przetrwa dowolną liczbę warstw przed sobą. Zmiana wyjścia nigdy nie zmienia tego, co ujawnia zalogowana sesja. Usługa wiedziała, kim jesteś, zanim pierwszy pakiet wyszedł.
Nic w tym układzie nie psuje się od dodania drugiego tunelu. Zmienia się to, który obserwator widzi pierwszy skok, a nie to, czy ostatni skok jest szyfrowany.
Kolejność zmienia obserwatorów, nie punkt końcowy
Łączenie VPN i Tor w łańcuch to legalny sposób zmiany tego, kto co widzi na poziomie sieci. Uruchamianie Tor przez VPN ukrywa przed twoją siecią dostępową fakt, że używasz Tor, a uruchamianie VPN przez Tor ukrywa twój adres przed dostawcą VPN. Oba porządki są opisane w publicznej dokumentacji i oba mają kompromisy w wydajności i zachowaniu przy awarii.
Żaden z porządków nie przesuwa punktu końcowego TLS. W obu przypadkach przeglądarka nadal weryfikuje certyfikat dla żądanej nazwy hosta, i w obu przypadkach adres HTTP nadal wysyła treść otwarcie za ostatnim przekaźnikiem. Kompozycja zmienia listę obserwatorów; nie zmienia liczby warstw u celu.
Dlatego porady dotyczące łańcuchów zwykle dotyczą modeli zagrożeń, a nie bezpieczeństwa w ogóle. Dłuższy łańcuch nie jest mocniejszą wersją tego samego, i nie zastępuje protokołu, który wybrała aplikacja.
curl -sSI https://example.net | head -3
openssl s_client -connect example.net:443 -servername example.net -brief
Oba polecenia pokazują warstwę, która ma znaczenie u celu. Drugie wypisuje wynegocjowany protokół bez angażowania żadnego tunelu. Żadne nie mówi ci nic o wyjściu, którego użyłeś.
Utrzymaj weryfikację w działaniu podczas diagnozowania
Ostrzeżenie o certyfikacie to informacja o połączeniu, które zamierzasz nawiązać. Może oznaczać niezgodność nazwy hosta, problem z zegarem, niezaufany łańcuch lub próbę przechwycenia. Dodanie stałego wyjątku, ponieważ podłączony jest VPN, usuwa jedyny sygnał, który rozróżniłby te przypadki.
Funkcje bezpiecznego połączenia Tor Browser i jego ostrzeżenia istnieją z tego samego powodu, a wyłączenie ich, aby strona się załadowała, zamienia widoczną porażkę na niewidoczną. Jeśli do witryny nie można dotrzeć bez wyjątku, uczciwy wniosek jest taki, że połączenie nie jest weryfikowalne, a nie że tunel uczynił je bezpiecznym.
Szyfrowanie nie mówi też nic o intencji. Ważne połączenie HTTPS z podszywającą się witryną dostarcza twoje dane tej witrynie z doskonałą poufnością. Sprawdzaj adres i to, co wysyłasz, nie tylko czy jest kłódka.
Usługi Onion to naprawdę inny model. Dociera się do nich przez sieć Tor bez zwykłego publicznego wyjścia, co nie jest tym samym, co dostęp do publicznej witryny przez Tor. Traktuj to jako osobny przypadek z własnymi oczekiwaniami, a nie jako mocniejszą wersję tej samej wizyty.
Zasada, która przetrwa każdą konfigurację, jest krótka. Zachowaj weryfikację przeglądarki nietkniętą. Oceniaj każdą warstwę po tym, gdzie naprawdę się kończy.