Articulo de referencia

TCP ofuscado

El protocolo TCP ofuscado ( ObsTCP ) fue una propuesta para un protocolo de capa de transporte que implementaba cifrado oportunista sobre el Protocolo de Control de Transmisión ...

El protocolo TCP ofuscado ( ObsTCP ) fue una propuesta para un protocolo de capa de transporte que implementaba cifrado oportunista sobre el Protocolo de Control de Transmisión (TCP). Su objetivo era prevenir la interceptación masiva y la corrupción maliciosa del tráfico TCP en Internet , con un menor coste y complejidad de implementación que la Seguridad de la Capa de Transporte (TLS). En agosto de 2008, la IETF rechazó la propuesta para una opción TCP, sugiriendo que se implementara en la capa de aplicación. [ 1 ] El proyecto ha permanecido inactivo desde entonces.

En junio de 2010, se presentó una propuesta independiente llamada tcpcrypt , que comparte muchos de los objetivos de ObsTCP: ser transparente para las aplicaciones, oportunista y de baja sobrecarga. Requiere incluso menos configuración (sin entradas DNS ni encabezados HTTP). A diferencia de ObsTCP, tcpcrypt también proporciona primitivas a nivel de aplicación para implementar la autenticación y prevenir ataques de intermediario (MITM). [ 2 ]

Origen histórico

ObsTCP fue creado por Adam Langley . El concepto de ofuscar las comunicaciones TCP mediante cifrado oportunista evolucionó a través de varias iteraciones. Las iteraciones experimentales de ObsTCP utilizaban opciones TCP en paquetes 'SYN' para anunciar la compatibilidad con ObsTCP, y el servidor respondía con una clave pública en el 'SYNACK'. Un borrador de protocolo de la IETF se publicó por primera vez en julio de 2008. Los paquetes se cifraban con Salsa20/8, [ 3 ] y se firmaban con sumas de comprobación MD5. [ 4 ]

La presente (tercera) iteración utiliza registros DNS especiales (o métodos fuera de banda) para anunciar soporte y claves, sin modificar el funcionamiento del protocolo TCP subyacente. [ 5 ]

Características de cifrado

ObsTCP es un protocolo de bajo costo diseñado para proteger el tráfico TCP, sin requerir certificados de clave pública , los servicios de Autoridades de Certificación ni una infraestructura de clave pública compleja . Su objetivo es impedir el uso de la vigilancia no dirigida para rastrear el tráfico no cifrado, en lugar de proteger contra ataques de intermediario.

Actualmente, el software admite el cifrado de flujo Salsa20/8 [ 3 ] y la función Diffie-Hellman de curva elíptica Curve25519 [ 6 ] .

Comparación con TLS/SSL/HTTPS

Establecimiento de conexión

Un servidor que utiliza ObsTCP anuncia una clave pública y un número de puerto .

Se puede usar un registro DNS 'A' para anunciar la compatibilidad del servidor con ObsTCP (con un registro DNS 'CNAME' que proporciona un nombre descriptivo). También se pueden usar registros de encabezado HTTP o información de conjunto de claves almacenada en caché o fuera de banda.

Un cliente que se conecta a un servidor ObsTCP analiza las entradas DNS, utiliza los registros de encabezado HTTP o utiliza datos almacenados en caché o fuera de banda para obtener la clave pública y el número de puerto, antes de conectarse al servidor y cifrar el tráfico.

Véase también

Referencias

  1. Adam Langley (15 de agosto de 2008). "Lo siento, amigos, creo que Obfuscated TCP ha muerto" . Blog de desarrollo de Obfuscated TCP.
  2. Andrea Bittau; et al. (13 de agosto de 2010). Argumentos a favor del cifrado ubicuo a nivel de transporte (PDF) . 19º Simposio de Seguridad de USENIX. 
  3. 1 2 "Snuffle 2005" . cr.yp.to. Consultado el 8 de mayo de 2009 .
  4. Eddy, Wesley; Langley, Adam. "Ampliando el espacio disponible para las opciones TCP" . IETF . Consultado el 7 de febrero de 2015 .
  5. "Historial TCP ofuscado" . Google. 2 de octubre de 2008. Archivado del original el 8 de enero de 2009. Consultado el 8 de mayo de 2009 .
  6. "Curve25519: criptografía de curva elíptica de alta velocidad" . cr.yp.to. Consultado el 8 de mayo de 2009 .
  7. "Clientes TCP ofuscados: Firefox" . Google . Consultado el 8 de mayo de 2009 .
  8. "Instalación de ObsTCP mediante la capa de transporte de ObsTCP" . Google . Consultado el 8 de mayo de 2009 .