Mix Network przesyła wiadomości przez komputery przekazujące je dalej, nazywane węzłami lub miksami. Zdejmują one warstwy szyfrowania i przetwarzają ruch tak, by trudniej było przypisać wiadomość przychodzącą do wychodzącej. Podstawy opisał David Chaum w 1981 roku. Celem jest ochrona relacji między nadawcą a odbiorcą, nie tylko treści. Skuteczność zależy od protokołu, pozostałego ruchu i możliwości obserwatora; sama liczba pośredników nie gwarantuje anonimowości.
Anna wysyła Piotrowi prywatną wiadomość. Nikt po drodze jej nie przeczyta, ale może zauważyć, że od Anny wyszły dane i niedługo potem dotarły do Piotra. Powtarzający się wzorzec pozwala wnioskować, kto z kim rozmawia. Takie ślady to metadane: informacje wokół wiadomości, na przykład czas, rozmiar i adresy sieciowe. Artykuł Chauma z 1981 roku dotyczył właśnie tego problemu poczty elektronicznej. Pytał nie tylko o zamknięcie listu, lecz także o utrudnienie śledzenia jego drogi. Sieć miksująca zapewnia więc inny rodzaj ochrony niż samo szyfrowanie treści. [1] [2] [9]
Wyobraźmy sobie uproszczoną trasę przez A, B i C. Anna najpierw szyfruje właściwą wiadomość dla Piotra. Następnie opakowuje ją dla ostatniego węzła C, ten pakiet dla B, a na końcu dla pierwszego węzła A. Używa ich kluczy publicznych: danych pozwalających stworzyć zaszyfrowane opakowanie, które otwiera odpowiedni klucz prywatny. Klucze to dane liczbowe używane przez program szyfrujący. Kluczem publicznym można się dzielić, a prywatny dany węzeł zachowuje w tajemnicy. Po zdjęciu swojej warstwy A dowiaduje się, dokąd wysłać wewnętrzny pakiet, ale nie poznaje pozostałych kluczy. Warstwy przygotowuje się od końca, aby po drodze zdejmować je we właściwej kolejności. To przykład, a nie twierdzenie, że każda taka sieć ma dokładnie trzy węzły. [1] [4] [5]
Gdyby do A przyszła tylko wiadomość Anny i natychmiast wyszła jedna wiadomość, obserwator miałby łatwe zadanie. Klasyczny miks grupowy zbiera więc wiele wiadomości przed wysłaniem ich dalej. Przetwarzanie grupy zwiększa liczbę możliwych powiązań wejścia z wyjściem. Ważne jest też wyrównanie rozmiarów pakietów: niezwykle duża przesyłka mogłaby nadal się wyróżniać. Uzupełnianie danych do określonej długości nazywa się padding. Sama liczba osób lub wiadomości nie jest dokładną miarą prywatności; liczy się również wcześniejsza wiedza obserwatora. [1] [3]
Miks zdejmuje swoją warstwę szyfrowania, sprawdza wiadomość według zasad protokołu i nie przekazuje zwykłej kopii tego samego zewnętrznego pakietu. Nie wystarczy więc szukać identycznych danych na wejściu i wyjściu. Zmienia się także kolejność: oryginalny pomysł Chauma sortował wyjście grupy według danych, inne konstrukcje korzystają z innych metod. Kolejność wyjścia nie powinna zdradzać kolejności nadejścia. Miks kontroluje też ponownie przesłane wiadomości. Następny węzeł działa podobnie, a ostatni kieruje przesyłkę do odbiorcy. Treść dla Piotra pozostaje chroniona osobnym szyfrowaniem przeznaczonym dla odbiorcy. [1] [3] [5]
Wiadomości można przekazywać również na bieżąco, z różnymi losowymi opóźnieniami, zamiast czekać na wspólną grupę. Osłabia to czasowy związek między nadejściem a wysłaniem pakietu, czyli porcji danych. Pomaga też ruch osłonowy: wiadomości bez rzeczywistej treści użytkownika mają wyglądać dla obserwatora jak prawdziwe. Sam przepływ danych słabiej ujawnia wtedy, kiedy Anna rzeczywiście coś napisała. Tak działa projekt Loopix, z którego pomysłów korzysta Nym. Ochrona kosztuje dodatkowe dane, pracę urządzeń i czas oczekiwania. Ustawienia tych kosztów wpływają też na uzyskaną prywatność. [3] [5]
W klasycznym modelu co najmniej jeden miks przestrzegający protokołu i nieujawniający powiązań swoich wejść z wyjściami może zachować tę wewnętrzną relację w tajemnicy. Uczciwość oznacza tu konkretnie to zachowanie, nie ogólną ocenę operatora. Nie wynika z tego, że jeden uczciwy serwer rozwiąże każdą sytuację. Jeżeli napastnik rozpozna wszystkie pozostałe wiadomości grupy, wiadomość Anny może wskazać przez eliminację. Znaczenie mają też obserwacja brzegów sieci, długotrwała aktywność użytkowników i możliwość zmieniania ruchu. Dlatego badania opisują model zagrożeń: dokładnie to, co przeciwnik widzi i kontroluje. [1] [3]
Napastnik może ponownie wysłać przechwycony pakiet i szukać odpowiadających mu powtórzeń na drugim końcu. Może próbować oznaczyć wiadomość przez zmianę danych, opóźniać ruch albo odrzucać wiadomości. Obrona obejmuje więc kontrolę integralności i rejestrowanie powtórzeń. Format Sphinx, używany między innymi przez Loopix i Nym, daje węzłom informacje potrzebne do tych kontroli. W niektórych konstrukcjach wiadomości osłonowe pomagają też wykrywać straty ruchu. To konkretne zabezpieczenia o konkretnych założeniach, nie obietnica odporności na każde zakłócenie. Zaszyfrowana wiadomość również może nie dotrzeć. [3] [5]
Anna może przekazać Piotrowi zaszyfrowane instrukcje drogi powrotnej. Skorzysta z nich, by odpowiedzieć, nie znając jej zwykłego adresu sieciowego. Takie adresy zwrotne opisywał już Chaum. Niektóre współczesne systemy używają jednorazowych bloków odpowiedzi, SURB (Single-Use Reply Block); jednorazowość jest elementem ochrony. Pseudonim pozwala rozpoznać wiadomości tego samego autora bez jego prawdziwego nazwiska, ale zarazem je ze sobą łączy. Jeżeli Anna przedstawi się w tekście lub wyśle dane osobowe, ukrycie trasy nie cofnie ujawnienia tych informacji. [1] [10]
Tor również prowadzi komunikację przez kilku pośredników, lecz stawia na małe opóźnienia, by umożliwiać zwykłe przeglądanie internetu. Obserwator dobrze umieszczony na obu końcach może porównywać rytm i wielkość ruchu. Tor także ma mechanizmy paddingu, więc twierdzenie, że w ogóle nie korzysta z ruchu osłonowego, byłoby błędne. Klasyczne miksy godzą się na większe opóźnienia, na przykład przy dostarczaniu wiadomości. Loopix bada kompromis z opóźnieniami rzędu sekund. Nym odróżnia tryb mixnet od szybszego dVPN. W trybie dVPN dane płyną szyfrowanymi tunelami zamiast przechodzić opisane tutaj mieszanie wiadomości. Nie wystarcza więc nazwa ani długość trasy: liczą się rzeczywisty transport i zagrożenie, przed którym chcemy się chronić. [4] [9] [8] [3] [5] [11]
Portfel Bitcoin to aplikacja, która pomaga odbierać i wysyłać płatności. Jeśli portfel lub inna aplikacja obsługuje odpowiednią trasę, mixnet może utrudnić przypisanie jej ruchu do konkretnego połączenia internetowego. Nie jest to automatyczna funkcja protokołu Bitcoin ani to samo co usługa mieszania monet. Publiczne związki między transakcjami pozostają w blockchainie, czyli wspólnym rejestrze transakcji; ukrycie trasy ich nie usuwa. BIP 324 również szyfruje połączenia między węzłami, zamiast mieszać wiadomości w celu ukrycia nadawcy. Odróżniamy zatem prywatność przesyłania od prywatności historii płatności. Mix Network pomaga zrozumieć pierwszą warstwę, lecz nie zamienia każdej płatności w anonimową gotówkę. [6] [7]
Pełniejszy obraz uzyskasz, czytając to hasło razem z David Chaum, Prywatność w Bitcoinie, Pseudonimowość, Bitcoin, Bitcoin Anonymity Networks, BIP324.