Trasowanie cebulowe

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

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

W sieci cebulowej wiadomości są wysyłane warstwami szyfrowania, analogicznie do warstw cebuli. Zaszyfrowane dane są przesyłane przez serię węzłów sieciowych zwanych routerami cebulkowymi (ang. onion routers), z których każdy "odrywa" pojedynczą warstwę, odsłaniając kolejny cel 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 w U.S. Naval Research Laboratory przez pracowników Paul Syverson, Michael G. Reed, i David Goldschlag[2][3] w celu ochrony komunikacji wywiadowczej USA w Internecie[4]. Został on dalej opracowany przez Defense Advanced Research Projects Agency (DARPA) i opatentowany przez Marynarkę Wojenną w 1998 roku[3][5][6].

dołączyli do firmy Syverson w 2002 roku, aby rozwinąć to, co stanie się największą i najbardziej znaną implementacją trasowania cebulowego, Tor, a następnie zwany projektem Onion Routing lub projektem TOR. Po tym, jak Naval Research Laboratory opublikowało kod dla Tora na wolnej licencji[4][7][8], Dingledine, Mathewson i pięciu innych założyli The Tor Project jako organizację non-profit w 2006 roku, przy wsparciu finansowym 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 z kolejnymi warstwami szyfrowania, które mają być odszyfrowane ("obrane" lub "nieopakowane") przez tyle komputerów pośredniczących, ile warstw, zanim dotrą do miejsca docelowego. Pierwotna wiadomość pozostaje ukryta, ponieważ jest przesyłana z jednego węzła do drugiego, a żaden pośrednik 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ć transmisje 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 klucz tajny ("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 ostatnia warstwa 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, 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) jest wariantem trasowania cebulowego związanym z siecią I2P, który szyfruje wiele wiadomości razem, aby utrudnić[15] aby utrudnić 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.

See also[edytuj | edytuj kod]

Począwszy od 2008 r. sieć Tor dominuje w wykorzystywaniu tej technologii[potrzebny przypis].

Pseudodomena najwyższego poziomu .onion jest wykorzystywana w sieci Tor oraz w innych sieciach stosujących trasowanie cebulowe.

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, Pando Daily, 16 lipca 2014 [dostęp 2014-08-30].
  8. Roger Dingledine, pre-alpha: run an onion proxy now!, 20 września 2002 [dostęp 2008-07-17].
  9. Tor: Sponsors, Tor Project [dostęp 2010-12-11].
  10. Brian Krebs, Attacks Prompt Update for 'Tor' Anonymity Network, Washington Post, 8 sierpnia 2007 [dostęp 2007-10-27].
  11. a b c d Roger Dingledine, Tor: The Second-Generation Onion Router [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. DOI: 10.1007/11863908_2. 
  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.
  15. Common Darknet Weaknesses 2: Tor and I2P | Privacy PC, 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].