source: libros/maquetacion/capitulo3/capitulo3.tex @ cbd37f3

revisionfinal
Last change on this file since cbd37f3 was cbd37f3, checked in by aaraujo <aaraujo@…>, 10 years ago

Correcciones capítulo 3.

  • Correcciones varias.
  • Se colocan comentarios sobre puntos de atención en el contenido.

Signed-off-by: Dhionel Díaz <ddiaz@…>
Signed-off-by: aaraujo <aaraujo@moe>

  • Property mode set to 100644
File size: 45.3 KB
Line 
1\chapter{Sistemas An\'onimos}
2\chapterauthors{Rodolfo Sumoza
3\chapteraffil{Fundación Centro Nacional de Desarrollo e Investigación en Tecnologías Libres}
4}
5
6% Se crea un ambiente bibunit para el cual se creará la bibliografía
7\begin{bibunit}[unsrt]
8
9Tal como se plantea en \cite{cenditel_anonimato}, se puede indicar que
10la privacidad aborda una necesidad natural e inherente de los seres
11humanos, la cual responde a la libre vo\-lun\-ta\-rie\-dad de escoger
12con quiénes cada uno se quiere relacionar y la posibilidad de elegir
13la información que se desea sea conocida en esa relación. Esto se deriva
14de la intimidad humana, como espacio de crecimiento y desarrollo personal,
15y de protección del ámbito privado personal, en el que la personas se
16pueden comportar y expresar de forma libre y sin temor o reticencia
17ante la presencia o intervención indeseada de terceras personas. Esto
18implica que se puede representar como la contraparte al ámbito público,
19el cual es un espacio en el que las interacciones sociales son constantes
20y necesarias, y se encuentran influenciadas y limitadas por normas y
21regulaciones jurídicas, sociales, culturales, religiosas, entre otras,
22las cuales determinan en todo momento las conductas a seguir y por lo
23general se establecen sanciones en los casos de violación de alguno de
24esos preceptos.
25\begin{comment}
26Es pertinente un punto de atención aquí. El párrafo anterior parece
27sugerir una prevalencia o preferencia del espacio privado sobre el
28espacio público, lo cual tiene profundas implicaciones en el
29paradigma de organización social. Cuando la cosa privada prevalece
30sobre la cosa pública entonces los intereses individuales están sobre
31los colectivos, lo cual ha conducido a la degradación y perversión del orden
32social en la que estamos inmersos.
33\end{comment}
34
35La privacidad también se puede pensar como una necesidad que se ha
36adquirido en el transcurso del tiempo, debido principalmente a factores como:
37
38\begin{enumerate}
39\item El reconocimiento y protección de los derechos humanos fundamentales
40en el mundo. Históricamente, se observa que desde tiempos antiguos se manejaba
41la noción de un espacio propio de cada persona, que permitiera su crecimiento
42personal. Se penalizaban las violaciones a ese espacio, pero más por razones
43de seguridad pública y por relacionarlo a derechos patrimoniales.
44\item Las discusiones acerca de un derecho a la intimidad, a la vida privada,
45a la privacidad se presentan con mayor fuerza luego del surgimiento de la
46prensa escrita, ya que es el medio que empieza a posibilitar la transmisión
47de una misma información a gran número de personas.
48\item Se ha planteado como una necesidad que se ha visto influenciada
49y potenciada por la aparición, crecimiento y masificación de las TIC
50(computadores personales, la Internet, televisión, telefonía fija y móvil,
51etc), ya que éstas permiten la facil divulgación de gran cantidad de
52información en poco tiempo.
53\end{enumerate}
54
55Sin embargo, no es necesario apelar a los artículos de la
56carta sobre los Derechos Humanos establecida por la Organización
57de las Naciones Unidas para darse cuenta que cada una de las personas
58que habitan este planeta tiene el derecho de decidir sobre el destino
59de su información privada. Esto incluye no sólo decidir quién, cómo,
60dónde y cuándo terceras partes puedan tener acceso a sus datos en
61general, sino que se debe prestar una particular atención a los que
62están relacionados con la identidad, el perfil social, cultural,
63personal, etc.
64
65Tanto en las organizaciones privadas, como en las públicas, y a nivel
66individual, la protección de la información no sólo debe incluir los
67aspectos típicamente enmarcados dentro de la integridad, confidencialidad
68y disponibilidad de los datos, sino que debe ampliarse al resguardo de
69la privacidad donde, entre otros, se procura evitar que se devele la
70identidad de las partes comunicantes. Se han desarrollado varias
71estrategias, mecanismos, técnicas y sistemas que tienen ésto como
72objetivo, y que pueden enmarcarse en lo que se denomina las tecnologías
73que mejoran la privacidad (se conoce en inglés como
74\textit{Privacy Enhancing Technologies o PET}).
75
76Este tipo de tecnologías han tenido sus frutos en escenarios de diversa
77índole, que van desde aplicaciones militares, donde se procura evitar
78que el adversario pueda des\-cu\-brir las conexiones estratégicas,
79pasando por aplicaciones cien\-\-fi\-cas/co\-mer\-cia\-les, que evitan
80revelar información sobre las comunicaciones hechas entre socios
81cien\-\-fi\-co/co\-mer\-cia\-les, hasta las aplicaciones de particulares
82que le ayudan a mantener en privado sus datos personales: los referentes
83a su salud, su estado financiero, sus preferencias de consumo, etc.
84Uno de los puntos críticos de la privacidad es el encubrimiento de la
85identidad de las partes comunicantes, es decir, es la procura de que
86las comunicaciones sean anónimas: anonimato.
87
88Cada una de las técnicas y mecanismos utilizados tienen sus ventajas
89y desventajas en cuanto al perfil de ataque considerado. Es decir,
90dependiendo del tipo de atacante que se considere, cada una de éstas
91posee un conjunto de fortalezas y debilidades asociadas. Adicional al
92perfil del atacante, se debe incluir su radio de acción, esto quiere
93decir, que se debe considerar su capacidad para manejar ciertos volúmenes
94de usuarios, su heterogeneidad, su distribución y localización.
95
96Además se debe considerar el tipo de comunicación anónima que se desea
97o necesita entablar: mensajería instantánea, correos electrónicos,
98servicios web, etc.
99
100En las siguientes secciones se presentan algunas técnicas, sistemas
101y mecanismos que se orientan a proporcionar privacidad basada en el anonimato.
102
103\section{Técnicas para proporcionar privacidad}
104
105Tal como se menciona en \cite{ico2006} muchas personas utilizan
106la Internet para poder comunicarse, para el envío de correo electrónico,
107para la investigación en diversas áreas de interés, para la interacción
108con distintos organismos públicos o privados, etc. Al mismo tiempo, gran
109cantidad de estos organismos públicos y privados en distintas regiones
110del planeta buscan maximizar la interacción electrónica en todos los
111niveles entre los usuarios y sus centros tecnológicos, intercambiando
112información a través del uso de bases de datos controladas por ellos mismos,
113buscando utilizar las herramientas de la informática para tener el control
114de la información concerniente a innumerables aspectos relacionados a los
115individuos, tales como las preferencias en sus consumos diarios, la
116interacción con su alrededor, sus estilos de vida, sus opiniones, sus
117preferencias, y todo esto en niveles que en gran medida son desconocidos
118por los mismos usuarios. En respuesta a lo anterior, y procurando minimizar
119este tipo de control, se han propuestos diferentes mecanismos y sistemas que
120buscan reforzar o mejorar la privacidad (Privacy Enhancing Technologies) del
121individuo (visto en un contexto amplio, es decir, pudiéndose considerar
122como individuo a un conjunto de personas, e incluso a organizaciones completas).
123
124Este tipo de tecnologías pueden asistir a los organismos en su
125cumplimiento de los principios de protección de la privacidad
126establecidos en la declaración universal de los derechos humanos \cite{ONU1948},
127dándole a los usuarios mayor poder para controlar su información,
128pudiendo éstos decidir cómo y cuándo puede ser utilizada por terceras
129partes. Existen sistemas tales como los navegadores web anónimos
130y servicios especiales de correo electrónico que le permiten comunicarse
131sin necesidad de revelar su verdadera identidad. Los sistemas para el
132manejo de la identidad potencialmente le permiten a los individuos
133acceder a los servicios y recursos sin tener que proveer información
134sobre ellos. Esto implica involucrar a una o varias organizaciones
135sobre las cuales se deba tener cierto grado de ``confianza'', que
136puedan verificar la identidad de los usuarios y además puedan
137generar cierto tipo de certificación electrónica que no contenga
138información sobre la identidad, pero que permita acceder a los
139recursos y servicios ofrecidos por terceras partes.
140
141Las tecnologías que mejoran o refuerzan la privacidad no son sólo
142aquellas destinadas a proveer un cierto grado de anonimato, sino
143que se extienden a la protección y mejora de la privacidad en general
144del individuo, incluyendo el cumplimiento de sus derechos sobre la
145protección de sus datos, en este sentido se pueden mencionar, como
146ejemplos de este tipo de tecnología, los siguientes:
147
148\begin{itemize}
149\item Los sistemas de acceso biométrico cifrado, que permiten el uso
150de las huellas dactilares como mecanismo para autenticar la identidad
151de un individuo sin necesidad de retener su huella dactilar actual.
152\item Los accesos seguros a los datos personales de los usuarios en línea.
153\item Complementos de software que permiten a los navegadores detectar
154automáticamente las políticas de privacidad de los sitios web y
155compararlas con las preferencias expresadas por los usuarios.
156\item Sistemas de alertas y avisos que son anexados a la misma
157información y que previenen de su uso en caso del no cumplimiento
158de las políticas de privacidad.
159\end{itemize}
160
161\subsection{Bases del Anonimato}
162
163En la sección \ref{privacidad} se habla sobre los conceptos y bases
164del anonimato, y para comprenderlo de manera general es conveniente
165utilizar la configuración de un sistema general de comunicación
166tradicionalmente compuesto por un emisor, un receptor, quienes
167utilizan una red de comunicación para transmitir un mensaje.
168En la figura \ref{figura1} se muestra el diagrama general de este modelo.
169
170\begin{figure}[h]
171\begin{center}
172%\includegraphics[scale=0.3]{./img/cap3_img2.png}
173\includegraphics[scale=1]{./img/configuracionSistemaGeneral.JPEG}
174\caption{Configuración del Sistema General}
175\label{figura1}
176\end{center}
177\end{figure}
178
179
180Este sistema está delimitado por los componentes antes mencionados, por
181lo cual los involucrados que se encuentren fuera de esta delimitación,
182en cada uno de los casos que se describen se consideran participantes externos.
183
184Cada uno de los casos de estudio presentados serán considerados desde
185la perspectiva del atacante, quien puede monitorear las comunicaciones,
186estudiar sus patrones, e incluso puede hacerle cambios al manipular su
187contenido. El atacante puede estar dentro del sistema o puede ser uno
188de los participantes externos.
189
190En todas las definiciones de los términos relacionados con las
191tecnologías asociadas a la mejora o refuerzo de la privacidad,
192se considera un sujeto (subject) a una entidad (ente o ser)
193que tiene la posibilidad de actuar en el sistema, por ejemplo,
194un ser humano, una persona jurídica, un computador, etc.
195
196Como se mencionó en la sección \ref{anonimato} un sujeto es anónimo
197cuando no puede ser identificado dentro de un conjunto de sujetos,
198denominado el conjunto anónimo. Este conjunto está conformado por
199todos los posibles sujetos que pueden causar (o estar relacionados
200con) una acción. No ser identificado significa que ese sujeto no
201puede ser caracterizado de forma única o particular dentro de ese
202conjunto. Un sujeto actúa anónimamente cuando, desde el punto de
203vista del adversario, su acción no puede relacionarse con su
204identidad, dado que hay un conjunto de sujetos que podrían ser los
205causantes potenciales de la acción (y el adversario no puede distinguir
206a su verdadero causante). El anonimato debe permitirle a un sujeto
207utilizar un recurso o servicio sin revelar su identidad, esto implica
208que el anonimato por si mismo no procura proteger la identidad de un
209usuario en un ámbito general, lo que pretende es evitar que otros
210usuarios o sujetos puedan determinar la identidad de un usuario
211cuando éste genera una acción u operación en particular.
212
213Con respecto a las entidades que podrían generar una acción, el
214conjunto anónimo se conforma por los sujetos que pueden generar
215una acción en un instante de tiempo específico; desde el punto
216de vista de las direcciones o ubicaciones de las entidades, el
217conjunto anónimo está conformado por los sujetos que pueden
218estar relacionados a una ubicación o dirección. Lo anterior
219quiere decir que el anonimato se podría clasificar según las
220entidades involucradas o según la ubicación de las mismas.
221
222De esta forma, para permitir el anonimato de un sujeto siempre
223tiene que existir un conjunto apropiado de sujetos que posean
224potencialmente los mismos atributos. Ser los emisores y los
225receptores de mensajes particulares son ejemplos de estos
226atributos. Un emisor de un mensaje puede ser anónimo sólo
227si constituye parte de un conjunto de emisores potenciales
228(con atributos similares), el cual es su conjunto anónimo, y
229puede ser un subconjunto de todos los sujetos a nivel global
230quienes pueden enviar un mensaje en un tiempo específico. Lo
231mismo aplica para los receptores de mensajes. Este esquema se
232representa en la figura \ref{figura2}. El conjunto anónimo es
233relativo al tiempo, es decir, puede variar según los cambios
234que se den en el sistema.
235
236\begin{figure}[h]
237\begin{center}
238%\includegraphics[scale=0.3]{./img/cap3_img1.png}
239\includegraphics[scale=1]{./img/conjuntosAnonimos}
240\caption{Conjuntos Anónimos}
241\label{figura2}
242\end{center}
243\end{figure}
244
245Con lo anterior se especifica que existe un conjunto anónimo
246para el emisor de un mensaje, existe otro conjunto anónimo
247para el receptor de ese mensaje, y estos conjuntos pueden
248ser disjuntos, pueden solaparse o pueden ser el mismo conjunto.
249
250Por otro lado el anonimato además de estar relacionado al
251conjunto anónimo y al tiempo en el que se está ejecutando
252la acción, también tiene relación al contexto donde se aplica,
253es decir, un sujeto puede ser anónimo en relación al contexto
254envío y recepción de correos electrónicos, pero puede no serlo
255en ese mismo instante de tiempo para el contexto interacción
256con una base de datos. Esto se debe a que según el contexto
257de estudio pueden existir distintos atributos que caractericen
258al conjunto anónimo, y por ende al anonimato del sujeto.
259
260Como se mencionó, el conjunto anónimo está directamente relacionado
261con el atacante, esto quiere decir que el conjunto anónimo se delimita
262según el grado de conocimiento que posee el atacante. De esta forma,
263el fin último del anonimato es procurar que el atacante posea la
264misma información antes y después de su ataque.
265
266Dado que el anonimato es dependiente del contexto, definido por
267sus atributos, las variaciones del mismo podrían cambiar los
268niveles de anonimato. Si se pretende diferenciar entre ``niveles''
269de anonimato, es necesario poder cuantificarlo (medirlo) con el
270fin de poder hacer distinciones entre distintos sistemas anónimos.
271
272\subsection{Técnicas de Anonimato}
273
274Tal como se mencionó en el apartado anterior
275el anonimato de un sujeto es el estado de no ser identificable
276dentro de un conjunto de sujetos, denominado el conjunto anónimo.
277También se ha mencionado, ver \cite{rlsm:terminology}, que el
278emisor de un mensaje puede ser anónimo sólo dentro de un conjunto
279de potenciales emisores, que se correspondería con el conjunto
280anónimo del emisor, el cual a su vez puede ser un subconjunto
281de todos los sujetos a nivel mundial quienes podrían enviar
282mensajes en determinados instantes de tiempo. Este tipo de
283anonimato es llamado anonimato del emisor. Lo mismo ocurre
284para el receptor, quien puede ser anónimo sólo dentro de un
285conjunto de receptores posibles, llamado el conjunto anónimo
286del receptor, y a este tipo de anonimato es llamado anonimato
287del receptor. Hay además un tercer tipo de anonimato, el de relación,
288el cual consiste en tener la propiedad de no poder relacionar
289quién se comunica con quién. La no relacionabilidad significa
290que dentro del sistema las distintas entidades, aquí denominadas
291ítems de interés o IDI (mensajes, emisores, receptores, etc.)
292no están ni más ni menos relacionadas con respecto a la
293información que se tenía antes de que el adversario ejecute un
294ataque (información a priori). En otras palabras, el anonimato
295del emisor/receptor puede ser definido como las propiedades de
296que un mensaje particular no pueda ser relacionado con ningún
297emisor/receptor, y que cualquier mensaje no pueda ser relacionado
298a un emisor/receptor en particular. Entonces, el anonimato de relación
299es la propiedad de no poder relacionar o determinar quién
300se comunica con quién.
301
302El anonimato se fortalece mientras más grande sea su conjunto
303anónimo, y mientras más uniforme sea la distribución de
304probabilidad de la ejecución de las acciones por parte de
305los sujetos dentro del conjunto, es decir, el nivel de
306anonimato no sólo depende del tamaño del conjunto sino
307también de la probabilidad de que un sujeto en particular
308pueda generar cierta acción. De esta forma se puede definir
309el entorno de acción que acota las técnicas de anonimato para
310las comunicaciones: Colectar un conjunto apropiado de usuarios
311para que un usuario en particular pueda ser anónimo cuando se
312comunica con los demás.
313
314Los sujetos no pueden tener el mismo nivel de anonimato contra
315todos los tipos de ataques posibles generados por participantes
316internos o externos. El conjunto de los posibles sujetos y la
317probabilidad de que ellos puedan causar una acción puede variar
318dependiendo del conocimiento del atacante. Se asume que desde el
319punto de vista del atacante, el nivel de anonimato sólo puede
320disminuir, es decir, se asume que el atacante no olvida la
321información que tiene y que ha logrado recolectar durante
322su observación e influencia sobre la comunicación en el sistema.
323
324Para definir las diferentes técnicas de anonimato se utilizan
325los siguientes criterios:
326
327\begin{itemize}
328\item Objetivo de la protección: define cuál tipo de anonimato
329puede ser provisto (del emisor, del receptor, o de la relación).
330\item Nivel de seguridad: se debe definir cuál es el nivel de
331seguridad alcanzado por el objetivo de la protección (la seguridad
332desde la perspectiva de la teoría de la información o incondicional
333y la seguridad criptográfica/computacional con los supuestos
334asociados a mecanismos como los de clave pública).
335\item Modelo de atacante: contra qué tipo de atacantes protege
336el sistema (externos, participantes, proveedores de servicios).
337\item Modelo de confianza: en quién confía el usuario (en los
338proveedores de servicios, en los participantes externos,
339en otros usuarios, etc.).
340\end{itemize} 
341
342\subsubsection{Redes de mezcla:}\hfill\\
343
344Esta idea se describe en \cite{rlsm:chaum-mix}. El método utiliza
345criptografía de clave pública y fue diseñado para que los sistemas
346de envío de correo electrónico proporcionaran anonimato del emisor,
347del receptor y de relación sin necesitar un servicio de confianza
348central (por ejemplo una autoridad certificadora). En general,
349los mezcladores o Mixers pueden ser entendidos como una cadena
350de proxies seguidos uno detrás del otro. Se considera que el
351atacante puede observar todas las comunicaciones y puede controlar
352todos los mezcladores a excepción de uno.
353
354%\textbf{Topología Mix:}
355\paragraph{\textbf{Topología de Mezcla}}\hfill\\
356
357Este concepto funciona aun cuando se dispone de un solo mezclador,
358pero en este caso el usuario debe confiar en este mezclador.
359Típicamente hay más de un mezclador en la red organizados en
360forma de cadena. Existen diferentes métodos para organizar la
361cooperación dentro de la red. Uno de ellos puede ser que cada
362mezclador exista independientemente en la red y los participantes
363libremente decidan a través de cuál de ellos enrutarán sus mensajes.
364De esa forma cada nodo puede comunicarse con el resto conformando
365lo que se denomina una topología de red de mezcla o red mix.
366
367Otra posibilidad es utilizar una cadena de mezcladores predefinida.
368A esta cadena se le denomina mezcla en cascada. Además de los dos
369extremos antes mencionados, se pueden utilizar variaciones que
370resulten en diseños híbridos. Un análisis y comparación de ambas
371ideas se presenta en \cite{rlsm:berthold,george-thesis}.
372
373En una red de mezcla, el usuario puede decidir con cuáles mezcladores
374desea interactuar, proporcionando de esta manera un buen nivel de
375escalabilidad y flexibilidad. Además, debido a que los usuarios
376escogen aleatoriamente los mezcladores, un atacante no podrá
377determinar cuáles de ellos debería controlar para poder
378observar un mensaje enviado, para esto debería controlar gran
379parte de la red.
380
381Por otro lado, un atacante sabe con exactitud cuáles mezcladores debe
382controlar en una red en cascada (mix en cascada). Este diseño es
383vulnerable a los ataques de denegación de servicio, ya que al
384detener un solo mezclador en la red lograr detener todo el sistema.
385
386Por otro lado en \cite{rlsm:berthold} exponen que la red de mezcla
387(pero no la red en cascada) es vulnerable a ciertos tipos de
388atacantes con altos niveles de control, es decir, que controlan
389a todos los mezcladores a excepción de uno. Mencionan que este
390tipo de red es vulnerable a los ataques $n-1$. Otra desventaja
391es que algunos mezcladores puede que no sean casi utilizados
392(se subutilizan) y otros se sobrecarguen. Los objetivos de
393protección que se logran son el de anonimato del
394emisor, y el de relación.
395
396La topología de mezcla provee protección contra atacantes
397que pueden observar toda la red y que pueden controlar
398muchos mezcladores. Es susceptible a ataques de denegación
399de servicio y ataques $n-1$. Desde el punto de vista de la
400confianza, se debe confiar en al menos un mezclador de la
401ruta seleccionada.
402
403%\textbf{Funcionalidad básica:}
404\paragraph{\textbf{Funcionalidad básica}}\hfill\\
405
406En este enfoque los usuarios o clientes no envían sus
407solicitudes directamente al servidor (o a otro destino), sino
408que las envía a nodos (enrutadores) intermedios denominados mezcladores.
409Para poder ocultar la comunicación de los participantes, los mezcladores
410no envían instantáneamente los mensajes que reciben, en vez de esto,
411ellos almacenan varios mensajes de diferentes clientes por un tiempo
412definido, los transforman, y luego los reenvían simultáneamente a
413los servidores de destino o a otros mezcladores en la red. Un
414observador que puede ver todos los mensajes entrantes y salientes
415de un mismo mezclador no podrá determinar cuáles mensajes de
416entrada corresponden a cuáles mensajes de salida.
417
418%\textbf{Preprocesamiento:}
419\paragraph{\textbf{Preprocesamiento}}\hfill\\
420
421El preprocesamiento es la transformación de los mensajes. El
422objetivo principal de la transformación de los mensajes es
423evitar que un atacante pueda trazar un mensaje (descubrir su recorrido)
424a través de la comparación de los patrones de bits
425correspondientes a los mensajes que entran y salen de un mezclador.
426Para poder enviar un mensaje, el cliente primero lo debe preparar.
427Para esto, el primer paso que debe dar es escoger el camino por el
428cual se transmitirá el mensaje, este camino estará compuesto por
429los mezcladores que haya escogido, y debe incluir el orden
430específico de reenvíos antes de que llegue a su destino final.
431Para mejorar la seguridad del sistema, se recomienda utilizar
432más de un mezclador en cada camino. El siguiente paso, es utilizar
433las claves públicas de los mezcladores escogidos para cifrar el
434mensaje, en el orden inverso en el que fueron escogidos, es decir,
435el mensaje se cifra primero con la clave pública del ultimo mezclador,
436luego con la del penúltimo, y así sucesivamente hasta cifrar por
437ultima vez con la clave pública del primer mezclador en el camino
438seleccionado. Cada vez que se cifra se construye una capa, y se
439incluye la dirección del siguiente nodo (ya sea el destino final
440u otro mezclador). Así cuando el primer mezclador obtiene el
441mensaje preparado, lo descifra con su clave privada, y obtiene
442la dirección del siguiente nodo al que debe reenviarle
443el resto del contenido que quedó después de su descifrado.
444
445Este esquema puede ser descrito de la siguiente manera:
446
447$A_1 , ..., A_n$ pueden ser la secuencia de las direcciones
448y $c_1,...,c_n$ la secuencia de la claves de cifrado conocidas
449públicamente y pertenecientes a la secuencia $Mix_1,...,$ $Mix_n$
450escogidos por el emisor. Incluso $c_1$ puede ser una clave
451secreta en un sistema de cifrado simétrico. $A_{n+1}$ puede
452ser la dirección del receptor o del destino final del mensaje,
453al cual se le denomina, por simplificación, $Mix_{n+1}$,
454y $c_{n+1}$ sería su clave de cifrado. $z_1,...,z_n$ puede
455ser una secuencia de bits aleatorias. El emisor crea los
456mensajes $N_i$ que son recibidos por el $Mix_i$, y en
457la base del mensaje $N$ es lo que el receptor final debe
458recibir ($Mix_{n+1}$) supuestamente:
459
460\begin{equation}
461N_{n+1}=c_{n+1}(N )
462\end{equation}
463\begin{equation}
464N_i=c_i(z_i,A_{i+1},N_{i+1}) para i=n,...,1
465\end{equation} 
466
467El emisor le envía $N_1$ al $Mix_1$. Después que se decodifica,
468cada mezclador recibe la dirección del siguiente mezclador y
469el mensaje que está destinado a ese siguiente mezclador. Debido
470a las implementaciones de los sistemas de clave pública o
471asimétrica se necesitan las cadenas aleatorias de bits.
472Para asegurar que un atacante no pueda trazar un mensaje
473(seguir su trayectoria) a través de un mezclador, es necesario que
474todos los pares de entrada-salida de los mensajes no tengan
475características que permitan identificarlos, por ejemplo,
476el tamaño de los mismos. Una solución a esto es establecer
477tamaños fijos para los mensajes, y cuando los mensajes
478tengan un tamaño inferior al fijado, se deberán rellenar
479con información falsa, y cuando lo superan se deberán
480fragmentar en varias piezas.
481
482%\textbf{Reordenamiento:}
483\paragraph{\textbf{Reordenamiento}}\hfill\\
484
485Mezclas por grupos (pool) o mezclas por lotes (batch):
486Cuando un mezclador opera en modo ``por lotes'' o ``batch'',
487éste recolecta un número fijo $n$ de mensajes, cifrándolos
488y reordenándolos antes de reenviarlos a todos en un solo
489envío. En contraste, un mezclador que opera en modo
490“por grupos” o “pool” tiene siempre un número $n$ de mensajes
491almacenados en su memoria temporal o “buffer” denominado
492“pool”. Si un nuevo mensaje llega al mezclador, entonces se
493escoge aleatoriamente y se reenvía uno de los mensajes
494almacenados. El número $n$ representa al tamaño del “pool”.
495
496%\textbf{Prueba de reenvío: }
497\paragraph{\textbf{Prueba de reenvío}}\hfill\\
498
499Uno de los tipos de ataques más frecuentes es el denominado
500ataque de reenvíos. Un atacante podrá copiar un mensaje que
501desea monitorear y enviarle una o varias copias de éste al mezclador.
502Estas copias del mensaje podrían tomar el mismo camino en la
503red que el mensaje original, dado que los algoritmos de envío y
504descifrado trabajan determinísticamente. Así puede ser encontrado
505un patrón característico del mensaje sólo con observar la red.
506Con el fin de evitar este tipo de ataque, las copias de los
507mensajes deben ser identificadas y eliminadas a través de un
508filtro. Una posibilidad para identificar los mensajes inválidos
509es a través del uso de estampas de tiempo. Cuando un mezclador
510obtiene un mensaje, también obtiene una etiqueta que le informa
511la franja de tiempo durante la cual el mensaje es válido. Si el
512mensaje llega muy tarde (después de lo que la franja de tiempo
513le indica), el mezclador niega el reenvío del mensaje. Otra
514posibilidad es que el mezclador almacene una copia de los
515mensajes que ya haya enviado, y así los mensajes nuevos que
516lleguen pueden ser comparados con esta base de datos. Por
517razones de seguridad y rendimiento, es conveniente restringir
518el tamaño de esta base de datos. Los mensajes deberían ser
519almacenados por un corto período de tiempo antes de que se borren.
520
521%\textbf{Tráfico de relleno o dummy:}
522\paragraph{\textbf{Tráfico sustituto o dummy}}\hfill\\
523
524Aun cuando ninguna información está siendo transmitida,
525es posible enviar información de relleno en la red. Esto tendría
526el mismo efecto de no enviar ningún mensaje, pero un observador
527(atacante) no podría distinguir entre los mensajes reales de
528los que se envían como relleno. El envío de este tipo de
529mensajes de relleno es denominado tráfico sustituto. Con
530respecto a la idea de los mezcladores, un mezcladore podrá
531aleatoriamente enviar tráfico sustituto a otro en la red.
532Este mecanismo también beneficiaría a los mezcladores que
533trabajan en el modo por lotes, ya que normalmente estos mezcladores
534tienen que esperar hasta que un número predefinido de mensajes
535hayan llegado antes de que todos los mensajes sean reenviados
536simultáneamente, y evitaría los posibles retrasos que podrían
537ocurrir cuando no hayan envíos suficientes de mensajes al mezclador,
538y éste puede hacer su respectivo reenvío. Es decir, el tráfico sustituto
539evitaría estos retrasos, ya que si no hay suficientes mensajes
540reales enviados, el número de mensajes necesarios para
541hacer el reenvío se pudiese alcanzar con los mensajes de relleno.
542
543%\textbf{Anonimato del receptor (Direcciones de retorno no trazables):}
544\paragraph{\textbf{Anonimato del receptor (Direcciones de retorno no trazables)}}\hfill\\
545
546El hecho de permitir que un receptor pueda permanecer anónimo
547se le caracteriza por tener una dirección de retorno que no pueda
548ser registrada o trazada por un atacante. Esta dirección de retorno
549es un mensaje especial que tiene que ser creado por el receptor y
550tiene que ser utilizado por el emisor para el envío del mensaje
551al receptor anónimo. La idea de base de este tipo de direccionamiento
552es que el receptor, y no el emisor, define cuáles mezcladores y
553el orden en que ellos van a ser utilizados para la entrega de
554cierto mensaje de respuesta. La dirección de retorno preparada
555por el receptor contiene una clave simétrica para cada mezclador
556en el camino que éste utilizará para cifrar el mensaje enviado
557por el emisor. Finalmente, el receptor recibirá un mensaje
558cifrado múltiples veces con claves simétricas como él mismo
559especificó. Dado que el receptor conoce todas las claves
560simétricas, para poder desarrollar esta técnica, éste puede
561descifrar el mensaje. Dado que la claves simétricas son
562desconocidas por el emisor y la codificación del mensaje
563cambia en cada uno de los mezcladores (debido al cifrado),
564el emisor no puede trazar el mensaje hacia el receptor.
565
566Este esquema se explica de la siguiente forma: $A_1,...,A_m$
567pueden ser la secuencia de las direcciones y $c_1,...,c_m$ pueden
568ser la secuencia de las claves públicas conocidas de la secuencia
569de mezcladores $Mix_1,...,Mix_m$ escogida por el receptor,
570donde $c_m$ puede ser una clave secreta de un sistema de cifrado
571simétrico. El mensaje añadido a la dirección de retorno pasará por
572estos mezcladores en orden ascendente dependiendo de sus índices.
573$A_{m+1}$ puede ser la dirección del receptor llamado $Mix_{m+1}$.
574De forma similar, al emisor se le llama $Mix_0$. El receptor
575crea una dirección de retorno no trazable ($k_0,A_1,R_1$) donde
576$k_0$ es una clave de un sistema de cifrado simétrico generada
577para este propósito. $Mix_0$ se supone que utiliza esta clave
578para codificar el contenido del mensaje con el fin de garantizar
579que el $Mix_1$ no sea capaz de leer este mensaje. $R_1$ es parte
580de la dirección de retorno, la cual se transmite a
581través del $Mix_0$ y contiene el mensaje generado y que ha sido
582cifrado utilizando $k_0$. $R_1$ inicialmente se crea escogiendo
583aleatoriamente un único nombre de la dirección de retorno en un
584esquema recursivo como el que se muestra a continuación:
585
586\begin{itemize}
587\item $R_j$ es la parte de la dirección de retorno que será
588recibida por el $Mix_j$.
589\item $k_j$ es la clave de un sistema de cifrado simétrico,
590con el cual $Mix_j$ codifica la parte legible del mensaje.
591\end{itemize}
592
593\begin{equation}
594R_{m+1}=e
595\end{equation}
596
597\begin{equation}
598R_j=c_j(k_j,A_{j+1},R_{j+1})\,para\,j=m,...,1.
599\end{equation}
600
601El mensaje $N_j$ está constituido por la parte de la dirección
602de retorno $R_j$ y el contenido $I$ del mensaje (codificado
603varias veces) generado por el emisor (también llamado parte
604$I_j$ del contenido). Los mensajes $N_j$ son creados por el
605$Mix_{j-1}$ y son enviados al $Mix_j$ de acuerdo al siguiente
606esquema recursivo. Estos son creados y enviados por el emisor
607$Mix_0$ y así, en secuencia, se pasan a través de los
608mezcladores $Mix_1,...,Mix_m$ 
609
610\begin{equation}
611N_1=R_1,I_1;\,I_1=k_0(I)
612\end{equation}
613
614\begin{equation}
615N_j = R_j,Ij;\,I_j=k_{j-1}(I_{j-1})\,para\,j=2,...,m + 1
616\end{equation}
617
618El receptor $Mix_{m+1}$ recibe $e$, $N_{m+1}=e(km (...k1 (i))...)$ y
619puede descifrar y extraer el contenido $I$ ya que conoce todas las
620claves secretas $k_j$ asignadas para el nombre $e$ de la parte de
621la dirección de retorno en el orden correcto.
622
623%\textbf{Verificación del tamaño del conjunto anónimo: }
624\paragraph{\textbf{Verificación del tamaño del conjunto anónimo}}\hfill\\
625
626Si un atacante bloquea el mensaje de un participante específico,
627este mensaje se aísla del conjunto anónimo. Lo mismo sucedería
628si un atacante rodea a un participante específico, manipulándolo
629a través de la generación de mensajes con fines "ilícitos" para
630el sistema. Este tipo de ataque es conocido como el ataque de
631mezcla o $n-1$. No existe una solución específica contra este
632tipo de ataques en ambientes abiertos, como por ejemplo en
633aquellos donde los participantes entran y salen del sistema a
634su discreción. Se podría utilizar una protección básica si
635el mezclador puede identificar a cada participante, así de
636una forma confiable el mezclador puede verificar si los mensajes
637que tiene almacenados en su memoria temporal (“buffer”) fueron
638enviados por un número relativamente adecuado de usuarios.
639
640%\textbf{Canales Mix:}
641\paragraph{\textbf{Canales de Mezcla}}\hfill\\
642
643Los canales de mezcla o canales mix son utilizados para manejar
644en tiempo real las cadenas continuas de datos o que contengan
645sólo pequeños retrasos a través de una cadena de mezcladores.
646Para este caso, es necesario que se divida el ancho de banda:
647una parte para la señalización y otra parte para el envío de
648los datos, ambos utilizados para la transmisión del mensaje.
649
650Se podría asumir que existe un sólo canal para la señalización,
651y varios canales para la transmisión de datos. Con el fin de
652establecer el canal, se envía un mensaje sobre el canal de señalización,
653el cual contiene la clave $k_i$ que deberá ser utilizada entre el
654emisor y el $Mix_i$, la cual se cifra de forma asimétrica con
655la clave pública de dicho mezclador. Con esto, se define un canal
656de igual forma para todos los mezcladores, sobre el cual será
657transmitido el mensaje.
658
659Se podría utilizar un canal para el envío y otro canal
660para la recepción. Un canal de envío es análogo a un
661cifrado híbrido: el emisor establece un canal, y codifica
662continuamente su información $N$, transformándola en
663$k_1(k_2(...k_m(N)...))$ y enviándola al mezclador $Mix_1$.
664Cada mezclador $Mix_i$ para $(i = 1, ..., n-1)$ decodifica
665los mensajes recibidos continuamente utilizando $k_i$ y
666transmitiendo el resultado de la decodificación al mezclador
667$Mix_{i+1}$. El mezclador $Mix_m$ crea el mensaje en texto
668plano en el final de la cadena. Esto le permite al emisor
669enviar anónimamente los mensajes, pero en este caso el
670receptor no será anónimo. Un canal de recepción es en
671realidad un canal de envío el cual se utiliza en
672dirección opuesta, es decir, el receptor es el que
673establece el canal. El emisor le envía al mezclador
674$Mix_m$ la cadena $N$ de información que no está
675especialmente codificada por el mezclador $Mix_m$, luego
676lo codifica utilizando la clave $k_m$ y conduce $k_m(N)$
677un paso atrás, hacia el mezclador $Mix_{m-1}$. Los otros mezcladores
678hacen lo mismo, por ejemplo, el mezclador $Mix_1$ envía la
679cadena $k1(...km (N )...)$ codificada. Dado que el receptor
680conoce todas la claves públicas $k_i$, tiene la disponibilidad
681de descifrar $N$. Esto le permite al receptor recibir
682los mensajes anónimamente mientras que el emisor no es anónimo.
683
684Para alcanzar ambos niveles de anonimato, en \cite{ISDN-mixes}
685sugieren la creación de canales de mezcla como enlaces de los
686canales de envío y recepción. El emisor establece un canal de
687envío que finaliza en el mezclador $Mix_m$ y el receptor establece
688un canal de recepción que inicia en el $Mix_m$. El mezclador $Mix_m$
689traspasa las cadenas de información que llegan por el canal de envío
690hacia el canal de recepción. Los canales que están supuestamente
691enlazados, se etiquetan con una marca común que se recibe
692consistentemente en ambos canales que establecen los mensajes
693asociados al mezclador $Mix_m$. Los datos transferidos están
694coordinados con un mensaje de entrada al mezclador cifrado
695asimétricamente, el cual contiene la información del mezclador que
696conecta a los dos canales, y el usuario emisor del mensaje de
697entrada al mezclador actúa como un emisor o un receptor. Cada
698mezclador en la cadena puede descifrar este mensaje de entrada
699al mezclador y en el último paso, el texto plano se difunde a
700todos los suscriptores. Ahora, los canales pueden ser
701establecidos utilizando los mensajes de establecimiento de
702ambos participantes. Estos escogen los mezcladores por el canal
703de transferencias de datos del mezclador $Mix_m$ y los mantienen
704en secreto. Así todos conocen sólo la mitad del
705camino y el mezclador $Mix_m$ reenvía los mensajes entrantes
706del canal de envío del mezclador al canal de recepción del mezclador.
707Cada emisor/receptor debe tener el mismo número de canales
708de envío/recepción, porque de lo contrario serían observables,
709por tal razón convendrá utilizar canales sustitutos o “dummy”.
710
711Para poder entender mejor el funcionamiento de la redes de
712mezcla se presentan las figuras \ref{figura3} y \ref{figura4},
713en la que se puede observar que para el envío de un mensaje de
714un punto inicial a uno final, primero debe pasar por varios
715puntos intermedios, donde se realiza el proceso de mezclado
716con otros mensajes provenientes de otros nodos de origen y
717con diversos destinos. En cada nodo mezclador también se
718generan mensaje de relleno o dummy.
719
720\begin{figure}[h]
721\begin{center}
722\includegraphics[scale=1]{./img/redesMezcla.JPEG}
723\caption{Redes de Mezcla}
724\label{figura3}
725\end{center}
726\end{figure}
727
728\begin{figure}[h]
729\begin{center}
730\includegraphics[scale=1]{./img/topologiaMix.JPEG}
731\caption{Topología de Mezcla}
732\label{figura4}
733\end{center}
734\end{figure}
735
736\subsubsection{Enrutamiento cebolla:}\hfill\\
737
738Este mecanismo fue propuesto y estudiado en
739\cite{esorics04-mauw,onion-discex00,onion-routingpet2000}. Es
740equivalente a una red de mezcladores, pero en el contexto de
741enrutamiento basado en circuitos. En vez de enrutar cada paquete
742separadamente, el primer mensaje lo que hace es abrir un circuito,
743etiquetando una ruta. Cada mensaje que tiene una etiqueta en
744particular se enruta por un camino predeterminado. Finalmente,
745un mensaje se envía para que cierre o clausure un camino. Con
746frecuencia se hace referencia a flujo anónimo como la información
747que viaja por estos circuitos. Su objetivo es dificultarle la tarea
748al análisis de tráfico, uno de los tipos de ataques más conocidos.
749Este sistema procura proteger la no relacionabilidad de dos
750participantes que se comunican a través de terceras partes, y
751procura proteger la identidad de las partes comunicantes. En
752vista de que las redes ISDN son difíciles de implementar
753\begin{comment}
754No hay una referencia reciente a ISDN y la mención
755parece estar  descontexualizada.
756\end{comment}
757en Internet, lo que procuró el enrutamiento cebolla es
758adaptar esta idea distribuyendo la red anónima y adaptándola
759para que se ejecute en el tope del modelo TCP/IP. El primer
760mensaje enviado en la red se cifra en capas, que pueden
761ser descifradas en una cadena de enrutadores
762cebolla (\textit{onion routers OR}) los cuales utilizan
763sus respectivas claves privadas.
764
765El primer mensaje tiene el material que debe ser compartido
766entre el emisor y los enrutadores, también las etiquetas y
767la información de direccionamiento del próximo nodo. Tal como
768sucede en los mezcladores de Chaum \cite{rlsm:chaum-mix},
769se provee la no relacionabilidad a nivel de bits, de esta
770forma el camino que toma el primer mensaje no es trivial
771de seguir con sólo observar el patrón de bits de los mensajes.
772
773También se propuso un tipo de enrutamiento dinámico
774donde los enrutadores que reenvían el flujo a través
775del camino establecido no se especifican únicamente
776en el mensaje inicial, esto con el fin de incrementar
777el anonimato. Los datos que circulan por la red en un
778circuito establecido están cifrados con las claves
779simétricas de los enrutadores. Las etiquetes se utilizan
780para indicar a cuál circuito pertenece cada paquete. Se
781utilizan etiquetas diferentes para los distintos enlaces,
782asegurando así la no relacionabilidad, y además las
783etiquetas de los enlaces también se cifran utilizando
784una clave que se comparte entre los pares de enrutadores
785OR. Lo anterior previene los ataques de observadores
786pasivos que puedan determinar cuáles paquetes pertenecen
787al mismo flujo anónimo, pero no le oculta la información
788a un enrutador que pueda ser subversivo.
789
790OR es susceptible a un conjunto de ataques, tal como
791el ataque de tiempo. Esto se debe a que los patrones
792pudiesen ser analizados por un atacante en ausencia
793de un gran volumen de tráfico pesado. Para este
794sistema se afirma proveer anonimato en la navegación
795web la cual requiere comunicaciones con baja latencia,
796por tal razón se ha excluido toda la dinámica de los mezcladores o mixes,
797dado que pudiese incrementar demasiado los tiempos de
798respuesta. En ausencia de este tipo de características,
799lo hace vulnerable a distintos tipos de ataques superados
800por los mezcladores, por ejemplo el ataque de correlación
801del tráfico de mensajes, donde se pudiese determinar
802cuáles mensajes entrantes corresponden con los salientes,
803con respecto a un enrutador.
804
805Los enrutadores se pueden configurar para que trabajen sólo
806con un determinado subconjunto de clientes, ya sea por
807zonas o de forma particularizada. Además se puede
808configurar para que trabajen sólo con
809un subconjunto de otros enrutadores.
810
811%\textbf{Tor: la segunda generación de OR:}
812\paragraph{\textbf{Tor: la segunda generación de OR}}\hfill\\
813
814
815El proyecto OR fue retomado en el año 2004, con el
816diseño e implementación de lo que se denominó la
817“segunda generación del onion router” o TOR, por
818sus siglas en inglés, la propuesta se muestra en
819\cite{rlsm:tor-design}. Su política es la del reenvío
820de flujo TCP sobre una red de reenvíos, y junto con la
821ayuda de otra herramienta, el
822Privoxy\footnote{http://www.privoxy.org}, está especialmente
823diseñada para el tráfico web.
824
825Este sistema utiliza una arquitectura de red tradicional:
826una lista de servidores voluntarios se obtiene desde
827un servicio de directorio ofrecido por otro(s)
828servidor(es). De esta forma, los clientes crean caminos
829utilizando al menos tres nodos intermedios escogidos de
830forma aleatoria dentro de la lista, y sobre los cuales
831se hace la comunicación de la información. A diferencia
832de la arquitectura anterior, donde se enviaba y distribuía
833el material criptográfico, TOR utiliza un mecanismo
834interactivo: el cliente se conecta con el primer nodo,
835y le solicita a éste que se conecte con el segundo nodo,
836de esta forma un canal bidireccional se utiliza en cada
837paso para desarrollar un intercambio de claves autenticado
838mediante el algoritmo DF (Diffie-Hellman). Éste garantiza
839el reenvío en forma secreta y la resistencia a la compulsión,
840debido principalmente a que solo son necesarias claves
841de corta duración. Este mecanismo fue inicialmente propuesto
842en Cebolla (ver \cite{cebolla}), y no está cubierto en la
843patente de OR (ver \cite{onion-discex00}).
844
845Otra notable diferencia entre TOR y los intentos anteriores
846por anonimizar el tráfico de flujo, es que TOR no ofrece
847seguridad contra los atacantes que pueden observar la
848red entera, es decir, contra atacantes pasivos globales.
849Un conjunto de técnicas de Análisis de Tráfico
850(ver \cite{danezispet2004,timing-fc2004,SS03,flow-correlation04,WangCJ05}
851han sido desarrolladas a través de los años para trazar el
852flujo de tráfico continuo viajando por redes de baja
853latencia como TOR. En estos estudios se ha demostrado que este
854tipo de ataques son muy difíciles de contrarrestar, a menos que
855se utilicen técnicas que implicarían latencias elevadas, o
856que requieran la inyección de grandes cantidades de tráfico
857cubierto (tráfico sustituto o “dummy”), los cuales representan
858soluciones muy costosas. Por esta razón en TOR se opta por
859obtener un nivel de seguridad que se pueda alcanzar en un
860sistema altamente utilizable y muy económico de utilizar
861(ver \cite{e2e-traffic,back01}). Como resultado, si un adversario
862puede observar el flujo entre dos puntos de la red, puede de
863forma trivial generar el mismo tráfico, y lograr ataques del
864tipo etiquetado o “tagging”. Sin embargo, dada esta vulnerabilidad,
865aun se necesita estimar la probabilidad de que un adversario
866pueda estar monitoreando la red en múltiples puntos sobre un
867camino o ruta establecida.
868
869TOR también ofrece mecanismos para ocultar los servidores.
870Un servidor oculto abre una conexión anónima y la utiliza
871para publicar un punto de contacto. Si un cliente quiere
872contactar a un servidor, debe conectarse con un punto de
873contacto y negociar un canal anónimo separado del que se
874utiliza para el reenvío de la comunicación actual. Un
875ataque propuesto en \cite{hs-attack06} demuestra la
876vulnerabilidad de esta idea. La intuición detrás de este
877ataque está en el hecho de que un adversario puede abrir
878múltiples conexiones hacia un mismo servidor oculto, y
879secuencialmente o en paralelo podría controlar el flujo hacia
880ese servidor. Para esto, el atacante necesitaría controlar al
881menos un enrutador, y debe esperar a que el servidor escoja
882una de las conexiones de su enrutador como un primer nodo
883de un camino anónimo cualquiera.
884
885
886% el siguiente comando establece la ubicación de las referencias
887\putbib[bibliografia]
888
889% el siguiente comando cierra el ambiente bibunit para la cual se generan las
890% referencias.
891\end{bibunit}
Note: See TracBrowser for help on using the repository browser.