stringtranslate.com

Шифрование протокола BitTorrent

Шифрование протокола ( PE ), шифрование потока сообщений ( MSE ) или шифрование заголовка протокола ( PHE ) [a] являются родственными функциями некоторых одноранговых клиентов обмена файлами , включая клиенты BitTorrent . Они пытаются повысить конфиденциальность и конфиденциальность. Кроме того, они пытаются затруднить идентификацию трафика третьими лицами, включая интернет-провайдеров (ISP). Однако шифрование не защитит человека от уведомлений DMCA от распространения незаконного контента, поскольку человек все еще загружает материалы, а фирмы, занимающиеся мониторингом, могут просто подключиться к рою .

MSE/PE реализован в BitComet , BitTornado, Deluge , Flashget , KTorrent , libtorrent (используется различными клиентами BitTorrent, включая qBittorrent ), Mainline , μTorrent , qBittorrent , rTorrent , Transmission , Tixati и Vuze . PHE был реализован в старых версиях BitComet. Подобная обфускация протокола поддерживается в актуальных версиях некоторых других (не BitTorrent) систем, включая eMule . [1]

Цель

По состоянию на январь 2005 года BitTorrent-трафик составлял более трети общего интернет-трафика частных лиц [2] , хотя по состоянию на 2009 год этот показатель упал до менее 20%. Некоторые интернет-провайдеры справляются с этим трафиком, увеличивая свою пропускную способность, в то время как другие используют специализированные системы для медленный одноранговый трафик для сокращения затрат. Обфускация и шифрование затрудняют обнаружение трафика и, следовательно, его сложнее регулировать. Эти системы изначально были разработаны для обеспечения анонимности или конфиденциальности , но стали необходимы в странах, где интернет-провайдерам было предоставлено право ограничивать пользователей BitTorrent и даже запрещать тех, кто, по их мнению, виновен в незаконном обмене файлами.

История

Ранний подход

Шифрование заголовка протокола (PHE) было задумано RnySmile и впервые реализовано в BitComet версии 0.60 8 сентября 2005 года. Некоторые программы, такие как IPP2P, утверждают, что трафик BitComet обнаруживается даже с помощью PHE. [3] PHE можно обнаружить, поскольку зашифрована только часть потока. Поскольку открытых спецификаций реализации этого протокола нет, единственная возможность поддержать его в других клиентах — это обратный инжиниринг .

Развитие МШЭ/ЧП

В конце января 2006 года разработчики Vuze (тогда известного как Azureus) решили разработать и одновременно реализовать новый метод обфускации открытого протокола, называемый шифрованием потока сообщений (MSE). Он был включен в снимок Azureus CVS 2307-B29 19 января 2006 г. [4]

Этот первый проект подвергся резкой критике, поскольку в нем отсутствовало несколько ключевых функций. После переговоров между различными разработчиками BitTorrent было написано новое предложение, которое в течение нескольких дней было реализовано в бета-версиях Azureus и μTorrent . В μTorrent новый протокол получил название протокола шифрования (PE).

MSE/PE в версиях клиента BitTorrent

Операция

Метод BitComet PHE, используемый в версиях 0.60–0.62, не опубликован и не совместим с MSE/PE.

MSE/PE использует обмен ключами в сочетании с информационным хешем торрента для установления ключа шифрования RC4 . Обмен ключами помогает минимизировать риск пассивных прослушивателей, а инфохеш помогает избежать атак «человек посередине» . RC4 выбран из-за его скорости. Первый кибибайт (1024 байта) вывода отбрасывается, чтобы предотвратить атаку Флюрера, Мантина и Шамира .

Спецификация позволяет пользователям выбирать между шифрованием только заголовков или полного соединения. Полное шифрование соединения обеспечивает большую путаницу, но требует больше процессорного времени.

Чтобы обеспечить совместимость с другими клиентами, которые не поддерживают эту спецификацию, пользователи также могут выбрать, разрешены ли по-прежнему незашифрованные входящие или исходящие соединения.

Поддерживаемые клиенты распространяют информацию о том, что у них включен MSE/PE, через PEX и DHT .

Безопасность

Расчетная надежность шифрования соответствует примерно 60–80 битам для обычных симметричных шифров. [21] С точки зрения криптографии эта эффективная длина ключа довольно мала, но она уместна, поскольку протокол был разработан не как безопасный транспортный протокол, а скорее как быстрый и эффективный метод обфускации. AES был предложен в качестве метода шифрования, но не был принят, поскольку требовал слишком много процессорного времени. Требуемые ключи Диффи-Хеллмана для достижения безопасности, равной AES, были бы намного больше или требовали бы криптографии на эллиптических кривых , что делало бы рукопожатие более дорогим с точки зрения используемого процессорного времени.

Эффективность

Анализ шифрования протокола BitTorrent (он же MSE) показал, что статистические измерения размеров пакетов и направлений первых 100 пакетов в сеансе TCP могут использоваться для идентификации запутанного протокола с точностью более 96%. [22]

Критика

Брэм Коэн , изобретатель BitTorrent , выступал против добавления шифрования в протокол BitTorrent. Коэн заявил, что он обеспокоен тем, что шифрование может привести к несовместимости между клиентами. Он также подчеркнул, что большинство интернет-провайдеров не блокируют торрент-протокол. В 2006 году Коэн написал: «Я скорее подозреваю, что какой-то разработчик ограничил скорость своего интернет-провайдера и больше заинтересован в попытках обойти ограничения своего интернет-провайдера, чем в производительности Интернета в целом». [23] Многие пользователи сообщества BitTorrent резко отреагировали на обвинения Коэна. [24] Позже Коэн добавил к своему клиенту Mainline зашифрованные соединения [25] с возможностью их получения, но не создания. [ нужна цитата ] Примечательно, что когда μTorrent был куплен BitTorrent, Inc., а затем стал следующей основной версией, возможность создания зашифрованных соединений была сохранена, но по умолчанию она была отключена. В интервью 2007 года Коэн заявил: «Так называемое «шифрование» трафика BitTorrent на самом деле не является шифрованием, а запутыванием. Оно не обеспечивает никакой анонимности и лишь временно позволяет избежать формирования трафика». [26]

Примечания

  1. ^ Обычно называется более правильным шифрованием заголовка протокола .

Рекомендации

  1. ^ «Обфускация протокола eMule (шифрование)» . emule-project.net. 16 сентября 2006 г. Архивировано из оригинала 25 сентября 2009 г. Проверено 11 марта 2010 г.
  2. ^ «Эффект BitTorrent». Проводной . 30 мая 2007 г. Архивировано из оригинала 26 марта 2006 г. Проверено 05 марта 2017 г.
  3. ^ "Новости". IPP2P.org. 04 января 2006 г. Архивировано из оригинала 20 мая 2013 г. Проверено 29 января 2006 г.
  4. ^ "[Azureus-commitlog] Снимок CVS Azureus2307-B29.jar выпущен!". Sourceforge.net. 19 января 2006 г. Архивировано из оригинала 24 сентября 2019 г. Проверено 08 апреля 2013 г.
  5. ^ «aria2c(1) — документация aria2 1.34.0» . aria2.github.io . Проверено 29 мая 2019 г.
  6. ^ «Примечания к выпуску клиента BitComet» . Биткомет.com. 07.03.2006. Архивировано из оригинала 17 декабря 2010 г. Проверено 7 марта 2006 г.
  7. ^ "БитТорнадо Т-0.3.18" . Форум Degreez.net. 05.01.2007. Архивировано из оригинала 25 марта 2017 г. Проверено 6 января 2007 г.
  8. ^ «Примечания к версии». BitTorrent.com. 2 мая 2006 г. Архивировано из оригинала 13 июня 2006 г.
  9. ^ «Журнал изменений: Потоп 0.5.1 (11 июня 2007 г.)» . Deluge-torrent.org. 11 июня 2007 г. Архивировано из оригинала 1 апреля 2008 г.
  10. ^ Сервер SVN . KDE.орг. 29 апреля 2006 г. Требуется клиент Subversion .
  11. ^ «Добавлено шифрование!». Форум KTorrent.pwsp.net. 29 апреля 2006 г. Архивировано из оригинала 5 июня 2007 г.
  12. ^ Норберг, Арвид. «www.libtorrent.org/reference-Settings.html». www.libtorrent.org . Архивировано из оригинала 17 февраля 2017 г. Проверено 16 февраля 2017 г.
  13. ^ «libtorrent/ChangeLog в мастере · arvidn/libtorrent · GitHub». github.com . Архивировано из оригинала 10 мая 2017 г. Проверено 16 февраля 2017 г.
  14. ^ "Гмане - Почта в новости и обратно" . permalink.gmane.org . Архивировано из оригинала 17 февраля 2017 г. Проверено 16 февраля 2017 г.
  15. ^ «[Libtorrent-devel] Выпущены LibTorrent 0.11.0 и rTorrent 0.7.0» . Почтовый архив Rakshasa.no. 13 декабря 2006 г. Архивировано из оригинала 2 мая 2007 г. Проверено 10 июня 2007 г.
  16. ^ «Выпущена передача 0.90!». Форум Transmission.m0k.org. 24 октября 2007 г. Архивировано из оригинала 27 октября 2007 г.
  17. ^ "[Azureus-commitlog] Снимок CVS Azureus2307-B33.jar выпущен!". Sourceforge.net. 25 января 2006 г. Архивировано из оригинала 24 сентября 2019 г. Проверено 08 апреля 2013 г.
  18. ^ «Azureus: Java BitTorrent Client — журнал изменений» . Azureus.sourceforge.net. Архивировано из оригинала 20 марта 2006 г. Проверено 20 марта 2006 г.
  19. ^ "μTorrent 1.4.2 бета 435" . Объявления uTorrent. 29 января 2006 г. Архивировано из оригинала 14 мая 2006 г.
  20. ^ «Выпущен μTorrent 1.5». Архивировано 29 мая 2013 г. на Wayback Machine . Объявления uTorrent. 07.03.2006.
  21. ^ «RFC 3526, глава 8» . IETF.org. Архивировано из оригинала 18 января 2017 г. Проверено 26 августа 2007 г.
  22. ^ Хьельмвик, Эрик; Джон, Вольфганг (27 июля 2010 г.). «Нарушение и улучшение обфускации протокола» (PDF) . Технический отчет . Кафедра компьютерных наук и инженерии Технологического университета Чалмерса . ISSN  1652-926Х. Архивировано (PDF) из оригинала 11 ноября 2020 г. Проверено 17 августа 2010 г.
  23. ^ Коэн, Брэм (29 января 2006 г.). «Запутывание BitTorrent». Блог Брэма Коэна. Архивировано из оригинала 7 февраля 2006 г.
  24. ^ «Дебаты по поводу шифрования протокола». Форум uTorrent.com. 04 февраля 2006 г. Архивировано из оригинала 22 октября 2007 г.
  25. ^ «История версий основной ветки BitTorrent» . BitTorrent.com. 15 октября 2006 г. Архивировано из оригинала 25 февраля 2007 г.
  26. ^ «Интервью с Брэмом Коэном, изобретателем BitTorrent». Архивировано 15 июля 2013 г. в Wayback Machine . ТоррентФрик. 17 января 2007 г. Проверено 7 апреля 2013 г.

Внешние ссылки