sábado, 31 de enero de 2009

Esteganografía vs. Criptografía


La esteganografía y criptografía provienen de vocablos griegos similares, las dos buscan ocultar un mensaje importante de un posible atacador (alguien que desee conocer la información original sin permiso) pero llevan a cabo dicho ocultamiento de forma muy diferente.

La manera más fácil de entender la diferencia de la criptografía y la esteganografía es entendiendo el problema del prisionero (Gustavus J. Simmons, 1983), el cual es:

¿Cómo pueden comunicarse dos prisioneros (e. g. para acordar un plan de fuga) si están en celdas separadas y todos los mensajes que intercambian pasan a través de un guardián?

Primero, la abreviatura e. g. proviene del latín exempli gratia que significa "a modo de ejemplo" o simplemente "por ejemplo". Aclarado lo anterior, la situación es que dos prisioneros se quieren escapar pero el guardián lee todos los mensajes que se manden, así que deben arreglárselas para llevar a cabo el escape. Para hacerlo más interesante a los prisioneros les llamaremos Michael y Linc, mientras que el guardián se llamará Bellick (cualquier parecido con la serie prison break es mera coincidencia). Un diagrama de esta situación se muestra e la siguiente figura


De esta forma, si Michael le manda a Linc el mensaje: "El escape es el sábado tengo todo arreglado...", Bellick descubrirá su plan de escape, lo cual provocaría la destrucción del mensaje y una tremenda putiza , para que se les quiten esas ideas locas de la cabeza.


Pero como todos sabemos que Michael es un erudito y conoce de la criptografía entonces lo que hace es cifrar el mensaje que le envía a Linc (claro esta!, Linc conoce como descifrar el mensaje) para que Bellic no lo entienda. Pero Bellick al ver el mensaje cifrado, sospecha y lo destruye, evitando nuevamente su escape . Y como se imaginarán, Bellick les dará una putiza para saber que se andan tramando.



Ojo!...encriptar y desencriptar no es lo mismo que cifrar y descifrar, esas dos primeras palabras tienen que ver con criptas.



Otra alternativa que puede tomar Michael es utilizar la esteganografía para esconder el mensaje, pero ahora lo haría de una manera tal que dicho mensaje se escondería dentro de otro mensaje menos importante, es decir un medio portador inocuo. Así, Michael le manda a Linc el siguiente mensaje:

Bellick al leer el mensaje piensa que no hay nada extraño y lo deja pasar a Linc. Sin embargo, esta nota tiene un mensaje oculto el cual se puede observar en la siguiente imagen

Con esto, Michael y Linc planean el escape de la prisión sin levantar sospecha alguna. Ahora imaginemos un escenario pero ahora en nuestros días. Bellick es un Hacker famoso y está analizando todos los mensajes que envían Michael y Linc. Si se utiliza la criptografía Bellick trataría de romper dicha codificación para obtener la información oculta, en cambio si se utiliza la esteganografía Bellick no sabría que existen mensajes encubiertos en dicha comunicación, manteniendo el secreto a salvo. Es importante mencionar que un sistema estaganográfico o de marcas de agua utiliza la criptografía (cifrando el mensaje que se oculta) para obtener una mayor seguridad, por si logran romper el esquema de marcas de agua.


Con este ejemplo se puede notar la diferencia sutil de como ocultan la información estás dos disciplinas. Podemos concluir que el objetivo de la esteganografía es pasar desapercibida y el de la criptografía es evitar ser decodificada (o descifrada).

Antes de terminar, existe un tipo de esteganografía que soporta distorsiones en el medio marcado, a ésta se le conoce como esteganografía robusta. Por ejemplo, imaginemos que el cabrón de Bellick se le ocurre cambiar unas palabras del mensaje marcado (el que tiene información oculta). Si utilizáramos el método anterior nuestro mensaje oculto se perdería, mientras que si utilizáramos un método robusto, nuestro mensaje puede resistir este ataque de modificación.

Muchos autores llaman a la esteganografía robusta como marcas de agua. Hay que notar algo muy importante, tanto la esteganografía y las marcas de agua son métodos que ocultan información dentro de un medio... en principio son iguales, de hecho nosotros las tratamos como semejantes, pero muchos autores las toman como diferentes por la capacidad de resistencia ante ataques.

En la siguiente entrada hablaremos de una pequeña clasificación de la esteganografía.

8 comentarios:

  1. buen ejemplo!
    Me ayudo a entender el concepto de manera clara.

    Gracias

    ResponderBorrar
  2. De nada Macabro, Cualquier duda o comentario no dudes en preguntar. Saludos

    ResponderBorrar
  3. Hola! super interesante y muy claro, pero me gustaría saber cómo puedo hacer marcas esteganográficas en mis documentos por ejemplo de illustrator? hay alguna especie de patrones o algo así?

    Gracias!

    ResponderBorrar
  4. Muchas gracias que bien explicado =)

    ResponderBorrar
  5. Hola MoLkgT ... con respecto a tu comentario..."me gustaría saber cómo puedo hacer marcas esteganográficas en mis documentos por ejemplo de illustrator? hay alguna especie de patrones o algo así?"

    Mira este tipo de protección a través de marcas de agua "invisibles" es poco utilizado. Hay pocas herramientas en el mercado. Específicamente para illustrator desconozco si exista alguna..pienso que no lo hay. Por lo general existen aplicaciones orientadas a imágenes digitales ... y no se si haya para texto... te paso una página en donde hay algunas aplicaciones que ocultan información en imagenes. Es importante que notes que en esa pagina hacen una análisis de esas herramientas:

    http://www.guillermito2.net/stegano/index.html

    Pienso que aparte de éstas hay muchas más. El objetivo de este blog, por el momento es descubrir que hay atrás de estas aplicaciones para que puedas entender como funcionan.

    Lamentablemente no tengo el tiempo suficiente para ir actualizandolo, disculpa por la tardanza en responder tu comentario. Saludos

    ResponderBorrar
  6. Muy interesante el ejemplo me ayudo a comprender el significado de estos 2 conceptos muchas gracias!!!!

    ResponderBorrar
  7. Hola ,
    Tengo una duda,
    ¿Podemos considerar a la esteganografía como una parte de la criptografia?

    ¿Por qué?

    ResponderBorrar
    Respuestas
    1. Hola José, Tradicionalmente se considera como parte de la criptografía pero los que hacemos marcas de agua pensamos lo contrario. Pues tiene requerimientos adicionales como lo es pasar desapercibida y/o ser robusta a distorsiones. Te recomiendo leer el articulo "Watermarking Is Not Cryptography" de Cox. Ahi hay argumentos detallados. http://hal.inria.fr/docs/00/50/45/28/PDF/42830001.pdf

      Borrar