Encryption protocol ( PE ), message flow encryption ( MSE ) or encrypting header protocol ( PHE ) is a related feature of multiple peer-to-peer file sharing clients, including BitTorrent clients. They seek to improve privacy and secrecy. In addition, they attempt to make traffic more difficult to be identified by third parties including internet service providers (ISPs).
MSE/PE is implemented in BitComet, BitTornado, Deluge, Flashget, KTorrent, libtorrent (used by various BitTorrent clients, including qBittorrent), Mainline, Ã,ÃμTorrent, qBittorrent, rTorrent, Transmission, Tixati and Vuze. PHE is implemented in old version BitComet. Similar protocol obfuscation is supported in the latest version of some other (non-BitTorrent) systems including eMule.
Video BitTorrent protocol encryption
Destination
In January 2005, BitTorrent traffic made up more than a third of the total residential internet traffic, although this dropped to less than 20% in 2009. Some ISPs deal with this traffic by increasing their capacity while others use a special system to slow colleagues cross-to-peer to cut costs. Obfuscation and encryption make traffic more difficult to detect and therefore more difficult to block. The system was originally designed to provide anonymity or confidentiality, but it becomes mandatory in countries where Internet Service Providers are given the power to strangle BitTorrent users and even ban those who are considered guilty of illegal file sharing.
Maps BitTorrent protocol encryption
History
Initial approach
The encryption header protocol (PHE) is contained by RnySmile and was first implemented in BitComet version 0.60 on September 8, 2005. Some software such as IPP2P claim BitComet traffic can be detected even with PHE. PHE can be detected because only part of the stream is encrypted. Since there is no open specification for the implementation of this protocol, the only possibility to support it on other clients is through reverse engineering.
Development of MSE/PE
At the end of January 2006 the Vuze developers (later known as Azureus) decided to design and simultaneously implement a new, open-obfuscation protocol method, called message flow encryption (MSE). It was included in the Azureus CVS 2307-B29 snapshot on January 19, 2006.
This first draft is heavily criticized for lacking some key features. After negotiations between different BitTorrent developers, new proposals are written and then implemented into Azureus and Ã,ÃμTorrent beta within a few days. In Ã,ÃμTorrent, the new protocol is called protocol encryption (PE).
MSE/PE in BitTorrent client version
- BitComet version 0.63 released March 7, 2006. This removes old protocol encryption and implements the new MSE/PE to be compatible with Azureus and Ã,ÃμTorrent.
- BitTornado supports MSE/PE when building T-0.3.18. On January 5, 2007, this building is still marked "experimental" on the Download page.
- BitTorrent (Mainline) supports MSE/PE since version 4.9.2-beta on May 2, 2006.
- Deluge supports MSE/PE on Deluge-0.5.1.
- KTorrent applied MSE/PE on SVN version 535386 on April 29, 2006.
- libtorrent implements the encryption protocol in v0.13 released on December 10, 2011.
- rTorrent supports MSE/PE on rTorrent-0.7.0.
- Transmission supports MSE/PE on Transmission-0.90.
- Vuze (formerly Azureus) endorsed the final specification since January 25, 2006 (CVS 2307-B33 snapshot). Azureus version 2.4.0.0 was released February 10, 2006, and is the first stable version of the client to support MSE/PE. However, the disruption in the Azureus implementation resulted in an incorrectly encrypted piece that failed to check the hash. Glitches fixed in version 2.4.0.2.
- Ã,ÃμTorrent prime MSE/PE 4 days after Azureus with beta 1.4.1 build 407. Ã,ÃμTorrent version 1.5 (build 436) was released on March 7, 2006; it is the first stable version of Ã,ÃμTorrent with PE.
Operation
The BitComet PHE method used in versions 0.60 to 0.62 is not published, nor is it compatible with MSE/PE.
MSE/PE uses a key exchange combined with infohash torrent to generate RC4 encryption keys. Key exchange helps minimize the risk of passive listening, and infohash helps avoid man-in-the-middle attacks. RC4 is chosen because of its speed. The first kibibyte (1024 bytes) of output is discarded to prevent Fluhrer, Mantin and Shamir attacks.
The specification allows the user to choose between encrypting only headers or full connections. Encrypting a full connection gives more confusion but uses more CPU time.
To ensure compatibility with other clients that do not support this specification, users can also choose whether unencrypted or incoming connections are still allowed.
Supported clients are spreading the fact that they have MSE/PE enabled via PEX and DHT.
Security
It is estimated that the power of encryption corresponds to about 60-80 bits for common symmetrical ciphers. Cryptographically, the effective lock length is quite low, but precisely because the protocol is not designed as a secure transport protocol but rather as a fast and efficient method of obfuscation. AES is proposed as an encryption method, but is not adopted because it consumes too much CPU time. The Diffie-Hellman key required to achieve security equivalent to AES will be much larger or require elliptical curve cryptography, making handshakes more expensive in terms of CPU time being used.
Effectiveness
Some ISPs now use more sophisticated actions (such as pattern/time analysis or categorization of ports based on side-channel data) to detect BitTorrent traffic. This means that encrypted BitTorrent traffic can be compacted. However, with ISPs continuing to use simpler and cheaper methods to identify and strangulate BitTorrent, today's solutions remain effective.
BitTorrent protocol encryption analysis (a.k.a.MSE) has shown that statistical measurements of package size and packet direction of the first 100 packets in a TCP session can be used to identify obscured protocols with an accuracy of more than 96%.
The Sandvine app uses a different approach to disrupt BitTorrent traffic by making nursery impossible. Sandvine intercepts peer-to-tracker communications to identify peers based on IP addresses and port numbers in peer lists that are returned from trackers. When Sandvine then sees connections to colleagues in the list of peers being intercepted, it may (in accordance with policy) disconnect this by sending a fake TCP reset. Various solutions exist to protect against Sandvine attacks including encrypting peer-to-peer-to-peer communications, using Microsoft's Teredo so that TCP connections are tunneled in UDP packets, re-filtering TCP before they reach the TCP layer at the end of the host, or switch entirely from TCP-based transport to UDP-based transportation. Each solution has its trade-off. Rebooting TCP resets usually require kernel access, and remote peer participation since Sandvine sends reset packets to local and remote colleagues.
Criticism
Bram Cohen, the inventor of BitTorrent, opposed the addition of encryption to the BitTorrent protocol. Cohen said he worried that encryption could create a mismatch between clients. He also stressed that the majority of ISPs do not block the torrent protocol. In 2006 Cohen wrote, "I am somewhat suspicious that some developers have been getting rates that are restricted by their ISPs, and are more interested in trying to hack ISP's limitations than in overall internet performance". Many BitTorrent community users responded strongly to Cohen's allegations. Cohen then adds an encrypted connection to his Mainline client with the ability to accept but not start it. Specifically, when Ã,ÃμTorrent is purchased by BitTorrent, Inc. and then into the next major release, the ability to initiate an encrypted connection is maintained, but it becomes dead by default. In an interview in 2007, Cohen stated "The so-called 'encryption' of BitTorrent traffic is not really encryption, it's obfuscation.This gives no anonymity whatsoever, and only temporarily avoids the formation of traffic."
Note
References
External links
- "Message Flow Encryption". Vuze.
- "ISPs that make up BitTorrent". Vuze.
- "BitTorrent End to End Encryption and Bandwidth Throttling - Part I" with Ã,ÃμTorrent developers. Slyck News.
- "BitTorrent End to End Encryption and Bandwidth Throttling - Part II" with Azureus developer Slyck News.
- "BitTorrent and End to End Encryption". Slashdot.
- "Peer Obfuscation Tracker". BitTorrent.org.
- "Identify Message Flow Encryption Protocol (MSE)" for Identification of Static Protocols. Sourceforge.
- "Block P2P Traffic on a Cisco IOS Router using NBAR". Cisco.
- "Aria2c VPN/Tutorial Proxy". GoTux.
Source of the article : Wikipedia