En apasionante mundo de la esteganografía
En el post de hoy, vamos a hablar sobre la esteganografía. Este es un tema que me gusta mucho por lo que lo tocaremos de vez en cuando en el blog.
La palabra esteganografía procede del griego esteganos
(oculto) y graphos (escritura). La esteganografía es el estudio y uso de
las técnicas mediante las cuales se oculta un mensaje u objecto dentro de otro,
de modo que no se perciba su existencia.
De esta forma conseguiremos en un canal publico o de
múltiple acceso un método de ocultación de mensajes, de modo que la
comunicación dentro del canal es oculta e inadvertida para el resto de los
observadores.
A diferencia de la criptografía, la cual cifra el mensaje
para que no se pueda leer sin la clave, la esteganografía solo oculta el
mensaje a los observadores. Sin embargo, la criptografía y la esteganografía
pueden complementarse, de modo que el nivel de seguridad de la información sea
mayor.
Esta técnica es casi tan antigua como la escritura, tenemos
múltiples referencias a lo largo de la historia, por ejemplo, en la segunda
guerra mundial, era común utilizar el sistema Null Cipher, el cual
consiste en escribir un mensaje normal y elegir cierta parte del mensaje para
ocultar un mensaje real, como por ejemplo la primera letra de cada palabra.
Como viene ocurriendo ya desde hace ya muchos años, al igual
que existen métodos antiguos para la gestión de la información, actualmente se
utilizan con tecnologías digitales. La esteganografía moderna, se utiliza sobre
medios digitales, ya sean archivos de texto, archivos de audio, imágenes,
vídeo, archivos ejecutables…
En casi cualquier objeto digital se puede ocultar un mensaje
secreto, pero uno de los objetos más utilizados son los archivos multimedia, ya
que, al poseer un tamaño mayor, se pueden utilizar mensajes mayores sin
deteriorar el objecto principal.
Los algoritmos utilizados en la esteganografía se pueden
clasificar en dos tipos:
- Esteganografía pura: este algoritmo es el más sencillo, el cual el cual solo consiste en la incorporación del mensaje u objecto dentro del objecto portador. Por lo tanto, la seguridad solo radica en la ocultación del mensaje.
- Esteganografía de clave secreta: este algoritmo utiliza una clave secreta, normalmente conocida como estego-clave. Esta clave no funciona como en los algoritmos de cifrado, es decir no cifra el mensaje, pero si que nos permite parametrizar como se oculta el mensaje u objecto dentro del portador, por ejemplo, puede indicar el lugar dentro del portador donde se va a comenzar a ocultar el mensaje u objecto. La seguridad radica pues en que todos pueden conocer el algoritmo, pero solo el emisor y el receptor podrán leer el objecto oculto.
Existen varias técnicas digitales, pero hoy veremos la
técnica más usada y popular para la esteganografía, la técnica de sustitución
del bit menos significativo. Consiste en hacer uso del bit menos significativo
de los pixeles de una imagen y alterarlo para ocultar el mensaje. Con esta
técnica la distorsión de la imagen se mantiene mínima mientras que se esconde
el mensaje a lo largo de los pixeles. Normalmente esta técnica funciona mejor
cuando la imagen es muy grande y posee mucha información, como un gran rango
dinámico, por ejemplo.
Lo mejor de esta técnica es que al solamente alterar los
bits de los pixeles de la imagen , el tamaño de dicha imagen no aumente tras
aplicar esta técnica de esteganografía. Pero no todo iba a ser bonito, en este
caso la imagen debe ser de un tamaño mayor que el mensaje a contener. De no
disponer de imágenes más grandes, entonces podríamos utilizar los dos bits
menos significativos de un pixel, pero entonces igual ya empieza a apreciarse
un deterioro en la imagen.
Hagamos la prueba, vamos a utilizar esteganografía en
imágenes para ocultar un mensaje. Si queremos ocultar un mensaje en una imagen
y a su vez hacerla pública en las redes sociales, por ejemplo, una muy buena
opción sería utilizar memes. En el caso de detección de esteganografía en
imágenes nos adentraremos otro día, por el momento vamos a realizar una prueba
sencilla con un meme.
En este caso el meme seleccionado es el siguiente:
Nota: creo que es muy adecuado tratándose de este tema :D
Bien, la imagen original ocupa 33,4 KB
El programa que vamos a utilizar para realizar el proceso de
esteganografía será OpenStego. El único inconveniente que tiene este programa
de esteganografía es que necesita Java para funcionar.
Esta es la interfaz del programa:
Para ocultar un fichero de texto, debemos de indicar los
siguientes parámetros y la imagen sobre la que se va a ocultar. El proceso es
sencillo para el ocultamiento puro, pero el programa además nos permite proporcionar
una estego-clave:
Cuando lo tengamos todo listo presionamos el botón Hide Data
y listo. El resultado será una imagen con formato .bmp que es un formato
que indica que es una imagen de mapa de bits. Típicamente este formato está muy
ligado a la esteganografía, por lo que es una pista de que esa imagen puede
ocultar información.
A continuación, se muestran las siguientes sin y con esteganografía:
Sin esteganografía
Con esteganografía
Como podemos observar, la diferencia es nula. Ahora es vuestro turno para convertiros en espías modernos ;)
La esteganografía es un campo muy interesante, por lo que
intentaré escribir más sobre este tema en futuras entradas del blog.
Un saludo a todos :)






Comentarios
Publicar un comentario