Multitudes (red de anonimato)


Crowds es una red de anonimato propuesta para la navegación web anónima . La idea principal detrás del protocolo de anonimato de Crowds es ocultar las comunicaciones de cada usuario al enrutarlas aleatoriamente dentro de un grupo de usuarios similares. Por lo tanto, ni los miembros del grupo colaborador ni el receptor final pueden estar seguros de en qué parte del grupo se originó el paquete. Crowds fue diseñado por Michael K. Reiter y Aviel D. Rubin . Defiende contra atacantes internos y un receptor corrupto, pero no proporciona anonimato contra un atacante global o un fisgón local (ver "Multitudes: Anonimato para transacciones web"). Las multitudes son vulnerables al ataque anterior.; esto fue discutido en el artículo de Reiter y Rubin y ampliado en "El ataque predecesor: un análisis de una amenaza a los sistemas de comunicaciones anónimos" por Matthew K. Wright, Micah Adler y Brian Neil Levine. Las multitudes introdujeron el concepto de usuarios mezclados con una multitud de computadoras. [1]

Crowds trabaja haciendo que cada nodo parezca igualmente probable que sea el iniciador del mensaje. Como dijimos, cada nodo se une a la red iniciando un jondo (de "John Doe"), que es un pequeño proceso que reenviará y recibirá solicitudes de otros usuarios. Cuando se inicia el jondo, todos los nodos de la red son informados de la entrada del nuevo nodo y comenzarán a seleccionarlo como reenviador. Para enviar realmente un mensaje, un nodo elige aleatoriamente (con probabilidad uniforme) de todos los nodos de la red y les reenvía el mensaje. Al recibir el mensaje, el nodo lanza una moneda sesgada (con probabilidad) y si aterriza lo reenvía a otro nodo aleatorio, de lo contrario lo reenvía al destino final. Cada nodo al reenviar a otro nodo registra al predecesor y de esta manera se construye un túnel, este se usa para la comunicación entre el remitente y el receptor.

Consideramos la cuestión de qué información puede obtener un atacante sobre los remitentes y receptores de transacciones web, dados los mecanismos de Crowds que describimos.

Recuerde que todos los mensajes reenviados en una ruta, excepto la solicitud final al servidor final, están encriptados. Por lo tanto, mientras que el que escucha a escondidas puede ver cualquier mensaje que emana de la computadora del usuario, solo ve un mensaje enviado al servidor final si el jondo del usuario finalmente envía la solicitud del usuario. Dado que la probabilidad de que el jondo del usuario finalmente envíe la solicitud es 1 / n, donde n es el tamaño de la multitud cuando se creó la ruta. Por lo tanto, aprendemos que la probabilidad de que el que escucha a escondidas se entera de la identidad del receptor disminuye en función del tamaño de la multitud. Además, cuando el jondo del usuario finalmente no envía la solicitud, el espía local solo ve la dirección encriptada del servidor final, lo que sugerimos proporciona al receptor un anonimato que está (informalmente) más allá de toda sospecha.(más allá de toda sospecha, ningún usuario es más sospechoso que otro).

Considere un conjunto de jondos corruptos colaboradores en la multitud. Debido a que cada jondo puede observar el tráfico de texto sin formato en una ruta enrutada a través de él, dicho tráfico, incluida la dirección del servidor final, está expuesto a este atacante. La pregunta que consideramos aquí es si el atacante puede determinar quién inició el camino. El objetivo de los colaboradores es determinar el miembro que inició el camino. Ahora analizamos qué tan seguros pueden estar los colaboradores de que su predecesor inmediato es, de hecho, el iniciador del camino:

Tenga en cuenta que H 1 => I , pero lo contrario I => H 1 no es cierto, porque el jondo inicial puede aparecer en el camino varias veces. Puede haber un caso en el que la ruta se componga de la siguiente manera: