# Problema del prisionero

El problema del prisionero, introducido en 1983 por Gustavus J. Simmons, describe de forma intuitiva el escenario en el que dos entidades quieren comunicarse de forma confidencial y encubierta (canal encubierto), usando un canal en el que los mensajes son leídos o incluso manipulados (canal inseguro) por un tercero (entidad atacante).
El problema del prisionero proporciona un escenario en el que se pueden proponer soluciones para este tipo de problemas. Este entorno ha sido usado, por ejemplo, para proponer soluciones usando esteganografía o canales subliminales.

## Descripción

El problema del prisionero podría describirse de la siguiente forma:
Supongamos dos prisioneros cómplices en un crimen, Alicia y Bob, que fueron arrestados y colocados en celdas separadas. El guardián de la cárcel, William, les permite intercambiarse mensajes pero solo si él transporta el mensaje de uno hacia el otro y siempre que al leer esas comunicaciones esté 'seguro' de que los mensajes que se intercambian son inocuos y no están intercambiando mensajes para poder escapar. Esta forma de comunicación es la única que tienen disponible los prisioneros.
Alicia y Bob quieren escapar y para ello necesitan comunicarse. Por tanto aceptan las condiciones porque prefieren arriesgarse a que se detecten sus planes frente al hecho de no disponer de ningún tipo de comunicación para planear la fuga. Además saben que William finalizará la comunicación si descubre un canal secreto. Por tanto no pueden usar métodos de cifrado. La única posibilidad que tienen es establecer algún tipo de canal encubierto en los mensajes que se intercambian, y por otro lado deben evitar ser engañados por mensajes generados o modificados por el guardián.
La descripción del problema enfatiza la necesidad del canal encubierto debido a la existencia de un enemigo o adversario, el guardián William, el cual tiene acceso de lectura y escritura sobre el canal y que lo vigila para que no se produzca una comunicación secreta entre los prisioneros. Si no existiera el enemigo, el emisor y el receptor podrían comunicarse abiertamente sin usar ningún canal encubierto.
Según el poder de acción sobre el canal de comunicación, los guardianes se clasifican en:
* Guardián pasivo: El guardián sólo tiene acceso a observar los mensaje que transitan por el canal de comunicación, pero no tiene capacidad de alterarlos, es decir, tiene acceso de solo-lectura. Un ejemplo de guardián pasivo lo consituiría las empresas proveedoras de servicios de Internet cuando actúan como supervisores del tráfico y delatores de actividades sospechosas.
* Guardián activo: El guardián tiene acceso al canal de comunicación y la capacidad de modificar o quitar del canal el contenido que pasa por él cuando detecta tráfico no autorizado. Un ejemplo de guardián activo lo constituye el estado de China a través de la empresa de comunicaciones China Mobile en su censura a los mensajes de texto entre teléfonos celulares con contenido sexual o políticamente no autorizados.
* Guardián malicioso: El guardián tiene el poder de alterar a su voluntad los mensajes que transitan por el canal, puede incluso componer mensajes nuevos para engañar a uno de los prisioneros. Este tipo de guardianes no es común en casos reales. La modificación podría afectar no sólo al canal encubierto sino también al canal legítimo. Por ejemplo la existencia de una falla en algún nodo de la red de comunicación (accidental o intecional, maliciosa o no), podría ser modelizada como este tipo de guardián. Los participantes deberían tener un mecanismo de detección para este tipo de situaciones.

## Soluciones

En las soluciones que se proponen es necesario que los prisioneros, antes de ser arrestados por la policía y puestos en celdas separadas, se pongan de acuerdo y establezcan como van a definir el canal encubierto que van a utilizar. De esta forma podrán interpretar de forma adecuada lo que el otro le quiere transmitir.
Para resolver este problema se han propuesto dos tipos principales de soluciones: Canales subliminales y esteganografía.

### Esteganografía

La estrategia de la esteganografía para resolver este problema es esconder dentro del flujo de mensajes legítimos un canal encubierto para realizar la comunicación.

### Canal subliminal

La estrategia usando canales subliminales consiste en embeber dentro del modo de autenticación un canal encubierto. El canal encubierto está dentro del propio algoritmo de autenticación usado para los mensajes legítimos y por tanto será indistinguible dentro de la autenticación (normalmente una firma digital). Sin el conocimiento del secreto el mensaje subliminal no puede ser leído ni detectado.