Komórki o stałym rozmiarze
Usuwają odciski oparte na rozmiarze pakietów, pozostawiając jedynie czas i objętość jako sygnały.
Analiza mitów na temat szyfrowania warstwowego, logiki przeskoków między węzłami i tego, dlaczego czas nie łączy nadawcy z odbiorcą.
7 min czytania
CzytajObawa, że każdy przekaźnik może odczytać fragment połączenia onion w Torzon, wynika z błędnego rozumienia działania trasowania onion w Torzon Market: węzły nie otrzymują częściowej, czytelnej porcji Twojego ruchu. Przekaźnik widzi wyłącznie szyfrogram oraz jedną instrukcję trasowania, która pozwala mu zdjąć pojedynczą warstwę i poznać następny przeskok — nie źródło, nie cel końcowy i nie zawartość przesyłanych danych.
Wewnątrz klienta wiadomość jest opakowywana w kilka warstw szyfrowania, zanim w ogóle opuści Twój komputer. Każda warstwa zawiera dwie rzeczy: zaszyfrowaną zawartość oraz pole celu możliwe do odczytania dopiero po zdjęciu tej warstwy. Ponieważ warstwy są nakładane w odwrotnej kolejności — najpierw warstwa najbardziej wewnętrzna, na końcu zewnętrzna — każdy przekaźnik dysponuje innym kluczem deszyfrującym i może zdjąć dokładnie jedną warstwę.
Ponieważ każdy przekaźnik zna tylko swojego bezpośredniego poprzednika i następcę, żaden pojedynczy węzeł nie jest w stanie powiązać tego, kto wysłał dane, z tym, dokąd ostatecznie trafiają. Pierwszy przekaźnik widzi Ciebie, ale nie cel; środkowy nie widzi żadnego z nich; ostatni widzi cel, ale nie Ciebie.
| Pytanie | Co faktycznie widzi przekaźnik pośredni | Czego potrzebowałby, aby odszyfrować Twój ruch |
|---|---|---|
| Czy zawartość jest czytelna? | nie, to wciąż zagnieżdżony szyfrogram | kluczy deszyfrujących do każdej pozostałej warstwy ;; Czy poznaje źródło? |
Przekaźnik, który zdejmuje jedną warstwę, nie jest w stanie odtworzyć wiadomości wyłącznie na podstawie tej czynności. Pozostałe dane nadal wyglądają jak jednolity szyfrogram, a bez pozostałych kluczy prywatnych przekaźnik nie dysponuje żadnym czytelnym fragmentem.
Węzeł wejściowy poznaje Twój adres sieciowy, ale ta pojedyncza informacja nie wystarczy, aby namierzyć obwód. Przekaźnik dzieli wiedzę między trzy odrębne strony: pierwszy węzeł wie, gdzie jesteś, ale nie czego chcesz; środkowy nie wie ani jednego, ani drugiego; węzeł wyjściowy wie, o co pytasz, ale nie kto pyta. Brak powiązania wynika właśnie z tego podziału, a nie z ukrywania wszystkiego przed wszystkimi.
Zanim Twój klient zbuduje obwód, negocjuje osobny klucz szyfrowania z każdym przekaźnikiem na trasie. Ruch w stronę celu jest opakowany tymi kluczami w odwrotnej kolejności: warstwę najbardziej wewnętrzną może odczytać tylko przekaźnik wyjściowy, warstwę zewnętrzną tylko przekaźnik wejściowy. Każdy przekaźnik zdejmuje jedną warstwę, poznaje następny przeskok i przekazuje resztę, nie mogąc otworzyć tego, co pozostaje.
| Co posiada dany węzeł | Węzeł wejściowy | Węzeł wyjściowy |
|---|---|---|
| Twój adres | znany | nieznany ;; Treść żądania |
Wyobraź sobie trzy zapieczętowane koperty włożone jedna w drugą: każdy kurier otwiera tylko kopertę zaadresowaną do siebie i widzi w niej polecenie dla następnego kuriera.
Słabym punktem nie jest to, że węzeł wejściowy zna Twój adres IP, ale połączenie tego adresu z drugim sygnałem z tego samego obwodu. Rozdzielaj czas i tożsamości używane przy różnych aktywnościach.
Bierny obserwator, który rejestruje wyłącznie czas i rozmiar pakietów, nie może po prostu sparować nadawcy z odbiorcą w obwodzie cebulowym Torzon. Sieć celowo spłaszcza i rozprasza te wzorce, zanim staną się użytecznym odciskiem.
Sedno problemu polega na tym, że naiwna korelacja zakłada dopasowanie jeden do jednego: jedno żądanie wchodzi, jedno wychodzi, z rozpoznawalnym opóźnieniem. W praktyce obwód Torzon przenosi jednocześnie kilka strumieni logicznych, a każdy strumień jest dzielony na komórki o stałym rozmiarze. Gdy dwa lub więcej strumieni współdzieli obwód, ich komórki są przeplatane. Obserwator widzi ciągłą wstęgę identycznych komórek, a nie osobne rozmowy.
Dodatkowo węzły przekaźnikowe mogą wprowadzać komórki dopełniające — sztuczny ruch, który nie przenosi danych aplikacji. Dopełnienie wypełnia ciche przerwy, dzięki czemu nieaktywny obwód wciąż przesyła bajty. Obserwator nie jest w stanie stwierdzić, czy dany impuls zawiera prawdziwe żądanie strony, sygnał podtrzymania czy celowy szum.
Załóżmy, że ktoś obserwuje połączenie między użytkownikiem a pierwszym węzłem i osobno połączenie wychodzące z ostatniego węzła. Widzi dwa strumienie komórek. Aby je skorelować, musi wyodrębnić charakterystyczny wzorzec: pauzę, impuls, sekwencję rozmiarów. Ale dobór rozmiaru komórek normalizuje rozmiar, a multipleksowanie obwodu miesza strumienie. Wzorzec widoczny po stronie wejściowej może zostać podzielony, zmieniony w kolejności lub wypełniony, zanim opuści sieć.
Usuwają odciski oparte na rozmiarze pakietów, pozostawiając jedynie czas i objętość jako sygnały.
Wprowadzają ruch maskujący w okresach bezczynności, dzięki czemu cisza nie zdradza aktywności.
Przeplata wiele strumieni, więc jedno żądanie użytkownika nie odpowiada jednemu widocznemu zdarzeniu wyjściowemu.
Nawet sygnał czasowy jest osłabiony. Komórka nie przemieszcza się natychmiastowo; w każdym przekaźniku czeka w kolejce za innymi komórkami. Drobne różnice w harmonogramowaniu sumują się, więc przerwa po stronie wyjściowej, która wygląda jak przerwa po stronie wejściowej, może w rzeczywistości być przesunięta przez inny, niepowiązany strumień na tym samym obwodzie.
Korelacja nie jest w teorii niemożliwa — ale wymaga obserwacji obu końców, wyodrębnienia jednego obwodu oraz pokonania dopełnienia i multipleksowania. To znacznie trudniejszy problem niż „obserwowanie czasu”.
Czytając twierdzenia o atakach czasowych, sprawdź, czy autor zakłada obwód z pojedynczym strumieniem i bez dopełnienia. To założenie rzadko odpowiada temu, jak działa nowoczesne połączenie cebulowe.
Nie. Przekaźnik zdejmuje wyłącznie własną warstwę szyfrowania i widzi tylko adresy poprzedniego oraz następnego skoku, a także zaszyfrowaną zawartość przeznaczoną dla kolejnego węzła. Zwykły tekst Twojego żądania może odczytać tylko węzeł wyjściowy lub miejsce docelowe, a nie każdy przekaźnik na trasie.
Pierwszy węzeł widzi Twój prawdziwy adres IP, ponieważ łączysz się z nim bezpośrednio, ale nie zna Twojego ostatecznego celu ani zawartości zaszyfrowanego ruchu. Nie potrafi też stwierdzić, czy jesteś nadawcą żądania, czy po prostu przekazujesz ruch innego użytkownika, co chroni Twoją anonimowość.
Korelacja czasowa to znane ryzyko teoretyczne, ale trasowanie cebulowe dodaje warstwowe szyfrowanie, multipleksowanie obwodów i zmienne opóźnienia, które w praktyce znacznie utrudniają wiarygodne dopasowanie. Obserwator musiałby jednocześnie widzieć zarówno punkt wejścia, jak i wyjścia sieci, co stanowi wysoką barierę, a nie trywialną słabość.
Sprawdź, czy wyjaśnienie nie myli warstw szyfrowania z możliwym do odczytania zwykłym tekstem, nie twierdzi, że pojedynczy przekaźnik może prześledzić całą trasę, ani nie ignoruje różnicy między znajomością adresu IP a wiedzą o tym, kto zainicjował żądanie. Wiarygodne materiały koncentrują się na zasadach, takich jak warstwowe szyfrowanie, adresowanie skok po skoku oraz rozdzielenie wiedzy o wejściu i wyjściu.
Rzetelny materiał wyjaśniający musi podawać własne testy wewnętrzne, a nie tylko wnioski. Zanim zaakceptujesz jakikolwiek opis trasowania cebulowego Torzon, sprawdź, czy źródło rozróżnia warstwy, węzły, liczbę przeskoków i zachowanie czasowe jako osobne twierdzenia — oraz czy każde z nich można zweryfikować na podstawie własnego widoku obwodu lub narzędzia do przechwytywania pakietów.
Traktuj każdy materiał, który używa sformułowań „szyfrowanie klasy wojskowej” lub „anonimowe węzły” bez nazwania mechaniki warstw, jako niezweryfikowany.
Źródło, które twierdzi, że jeden przekaźnik „odczytuje fragment” twojego ruchu, opisuje wspólne odszyfrowywanie, a nie warstwowe rozpakowywanie Tora; to czerwona flaga świadcząca o powielanym micie.
Nie musisz ufać autorytetowi autora materiału. Potrzebujesz, aby podał obserwowalne szczegóły warstw i przepływu, które może pokazać twój własny klient.