Skype : ¿Cómo funciona y qué seguridad nos proporciona?. Volumen I

Escrito por Sergio De Luz
Redes
3

Skype es una aplicación muy popular, que suele tener del orden de 7 u 8 millones de usuarios conectados simultáneamente. A parte de ofrecer servicios de telefonía de PC a PC, también ofrece de PC a teléfono fijo o móvil.

A continuación os vamos a describir como funciona el servicio de Skype y la seguridad y privacidad que nos proporciona.

El artículo se compone de dos volúmenes, este primero os voy a describir qué hace Skype para que no tengamos que abrir puertos ni usar el uPnP de los routers cuando tenemos la NAT activada y no nos proporcionan directamente una dirección IP pública.

¿Cómo funciona el servicio de Skype?

Skype utiliza técnicas P2P de una forma innovadora, igual que sucede con la mensajería instantánea, que la forman parejas de usuarios (peers) comunicándose entre sí en tiempo real.

Skype emplea técnicas P2P para dos funciones muy importantes: la ubicación de los usuarios y la NAT transversal.

Los nodos de Skype están organizados en una red jerárquica superpuesta en la que cada para se clasifica como super par o como par normal. Skype incluye un índice que asigna los nombres de usuario que metimos al registrarnos en Skype a las direcciones IP públicas (junto con sus números de puertos), este índice está distribuido en los super pares.

Al hacer una llamada, Skype busca en la tabla de índices distribuido y determina la dirección IP del usuario al que vamos a llamar.

El protocolo de Skype es propietario, por tanto no podemos asegurar cómo están organizadas las asignaciones de índices, pero será como en la red Bittorrent con DHT.

Otra parte muy importante de Skype son los retransmisores (relays), la mayoría de las redes domésticas están detrás de un router que incluyen NAT (para poder aprovechar al máximo IPv4 y no malgastar direcciones…pero pronto se acabarán).

Un router con NAT impide que un host fuera de la red entre dentro de nuestra red, por tanto, si dos usuarios tienen routers con NAT en sus hogares no podrán iniciar ninguna conexión. La utilización de los super pares y de los retransmisores, solucionan este problema, explicaremos fácilmente lo que Skype tiene que hacer para conseguirlo.

Imaginemos que a Ethiel se le asigna un super par sin NAT, Ethiel podrá iniciar sesión con su super par ya que NAT impide la conexiones de fuera a dentro pero no al revés.

Esto permite a Ethiel y a su super par, intercambiar tráfico de datos.

Ahora Ethiel se va a comunicar con Victek, el super par de Ethiel llama al super par de Victek, que a su vez llama al propio Victek de la llamada entrante de Ethiel.
Victek decide aceptar la llamada, entonces los dos super pares de Ethiel y Victek respectivamente seleccionan un tercer super par sin NAT (el nodo retransmisor) cuyo trabajo será retransmitir los datos entre Ethiel y Victek.

Los dos super pares de Ethiel y Victek dan instrucciones a Ethiel y Victek para iniciar sesión con el retransmisor.

Ethiel mandará los datos al retransmisor a través de la conexión Ethiel-retransmisor (que fue iniciada por el propio Ethiel para no toparse con la NAT de su router), y el retransmisor los mandará a la conexión retransmisor-Victek (que fue iniciada por Victek), entonces los paquetes fluirán sin encontrarse con la NAT de los routers.

Por lo explicado anteriormente, no es necesario abrir puertos o activar el uPnP del router para poder comunicarnos, ocurre lo mismo que con el servicio Teamviewer de control remoto de escritorios.

En el próximo volumen hablaremos de la seguridad y privacidad de este servicio que utilizan millones de personas.