Przeciwnikiem w tym ataku jest grupa nieuczciwych serwerów pośredniczących. Od atakowanego protokołu wymagane są następujące cechy:
Najprościej atak taki przeprowadzić w przypadku protokołu Crowds.
Charakteryzuje się on tym, że każdy komputer pośredniczący zna jawny
tekst komunikacji. Atakujący serwer pośredniczący stara się ustalić,
który z inicjatorów
komunikuje się z odbiorcą
. W tym celu
podczas każdej rundy, w której
przesyła żądanie dotyczące
zapamiętuje
od kogo je otrzymał (czyli poprzednika na trasie). W każdej z rund
ustala jako podejrzanego o bycie inicjatorem
serwer, który był
zapamiętany najwięcej razy. Prawdopodobieństwo poprawnego wytypowania
zbiega do 1 ze wzrostem liczby rund. Wynika to z przestawionego
wcześniej faktu, że inicjator będzie pojawiał się na ścieżce częściej niż
jakikolwiek inny serwer pośredniczący.
Działanie tego ataku w przypadku protokołu Onion Router jest bardziej
skomplikowane. W tym wypadku tylko ostatni serwer pośredniczący jest
w stanie ustalić odbiorcę . W związku z tym do przeprowadzenia ataku
potrzebne są co najmniej dwa współpracujące serwery pośredniczące.
Gdy jeden z takich serwerów otrzyma komunikat do
, wszystkie pozostałe
zapamiętują serwer będący nadawcą tego komunikatu. Problemem w tym wypadku
jest ustalenie powiązania pomiędzy komunikatami przesyłanymi przez
atakujące serwery. Autorzy opracowania [Wright02] sugerują w tym celu
zastosowanie analizy czasu przesłania.
Zastosowanie opisanej wyżej metody ataku do zaprezentowanego w niniejszej pracy protokołu mogłoby być podobne do przypadku Onion Router. Nie jest jasne jednak, w jaki sposób powiązać komunikaty przesyłane przez atakujące miksy. Analiza czasu przesłania nie wydaje się tu być możliwa ze względu na jednorazowe wykorzystywanie każdej ścieżki oraz używanie odrębnych ścieżek powrotnych.