Trasowanie cebulowe

Z Wikipedii, wolnej encyklopedii

Trasowanie cebulowe (ang. Onion routing) – technika służąca anonimowej komunikacji w sieci komputerowej.

W sieci cebulowej wiadomości są wysyłane zaszyfrowanymi warstwami, analogicznie do warstw cebuli. Zaszyfrowane w ten sposób dane są przesyłane przez serię węzłów sieciowych zwanych routerami cebulowymi (ang. onion routers), z których każdy „odrywa” pojedynczą warstwę, odsłaniając kolejny cel przesyłanych danych. Gdy ostatnia warstwa zostanie odszyfrowana, wiadomość dotrze do miejsca docelowego. Nadawca pozostaje anonimowy, ponieważ każdy pośrednik zna tylko lokalizację bezpośrednio poprzedzających i następujących węzłów[1].

Opracowanie i wdrożenie[edytuj | edytuj kod]

Trasowanie cebulowe opracowano w połowie lat dziewięćdziesiątych XX wieku w U.S. Naval Research Laboratory(inne języki) przez pracowników Paula Syversona, Michaela G. Reeda, i Davida Goldschlaga[2][3] w celu ochrony komunikacji wywiadowczej USA w Internecie[4]. Projekt był dalej rozwijany przez Defense Advanced Research Projects Agency (DARPA) i w 1998 roku opatentowany przez Marynarkę Wojenną USA[3][5][6].

W 2002 roku informatycy Roger Dingledine i Nick Mathewson dołączyli do Paula Syversona i na podstawie istniejącej technologii stworzyli najbardziej znaną implementację trasowania cebulowego, zwaną najpierw projektem Onion Routing a następnie Tor. Po tym, jak Naval Research Laboratory opublikowało kod dla Tor na wolnej licencji[4][7][8], Dingledine, Mathewson, wraz z pięcioma innymi osobami, założyli w 2006 roku organizację non-profit The Tor Project przy wsparciu finansowym(inne języki) fundacji Electronic Frontier Foundation i kilku innych organizacji[9][10].

Struktura danych[edytuj | edytuj kod]

W tym przykładzie, źródło wysyła dane do Router A, który usuwa warstwę szyfrowania, aby dowiedzieć się tylko, gdzie wysłać ją dalej i skąd pochodzi (chociaż nie wie, czy nadawca jest źródłem, czy tylko innym węzłem). Router A wysyła go do routera B, który odszyfrowuje kolejną warstwę, aby poznać jej następne miejsce docelowe. Router B wysyła go do routera C, który usuwa ostatnią warstwę szyfrowania i przesyła oryginalną wiadomość do miejsca przeznaczenia.

Trasowanie cebulowe jest strukturą danych utworzoną przez „zawijanie” wiadomości w kolejne warstwy szyfrowania, które mogą być odszyfrowane („obrane” lub „nieopakowane”) przez tyle komputerów pośredniczących, ile jest warstw, zanim dotrą do miejsca docelowego. Pierwotna wiadomość pozostaje ukryta, ponieważ jest przesyłana pomiędzy pośrednimi węzłami, a żaden pośredni węzeł nie zna zarówno miejsca pochodzenia, jak i miejsca docelowego danych, dzięki czemu nadawca pozostaje anonimowy[11].

Tworzenie i transmisja[edytuj | edytuj kod]

Aby utworzyć transmisję cebulową, twórca wybiera zestaw węzłów z listy dostarczonej przez „węzeł katalogowy”. Wybrane węzły są ułożone w ścieżkę, zwaną „łańcuchem” lub „obwodem”, przez który zostanie przesłana wiadomość. Aby zachować anonimowość nadawcy, żaden węzeł w obwodzie nie jest w stanie stwierdzić, czy węzeł jest inicjatorem, czy innym pośrednikiem takim jak on. Podobnie, żaden węzeł w obwodzie nie jest w stanie stwierdzić, ile innych węzłów znajduje się w obwodzie, a jedynie węzeł końcowy, „węzeł wyjściowy”, jest w stanie określić swoje własne położenie w łańcuchu[11].

Korzystając z kryptografi klucza publicznego, twórca uzyskuje klucz publiczny z węzła katalogu, aby wysłać zaszyfrowaną wiadomość do pierwszego węzła („wpis”), ustanawiając połączenie i wspólny tajny klucz („klucz sesji”). Wykorzystując ustanowione zaszyfrowane łącze do węzła wejściowego, inicjator może następnie przekazać wiadomość przez pierwszy węzeł do drugiego węzła w łańcuchu, stosując szyfrowanie, które może odszyfrować tylko drugi węzeł, a nie pierwszy. Gdy drugi węzeł odbierze wiadomość, nawiązuje połączenie z pierwszym węzłem. Podczas gdy rozszerza to zaszyfrowane łącze od inicjatora, drugi węzeł nie może określić, czy pierwszy węzeł jest inicjatorem, czy tylko innym węzłem w obwodzie. Pomysłodawca może następnie wysłać wiadomość przez pierwsze i drugie węzły do trzeciego węzła, zaszyfrowane tak, że tylko trzeci węzeł jest w stanie ją odszyfrować. Trzeci, podobnie jak drugi, zostaje połączony z inicjatorem, ale łączy się tylko z drugim. Proces ten można powtórzyć, aby budować coraz większe łańcuchy, ale zwykle ogranicza się do zachowania wydajności[11].

Po zakończeniu łańcucha autor może anonimowo przesłać dane przez Internet. Kiedy ostateczny odbiorca danych wysyła dane z powrotem, węzły pośredniczące utrzymują to samo łącze z powrotem do inicjatora, z danymi ponownie warstwami, ale odwrotnie, tak że końcowy węzeł tym razem usuwa pierwszą warstwę szyfrowania, a pierwszy węzeł usuwa ostatnią warstwę szyfrowania przed wysłaniem danych, na przykład strony internetowej, do nadawcy[11].

Słabości[edytuj | edytuj kod]

Analiza czasu[edytuj | edytuj kod]

Jednym z powodów, dla których typowe połączenia internetowe nie są uważane za anonimowe, jest zdolność dostawców usług internetowych do śledzenia i rejestrowania połączeń między komputerami. Na przykład gdy dana osoba uzyskuje dostęp do określonej strony internetowej, same dane mogą być zabezpieczone za pomocą połączenia takiego jak HTTPS, tak że twoje hasło, wiadomości e-mail lub inna zawartość nie jest widoczna dla strony zewnętrznej, ale istnieje zapis samego połączenia (metadane), o której godzinie się to wydarzyło oraz o ilości przesłanych danych. Trasowanie cebulowe tworzy i zaciemnia ścieżkę między dwoma komputerami, tak, że nie ma dostrzegalnego połączenia bezpośrednio od osoby do strony internetowej, ale wciąż istnieją zapisy połączeń między komputerami. Analiza ruchu przeszukuje te zapisy połączeń wykonanych przez potencjalnego inicjatora i próbuje dopasować czas i transfer danych do połączeń wykonanych z potencjalnym odbiorcą. Można na przykład zauważyć, że osoba przesłała dokładnie 51 kilobajtów danych do nieznanego komputera, zaledwie trzy sekundy przed tym, jak inny nieznany komputer przesłał dokładnie 51 kilobajtów danych do konkretnej witryny[12][13]. Czynniki, które mogą ułatwić analizę ruchu, obejmują węzły wadliwe lub opuszczające sieć[13] oraz skompromitowany węzeł śledzący sesję występujący, gdy łańcuchy są okresowo odbudowywane[14].

Trasowanie czosnkowe (ang. Garlic routing(inne języki)) jest wariantem trasowania cebulowego związanym z siecią I2P, który szyfruje wiele wiadomości razem, aby utrudnić[15] atakującym wykonanie analizy ruchu i zwiększenie szybkości przesyłania danych[16].

Luka w zabezpieczeniach węzła wyjściowego[edytuj | edytuj kod]

Chociaż wysyłany komunikat jest przesyłany w kilku warstwach szyfrowania, zadaniem węzła wyjściowego, jako ostatniego węzła w łańcuchu, jest odszyfrowanie końcowej warstwy i dostarczenie wiadomości do odbiorcy. Zaatakowany węzeł wyjściowy jest zatem w stanie pozyskać przesyłane nieprzetworzone dane, w tym potencjalnie zawierać hasła, prywatne wiadomości, numery rachunków bankowych i inne formy danych osobowych. Dan Egerstad, szwedzki naukowiec, wykorzystał taki atak, aby zebrać hasła ponad 100 kont e-mailowych związanych z zagranicznymi ambasadami[17].

Luki w węzłach wyjściowych są podobne do tych w niezabezpieczonych sieciach bezprzewodowych, w których dane przesyłane przez użytkownika w sieci mogą zostać przechwycone przez innego użytkownika lub przez operatora routera. Oba problemy są rozwiązywane za pomocą bezpiecznego połączenia typu end-to-end takiego jak SSL lub secure HTTP (S-HTTP). Jeżeli całość transmisji między nadawcą i odbiorcą jest zaszyfrowana, wtedy nawet węzeł wyjściowy nie jest w stanie odczytać oryginalnej wiadomości.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Goldschlag D., Reed M., Syverson P. (1999.) Onion Routing for Anonymous and Private Internet Connections, Onion Router.
  2. Reed M. G., Sylverson P. F., Goldschlag D. M. (1998) „Anonymous connections and onion routing”, IEEE Journal on Selected Areas in Communications, 16(4):482-494.
  3. a b US patent 6266704, Reed; Michael G. (Bethesda, MD), Syverson; Paul F. (Silver Spring, MD), Goldschlag; David M. (Silver Spring, MD), „Onion routing network for securely moving data through communication networks”, assigned to The United States of America as represented by the Secretary of the Navy (Washington, DC).
  4. a b Levine, Yasha (16 July 2014). „Almost everyone involved in developing Tor was (or is) funded by the US government”. Pando Daily. Retrieved 30 August 2014.
  5. Fagoyinbo, Joseph Babatunde (2013-05-24). The Armed Forces: Instrument of Peace, Strength, Development and Prosperity. AuthorHouse. ISBN 978-1-4772-2647-6. Retrieved August 29, 2014.
  6. Leigh, David; Harding, Luke (2011-02-08). WikiLeaks: Inside Julian Assange’s War on Secrecy. PublicAffairs. ISBN 1-61039-062-8. Retrieved August 29, 2014.
  7. Yasha Levine, Almost everyone involved in developing Tor was (or is) funded by the US government [online], Pando Daily, 16 lipca 2014 [dostęp 2014-08-30].
  8. Roger Dingledine, pre-alpha: run an onion proxy now! [online], 20 września 2002 [dostęp 2008-07-17].
  9. Tor: Sponsors [online], Tor Project [dostęp 2010-12-11].
  10. Brian Krebs, Attacks Prompt Update for ‘Tor’ Anonymity Network [online], Washington Post, 8 sierpnia 2007 [dostęp 2007-10-27].
  11. a b c d Roger Dingledine, Tor: The Second-Generation Onion Router [online] [dostęp 2011-02-26].
  12. Wang Shmatikov, Ming-Hsiu Vitaly, Timing analysis in low-latency mix networks: attacks and defenses, „Proceedings of the 11th European conference on Research in Computer Security”, 2006 (ESORICS'06), s. 18–33, DOI10.1007/11863908_2 [dostęp 2012-10-24].
  13. a b Roger Dingledine, Tor: The Second-Generation Onion Router, Tor Project [dostęp 2012-10-24].
  14. Matthew. K. Wright i inni, The Predecessor Attack: An Analysis of a Threat to Anonymous Communications Systems, „ACM Transactions on Information and System Security”, 4, 7, 2004, s. 489–522, DOI10.1145/1042031.1042032 [dostęp 2018-01-24] [zarchiwizowane z adresu 2016-03-04].
  15. Common Darknet Weaknesses 2: Tor and I2P | Privacy PC [online], privacy-pc.com [dostęp 2018-01-26] (ang.).
  16. Bassam Zantour, Ramzi A. Haraty, I2P Data Communication System, Proceedings of ICN 2011: The Tenth International Conference on Networks, IARIA, 2011, s. 401–409.
  17. Eric Bangeman, Security researcher stumbles across embassy e-mail log-ins, Arstechnica.com, 30 sierpnia 2007 [dostęp 2010-03-17].