Шифрование протокола BitTorrent
Шифрование протокола ( PE ), шифрование потока сообщений ( MSE ) или шифрование заголовка протокола ( PHE ) [а] — это связанные функции некоторых одноранговых для обмена файлами клиентов , включая клиенты 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
[ редактировать ]- aria2 поддерживает MSE/PE начиная с версии 1.34, [5] но не применяется по умолчанию.
- Версия BitComet 0.63 была выпущена 7 марта 2006 года. В ней удалено шифрование заголовка старого протокола и реализован новый MSE/PE для совместимости с Azureus и μTorrent. [6]
- BitTornado поддерживает MSE/PE начиная со сборки T-0.3.18. По состоянию на 5 января 2007 г. эта сборка все еще имеет пометку «экспериментальная» на странице загрузки. [7]
- BitTorrent (Mainline) поддерживает MSE/PE, начиная с бета-версии 4.9.2 от 2 мая 2006 г. [8]
- Deluge поддерживает MSE/PE начиная с Deluge-0.5.1. [9]
- KTorrent реализовал MSE/PE в версии SVN 535386. [10] 29 апреля 2006 г. [11]
- libtorrent [12] реализовано шифрование протокола в версии 0.13 [13] выпущен 10 декабря 2011 года. [14]
- rTorrent поддерживает MSE/PE начиная с rTorrent-0.7.0. [15]
- Transmission поддерживает MSE/PE начиная с Transmission-0.90. [16]
- Vuze (ранее Azureus) поддерживает окончательную спецификацию с 25 января 2006 г. (снимок CVS 2307-B33). [17] Версия Azureus 2.4.0.0 была выпущена 10 февраля 2006 г. и стала первой стабильной версией клиента, поддерживающей MSE/PE. Однако сбои в реализации Azureus привели к неправильно зашифрованным частям, которые не прошли проверку хэша. Глюки исправлены начиная с версии 2.4.0.2. [18]
- Премьера μTorrent MSE/PE состоялась через 4 дня после Azureus с бета-версией 1.4.1 сборки 407. [19] μTorrent версии 1.5 (сборка 436) была выпущена 7 марта 2006 г.; это была первая стабильная версия μTorrent с PE. [20]
Операция
[ редактировать ]Метод 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]
Примечания
[ редактировать ]- ^ Обычно называется более правильным шифрованием заголовка протокола .
Ссылки
[ редактировать ]- ^ «Обфускация (шифрование) протокола eMule» . emule-project.net. 16 сентября 2006 г. Архивировано из оригинала 25 сентября 2009 г. Проверено 11 марта 2010 г.
- ^ «Битторрент-эффект» . Проводной . 30 мая 2007 г. Архивировано из оригинала 26 марта 2006 г. Проверено 05 марта 2017 г.
- ^ «Новости» . IPP2P.org. 04 января 2006 г. Архивировано из оригинала 20 мая 2013 г. Проверено 29 января 2006 г.
- ^ «[Azureus-commitlog] Снимок CVS Azureus2307-B29.jar выпущен!» . Sourceforge.net. 19 января 2006 г. Архивировано из оригинала 24 сентября 2019 г. Проверено 08 апреля 2013 г.
- ^ «aria2c(1) — документация aria2 1.34.0» . aria2.github.io . Проверено 29 мая 2019 г.
- ^ «Примечания к выпуску клиента BitComet» . Биткомет.com. 07.03.2006. Архивировано из оригинала 17 декабря 2010 г. Проверено 7 марта 2006 г.
- ^ «БитТорнадо Т-0.3.18» . Форум Degreez.net. 05.01.2007. Архивировано из оригинала 25 марта 2017 г. Проверено 6 января 2007 г.
- ^ «Примечания к версии» . BitTorrent.com. 2 мая 2006 г. Архивировано из оригинала 13 июня 2006 г.
- ^ «Список изменений: Потоп 0.5.1 (11 июня 2007 г.)» . Deluge-torrent.org. 11 июня 2007 г. Архивировано из оригинала 1 апреля 2008 г.
- ^ СВН- сервер . KDE.org. 29 апреля 2006 г. Требуется клиент Subversion .
- ^ «Шифрование добавлено!» . Форум KTorrent.pwsp.net. 29 апреля 2006 г. Архивировано из оригинала 5 июня 2007 г.
- ^ Норберг, Арвид. «www.libtorrent.org/reference-Settings.html» . www.libtorrent.org . Архивировано из оригинала 17 февраля 2017 г. Проверено 16 февраля 2017 г.
- ^ «libtorrent/ChangeLog в мастере · arvidn/libtorrent · GitHub» . github.com . Архивировано из оригинала 10 мая 2017 г. Проверено 16 февраля 2017 г.
- ^ «Гмане — почта для новостей и обратно» . permalink.gmane.org . Архивировано из оригинала 17 февраля 2017 г. Проверено 16 февраля 2017 г.
- ^ «[Libtorrent-devel] Выпущены LibTorrent 0.11.0 и rTorrent 0.7.0» . Почтовый архив Rakshasa.no. 13 декабря 2006 г. Архивировано из оригинала 2 мая 2007 г. Проверено 10 июня 2007 г.
- ^ «Передача 0.90 выпущена!» . Форум Transmission.m0k.org. 24 октября 2007 г. Архивировано из оригинала 27 октября 2007 г.
- ^ «[Azureus-commitlog] Снимок CVS Azureus2307-B33.jar выпущен!» . Sourceforge.net. 25 января 2006 г. Архивировано из оригинала 24 сентября 2019 г. Проверено 08 апреля 2013 г.
- ^ «Azureus: Java BitTorrent Client — журнал изменений» . Azureus.sourceforge.net. Архивировано из оригинала 20 марта 2006 г. Проверено 20 марта 2006 г.
- ^ «μTorrent 1.4.2 бета 435» . Объявления uTorrent. 29 января 2006 г. Архивировано из оригинала 14 мая 2006 г.
- ^ «Выпущен μTorrent 1.5». Архивировано 29 мая 2013 г. на Wayback Machine . Объявления uTorrent. 07.03.2006.
- ^ «RFC 3526, глава 8» . IETF.org. Архивировано из оригинала 18 января 2017 г. Проверено 26 августа 2007 г.
- ^ Хельмвик, Эрик; Джон, Вольфганг (27 июля 2010 г.). «Нарушение и улучшение обфускации протокола» (PDF) . Технический отчет . Кафедра компьютерных наук и инженерии Технологического университета Чалмерса . ISSN 1652-926Х . Архивировано (PDF) из оригинала 11 ноября 2020 г. Проверено 17 августа 2010 г.
- ^ Коэн, Брэм (29 января 2006 г.). «Обфускация BitTorrent» . Блог Брэма Коэна. Архивировано из оригинала 7 февраля 2006 г.
- ^ «Дебаты по поводу шифрования протокола» . Форум uTorrent.com. 04 февраля 2006 г. Архивировано из оригинала 22 октября 2007 г.
- ^ «История версий основной ветки BitTorrent» . BitTorrent.com. 15 октября 2006 г. Архивировано из оригинала 25 февраля 2007 г.
- ^ «Интервью с Брэмом Коэном, изобретателем BitTorrent» . Архивировано 15 июля 2013 г. в Wayback Machine . ТоррентФрик. 17 января 2007 г. Проверено 7 апреля 2013 г.
Внешние ссылки
[ редактировать ]- «Шифрование потока сообщений» . Вузе.
- «Интернет-провайдеры, которые формируют BitTorrent» . Вузе.
- «Сквозное шифрование BitTorrent и регулирование пропускной способности — Часть I» с разработчиками μTorrent . Слик Новости.
- «Сквозное шифрование BitTorrent и регулирование пропускной способности — часть II» с разработчиками Azureus Slyck News.
- «BitTorrent и сквозное шифрование» . Слэшдот.
- «Обфускация одноранговых узлов трекера» . BitTorrent.org.
- «Идентификация протокола шифрования потока сообщений (MSE)» для статистической идентификации протокола . ИсточникФордж.
- «Блокировка P2P-трафика на маршрутизаторе Cisco IOS с помощью NBAR» . Циско.
- «Учебное пособие по Aria2c VPN/прокси» . ГоТукс.