BitTorrent protocol encryption: Difference between revisions

Content deleted Content added
Effectiveness: removing 10 year old unsourced statement
m clean up, replaced: |deadurl=yes → |url-status=dead (4), µ → μ (9)
Line 1:
'''Protocol encryption''' ('''PE'''), '''message stream encryption''' ('''MSE''') or '''protocol header encrypt''' ('''PHE'''){{efn|Usually referred to as the more proper ''protocol header encryption''.}} are related features of some [[peer-to-peer]] [[file-sharing]] [[Comparison of file sharing applications|clients]], including [[BitTorrent client]]s. They attempt to enhance privacy and confidentiality. In addition, they attempt to make traffic harder to identify by third parties including [[internet service provider]]s (ISPs).
 
MSE/PE is implemented in [[BitComet]], [[BitTornado]], [[Deluge (software)|Deluge]], [[Flashget]], [[KTorrent]], [[libtorrent]] (used by various BitTorrent clients, including [[qBittorrent]]), [[BitTorrent client|Mainline]], [[µTorrentμTorrent]], [[qBittorrent]], [[rTorrent]], [[Transmission (BitTorrent client)|Transmission]], [[Tixati]] and [[Vuze]]. PHE was implemented in old versions of BitComet. Similar protocol [[obfuscation]] is supported in up-to-date versions of some other (non-BitTorrent) systems including [[eMule]].<ref>{{cite web|url=http://www.emule-project.net/home/perl/help.cgi?l=1&rm=show_topic&topic_id=848|title=eMule protocol obfuscation (encryption)|publisher=emule-project.net|date=2006-09-16|accessdate=2010-03-11}}</ref>
 
==Purpose==
As of January 2005, BitTorrent traffic made up more than a third of total residential internet traffic,<ref>{{cite web|url=https://www.wired.com/wired/archive/13.01/bittorrent.html|title=The Bittorrent Effect|publisher=Wired|date=2007-05-30}}</ref> although this dropped to less than 20% as of 2009.<ref>{{cite web|url=http://www.sandvine.com/downloads/documents/2009%20Global%20Broadband%20Phenomena%20-%20Executive%20Summary.pdf|title=2009 Global Broadband Phenomena|publisher=Sandvine.com|date=2009-11-16|deadurlurl-status=yesdead|archiveurl=https://web.archive.org/web/20091122162729/http://www.sandvine.com/downloads/documents/2009%20Global%20Broadband%20Phenomena%20-%20Executive%20Summary.pdf|archivedate=2009-11-22|df=}}</ref> Some ISPs deal with this traffic by increasing their capacity whilst others use specialised systems to slow peer-to-peer traffic to cut costs. Obfuscation and encryption make traffic harder to detect and therefore harder to throttle. These systems were designed initially to provide [[anonymity]] or [[confidentiality]], but became required in countries where [[Internet Service Providers]] were granted the power to throttle BitTorrent users and even ban those they believed were guilty of illegal file sharing.
 
==History==
Line 14:
In late January 2006 the developers of [[Vuze]] (then known as Azureus) decided to design and simultaneously implement a new, open protocol obfuscation method, called message stream encryption (MSE). It was included in Azureus CVS snapshot 2307-B29 on 19 January 2006.<ref>{{cite web|url=http://sourceforge.net/mailarchive/forum.php?thread_name=200601200753.k0K7rYp0016440%40aelitis.com&forum_name=azureus-commitlog|title=[Azureus-commitlog] CVS Snapshot Azureus2307-B29.jar has been released ! |publisher=Sourceforge.net|date=2006-01-19}}</ref>
 
This first draft was heavily criticized since it lacked several key features. After negotiations between different BitTorrent developers a new proposal was written and then implemented into the [[Vuze|Azureus]] and [[µTorrentμTorrent]] betas within days. In µTorrentμTorrent, the new protocol was called protocol encryption (PE).
 
===MSE/PE in BitTorrent client versions===
*[https://aria2.github.io/ aria2] supports MSE/PE as of build v1.34<ref>{{Cite web|url=https://aria2.github.io/manual/en/html/aria2c.html?highlight=encryption#cmdoption-bt-force-encryption|title=aria2c(1) — aria2 1.34.0 documentation|website=aria2.github.io|access-date=2019-05-29}}</ref> but is not enforced by default.
*BitComet version 0.63 was released 7 March 2006. It removed the old protocol header encryption and implemented the new MSE/PE to be compatible with Azureus and µTorrentμTorrent.<ref>{{cite web|url=http://www.bitcomet.com/doc/changelog.htm|title=BitComet Client Release Notes |publisher=Bitcomet.com |date=2006-03-07}}</ref>
* [[BitTornado]] supports MSE/PE as of build T-0.3.18. As of January 5, 2007, this build is still marked "experimental" on the Download page.<ref>{{cite web|url=http://forums.degreez.net/viewtopic.php?t=7074|title=BitTornado T-0.3.18|publisher=Degreez.net forum|date=2007-01-05}}</ref>
* [[BitTorrent client|BitTorrent]] (Mainline) supports MSE/PE since version 4.9.2-beta on May 2, 2006.<ref>{{cite web|url=http://www.bittorrent.com/versionnotes.html|title=Version Notes |publisher=BitTorrent.com|date=2006-05-02|archiveurl=https://web.archive.org/web/20060613094322/http://www.bittorrent.com/versionnotes.html |archivedate=2006-06-13}}</ref>
Line 27:
* [[Transmission (BitTorrent client)|Transmission]] supports MSE/PE as of Transmission-0.90.<ref>{{cite web|url=http://transmission.m0k.org/forum/viewtopic.php?t=2631|title=Transmission 0.90 Released! |publisher=Transmission.m0k.org forum|date=2007-10-24|archiveurl=https://web.archive.org/web/20071027022525/http://transmission.m0k.org/forum/viewtopic.php?t=2631|archivedate=2007-10-27}}</ref>
* [[Vuze]] (formerly Azureus) supports the final spec since 25 January 2006 (CVS snapshot 2307-B33).<ref>{{cite web|url=http://sourceforge.net/mailarchive/forum.php?thread_name=200601252228.k0PMSnp0024117%40aelitis.com&forum_name=azureus-commitlog|title=[Azureus-commitlog] CVS Snapshot Azureus2307-B33.jar has been released !|publisher=Sourceforge.net|date=2006-01-25}}</ref> Azureus version 2.4.0.0 was released 10 February 2006, and was the first stable version of a client to support MSE/PE. However, glitches in Azureus' implementation resulted in improperly encrypted pieces that failed hash checking. The glitches were rectified as of version 2.4.0.2.<ref>{{cite web|url=http://azureus.sourceforge.net/changelog.php?version=2.4.0.2|title=Azureus : Java BitTorrent Client - Changelog|publisher=Azureus.sourceforge.net}}</ref>
* [[µTorrentμTorrent]] premiered MSE/PE 4 days after Azureus with beta 1.4.1 build 407.<ref>{{cite web|url=http://forum.utorrent.com/viewtopic.php?id=5384|title=µTorrentμTorrent 1.4.2 beta 435|publisher=uTorrent Announcements|date=2006-01-29|deadurlurl-status=yesdead|archiveurl=https://web.archive.org/web/20060514085453/http://forum.utorrent.com/viewtopic.php?id=5384|archivedate=2006-05-14|df=}}</ref> µTorrentμTorrent version 1.5 (build 436) was released on 7 March 2006; it was the first stable version of µTorrentμTorrent with PE.<ref>[http://forum.utorrent.com/viewtopic.php?id=7199 "µTorrent 1.5 released"] {{webarchive|url=https://web.archive.org/web/20130529090641/http://forum.utorrent.com/viewtopic.php?id=7199 |date=2013-05-29 }}. uTorrent Announcements. 2006-03-07.</ref>
 
==Operation==
Line 50:
 
==Criticism==
[[Bram Cohen]], the inventor of [[BitTorrent (protocol)|BitTorrent]], opposed adding encryption to the BitTorrent protocol. Cohen stated he was worried that encryption could create incompatibility between clients. He also stressed the point that the majority of ISPs don't block the torrent protocol. In 2006 Cohen wrote "I rather suspect that some developer has gotten rate limited by his ISP, and is more interested in trying to hack around his ISP's limitations than in the performance of the internet as a whole".<ref>{{cite web|url=http://bramcohen.livejournal.com/29886.html |title=Obfuscating BitTorrent |last=Cohen |first=Bram |authorlink=Bram Cohen |publisher=Bram Cohen blog |date=2006-01-29 |deadurlurl-status=yes dead|archiveurl=https://web.archive.org/web/20060207023731/http://bramcohen.livejournal.com/29886.html |archivedate=2006-02-07 |df= }}</ref> Many BitTorrent community users responded strongly against Cohen's accusations.<ref>{{cite web|url=http://forum.utorrent.com/viewtopic.php?id=5742|title=Debate over Protocol Encryption|publisher=uTorrent.com forum|date=2006-02-04|deadurlurl-status=yesdead|archiveurl=https://web.archive.org/web/20071022175414/http://forum.utorrent.com/viewtopic.php?id=5742|archivedate=2007-10-22|df=}}</ref>
Cohen later added encrypted connections to his [[BitTorrent (software)|Mainline client]]<ref>{{cite web|url=http://www.bittorrent.com/versionnotes.html|title=BitTorrent Mainline Version History|publisher=BitTorrent.com|date=2006-10-15|archiveurl=https://web.archive.org/web/20070225131829/http://www.bittorrent.com/versionnotes.html|archivedate=2007-02-25}}</ref> with the ability to receive but not originate them.{{citation needed|date=April 2013}} Notably, when µTorrentμTorrent was purchased by BitTorrent, Inc. and then became the next mainline release, the ability to originate encrypted connections was retained, but it became turned off by default. In an interview in 2007, Cohen stated "The so-called 'encryption' of BitTorrent traffic isn't really encryption, it's obfuscation. It provides no anonymity whatsoever, and only temporarily evades traffic shaping."<ref>[http://torrentfreak.com/interview-with-bram-cohen-the-inventor-of-bittorrent/ "Interview with Bram Cohen, the inventor of BitTorrent"]. TorrentFreak. 2007-01-17. Retrieved 2013-04-07.</ref>
 
==Notes==