Esteganografía
En los pasados artículos se aprendió la manera de lograr la confidencialidad de la información intercambiada entre dos puntos, mediante el empleo de la criptografía y la verificación de la integridad de la misma.
Ahora el reto será "ocultar" la información que se desea intercambiar. Alguien se preguntará el motivo de esto, que puede ser muy simple: si alguien logra interceptar una de las comunicaciones (uno de los archivos cifrados) y lo intenta abrir, no podrá leer el contenido del mismo; sin embargo, si alguien observa detenidamente lo mostrado "podría" deducir que "algo" le habían hecho a la información, lo cual levantaría sospechas con los posibles riesgos asociados, entre ellos "intentar" descifrar el mensaje o, en su defecto, evitar su acceso, ya sea eliminándolo o alterándolo.
Lo que se pretende hacer, de alguna manera, es "ocultar" la información para que en caso de ser interceptada la comunicación, la misma pase inadvertida.
Haremos uso de la Esteganografía, la cual se define como "la rama de la criptología que trata sobre la ocultación de mensajes, para evitar que se perciba la existencia de los mismos". Es decir, que sólo el remitente y el destinatario sepan de la existencia de una información "oculta".
Para lograr lo anterior, lo que se hace es esconder el mensaje a enviar en otro archivo (llamado portadora). La portadora puede ser una imagen, un archivo de audio, video e incluso otro archivo de texto.
Las técnicas son variadas: desde ocupar los bits libres de cada byte de información de la portadora, realizar "ligeras" modificaciones en un archivo de texto (como cambiar el tamaño de la letra, el tipo, el espaciado), utilizar frecuencias por debajo del umbral perceptible por el oído humano, etcétera.
Con lo anterior podemos definir el procedimiento a seguir para cumplir el objetivo.
1) Disponer la información a enviar.
2) Cifrar la información (este punto, aunque
es opcional, se recomienda).
3) Ocultar la información.
4) Transmitir la información o hacerla pública.
5) Transmitir las cadenas de verificación de integridad
(este punto, aunque es opcional, se recomienda).
Pues bien, para ejemplificar el tema se utilizará una aplicación realizada en Java, llamada Digital Invisible Ink Toolkit, que permitirá ocultar texto en una imagen utilizada como portadora del mensaje.
La aplicación tiene una interfaz sencilla:
En ella se preguntará por el archivo de la imagen portadora, el archivo del mensaje, el archivo destino (imagen "modificada"), de manera opcional una contraseña para la recuperación del mensaje, así como el algoritmo a utilizar.
Pues bien, teniendo el archivo con la información de la campaña de ventas (campaña.txt) se selecciona en la opción "Get Message", ahora se elige la imagen portadora ("esemanal.bmp") en la opción "Get Cover" y definimos el archivo gráfico de salida con "Set Image".
Imagen portadora original
Configuración aplicada para ocultar el mensaje
Como ya se mencionó anteriormente, lo que hace el programa es utilizar los bits disponibles en cada byte (los menos significativos) de la portadora para introducir el mensaje a ocultar.
El archivo que se genera conservará la apariencia del original tal como se puede observar a continuación:
Imagen original
Imagen con texto "oculto"
La imagen ahora podría ser colocada en una página web o enviada por correo como el anuncio del cambio de logotipo, o cualquier otra causa que no levantase sospechas a los "espías".
El proceso inverso es igual de sencillo: una vez que se obtiene la imagen, se abre el programa indicando la portadora (Get Image), la contraseña (en caso de haberla establecido) y el archivo de salida donde se escribirá el mensaje oculto (Set Message).
Configuración para obtener el texto oculto
Y listo, se ha logrado intercambiar la información.
Recuerden, amables lectores, que pueden escribir con dudas o sugerencias de temas a tratar en esta columna. Hasta la próxima.
Para saber más
+Digital Invisible Ink Toolkit. diit.sourceforge.net/
+Definiciones. es.wikipedia.org/wiki/Esteganograf%C3%ADa es.tldp.org/Manuales-LuCAS/SEGUNIX/unixsec-2.1-html/node320.html
+Más información sobre Esteganografía. www.infosecwriters.com/text_resources/pdf/Steganography_AMangarae.pdf
Esperen la siguiente entrega. Esperamos sus comentarios a:
Referencias:
+Wikipedia es.wikipedia.org/wiki/Portada
+Diccionario de la RAE www.rae.es
+Blowfish www.lassekolb.info/bfacs.htm