Szyfrowanie protokołu BitTorrent

Szyfrowanie protokołu ( PE ), szyfrowanie strumienia wiadomości ( MSE ) lub szyfrowanie nagłówka protokołu ( PHE ) to powiązane funkcje niektórych klientów wymiany plików peer-to-peer , w tym klientów BitTorrent . Próbują zwiększyć prywatność i poufność. Ponadto próbują utrudnić identyfikację ruchu przez strony trzecie, w tym dostawców usług internetowych (ISP). Jednak szyfrowanie nie ochroni przed powiadomieniami DMCA przed udostępnianiem treści niezgodnych z prawem, ponieważ wciąż przesyła się materiały, a firmy monitorujące mogą jedynie łączyć się z rojem .

MSE/PE jest zaimplementowany w BitComet , BitTornado, Deluge , Flashget , KTorrent , libtorrent (używany przez różnych klientów BitTorrent, w tym qBittorrent ), Mainline , μTorrent , qBittorrent , rTorrent , Transmission , Tixati i Vuze . PHE zostało zaimplementowane w starszych wersjach BitCometa. zaciemnianie protokołów jest obsługiwane w aktualnych wersjach niektórych innych systemów (innych niż BitTorrent), w tym eMule .

Zamiar

W styczniu 2005 r. ruch BitTorrent stanowił ponad jedną trzecią całkowitego ruchu internetowego w domach, chociaż w 2009 r. spadł do mniej niż 20%. Niektórzy dostawcy usług internetowych radzą sobie z tym ruchem, zwiększając swoją przepustowość, podczas gdy inni używają wyspecjalizowanych systemów do spowolnienia ruch peer-to-peer w celu obniżenia kosztów. Zaciemnianie i szyfrowanie sprawiają, że ruch jest trudniejszy do wykrycia, a tym samym trudniej go ograniczyć. Systemy te zostały początkowo zaprojektowane w celu zapewnienia anonimowości lub poufności , ale stały się wymagane w krajach, w których dostawcy usług internetowych otrzymali uprawnienia do ograniczania użytkowników BitTorrenta, a nawet blokowania tych, których uznali za winnych nielegalnego udostępniania plików.

Historia

Wczesne podejście

Szyfrowanie nagłówka protokołu (PHE) zostało wymyślone przez RnySmile i po raz pierwszy zaimplementowane w BitComet w wersji 0.60 8 września 2005 r. Niektóre programy, takie jak IPP2P, twierdzą, że ruch BitComet jest wykrywalny nawet przy użyciu PHE. PHE jest wykrywalny, ponieważ tylko część strumienia jest szyfrowana. Ponieważ nie ma otwartych specyfikacji implementacji tego protokołu, jedyną możliwością obsługi go w innych klientach byłaby inżynieria wsteczna .

Rozwój MSE/PE

Pod koniec stycznia 2006 roku twórcy Vuze (wówczas znanego jako Azureus) postanowili zaprojektować i jednocześnie wdrożyć nową, otwartą metodę zaciemniania protokołu, zwaną szyfrowaniem strumienia wiadomości (MSE). Został on uwzględniony w migawce Azureus CVS 2307-B29 w dniu 19 stycznia 2006 r.

Ten pierwszy projekt był mocno krytykowany, ponieważ brakowało mu kilku kluczowych funkcji. Po negocjacjach między różnymi programistami BitTorrenta napisano nową propozycję, a następnie w ciągu kilku dni wdrożono ją w Azureus i μTorrent . W μTorrent nowy protokół nazwano szyfrowaniem protokołu (PE).

MSE/PE w wersjach klienta BitTorrent

  • aria2 obsługuje MSE/PE od wersji 1.34, ale nie jest domyślnie wymuszana.
  • BitComet w wersji 0.63 został wydany 7 marca 2006. Usunął stare szyfrowanie nagłówka protokołu i zaimplementował nowy MSE / PE, aby był kompatybilny z Azureus i μTorrent.
  • BitTornado obsługuje MSE/PE od wersji T-0.3.18. Od 5 stycznia 2007 ta kompilacja jest nadal oznaczona jako „eksperymentalna” na stronie pobierania.
  • BitTorrent (Mainline) obsługuje MSE/PE od wersji 4.9.2-beta z 2 maja 2006.
  • Deluge obsługuje MSE/PE od wersji Deluge-0.5.1.
  • KTorrent zaimplementował MSE/PE w wersji SVN 535386 29 kwietnia 2006.
  • libtorrent zaimplementował szyfrowanie protokołu w wersji 0.13 wydanej 10 grudnia 2011 r.
  • rTorrent obsługuje MSE/PE od wersji rTorrent-0.7.0.
  • Transmisja obsługuje MSE/PE od wersji Transmission-0.90.
  • Vuze (dawniej Azureus) obsługuje ostateczną specyfikację od 25 stycznia 2006 r. (migawka CVS 2307-B33). Azureus w wersji 2.4.0.0 został wydany 10 lutego 2006 i był pierwszą stabilną wersją klienta obsługującą MSE / PE. Jednak usterki w implementacji Azureusa spowodowały nieprawidłowo zaszyfrowane fragmenty, które nie przeszły sprawdzania skrótu. Usterki zostały naprawione od wersji 2.4.0.2.
  • μTorrent miał swoją premierę MSE / PE 4 dni po Azureusie z wersją beta 1.4.1, kompilacja 407. Wersja μTorrent 1.5 (kompilacja 436) została wydana 7 marca 2006; była to pierwsza stabilna wersja μTorrent z PE.

Operacja

Metoda BitComet PHE używana w wersjach od 0.60 do 0.62 nie jest ani opublikowana, ani kompatybilna z MSE/PE.

MSE/PE wykorzystuje wymianę kluczy w połączeniu z hasłem informacyjnym torrenta w celu ustanowienia klucza szyfrującego RC4 . Wymiana kluczy pomaga zminimalizować ryzyko pasywnych słuchaczy, a infohash pomaga uniknąć ataków typu man-in-the-middle . RC4 jest wybierany ze względu na swoją szybkość. Pierwszy kibibajt (1024 bajtów) danych wyjściowych jest odrzucany, aby zapobiec atakowi Fluhrera, Mantina i Shamira .

Specyfikacja pozwala użytkownikom na wybór między szyfrowaniem samych nagłówków lub pełnego połączenia. Szyfrowanie pełnego połączenia zapewnia większe zaciemnianie, ale zużywa więcej czasu procesora.

Aby zapewnić kompatybilność z innymi klientami, którzy nie obsługują tej specyfikacji, użytkownicy mogą również wybrać, czy nieszyfrowane połączenia przychodzące lub wychodzące są nadal dozwolone.

Obsługiwani klienci propagują fakt, że mają włączone MSE/PE przez PEX i DHT .

Bezpieczeństwo

Szacunkowa siła szyfrowania odpowiada około 60–80 bitom dla popularnych szyfrów symetrycznych. Kryptograficznie ta efektywna długość klucza jest dość mała, ale odpowiednia, ponieważ protokół nie został zaprojektowany jako bezpieczny protokół transportowy, ale raczej jako szybka i wydajna metoda zaciemniania. AES został zaproponowany jako metoda szyfrowania, ale nie został przyjęty, ponieważ pochłaniał zbyt dużo czasu procesora. Wymagane Diffie-Hellmana do osiągnięcia bezpieczeństwa równego AES byłyby znacznie większe lub wymagałyby kryptografii krzywych eliptycznych , co spowodowałoby, że uścisk dłoni był droższy pod względem wykorzystanego czasu procesora.

Skuteczność

Analiza szyfrowania protokołu BitTorrent (inaczej MSE) wykazała, że ​​statystyczne pomiary rozmiarów i kierunków pakietów pierwszych 100 pakietów w sesji TCP można wykorzystać do identyfikacji zaciemnionego protokołu z ponad 96% dokładnością.

Krytyka

Bram Cohen , wynalazca BitTorrent , sprzeciwił się dodaniu szyfrowania do protokołu BitTorrent. Cohen stwierdził, że martwi się, że szyfrowanie może spowodować niezgodność między klientami. Podkreślił również, że większość dostawców usług internetowych nie blokuje protokołu torrent. W 2006 roku Cohen napisał: „Podejrzewam raczej, że jakiś programista został ograniczony przez swojego dostawcę usług internetowych i jest bardziej zainteresowany próbą włamania się do ograniczeń swojego dostawcy usług internetowych niż wydajnością Internetu jako całości”. Wielu użytkowników społeczności BitTorrenta ostro zareagowało na oskarżenia Cohena. Cohen później dodał zaszyfrowane połączenia do swojego klienta Mainline z możliwością ich odbierania, ale nie inicjowania. [ potrzebne źródło ] Warto zauważyć, że kiedy μTorrent został zakupiony przez BitTorrent, Inc., a następnie stał się kolejnym głównym wydaniem, możliwość inicjowania zaszyfrowanych połączeń została zachowana, ale została domyślnie wyłączona. W wywiadzie udzielonym w 2007 roku Cohen stwierdził: „Tak zwane„ szyfrowanie ”ruchu BitTorrent nie jest tak naprawdę szyfrowaniem, jest zaciemnianiem. Nie zapewnia żadnej anonimowości i tylko tymczasowo unika kształtowania ruchu”.

Notatki

Linki zewnętrzne