Todas las Noticias en Películas, Avances de Películas y Reseñas.

mirando dentro del exclusivo protocolo AdGuard VPN

Durante años, nos concentramos en desarrollar todos los sabores de aplicaciones de bloqueo de anuncios y extensiones de navegador. Y hace dos años decidimos desarrollar nuestro propio servicio VPN, aparentemente de la nada. Cuando en realidad, hubo algunas razones que nos impulsaron a hacerlo.

  • Las aplicaciones móviles de AdGuard tenían problemas de compatibilidad con las aplicaciones de VPN. Es por eso que vimos el desarrollo de una VPN interna como la única solución factible que podría garantizar la compatibilidad: después de aplicar un poco de magia, las dos aplicaciones pueden funcionar juntas como un solo servicio VPN.
  • En segundo lugar, VPN parecía más que relevante para nuestra filosofía y prioridades.
  • Finalmente, durante años de desarrollo del software AdGuard, nos hemos convertido en expertos en el filtrado del tráfico de red. Esto fue para permitirnos traer algo nuevo en lugar de convertirnos en otra VPN insípida.

Desde el principio, decidimos que AdGuard VPN tendría una diferencia clave con sus competidores: desarrollaríamos e implementaríamos un protocolo VPN interno en lugar de elegir una de las soluciones preparadas.

¿Por qué tomarse tantas molestias?, se podría preguntar. En este artículo, le diremos por qué no estábamos satisfechos con los protocolos existentes y creamos los nuestros propios, y compartiremos nuestra hoja de ruta.

Spoiler: el protocolo AdGuard VPN es más difícil de detectar y más rápido que sus análogos.

Pero primero tendremos que profundizar en algunos aspectos técnicos y averiguar:

como funciona internet

No temas: no nos atreveremos a explicar todo Internet aquí, pero cubriremos los fundamentos de cómo funciona. Ahora, toda la comunicación en Internet se basa en la transmisión de pequeños “paquetes” de datos desde una computadora a un servidor y viceversa. Hay varios tipos diferentes de paquetes, cada uno cumple su propósito. Las reglas de encapsulación y procesamiento de paquetes se denominan protocolo.

protocolo IP

Estoy seguro de que has oído hablar de la dirección IP, ¿no es así? Por lo tanto, la dirección IP es parte del protocolo IP, el principal mecanismo de transmisión de datos de la red. Cada paquete consta de tres partes: los datos en sí, las direcciones IP del remitente y el destinatario.

El receptor sabe quién ha enviado el paquete y, por lo tanto, puede devolver algunos datos. Sin embargo, el protocolo IP “puro” prácticamente no se usa, pero otros dos protocolos basados ​​en él se usan en todas partes: TCP y UDP.

Protocolo TCP

TCP es el principal “caballo de batalla” de Internet. Cuando abre un sitio web, es muy probable que se utilice TCP para la transmisión de datos.

Un paquete TCP consta de cuatro partes:

  • Encabezado del paquete IP, incluidas las direcciones de origen y destino.
  • Números de puerto del remitente y el destinatario. Este número es necesario para que el sistema operativo comprenda a qué programa enviar el paquete para su procesamiento.
  • Número de secuencia del paquete. Es posible que los paquetes no lleguen al destinatario en el orden en que fueron enviados. Los números de secuencia permiten restaurar la secuencia correcta.
  • tipo de paquete Esta propiedad es necesaria para implementar la “entrega garantizada”, que se analiza a continuación.
Recomendado:  Plan de transformación digital de la BBC: cómo la organización de medios se convertirá en un servicio público digital

Independientemente de la red que utilice, existe la posibilidad de que algunos paquetes enviados se pierdan en el camino. El protocolo TCP garantiza que lleguen al destino: en respuesta a cada paquete enviado, el receptor envía un pequeño paquete TCP de confirmación de recepción. Si el remitente no obtiene confirmación, reenviará el paquete hasta que finalmente reciba la confirmación.

protocolo UDP

UDP es otro protocolo basado en IP conocido, aunque menos popular. En comparación con el protocolo IP, la única diferencia es que, a excepción de los datos en sí y las direcciones del remitente y el destinatario, transmite información sobre los números de puerto (consulte la descripción de los números de puerto en la sección TCP) distinguen UDP de IP. Como puede ver en la animación, el flujo de paquetes de datos se mueve más rápido que en el caso de TCP, y no es de extrañar, no hay confirmación de entrega en UDP. A diferencia de TCP, UDP no garantiza nada. Pero tampoco envía paquetes adicionales de confirmación, lo que lo hace más rápido.

Cómo funcionan los protocolos VPN

Cuando envía una carta o correo electrónico a alguien, puede prescindir del contenido, el encabezado, la firma, pero no sin la dirección del destinatario. Internet funciona de la misma manera: necesita una dirección IP para enviar datos.

Cuando visita un sitio web, su dirección IP es visible para él, y conociendo la dirección IP, no es tan difícil averiguar la ubicación del usuario. Una VPN permite que sus datos se enruten a través de una conexión encriptada desde su hogar/lugar de trabajo o teléfono inteligente a otro punto de Internet, quizás en otro país, y luego a la Internet pública. Como un conejo furtivo que se sumerge en un agujero que conduce a la salida del espejo.

Como resultado del cifrado, a sus datos se les asigna una dirección IP desde el otro extremo del túnel en lugar de la dirección de su casa o trabajo. Ahora, cuando se conecta a un servidor web, lo que ve no es la dirección IP de su hogar, sino la de otra persona, que pertenece al punto final de VPN. Por lo tanto, si ingresa a un sitio web, sus datos no serán divulgados.

Probablemente, ya lo sabías, pero un resumen no estaría de más, ¿verdad? Ahora profundicemos en los detalles técnicos. Para que una VPN funcione, debe transmitir y cifrar datos desde su dispositivo al servidor VPN y viceversa. Las reglas para transmitir y cifrar estos datos se denominan protocolo VPN. Los protocolos VPN más comunes son OpenVPN, WireGuard e IPSec. Todos funcionan más o menos igual, y funcionalmente son muy similares, pero el problema está en los detalles (del cifrado y el establecimiento de la conexión).

Recomendado:  Facebook congela las nuevas contrataciones y culpa a la transparencia del seguimiento de aplicaciones de Apple

Veamos cómo funcionan. Digamos que quieres visitar un sitio web. Si tiene una VPN habilitada, el servidor VPN media entre usted y el sitio web. Inicialmente, se envía un paquete IP cifrado al servidor. El servidor VPN lo descifra, cambia la “dirección del remitente” (es decir, su IP) y envía el paquete al destinatario (es decir, el sitio web). Esto generalmente se realiza utilizando UDP como transporte, ya que generalmente es “más rápido” ya que no requiere esperar confirmación.

Limitaciones de los protocolos VPN existentes

Todos los protocolos VPN populares (OpenVPN, WireGuard, IPSec, etc.) están unidos por dos deficiencias:

  • Se pueden detectar y bloquear fácilmente a nivel de red.
  • Si intenta “ocultarlos”, el rendimiento disminuirá.

Para “ocultar” el uso de VPN, el flujo de datos a menudo se “envuelve” en una conexión TCP y, a veces, se cifra adicionalmente para que el tráfico parezca una conexión de sitio web normal. Desafortunadamente, este enfoque tiene una desventaja: debido al uso de TCP, se necesita una confirmación adicional de la entrega.

Entonces, al usar cualquier protocolo VPN popular, siempre nos enfrentamos a una compensación: rápido pero fácil de detectar versus lento.

Lo bueno del protocolo AdGuard VPN

Desarrollamos el protocolo AdGuard VPN al ver las desventajas de los protocolos anteriores y no estar dispuestos a lidiar con ellos. Entonces, ¿cuáles son sus puntos fuertes?

  • Es casi imposible de distinguir del tráfico HTTPS normales decir, la conexión al servidor AdGuard VPN se ve exactamente igual que la conexión a un sitio web normal.
  • Para el cifrado usamos HTTPS (TLS), que hace frente a esta tarea perfectamente. Es el método de encriptación más popular del mundo, y las bibliotecas que lo implementan son auditadas constantemente por seguridad.

Algunos protocolos VPN existentes también manejan la tarea de encriptación, y ellos (y por lo tanto, el hecho de usar una VPN) son difíciles de detectar. Pero esto generalmente tiene el precio de una velocidad reducida. Este no es nuestro caso, gracias a varias soluciones.

  • usamos el Protocolo de transporte HTTP/2lo que hace que sea prácticamente imposible detectar el protocolo AdGuard VPN mientras se mantiene una alta velocidad.
  • A diferencia de otros, el protocolo AdGuard VPN opera con datos y no con paquetes. Esto significa que AdGuard VPN establece un “túnel” separado para cada conexión, cada flujo HTTP/2 corresponde a una conexión. AdGuard VPN transfiere datos a través de este túnel. Esto nos permite acelerar la operación al ahorrar en paquetes de confirmación, ya que podemos almacenar los datos de varios paquetes en uno antes de enviarlos al servidor VPN (o del servidor al cliente). Y cuantos menos paquetes, menos confirmaciones se necesitan.

Planes para el futuro

Cambiar a HTTP/3 y QUIC

Lo primero que pretendemos hacer es cambiar al uso de los protocolos HTTP/3 y QUIC para comunicarnos con el servidor. HTTP/3 es la versión más reciente y avanzada de HTTP. Desafortunadamente, los nuevos protocolos no afectarán la velocidad cuando la conexión sea buena y estable, pero sus beneficios aparecerán cuando la conexión sea peor, por ejemplo, en dispositivos móviles o cuando se conecte a Wi-Fi público. Hay varias ventajas obvias de los nuevos protocolos: no provocarán retransmisiones de paquetes y Bloqueo de Jefe de Línea (o HoLB), y también permitirán la migración de conexiones. Sin ser demasiado técnicos, la principal ventaja es la ya mencionada mejora de la calidad de la conexión en condiciones no ideales.

Recomendado:  Rescue y 5 películas de acción más con Chris Hemsworth

TCP y otros protocolos que funcionan sobre él (TLS, SSL, HTTP/1.1 y HTTP/2) han existido por un tiempo y son excelentes en lo que hacen, pero solo hay una cosa: necesitan condiciones casi perfectas para funcionar sin problemas. Esto significa que funcionan bien en una red con una conexión estable y de alta calidad (por ejemplo, una red Wi-Fi doméstica). Pero al salir al mundo exterior con sus redes móviles, no puede protegerse contra señales débiles, conexiones lentas y otros problemas que causan la pérdida de paquetes. Estas pérdidas dan lugar a las retransmisiones ya mencionadas y al HoLB. Incluso 5G no es todopoderoso, y la conexión será peor en los ascensores y las largas secciones de metro entre estaciones. Con VPN sobre HTTP/3, el problema se resuelve mágicamente: la conexión VPN no se interrumpirá, incluso si entra en un ascensor o la red cambia por alguna otra razón.

Actualmente estamos probando un prototipo de esta nueva implementación. Espere que esté listo en un par de meses.

fuente abierta

Si conoce AdGuard desde hace mucho tiempo, ya sabe cuántos de nuestros productos son fuente abierta. El concepto de software de código abierto es cercano a nosotros porque creemos que este tipo de proyectos ayudan a las personas y contribuyen al desarrollo de la tecnología. Pero nuestro enfoque es amigable con la privacidad, por lo que hacemos productos de código abierto solo cuando es posible.

Vamos a hacer que la implementación de nuestro protocolo esté disponible públicamente en el futuro. Lamentablemente, en este momento no tenemos suficiente tiempo para preparar el proyecto, porque es mucho trabajo. Pero esperamos que para fines de este año podamos encontrar suficiente tiempo y publicar el código de las implementaciones del servidor y del cliente.

Nuestro protocolo es utilizado por todas las aplicaciones móviles y de escritorio AdGuard VPN. Descarga cualquiera de nuestros productos (¡o varios!) ahora y utilízalo sabiendo que tus datos están protegidos de la forma más segura. Y si lo desea, comparta sus impresiones con nosotros, en la sección de comentarios de la publicación del blog o en las redes sociales.

Tabla de Contenido