2014/11/06

Juego de Piolines




La receta es muy sencilla


Se distribuyen piolines de menos de un metro entre los concurrentes, que deberían ser más de diez. Las personas deben tomar uno o más piolines y conectarse con las cercanas. Esto va a formar una red.

Las personas representan routers y los piolines conexiones.

Se necesitan dos personas, situados en lugares opuestos para que hagan de Servidor y Navegante, teniendo un solo piolín el Navegante.

Hay que tener preparados varios diálogos en tarjetas. De un lado deben tener un Origen y un Destino, por ejemplo:



De uno u otro lado una fracción que representa la posición de este Paquete con respecto al total.

Del otro lado, la Petición


 o la Respuesta, con su render como gentileza.



De este modo estamos representando:

Origen y Destino            Información del encabezado IP
Paquete/total                  Información TCP
Nombre host                  Información del encabezado HTTP o SNI
Petición                          Cuerpo del mensaje HTTP

El primer diálogo se hace con autenticación con envío de credenciales con http y se muestra como los Nodos intervinientes pueden ver el contenido de las tarjetas.

Luego, se repite colocando las tarjetas en sobres, escribiendo en el sobre únicamente las direcciones. Se puede poner el nombre de host en las Peticiones para representar SNI. En este caso tenemos una Respuesta:


En el Destino yo he puesto el nombre en lugar de la IP y en el Origen la IP (y viceversa en las Respuestas), para recalcar que el Navegador tiene IP aunque no nombre.

Se explica que a diferencia del juego, en la realidad no se pueden abrir los sobres, no por ser una regla sino por que es prácticamente imposible.

La tercera actividad es mostrar resolución de nombres y quizás enrutamiento, pidiendo a alguien que oficie de servidor de DNS. El Navegador recibe de la Persona un pedido a un dominio y le pregunta al DNS cual es la dirección IP correspondiente. Una vez que la tiene el Navegador envía la Petición al Nodo al que se halla conectado, el cual decide hacia donde reenviarlo utilizando un mapa aproximado. Se explica tambien que los paquetes son copias y que pueden haber duplicaciones y extravíos.

La cuarta es mostrar como el DNS puede haber sido comprometido y el papel de los certificados en detectar la situación.

La quinta es mostrar las cookies, mediante su agregado al mensaje, sin escribirla sino adjuntando otra tarjeta.


Salvo lo de los cookies, de un modo un otro he realizado  con algunos grupos todas las actividades, con otros menos. La he realizado con quinto, sexto y séptimo grado de primaria, un grupo de quinto y sexto año de secundaria y algunos colados en un break de la Ekoparty 2014, un grupo de profesionales diversos, en el Agile Open MDP 2014, en Agiles Argentina 2014 y en Agile Open Educación 2014, en este último caso con dos o tres personas, sin piolines.


En caso de niños, la red se rompe, arregla y reconfigura continuamente. Lejos de retarlos, se les explica que así es Internet en realidad y su origen militar. Tambien es conveniente tras la primera actividad retirar los hilos y que las tarjetas circulen por todos siguiendo un único camino, para disminuir la distracción.

En mi experiencia, se puede utilizar este juego como actividad disparadora para explicar otros temas, como el almacenamiento de mensajes y credenciales en aplicaciones web ligándolo a privacidad y la conveniencia de no reutilizar contraseñas en distintos sitios.

En particular he explicado la diferencia entre la Persona, el Navegador y las librerías o el sistema operativo, por ejemplo: "La Persona pide ir a un sitio al Navegador. Este arma una parte de la Petición y se la pasa al sistema operativo, el cual avergua la IP y arma la Petición efectiva."

No lo he hecho, pero se podrían mechar diversos temas criptográficos, protocolos de enrutamiento, ingeniería social, virtual hosting. Depende del tiempo, del nivel de los participantes y de cuanto sepas. Como es de esperar, recomiendo que sólo se expliquen los temas que se dominan. Esta es una guía para el juego, no para los temas.

El otro juego que he desarrollado es http://seguridad-agile.blogspot.com/2011/05/juego-agile-ul-ubiquitous-language.html, hace más de dos años, como que inventar juegos no es lo mio.