El cifrado de protocolo ( PE ), el cifrado de flujo de mensajes ( MSE ) o el cifrado de encabezado de protocolo ( PHE ) [a] son características relacionadas de algunos clientes de intercambio de archivos peer to peer , incluidos los clientes BitTorrent . Intentan mejorar la privacidad y la confidencialidad. Además, intentan hacer que el tráfico sea más difícil de identificar por terceros, incluidos los proveedores de servicios de Internet (ISP). Sin embargo, el cifrado no protegerá a uno de los avisos de la DMCA por compartir contenido ilegal, ya que uno sigue subiendo material y las empresas de monitoreo pueden simplemente conectarse al enjambre .
MSE/PE está implementado en BitComet , BitTornado, Deluge , Flashget , KTorrent , libtorrent (usado por varios clientes BitTorrent, incluido qBittorrent ), Mainline , μTorrent , qBittorrent , rTorrent , Transmission , Tixati y Vuze . PHE se implementó en versiones anteriores de BitComet. Se admite una ofuscación de protocolo similar en versiones actualizadas de algunos otros sistemas (que no son BitTorrent), incluido eMule . [1]
Objetivo
En enero de 2005, el tráfico de BitTorrent representaba más de un tercio del tráfico total de Internet residencial, [2] aunque esta cifra se redujo a menos del 20% en 2009. Algunos ISP gestionan este tráfico aumentando su capacidad, mientras que otros utilizan sistemas especializados para ralentizar el tráfico peer to peer y así reducir costes. La ofuscación y el cifrado hacen que el tráfico sea más difícil de detectar y, por tanto, más difícil de regular. Estos sistemas se diseñaron inicialmente para proporcionar anonimato o confidencialidad , pero se convirtieron en obligatorios en países en los que se concedió a los proveedores de servicios de Internet el poder de regular a los usuarios de BitTorrent e incluso de prohibir el acceso a aquellos que consideraran culpables de compartir archivos ilegalmente.
Historia
Enfoque temprano
El cifrado de encabezado de protocolo (PHE) fue concebido por RnySmile y se implementó por primera vez en la versión 0.60 de BitComet el 8 de septiembre de 2005. Algunos programas como IPP2P afirman que el tráfico de BitComet es detectable incluso con PHE. [3] PHE es detectable porque solo una parte del flujo está cifrada. Dado que no existen especificaciones abiertas para la implementación de este protocolo, la única posibilidad de admitirlo en otros clientes habría sido mediante ingeniería inversa .
Desarrollo de MSE/PE
A finales de enero de 2006, los desarrolladores de Vuze (conocido entonces como Azureus) decidieron diseñar e implementar simultáneamente un nuevo método de ofuscación de protocolo abierto, denominado cifrado de flujo de mensajes (MSE). Se incluyó en la instantánea CVS 2307-B29 de Azureus el 19 de enero de 2006. [4]
Este primer borrador fue muy criticado porque carecía de varias características clave. Después de negociaciones entre diferentes desarrolladores de BitTorrent, se redactó una nueva propuesta que luego se implementó en las versiones beta de Azureus y μTorrent en cuestión de días. En μTorrent, el nuevo protocolo se denominó cifrado de protocolo (PE).
MSE/PE en versiones de cliente BitTorrent
- aria2 admite MSE/PE a partir de la compilación v1.34, [5] pero no se aplica de forma predeterminada.
- La versión 0.63 de BitComet se lanzó el 7 de marzo de 2006. Eliminó el antiguo cifrado del encabezado del protocolo e implementó el nuevo MSE/PE para que fuera compatible con Azureus y μTorrent. [6]
- BitTornado es compatible con MSE/PE a partir de la versión T-0.3.18. A fecha del 5 de enero de 2007, esta versión todavía aparece marcada como "experimental" en la página de descargas. [7]
- BitTorrent (Mainline) admite MSE/PE desde la versión 4.9.2-beta del 2 de mayo de 2006. [8]
- Deluge admite MSE/PE a partir de Deluge-0.5.1. [9]
- KTorrent implementó MSE/PE en la versión SVN 535386 [10] el 29 de abril de 2006. [11]
- libtorrent [12] implementó el cifrado de protocolo en la versión v0.13 [13] lanzada el 10 de diciembre de 2011. [14]
- rTorrent admite MSE/PE a partir de rTorrent-0.7.0. [15]
- La transmisión admite MSE/PE a partir de la versión Transmission-0.90. [16]
- Vuze (anteriormente Azureus) es compatible con la especificación final desde el 25 de enero de 2006 (instantánea CVS 2307-B33). [17] La versión 2.4.0.0 de Azureus se lanzó el 10 de febrero de 2006 y fue la primera versión estable de un cliente compatible con MSE/PE. Sin embargo, los fallos en la implementación de Azureus dieron como resultado piezas cifradas incorrectamente que no superaban la comprobación de hash. Los fallos se rectificaron a partir de la versión 2.4.0.2. [18]
- μTorrent estrenó MSE/PE 4 días después de Azureus con la versión beta 1.4.1 build 407. [19] La versión 1.5 de μTorrent (build 436) se lanzó el 7 de marzo de 2006; fue la primera versión estable de μTorrent con PE. [20]
Operación
El método BitComet PHE utilizado en las versiones 0.60 a 0.62 no está publicado ni es compatible con MSE/PE.
MSE/PE utiliza el intercambio de claves combinado con el infohash del torrent para establecer una clave de cifrado RC4 . El intercambio de claves ayuda a minimizar el riesgo de escuchas pasivas y el infohash ayuda a evitar ataques de intermediarios . Se elige RC4 por su velocidad. El primer kibibyte (1024 bytes) de la salida se descarta para evitar el ataque de Fluhrer, Mantin y Shamir .
La especificación permite a los usuarios elegir entre cifrar solo los encabezados o la conexión completa. Cifrar la conexión completa proporciona más ofuscación pero utiliza más tiempo de CPU.
Para garantizar la compatibilidad con otros clientes que no admiten esta especificación, los usuarios también pueden elegir si aún se permiten conexiones entrantes o salientes sin cifrar.
Los clientes compatibles propagan el hecho de que tienen MSE/PE habilitado a través de PEX y DHT .
Seguridad
La fuerza estimada del cifrado corresponde a unos 60–80 bits para los cifrados simétricos comunes. [21] Criptográficamente, esta longitud de clave efectiva es bastante baja, pero apropiada ya que el protocolo no fue diseñado como un protocolo de transporte seguro sino más bien como un método de ofuscación rápido y eficiente. AES fue propuesto como el método de cifrado, pero no se adoptó porque consumía demasiado tiempo de CPU. Las claves Diffie–Hellman requeridas para lograr una seguridad igual a AES habrían sido mucho más grandes o requerirían criptografía de curva elíptica , lo que haría que el protocolo de enlace fuera más costoso en términos de tiempo de CPU utilizado.
Eficacia
El análisis del cifrado del protocolo BitTorrent (también conocido como MSE) ha demostrado que las mediciones estadísticas de los tamaños de los paquetes y las direcciones de los paquetes de los primeros 100 paquetes en una sesión TCP se pueden utilizar para identificar el protocolo ofuscado con una precisión superior al 96%. [22]
Crítica
Bram Cohen , el inventor de BitTorrent , se opuso a añadir cifrado al protocolo BitTorrent. Cohen afirmó que le preocupaba que el cifrado pudiera crear incompatibilidad entre clientes. También destacó el punto de que la mayoría de los ISP no bloquean el protocolo torrent. En 2006, Cohen escribió: "Sospecho que algún desarrollador ha sido limitado por su ISP y está más interesado en tratar de sortear las limitaciones de su ISP que en el rendimiento de Internet en su conjunto". [23] Muchos usuarios de la comunidad BitTorrent respondieron enérgicamente contra las acusaciones de Cohen. [24]
Cohen añadió más tarde conexiones cifradas a su cliente Mainline [25] con la capacidad de recibirlas pero no de originarlas. [ cita requerida ] Cabe destacar que, cuando BitTorrent, Inc. compró μTorrent y luego se convirtió en el siguiente lanzamiento principal, se mantuvo la capacidad de originar conexiones cifradas, pero se desactivó de forma predeterminada. En una entrevista de 2007, Cohen afirmó: "El llamado 'cifrado' del tráfico de BitTorrent no es realmente cifrado, es ofuscación. No proporciona ningún tipo de anonimato y sólo evade temporalmente la modelación del tráfico". [26]
Notas
- ^ Generalmente se lo conoce como el protocolo de cifrado de encabezado más apropiado .
Referencias
- ^ "Ofuscación del protocolo eMule (cifrado)". emule-project.net. 16 de septiembre de 2006. Archivado desde el original el 25 de septiembre de 2009. Consultado el 11 de marzo de 2010 .
- ^ "El efecto Bittorrent". Wired . 30 de mayo de 2007. Archivado desde el original el 26 de marzo de 2006. Consultado el 5 de marzo de 2017 .
- ^ "Noticias". IPP2P.org. 4 de enero de 2006. Archivado desde el original el 20 de mayo de 2013. Consultado el 29 de enero de 2006 .
- ^ "[Azureus-commitlog] ¡Se ha publicado el CVS Snapshot Azureus2307-B29.jar!". Sourceforge.net. 19 de enero de 2006. Archivado desde el original el 24 de septiembre de 2019. Consultado el 8 de abril de 2013 .
- ^ "aria2c(1) — documentación de aria2 1.34.0". aria2.github.io . Consultado el 29 de mayo de 2019 .
- ^ "Notas de la versión del cliente BitComet". Bitcomet.com. 7 de marzo de 2006. Archivado desde el original el 17 de diciembre de 2010. Consultado el 7 de marzo de 2006 .
- ^ "BitTornado T-0.3.18". Foro Degreez.net. 5 de enero de 2007. Archivado desde el original el 25 de marzo de 2017. Consultado el 6 de enero de 2007 .
- ^ "Notas de la versión". BitTorrent.com. 2 de mayo de 2006. Archivado desde el original el 13 de junio de 2006.
- ^ "Registro de cambios: Deluge 0.5.1 (11 de junio de 2007)". Deluge-torrent.org. 11 de junio de 2007. Archivado desde el original el 1 de abril de 2008.
- ^ Servidor SVN . KDE.org. 29 de abril de 2006. Se requiere cliente Subversion .
- ^ "¡Se ha añadido el cifrado!". Foro KTorrent.pwsp.net. 29 de abril de 2006. Archivado desde el original el 5 de junio de 2007.
- ^ Norberg, Arvid. «www.libtorrent.org/reference-Settings.html». www.libtorrent.org . Archivado desde el original el 17 de febrero de 2017. Consultado el 16 de febrero de 2017 .
- ^ "libtorrent/ChangeLog en master · arvidn/libtorrent · GitHub". github.com . Archivado desde el original el 2017-05-10 . Consultado el 2017-02-16 .
- ^ "Gmane - De correo a noticias y viceversa". permalink.gmane.org . Archivado desde el original el 2017-02-17 . Consultado el 2017-02-16 .
- ^ "[Libtorrent-devel] LibTorrent 0.11.0 y rTorrent 0.7.0 publicados". Archivo de correo de Rakshasa.no. 13 de diciembre de 2006. Archivado desde el original el 2 de mayo de 2007. Consultado el 10 de junio de 2007 .
- ^ "¡Ya se lanzó la versión 0.90 de Transmission!". Foro Transmission.m0k.org. 24 de octubre de 2007. Archivado desde el original el 27 de octubre de 2007.
- ^ "[Azureus-commitlog] ¡Se ha publicado el CVS Snapshot Azureus2307-B33.jar!". Sourceforge.net. 25 de enero de 2006. Archivado desde el original el 24 de septiembre de 2019. Consultado el 8 de abril de 2013 .
- ^ "Azureus: Java BitTorrent Client - Registro de cambios". Azureus.sourceforge.net. Archivado desde el original el 20 de marzo de 2006. Consultado el 20 de marzo de 2006 .
- ^ "μTorrent 1.4.2 beta 435". Anuncios de uTorrent. 29 de enero de 2006. Archivado desde el original el 14 de mayo de 2006.
- ^ "μTorrent 1.5 lanzado" Archivado el 29 de mayo de 2013 en Wayback Machine . Anuncios de uTorrent. 7 de marzo de 2006.
- ^ "RFC 3526 capítulo 8". IETF.org. Archivado desde el original el 18 de enero de 2017. Consultado el 26 de agosto de 2007 .
- ^ Hjelmvik, Erik; John, Wolfgang (27 de julio de 2010). "Rompiendo y mejorando la ofuscación de protocolos" (PDF) . Informe técnico . Departamento de Ciencias Informáticas e Ingeniería, Universidad Tecnológica de Chalmers . ISSN 1652-926X. Archivado (PDF) desde el original el 11 de noviembre de 2020. Consultado el 17 de agosto de 2010 .
- ^ Cohen, Bram (29 de enero de 2006). "Ofuscando BitTorrent". Blog de Bram Cohen. Archivado desde el original el 7 de febrero de 2006.
- ^ "Debate sobre el cifrado de protocolos". Foro de uTorrent.com. 4 de febrero de 2006. Archivado desde el original el 22 de octubre de 2007.
- ^ "Historial de versiones de la línea principal de BitTorrent". BitTorrent.com. 15 de octubre de 2006. Archivado desde el original el 25 de febrero de 2007.
- ^ "Entrevista con Bram Cohen, el inventor de BitTorrent" Archivado el 15 de julio de 2013 en Wayback Machine . TorrentFreak. 17 de enero de 2007. Consultado el 7 de abril de 2013.
Enlaces externos
- "Cifrado de flujo de mensajes". Vuze.
- "Los ISP que dan forma a BitTorrent". Vuze.
- "Cifrado de extremo a extremo y limitación del ancho de banda de BitTorrent - Parte I" con desarrolladores de μTorrent. Slyck News.
- "Cifrado de extremo a extremo de BitTorrent y limitación del ancho de banda - Parte II" con los desarrolladores de Azureus, Slyck News.
- "BitTorrent y el cifrado de extremo a extremo". Slashdot.
- "Ofuscación de rastreadores de pares". BitTorrent.org.
- "Identificación del protocolo de cifrado de flujo de mensajes (MSE)" para identificación de protocolo estadístico. SourceForge.
- "Bloquear el tráfico P2P en un enrutador Cisco IOS mediante NBAR". Cisco.
- "Tutorial de VPN/Proxy Aria2c". GoTux.