Friend-to-friend
Friend-to-Friend (F2F) – rodzaj anonimowej sieci P2P, w której użytkownicy tworzą bezpośrednie połączenie tylko ze znanymi przez siebie hostami. Możliwe jest użycie haseł lub podpisów cyfrowych przy uwierzytelnianiu. Użytkownicy, którzy się nie znają lub sobie nie ufają mogą użyć powłoki F2F do komunikowania się pośredniego i anonimowego.
Załóżmy, że użytkownik A ma wśród swoich przyjaciół B i C. Węzeł A potrafi automatycznie przesłać plik (lub żądanie przesyłu pliku) pomiędzy dwoma jego przyjaciółmi, nie ujawniając im nawzajem ich nazw bądź adresów IP. Użytkownicy B i C pozostają dla siebie anonimowi. Ci przyjaciele mogą z kolei przesłać przykładowy plik (lub żądanie jego przesyłu) do własnych przyjaciół, itd.[1]
Cechą wyróżniającą sieć F2F spośród innych prywatnych P2P jest to, iż w sieci tej użytkownicy nie wiedzą kto jest podłączony do sieci, z wyjątkiem hostów przyłączonych bezpośrednio do nich samych.
Przykładami oprogramowania, które może być wykorzystane do budowy takiej sieci są programy: Turtle, Galet, WASTE z wyłączoną opcją "ping packets", GNUnet z topologią F2F, oraz Freenet.
Pierwszy raz określenia sieć Friend-To-Friend użył Dan Bricklin w 2000 roku[2].
Zastosowania F2F
[edytuj | edytuj kod]- F2F uniemożliwia udowodnienie, iż adres IP naszego hosta jest (bądź może) być użyty przez innych aby zdobyć nielegalne pliki (jeśli znamy adresy IP wszystkich hostów przyłączonych do nas możemy użyć zapory sieciowej, aby uniemożliwić wszystkim niepowołanym osobom dostęp do swojego portu F2F).
- Ponieważ aplikacje oparte na F2F używają szyfrowania na odcinku łącza zamiast szyfrowania end-to-end, pozwalają za pomocą własnego klucza prywatnego kontrolować jakiego typu pliki decydujemy się wymieniać z danym węzłem przyjaciela, aby zablokować te pliki, w których wymianie nie chcemy uczestniczyć. Możemy to uzyskać bądź poprzez usunięcie kluczy publicznych przyjaciela, bądź przez użycie zapory sieciowej, która spowolni lub zablokuje jego połączenie.
- Sieci F2F z samego założenia zapewniają większe bezpieczeństwo użytkowników, ponieważ tylko bezpośredni “sąsiedzi” są w stanie połączyć się z naszym węzłem żaden cracker nie jest w stanie połączyć się z nami przez port, przez który komunikujemy się z siecią. Ponieważ przesyłanie kluczy odbywa się tylko na odcinku między nami i naszymi „sąsiadami” unikamy w ten sposób tzw. ataków man in the middle. Możemy też uniknąć przesyłania niebezpiecznych plików (np. zawierających wirusy, ataki typu przepełnienie bufora) używając sieci opartej na reputacji online.
Niedogodności
[edytuj | edytuj kod]- Sieci F2F wymagają dużo wkładu w ustawienia (trzeba ręcznie ustawić połączenia), co jest kłopotliwe gdy ktoś chce przetestować kilka programów
- Osoba chcąca dołączyć do sieci nierzadko nie zna nikogo kto by jej używał, a tym bardziej osób które miałyby włączony węzeł 24x7
Czym F2F nie jest
[edytuj | edytuj kod]- Wiele aplikacji i stron sieciowych, używających centralnego serwera do komunikacji pomiędzy dwoma hostami, które chcą wymieniać między sobą informacje, nie jest sieciami F2F. Jako przykłady mogą posłużyć: IRC, “instant messaging” (używany przez komunikatory internetowe), prywatne serwery FTP, social networking websites (stron sieci społecznych) i wiele innych aplikacji pozwalających na dostęp do prywatnych sieci p2p
- F2F nie należy mylić z prywatnym koncentratorem Direct Connect, ponieważ pozwala on użytkownikom na podgląd adresów IP wszystkich użytkowników w sieci.
- Sieci F2F nie mogą być stworzone przez Freenet 0.5, ponieważ z powodu wydajności (skracanie ścieżki połączenia) program automatycznie tworzy nowe połączenie pomiędzy węzłami. Jednakże od wersji 0.7 Freenet bazuje na sieci Darknet, która bardziej przypomina F2F
- Pseudopodobne sieci P2P jak np. CSpace nie są sieciami F2F ponieważ aby hosty wymieniające między sobą pliki muszą znać swoje adresy IP (nie ma anonimowego przekazywania).
- Tak zwane oprogramowanie F2F (np. WASTE or Turtle F2F) nie są też same w sobie sieciami F2F. Ale takie właśnie oprogramowanie może być użyte w celu podłączenia się do już istniejącej sieci F2F lub uruchomienia nowych sieci F2F. Ostatecznie, niektóre z tych nowo utworzonych sieci mogą się połączyć tworząc w ten sposób większą sieć F2F. Ponieważ nowi użytkownicy, aby „wejść” do sieci F2F muszą zdobyć zaufanie aktualnego użytkownika sieci, niemożliwe jest określenie jak wiele oddzielnych sieci F2F istnieje. Dlatego sieci F2F są częścią większej rodziny sieci zwanych darknets.
Przyszłość F2F
[edytuj | edytuj kod]- Reputacja Online może być stworzona i weryfikowana poprzez użycie sieci F2F z systemem silnej kryptografii: każdy przesyłany dokument w tej sieci automatycznie dostawałby nowy poziom zaufania przechodząc przez każdy kolejny węzeł, który go przekazuje dalej (nowy_współczynnik_zaufania=stary_współczynnik_zaufania*lokalny_współczynnik). Jeśli plik wydaje się być niepoprawny możemy zmniejszyć reputacje osoby która nam go dostarczyła oraz zmniejszyć poziom zaufania do tego dokumentu. Możemy też wstrzymać lub zablokować przekazywanie dokumentu przez nasz węzeł. Funkcjonalność tego typu została już zaimplementowana w sieci Bouillon P2P[3].
- Sieć oparta na wzajemnej reputacji mogłaby być bezpiecznie użyta do implementacji systemu elektronicznej wymiany pieniędzy w P2P www.altruists.org. Taki system, zgodnie z tym co mówią jego zwolennicy, pozwalałby wyeliminować niedogodności nieodłączne w obecnym centralnym systemie bankowym (brak trzeciej zaufanej strony pośredniczącej w wymianie pieniędzy).
- Możliwe jest zastosowanie silnego symetrycznego szyfrowania (w szczególności, algorytmu z kluczem jednorazowym). Może to być osiągnięte tylko w sieci F2F, ponieważ gdy chcemy się skomunikować z osobą spoza kręgu znajomych hostów musimy użyć klucza asymetrycznego, co jest narażone na ataki typu Man In the Middle.
- Sieci F3F czyli "F2F with Third Party Storage" w których pliki które chcemy wymieniamy za pomocą FTP, stron WWW, serwerów pocztowych. Dzięki temu możemy zwiększyć szybkość transferu oraz nie pozwalamy naszemu dostawcy usług internetowych archiwizować adresów IP węzłów przyłączonych do nas używając szyfrowania z trzecią stroną (tzw. third party storage).
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ http://www.lix.polytechnique.fr/~tomc/P2P/Papers/AnonP2PSurvey.pdf
- ↑ Friend-to-Friend Networks [online], www.bricklin.com [dostęp 2017-11-23] .
- ↑ 地域別クチコミランキング オッコ [online], oc-co.org [dostęp 2017-11-23] [zarchiwizowane z adresu 2006-07-19] (jap.).
Linki zewnętrzne
[edytuj | edytuj kod]- Research paper co-written przez Andrew Tanenbaum o Turtle F2F and na czym polega architektura F2F.
- A Survey of Anonymous Peer-to-Peer File-Sharing. LECTURE NOTES IN COMPUTER SCIENCE, 2005 - lix.polytechnique.fr We wstępie zawiera definicje sieci F2F.
- Discussion about F2F involving Ian Clarke of Freenet: http://web.archive.org/web/20060924165755/http://zgp.org/pipermail/p2p-hackers/2005-December/003272.html
- Dan Bricklin pierwszy raz użył określenia F2F w tym artykule
- Strona F2F na altruists.org: http://web.archive.org/web/20041026232642/http://www.altruists.org/projects/ff/
- Dodanie prostego i efektywnego algorytmu miary zaufania w sieci F2F P2P networks is a paper about using a Time-based currency for trust in F2F.
- Ripple: Wymiana pieniędzy w P2P dla sieci opartych na zaufaniu IOU("I owe you"): http://www.masternewmedia.org/news/2005/06/27/p2p_can_cut_banks_out.htm