Una Mix Network transmite mensajes por ordenadores que reenvían mensajes, llamados nodos o mixes. Estos retiran capas de cifrado y procesan el tráfico para dificultar la asociación entre mensajes entrantes y salientes. David Chaum describió sus fundamentos en 1981. El objetivo es proteger la relación entre remitente y destinatario, además del contenido. El resultado depende del protocolo, del tráfico restante y de las capacidades del observador; añadir intermediarios no garantiza por sí solo el anonimato.
Ana envía un mensaje privado a Pedro. Nadie puede leerlo durante el trayecto, pero un observador quizá sí vea que salen datos de Ana y poco después llegan a Pedro. Si el patrón se repite, permite deducir quién se comunica con quién. Esas pistas son metadatos: información que rodea al mensaje, como la hora, el tamaño o las direcciones de red. El artículo de Chaum de 1981 abordaba este problema del correo electrónico. No preguntaba solo cómo cerrar una carta, sino cómo dificultar el seguimiento de su recorrido. Una red de mezcla ofrece, por tanto, una protección distinta del cifrado del contenido. [1] [2] [9]
Imaginemos una ruta simplificada por los nodos A, B y C. Ana cifra primero el mensaje para Pedro. Después lo envuelve para el último nodo, C; ese paquete lo envuelve para B y, finalmente, para A. Utiliza sus claves públicas: datos que permiten crear una envoltura cifrada que abre la clave privada correspondiente. Las claves son datos numéricos que utiliza el programa de cifrado. La clave pública se puede compartir; cada nodo mantiene en secreto su clave privada. Al retirar su capa, A descubre dónde enviar el paquete interior, sin obtener por ello las demás claves. Las capas se preparan en sentido inverso para retirarlas en el orden del recorrido. Es un ejemplo explicativo, no una afirmación de que todas estas redes tengan exactamente tres nodos. [1] [4] [5]
Si en A solo entrara el mensaje de Ana y saliera inmediatamente uno solo, el observador lo tendría fácil. Por eso un mix clásico por lotes reúne varios mensajes antes de enviarlos. Procesarlos juntos amplía las posibles correspondencias entre entradas y salidas. También importa igualar el tamaño de los paquetes: una entrega excepcionalmente grande seguiría siendo reconocible. Añadir datos hasta alcanzar una longitud determinada se llama padding. Contar personas o mensajes no mide por sí solo la privacidad; también cuenta lo que el observador ya sabe de ellos. [1] [3]
El mix retira su capa de cifrado, comprueba el mensaje según las reglas del protocolo y evita reenviar una simple copia del mismo paquete externo. Así no basta con buscar datos idénticos a la entrada y a la salida. También cambia el orden: Chaum proponía ordenar los resultados del lote según sus datos; otros diseños emplean otros métodos. Lo importante es que el orden de salida no revele el de llegada. El mix comprueba además si ya recibió el mismo mensaje. El siguiente nodo continúa el proceso y el último dirige el paquete hacia el destinatario. El contenido para Pedro sigue protegido por un cifrado independiente destinado al receptor. [1] [3] [5]
También se pueden enviar mensajes continuamente, con distintas esperas aleatorias, en lugar de esperar a completar un lote. Eso debilita la relación temporal entre la llegada y la salida de un paquete, que no es más que un conjunto de datos. El tráfico de cobertura añade mensajes sin una comunicación del usuario, diseñados para parecer mensajes reales a quien observa. El movimiento de datos revela entonces menos sobre cuándo Ana escribió de verdad. Así funciona el diseño Loopix, cuyas ideas utiliza Nym. La protección cuesta datos transmitidos, trabajo de los dispositivos y tiempo de espera. La configuración de esos costes también influye en la privacidad obtenida. [3] [5]
En el modelo clásico, al menos un mix que cumpla el protocolo y no revele sus correspondencias de entrada y salida puede mantener oculta esa relación interna. Honesto significa aquí ese comportamiento concreto, no un juicio general sobre el operador. No significa que un servidor honesto resuelva cualquier situación. Si el atacante reconoce todos los demás mensajes del grupo, puede identificar el de Ana por eliminación. También importan la observación de los extremos, la actividad prolongada de los usuarios y la posibilidad de alterar el tráfico. Por eso los estudios especifican un modelo de amenaza: qué puede observar y controlar exactamente el adversario. [1] [3]
Un atacante puede reenviar un paquete capturado y buscar repeticiones equivalentes al otro extremo. Puede intentar marcarlo modificando datos, retrasar el tráfico o descartar mensajes. Las defensas incluyen comprobar la integridad y registrar las repeticiones. El formato Sphinx, utilizado por Loopix y Nym, proporciona a los nodos información para esas comprobaciones. En algunos diseños, los mensajes de cobertura también ayudan a detectar pérdidas de tráfico. Son defensas concretas con supuestos concretos, no una promesa de que nadie pueda perturbar la red. Un mensaje cifrado también puede quedarse sin entregar. [3] [5]
Ana puede dar a Pedro instrucciones cifradas para el regreso. Él las utiliza para responder sin tener que conocer la dirección de red habitual de ella. Chaum ya describió direcciones de retorno semejantes. Algunos sistemas modernos utilizan bloques de respuesta de un solo uso, llamados SURB (Single-Use Reply Block); usarlos una vez forma parte de la protección. Un seudónimo puede indicar que varios mensajes pertenecen al mismo autor sin revelar su nombre real, pero también vincula esos mensajes. Y si Ana se presenta en el texto o envía datos personales, ocultar la ruta no deshace esa revelación. [1] [10]
Tor también conduce la comunicación por varios intermediarios, pero prioriza una respuesta rápida para navegar por la web. Un observador situado en ambos extremos puede comparar los tiempos y el volumen del tráfico. Tor también dispone de mecanismos de padding: sería incorrecto decir que no utiliza ningún tráfico de cobertura. Los mixnets clásicos aceptan más demora, por ejemplo al entregar mensajes. Loopix estudia un compromiso con esperas del orden de segundos. Nym distingue su modo mixnet de su modo dVPN, más rápido. En el modo dVPN, los datos pasan por túneles cifrados en lugar del proceso de mezcla de mensajes descrito aquí. Ni el nombre ni la longitud de la ruta bastan: importan el transporte real y la amenaza frente a la que queremos protegernos. [4] [9] [8] [3] [5] [11]
Una cartera de Bitcoin es una aplicación que ayuda a recibir y enviar pagos. Si una cartera u otra aplicación admite una ruta adecuada, un mixnet puede dificultar asociar su tráfico con una conexión concreta a Internet. No es una función automática del protocolo Bitcoin ni equivale a un servicio de mezcla de monedas. Los vínculos públicos entre transacciones permanecen en la blockchain, el registro compartido de transacciones: ocultar el recorrido no los borra. BIP 324 cifra las conexiones entre nodos, pero no mezcla mensajes para ocultar al remitente. Hay que distinguir la privacidad del transporte de la privacidad del historial de pagos. Mix Network ayuda a entender la primera; no convierte cualquier pago en efectivo anónimo. [6] [7]
Para obtener la imagen más completa, lee esta entrada junto con David Chaum, Privacidad en Bitcoin, Seudonimidad, Bitcoin, Bitcoin Anonymity Networks, BIP324.