Шифрование протокола (PE), шифрование потока сообщений (MSE ) или шифрование заголовка протокола (PHE ) - это связанные функции некоторых одноранговых клиентов с обменом файлами , включая клиентов BitTorrent. Они пытаются повысить приватность и конфиденциальность. Кроме того, они пытаются затруднить идентификацию трафика третьими сторонами, включая поставщиков интернет-услуг (ISP). Однако шифрование не защитит человека от уведомлений DMCA о совместном использовании незаконного контента, так как материал все еще загружается, а компании, занимающиеся мониторингом, могут просто подключиться к рой..
MSE / PE реализовано в BitComet, BitTornado, Deluge, Flashget, KTorrent, libtorrent (используется различными клиентами BitTorrent, включая qBittorrent ), Mainline, μTorrent, qBittorrent, rTorrent, Transmission, Tixati и Вузе. PHE был реализован в старых версиях BitComet. Подобный протокол обфускация поддерживается в современных версиях некоторых других (не BitTorrent) систем, включая eMule.
По состоянию на январь 2005 г. трафик BitTorrent составлял более трети от общего объема домашнего интернет-трафика, хотя по состоянию на 2009 г. этот показатель упал до менее 20%. Интернет-провайдеры обрабатывают этот трафик, увеличивая свою пропускную способность, в то время как другие используют специализированные системы для замедления однорангового трафика с целью сокращения затрат. Обфускация и шифрование затрудняют обнаружение трафика и, следовательно, затрудняют его регулирование. Эти системы изначально были разработаны для обеспечения анонимности или конфиденциальности, но стали необходимы в странах, где интернет-провайдерам было предоставлено право ограничивать пользователей BitTorrent и даже запрещать их использование. они считали виновными в незаконном обмене файлами.
Шифрование заголовка протокола (PHE) было задумано и впервые реализовано в BitComet версии 0.60 8 сентября 2005 г. Некоторое программное обеспечение как утверждает IPP2P, трафик BitComet обнаруживается даже с PHE. PHE обнаруживается, потому что зашифрована только часть потока. Поскольку нет открытых спецификаций для реализации этого протокола, единственная возможность поддержать его в других клиентах была бы через обратный инжиниринг.
В конце января 2006 года разработчики Vuze (тогда известный как Azureus) решил разработать и одновременно реализовать новый метод обфускации открытого протокола, называемый шифрованием потока сообщений (MSE). Он был включен в моментальный снимок Azureus CVS 2307-B29 19 января 2006 года.
Этот первый черновик подвергся резкой критике, поскольку в нем отсутствовали некоторые ключевые функции. После переговоров между различными разработчиками BitTorrent было написано новое предложение, которое в течение нескольких дней было реализовано в бета-версиях Azureus и μTorrent. В μTorrent новый протокол получил название протокола шифрования (PE).
Метод BitComet PHE, используемый в версиях от 0.60 до 0.62, не опубликован и не совместим с MSE / PE.
MSE / PE использует обмен ключами в сочетании с информационным хешем торрента для установления ключа шифрования RC4. Обмен ключами помогает минимизировать риск пассивных слушателей, а информационный хэш помогает избежать атак типа "злоумышленник в середине". RC4 выбран из-за его скорости. Первый кибибайт (1024 байта) вывода отбрасывается, чтобы предотвратить атаку Флурера, Мантина и Шамира.
. Спецификация позволяет пользователям выбирать между шифрованием только заголовков или полного соединения. Шифрование полного соединения обеспечивает большую обфускацию, но требует больше процессорного времени.
Для обеспечения совместимости с другими клиентами, которые не поддерживают эту спецификацию, пользователи могут также выбрать, разрешены ли входящие или исходящие соединения в незашифрованном виде.
Поддерживаемые клиенты распространяют тот факт, что у них включен MSE / PE, через PEX и DHT.
Расчетная стойкость шифрования соответствует примерно 60–80 бит для обычных симметричных шифров. Криптографически эта эффективная длина ключа довольно мала, но уместна в том смысле, что протокол был разработан не как безопасный транспортный протокол, а скорее как быстрый и эффективный метод обфускации. AES был предложен в качестве метода шифрования, но не принят, поскольку он потребляет слишком много времени ЦП. Необходимые ключи Диффи – Хеллмана для достижения безопасности, равной AES, были бы намного больше или требовали бы криптографии с эллиптической кривой, что сделало бы рукопожатие более дорогим с точки зрения используемого времени ЦП.
Анализ шифрования протокола BitTorrent (он же MSE) показал, что статистические измерения размеров пакетов и направления пакетов первых 100 пакетов в сеансе TCP могут использоваться для идентификации запутанных протокол с точностью более 96%.
Брэм Коэн, изобретатель BitTorrent, выступил против добавления шифрования к протоколу BitTorrent. Коэн заявил, что его беспокоит, что шифрование может создать несовместимость между клиентами. Он также подчеркнул, что большинство интернет-провайдеров не блокируют торрент-протокол. В 2006 году Коэн написал: «Я скорее подозреваю, что скорость какого-то разработчика ограничена своим интернет-провайдером, и он больше заинтересован в попытках обойти ограничения своего провайдера, чем в производительности Интернета в целом». Многие пользователи сообщества BitTorrent решительно ответили на обвинения Коэна. Позже Коэн добавил зашифрованные соединения к своему клиенту Mainline с возможностью получать, но не создавать их. Примечательно, что когда μTorrent был приобретен BitTorrent, Inc. и затем стал следующим основным выпуском, возможность создавать зашифрованные соединения была сохранена, но по умолчанию была отключена. В интервью в 2007 году Коэн заявил: «Так называемое« шифрование »трафика BitTorrent на самом деле не шифрование, а обфускация. Оно не обеспечивает никакой анонимности и лишь временно предотвращает формирование трафика».