Index: maquetacion/capitulo7/capitulo7.tex
===================================================================
--- maquetacion/capitulo7/capitulo7.tex	(revision 65b942d87c7d48ff242171f08a0c753e13d3328a)
+++ maquetacion/capitulo7/capitulo7.tex	(revision 8a1cf2489f631aea5528f12d3aae71742f9af92a)
@@ -13,10 +13,35 @@
 \textbf{Resumen}
 
-En este artículo se propuso utilizar algunas herramientas provistas en el área de la Computación Emergente, específicamente en Inteligencia Artificial Distribuida (IAD), y en particular se utilizaron las Colonias Artificiales de Hormigas para construir sistemas anónimos que tengan la virtud de poseer niveles de anonimato aceptables a un bajo costo. Este costo se refiere a un criterio de rendimiento comúnmente utilizado en los procesos de los sistemas de enrutamiento en telecomunicaciones, tal como son los tiempos de respuesta (latencia), consumo de recursos de la red, entre otros.
+En este artículo se propuso utilizar algunas herramientas provistas
+en el área de la Computación Emergente, específicamente en Inteligencia
+Artificial Distribuida (IAD), y en particular se utilizaron las
+Colonias Artificiales de Hormigas para construir sistemas anónimos
+que tengan la virtud de poseer niveles de anonimato aceptables a un
+bajo costo. Este costo se refiere a un criterio de rendimiento
+comúnmente utilizado en los procesos de los sistemas de enrutamiento
+en telecomunicaciones, tal como son los tiempos de respuesta
+(latencia), consumo de recursos de la red, entre otros.
 
 %\subsection{Introducción}
 \section{Introducción}
-Para preservar la privacidad de los datos de cada una de las personas que participan en una red de interacción, tal como Internet, se deben utilizar herramientas que sean capaces de proveer protección contra al menos algunos de los ataques típicos. Los ataques en este casa de estudio en particular están orientados, sin autorización, a obtener información privada de los usuarios, incluyendo su propia identidad. Para contrarrestar este tipo de ataques se han propuesto varias ideas que apuntan a establecer cierto nivel de Anonimato, el cual en la mayoría de los casos tienden a socavar el rendimiento de las comunicaciones. Esto es aun un problema abierto: los sistemas anónimos aún necesitan asegurar el Anonimato a un bajo costo (bajos tiempos de respuesta, bajo consumo de recursos, mayor usabilidad, etc.), y a esto es lo que se le denomina \emph{Anonimato Eficiente}. Este trabajo presente un nuevo enfoque que aplica por primera vez la idea de utilizar la Inteligencia Artificial Distribuida en esta rama de la 
-seguridad en las Tecnologías de Información y Comunicación (TIC), esto quiere decir que se le delega la responsabilidad de alcanzar niveles de Anonimato Eficiente a la Inteligencia Artificial Distribuida,  específicamente se propone utilizar las Colonias Artificiales de Hormigas.
+Para preservar la privacidad de los datos de cada una de las
+personas que participan en una red de interacción, tal como Internet,
+se deben utilizar herramientas que sean capaces de proveer protección 
+contra al menos algunos de los ataques típicos. Los ataques en este 
+caso de estudio en particular están orientados, sin autorización, a 
+obtener información privada de los usuarios, incluyendo su propia 
+identidad. Para contrarrestar este tipo de ataques se han propuesto 
+varias ideas que apuntan a establecer cierto nivel de Anonimato, el 
+cual en la mayoría de los casos tienden a socavar el rendimiento 
+de las comunicaciones. Esto es aun un problema abierto: los sistemas 
+anónimos aún necesitan asegurar el Anonimato a un bajo costo (bajos 
+tiempos de respuesta, bajo consumo de recursos, mayor usabilidad, etc.), 
+y a esto es lo que se le denomina \emph{Anonimato Eficiente}. Este trabajo 
+presente un nuevo enfoque que aplica por primera vez la idea de utilizar 
+la Inteligencia Artificial Distribuida en esta rama de la 
+seguridad en las Tecnologías de Información y Comunicación (TIC), esto 
+quiere decir que se le delega la responsabilidad de alcanzar niveles de 
+Anonimato Eficiente a la Inteligencia Artificial Distribuida,  
+específicamente se propone utilizar las Colonias Artificiales de Hormigas.
 
 %\subsection{Colonias Artificiales de Hormigas en Anonimato}
@@ -24,31 +49,95 @@
 \label{rlsm:ia-anonimato}
 
-Considerando las ideas propuestas en los sistemas anónimos probabilísticos \cite{rlsm:chaum-mix,rlsm:mixminion,rlsm:diaz-mixes,rlsm:tor-design} y las características de los Colonias Artificiales de Hormigas utilizadas en las redes de telecomunicaciones \cite{rlsm:antnet,rlsm:ants-white,rlsm:ants-loadbalancing}, se propone seleccionar las rutas de los mensajes de forma pro\-ba\-bi\-lís\-ti\-ca, utilizando las probabilidades que configuran los agentes móviles adaptativos (las hormigas). Estas rutas, teniendo componentes probabilísticos pueden, dependiendo de los parámetros de configuración, proporcionar ciertos niveles de Anonimato, en este sentido, se podría tener un "control inteligente" sobre los tiempos de respuesta generados y se podría tener un "control inteligente" sobre otros índices que pudiesen ser incorporados, tal como el consumo de recursos (balanceo de cargas).
-
-Se propone mimetizar los mensaje reales con los agente, esto es, cada mensaje tiene la misma estructura que las hormigas, y la única diferencia entre ellos radica en el contenido del mensaje, estos mensajes mimetizados se encriptan con las claves públicas de los nodos destino. Para hacer similar sus tamaños, se propone utilizar un tamaño  único para el envío de mensajes y para cada agente, incluyendo la estructura de datos que almacena la información necesaria para actualizar las tablas de enrutamiento de cada nodo, más un relleno inválido y la clave pública del destino. Si un mensaje se fragmenta para cumplir con el requisito del tamaño único, el mismo es reensamblado en el nodo destino, utilizando un número de secuencia establecido por el nodo emisor. Los fragmentos de los mensajes también tienen la tarea de actualizar las tablas de enrutamiento de los nodos que visitan, de esta manera los atacantes no pueden ditinguir entre las hormigas y los mensajes reales. De este modo, se puede comparar los mensajes 
-enviados con hormigas de carga que llevan el alimento a los nidos, y es por esto que se identifican dos tipos de hormigas, las de carga y las exploradoras, sin tener diferencias aparentes.
-
-Se utiliza una estrategia de cifrado por capas, cada nodo que una hormiga visita cifra la información relacionada al nodo anterior con una técnica de cifrado simétrico, e involucra solo la clave del nodo anterior, y para alcanzar cada destino, incluyendo el final, se pueden registrar sólo los nodos previos, y no la ruta completa hacia el origen. Para hacer la ruta de retorno (respuesta del  nodo destino), este nodo final envía su respuesta al nodo anterior, y éste desencripta la capa que contiene la información del nodo anterior a él, y así hasta llegar el nodo origen (el emisor).
-
-Para optimizar el o los criterios de rendimiento usualmente utilizados en los sistemas de enrutamiento y a su vez incrementar los niveles de Anonimato, se debe configurar apropiadamente la tabla de rutas. Para hacer ésto, cada vez que una hormiga se mueve de un lugar a otro, actualiza la tabla de rutas. Para cambiar las probabilidades de las rutas, se selecciona un mecanismo basado en los criterios de rendimiento.
+Considerando las ideas propuestas en los sistemas anónimos probabilísticos 
+\cite{rlsm:chaum-mix,rlsm:mixminion,rlsm:diaz-mixes,rlsm:tor-design} y las 
+características de los Colonias Artificiales de Hormigas utilizadas en 
+las redes de telecomunicaciones 
+\cite{rlsm:antnet,rlsm:ants-white,rlsm:ants-loadbalancing}, se propone 
+seleccionar las rutas de los mensajes de forma pro\-ba\-bi\-lís\-ti\-ca, 
+utilizando las probabilidades que configuran los agentes móviles adaptativos 
+(las hormigas). Estas rutas, teniendo componentes probabilísticos pueden, 
+dependiendo de los parámetros de configuración, proporcionar ciertos niveles 
+de Anonimato. En este sentido, se podría tener un ``control inteligente'' 
+sobre los tiempos de respuesta generados y se podría tener un ``control 
+inteligente'' sobre otros índices que pudiesen ser incorporados, tal como 
+el consumo de recursos (balanceo de cargas).
+
+Se propone mimetizar los mensaje reales con los agentes, esto es, cada 
+mensaje tiene la misma estructura que las hormigas, y la única diferencia 
+entre ellos radica en el contenido del mensaje, estos mensajes mimetizados 
+se encriptan con las claves públicas de los nodos destino. Para hacer 
+similar sus tamaños, se propone utilizar un tamaño  único para el envío 
+de mensajes y para cada agente, incluyendo la estructura de datos que 
+almacena la información necesaria para actualizar las tablas de 
+enrutamiento de cada nodo, más un relleno inválido y la clave 
+pública del destino. Si un mensaje se fragmenta para cumplir con el 
+requisito del tamaño único, el mismo es reensamblado en el nodo destino, 
+utilizando un número de secuencia establecido por el nodo emisor. 
+Los fragmentos de los mensajes también tienen la tarea de actualizar 
+las tablas de enrutamiento de los nodos que visitan, de esta manera 
+los atacantes no pueden ditinguir entre las hormigas y los mensajes 
+reales. De este modo, se puede comparar los mensajes 
+enviados con hormigas de carga que llevan el alimento a los nidos, 
+y es por esto que se identifican dos tipos de hormigas, las de carga 
+y las exploradoras, sin tener diferencias aparentes.
+
+Se utiliza una estrategia de cifrado por capas, cada nodo que una 
+hormiga visita cifra la información relacionada al nodo anterior 
+con una técnica de cifrado simétrico, e involucra solo la clave 
+del nodo anterior, y para alcanzar cada destino, incluyendo el 
+final, se pueden registrar sólo los nodos previos, y no la ruta 
+completa hacia el origen. Para hacer la ruta de retorno (respuesta 
+del  nodo destino), este nodo final envía su respuesta al nodo 
+anterior, y éste desencripta la capa que contiene la información 
+del nodo anterior a él, y así hasta llegar el nodo origen (el emisor).
+
+Para optimizar el o los criterios de rendimiento usualmente 
+utilizados en los sistemas de enrutamiento y a su vez incrementar 
+los niveles de Anonimato, se debe configurar apropiadamente la 
+tabla de rutas. Para hacer ésto, cada vez que una hormiga se 
+mueve de un lugar a otro, actualiza la tabla de rutas. Para 
+cambiar las probabilidades de las rutas, se selecciona un mecanismo 
+basado en los criterios de rendimiento.
 
 En los pasos siguientes se muestra el proceso:
 
 \begin {description}
-  \item [A.] Se considera un sistema de $N$ nodos, formando una red P2P (tal como Gnutella u otra con características similares), junto con sus servidores bootstrap.
-  \item [B.] Se configuran los valores de los parámetros a utilizar, junto con el índice de uniformidad. 
-  \item [C.] Cada nodo participante solicita a uno o varios servidores una lista de los otros nodos en la red. Esta lista contiene sus claves públicas (certificados electrónicos).
-  \item [D.] Se inicializan la tablas de rutas con la probabilidad $1/M$. $M$ depende del número de vecinos que cada nodo posea.
-  \item [E.] El sistema se representa por un grafo el cual forma el espacio de solución por el cual viajarán las hormigas.
-  \item [F.] El procedimiento siguiente se repite sobre el grafo hasta alcanzar una solución estable:
+  \item [A.] Se considera un sistema de $N$ nodos, formando 
+una red P2P (tal como Gnutella u otra con características similares), 
+junto con sus servidores bootstrap.
+  \item [B.] Se configuran los valores de los parámetros a 
+utilizar, junto con el índice de uniformidad. 
+  \item [C.] Cada nodo participante solicita a uno o varios servidores 
+una lista de los otros nodos en la red. Esta lista contiene sus 
+claves públicas (certificados electrónicos).
+  \item [D.] Se inicializan la tablas de rutas con la probabilidad 
+$1/M$. $M$ depende del número de vecinos que cada nodo posea.
+  \item [E.] El sistema se representa por un grafo el cual 
+forma el espacio de solución por el cual viajarán las hormigas.
+  \item [F.] El procedimiento siguiente se repite sobre el 
+grafo hasta alcanzar una solución estable:
   \begin {description}
     \item [1.] Se generan $m$ hormigas exploradoras en cada nodo.
-    \item [2.] Por cada $N-1$ lugares desde cada nodo se envían $m$ hormigas exploradoras que escogen el salto a nodo vecino utilizando las probabilidades de transición de la tabla de rutas.
+    \item [2.] Por cada $N-1$ lugares desde cada nodo se envían $m$ 
+hormigas exploradoras que escogen el salto a nodo vecino utilizando 
+las probabilidades de transición de la tabla de rutas.
     \item [3.] Se actualizan las tablas de rutas. 
   \end {description}
-  \item [G.] Cuando un nodo envía un mensaje anónimamente, éste lo cifra con las clave pública del nodo receptor y utiliza una estructura de datos similar al de las hormigas exploradoras, es decir, se crea una hormiga de carga. Cada hormiga de carga traslada una parte del mensaje, el cual se fragmenta para que el tamaño de cada fragmento pueda cumplir con el requisito de igualar su tamaño con el de la hormiga exploradora. Cada fragmento del mensaje se le asigna un número de secuencia. 
-  \item [H.] Por cada salto de la hormiga, el nodo intermedio cifra la identidad del nodo anterior con su clave privada. 
-  \item [I.] Cuando una hormiga de carga alcanza el nodo final, y todas las otras hormigas de carga vinculadas a un mensajes también han llegado, es posible reensamblar el mensaje original descifrándolo con su clave privada, y utilizando los números de secuencia correspondientes.
-  \item [J.] Para enviar un mensaje de respuesta, el nodo final utilza el camino de retorno cifrado en capas.
+  \item [G.] Cuando un nodo envía un mensaje anónimamente, éste lo 
+cifra con la clave pública del nodo receptor y utiliza una estructura 
+de datos similar al de las hormigas exploradoras, es decir, se crea 
+una hormiga de carga. Cada hormiga de carga traslada una parte del 
+mensaje, el cual se fragmenta para que el tamaño de cada fragmento 
+pueda cumplir con el requisito de igualar su tamaño con el de la 
+hormiga exploradora. A cada fragmento del mensaje se le asigna un 
+número de secuencia. 
+  \item [H.] Por cada salto de la hormiga, el nodo intermedio cifra la 
+identidad del nodo anterior con su clave privada. 
+  \item [I.] Cuando una hormiga de carga alcanza el nodo final, y todas 
+las otras hormigas de carga vinculadas a un mensajes también han llegado, 
+es posible reensamblar el mensaje original descifrándolo con su clave 
+privada, y utilizando los números de secuencia correspondientes.
+  \item [J.] Para enviar un mensaje de respuesta, el nodo final utiliza 
+el camino de retorno cifrado en capas.
 \end {description}
 
@@ -57,9 +146,20 @@
 \label{rlsm:conclusion}
 
-Se propuso implementar un sistema distribuido P2P basado en anonimato probabilístico provisto por sistemas de colonias artificiales de hormigas. Para lograr esto se configuran los nodos participantes como potenciales enrutadores de los mensajes anónimos.  Las rutas para los mensajes de envío se construyen en base a las estrategias propuestas en los sistemas de telecomunicaciones para optimizar criterios de rendimiento a través del uso de Colonias Artificiales de Hormigas. Una vez que se crean la rutas, el Anonimato se logra al seleccionar probabilísticamente las rutas de los mensajes enviados utilizando cifrado en capas establecido para la ruta de retorno o respuesta.
+Se propuso implementar un sistema distribuido P2P basado en 
+anonimato probabilístico provisto por sistemas de colonias 
+artificiales de hormigas. Para lograr esto se configuran los 
+nodos participantes como potenciales enrutadores de los mensajes 
+anónimos.  Las rutas para los mensajes de envío se construyen en 
+base a las estrategias propuestas en los sistemas de telecomunicaciones 
+para optimizar criterios de rendimiento a través del uso de Colonias 
+Artificiales de Hormigas. Una vez que se crean la rutas, el Anonimato 
+se logra al seleccionar probabilísticamente las rutas de los mensajes 
+enviados utilizando cifrado en capas establecido para la ruta de retorno 
+o respuesta.
 
 %\subsection*{Agradecimientos}
 \section*{Agradecimientos}
-Se agradece a José Lisandro Aguilar Castro por su revisión, consejos y recomendaciones sobre todo el contenido propuesto.
+Se agradece a José Lisandro Aguilar Castro por su revisión, 
+consejos y recomendaciones sobre todo el contenido propuesto.
 
 
