Los servicios cebolla son servicios a los que sólo se puede acceder sobre Tor.
Ejecutar un servicio cebolla le da a los usuarios toda la seguridad de HTTPS con los beneficios añadidos de privacidad del Navegador Tor.
Por qué servicios cebolla?
Los servicios cebolla ofrecen diversos beneficios de privacidad y seguridad a sus usuarios.
Ubicación oculta
La dirección IP del servicio cebolla está protegida.
Los servicios cebolla son una red superpuesta sobre TCP/IP, de modo que en cierto sentido las direcciones IP no son significativas para los servicios cebolla: ni siquiera se usan en el protocolo.
Autenticación punto a punto
Cuando un usuario visita un onion concreto, sabe que el contenido que está viendo solo viene de ese onion concreto.
No es posible la suplantación, que generalmente no es el caso.
Normalmente, alcanzar un sitio web no significa que un intermediario no se ha dirigido a otra ubicación (e.g. ataques DNS).
Encriptación punta a punta
El tráfico del servicio cebolla está encriptado desde el cliente al servidor onion.
Esto es como tener SSL/HTTPS gratis.
NAT punching
¿Está tu red filtrada y no puedes abrir puertos en el cortafuegos?
Esto podría suceder si estás en un campus universitario, una oficina, un aeropuerto o prácticamente en cualquier lugar.
Los servicios cebolla no necesitan abrir puertos porque atraviesan NAT. Sólo establecen conexiones salientes.
Protocolo de Servicio Cebolla: Visión General
Ahora la pregunta es ¿qué clase de protocolo es necesario para alcanzar todas estas propiedades?
Normalmente, la gente se conecta a una dirección IP y ya está, pero ¿cómo puede conectarse a algo que no tiene una dirección IP?
En concreto, una dirección de servicio cebolla se parece a esto: vww6ybal4bd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion
Esto parece raro y aleatorio porque es la identity public key (clave pública de identidad) del servicio cebolla.
Esa es una de las razones por las que podemos alcanzar las propiedades de seguridad anteriores.
El protocolo del servicio cebolla usa la red Tor de modo que el cliente pueda presentarse al servicio, y después establecer un punto de encuentro o rendezvous con el servicio a través de la red Tor.
Aquí hay un desglose detallado de como sucede esto:
Acto 1: Donde el servicio cebolla establece sus puntos de introducción
Imaginemos que tu periódico local decide establecer un servicio cebolla (usando SecureDrop) para recibir pistas anónimas.
Como primer paso en el protocolo, el servicio cebolla se contactará con varios repetidores Tor y les pedirá que actúen como sus puntos de introducción estableciendo circuitos de largo plazo para ellos.
Estos circuitos son anonimizados, de modo que el servidor no revela sus localización a sus puntos de introducción.
El Servicio Onion se esconderá y protegerá detrás de la red Tor permitiendo solo el acceso a través de tres puntos de introducción a los que se conecta a través de un circuito Tor de tres saltos.
Acto 2: Donde el servicio cebolla publica sus descriptores
Ahora que se han establecido los puntos de introducción, necesitamos crear un camino para que los clientes sean capaces de encontrarlos.
Por esta razón, el servicio cebolla ensambla un descriptor del servicio cebolla, que contiene una lista de sus puntos de introducción (y sus "claves de autenticación"), y firma este descriptor con su clave privada de identidad.
La clave usada aquí es la parte privada de la clave pública que está codificada en la dirección del servicio cebolla.
El servicio cebolla sube ese descriptor firmado a una tabla hash distribuida, que es parte de la red Tor, de modo que los clientes también puedan obtenerla.
Usa un circuito Tor anonimizado para hacer esta subida, de modo que no revele su ubicación.
Acto 3: Donde un cliente desea visitar el servicio cebolla
Digamos que quieres enviar anónimamente algunos datos de fraude impositivo a tu periódico local a través de su SecureDrop.
Encuentras la dirección cebolla para el SecureDrop del periódico en un sitio web público o a través de un amigo.
Acto 4: Donde el cliente se presenta al servicio cebolla
Todos los pasos anteriores se configuraron para el servicio cebolla, para que los clientes puedan acceder a él.
Ahora avancemos rápidamente hasta el punto en que un cliente real quiera visitar al servicio.
En este caso, el cliente tiene la dirección cebolla de SecureDrop y desea visitarla, de modo que se conecta al servicio con el Navegador Tor.
Ahora, la siguiente cosa que se necesita que suceda es que el cliente vaya a la tabla de hash distribuida del Paso 2 y pida el descriptor firmado del servicio cebolla de SecureDrop.
Acto 5: Donde el cliente verifica la firma de la dirección cebolla
Cuando el cliente recibe el descriptor firmado, verifica la firma del mismo usando la clave pública que está codificada en la dirección cebolla.
Esto suministra la propiedad de seguridad autenticación de extremo a extremo, puesto que ahora estamos seguros de que este descriptor solamente puede haber sido producido por ese servicio cebolla y nadie más.
Y dentro del descriptor están los puntos de entrada que permiten al cliente presentarse ante el servicio cebolla de SecureDrop.
Acto 6: Donde el cliente establece un punto de encuentro (rendezvous)
Antes de que la presentación tenga lugar, el cliente (en este caso, tú) elige un repetidor Tor y establece un circuito con él.
El cliente pide al repetidor que sea su punto de encuentro, y le da un "secreto de única vez" que será usado como parte del procedimiento de encuentro.
Acto 7: Donde el servicio cebolla se encuentra con el cliente
El punto de introducción pasa tus detalles (clave secreta y dirección de encuentro) al servicio cebolla, el cual ejecuta múltiples procesos de verificación para decidir si eres confiable o no.
Acto 8: Donde el punto de rendezvous verifca el secreto del cliente
El servicio cebolla conecta con el punto de encuentro o rendezvous (a través de un circuito anónimo) y envía un "secreto de única vez" al mismo.
El punto de encuentro hace una verificación final para emparejar las claves secretas tuya y del servicio (esta última también proviene de ti, pero ha sido retransmitida a través del servicio).
El punto de encuentro simplemente reenvía (cifrado de extremo a extremo) mensajes desde el cliente al servicio y viceversa.
Acto 7: Donde el servicio cebolla se encuentra con el cliente
En general, la conexión completa entre el cliente y el servicio cebolla consiste de 6 repetidores: 3 de ellos son elegidos por el cliente, con el tercero siendo el punto de encuentro, y los otros 3 son elegidos por el servicio cebolla.
Esto provee ocultamiento de la ubicación a esta conexión.
Finalmente, usando el punto de encuentro, se forma un circuito Tor entre el servicio cebolla del SecureDrop de tu periódico y tú.
Recursos adicionales
Esto ha sido una descripción general del protocolo de los servicios cebolla de Tor.
Aquí hay algunos recursos adicionales si quieres aprender más: