jueves, agosto 12, 2021

Criptografía: la rama con más historia de la ciberseguridad y con un futuro prometedor

La Criptografía es una materia apasionante. Me gusta recordar que esta ciencia ha escondido los mayores secretos de la Humanidad desde tiempos inmemoriales. Esta ciencia nos ha acompañado a lo largo de la humanidad y ha ido evolucionando con la misma, creando cada vez criptosistemas más sofisticados de modo que pudiera dar respuesta a las demandas de cada época. Pasando por los criptosistemas clásicos, como el famoso cifrado César o Vigenère, se dio paso a la Criptografía moderna, donde contamos con algoritmos tan importantes como el intercambio de claves Diffie-Hellman, el cual marcó un antes y un después en la Criptografía.

Figura 1: Criptografía: la rama con más historia de
la ciberseguridad y con un futuro prometedor

Este algoritmo resuelve el problema de cómo establecer una clave común entre los interlocutores de la comunicación sin la necesidad de utilizar un canal seguro o un contacto previo entre los mismos, el cual hasta 1976 había acompañado a la humanidad. La genialidad de este algoritmo le valió el premio A.M. Turing de 2015 de la Association for Computer Machinery y además dio lugar a la Criptografía asimétrica, en la que, a diferencia de la simétrica utilizada hasta entonces, se utiliza una clave diferente para cifrar y descifrar. 

De hecho, cada interlocutor utiliza un par de claves, una pública y otra privada. Aquí se puede hablar de algoritmos tan relevantes como RSA, la gran aportación de la firma digital y los certificados o las grandes ventajas de la Criptografía basada en curvas elípticas. Además, hay evoluciones de la Criptografía que estamos viendo, como la Criptografía ligera, la Criptografía homomórfica, etc.

La Criptografía, guardiana de la seguridad de nuestros datos y comunicaciones

La Criptografía utiliza el aparataje matemático como base para garantizar el funcionamiento de la misma, dándole aplicaciones que traen grandes aportaciones a la sociedad. De hecho, ha sabido hacer transparente esa complejidad y robustez matemática al usuario, quien la utiliza hoy en día casi sin ser consciente de ello.

¿Sabías que cuando sacas dinero de un cajero automático estás utilizando Criptografía, o cuando hablas por teléfono o cuando ves tu partido de fútbol favorito o cuando navegas por gran parte de las páginas de Internet o cuando envías un mensaje de Whatsapp/Telegram? Tantas acciones cotidianas que hacemos todos los días bajo las que subyace la Criptografía, haciendo de guardiana de la seguridad de nuestros datos y comunicaciones.
La Criptografía tiene características únicas respecto a cualquier otra rama de la Ciberseguridad. Además de ser la rama con más historia de la Ciberseguridad, también tiene un futuro prometedor. Hablamos de la Criptografía Cuántica, que permite hacer un intercambio de clave por un canal inseguro (típicamente a través de fibra óptica o aire) utilizando las propiedades de la cuántica, de forma que se puede detectar si hay un espía en el canal. Incluso ya se está trabajando en la Criptografía post-cuántica, es decir, aquella que se muestra resistente a la aparición del ordenador cuántico.

Breve repaso de la evolución de la Esteganografía

Tanto se podría decir de cada uno de los conceptos enunciados, sin embargo, en esta ocasión me gustaría hablar de la Esteganografía: una ciencia complementaria a la Criptografía cuyo objetivo es ocultar el hecho mismo de la transmisión de información. Sabiendo esto se entiende la etimología de la palabra Esteganografía, que proviene del griego “Steganos” (oculto) y “Graphos” (escritura).

Al no conocer el atacante que existe la comunicación, se reducen las probabilidades de ataque, lo que supone una medida extra de seguridad, la cual puede ser muy útil cuando se trata con información sensible o, por ejemplo, en situaciones de censura. Al igual que sucede con la Criptografía, los orígenes de la Esteganografía se remontan tiempo atrás. De hecho, se ha usado desde la antigüedad, en diferentes civilizaciones como la Griega y la China.

Haciendo un repaso por los diferentes sistemas esteganográficos a lo largo de la historia se encuentran curiosos e ingeniosos sistemas para ocultar la información. Se sitúa en el S. V a.C. el mecanismo mencionado por Heródoto, el cual escribía un mensaje en una tablilla y luego se recubría con cera para ocultar el mensaje. También es muy sonado el método de escribir un mensaje en la cabeza del mensajero. ¡Fijaos el tiempo que requería enviar un mensaje oculto de esta manera! Primero había que afeitar la cabeza del mensaje, escribir el mensaje, dejar el pelo crecer, enviar el mensaje y volver a afeitar la cabeza para leer el mensaje. ¡Nada que ver con la velocidad a la que transmitimos hoy los mensajes y la cantidad de información que manejamos!

Otra técnica utilizada durante las guerras mundiales era la utilización de tintas invisibles, como puede ser la de limón. O la ingeniosa idea de escribir el mensaje en un huevo cocido, cuya cáscara porosa absorbe la tinta y luego pelando el huevo se puede leer el mensaje.



Incluso es frecuente la utilización de textos como soporte para ocultar los mensajes, no solo en textos sino por ejemplo en partituras de música. Otro mecanismo conocido es la Rejilla de Cardano, donde utilizando una rejilla con un patrón se puede leer un mensaje oculto en un texto. Para l@s que tengan curiosidad por esta técnica pueden revisar este post sobre el accidente del Yack-42 en Turquía.

Técnicas actuales donde se utilizan medios informáticos para ocultar la información

Para ocultar los mensajes, la Esteganografía se apoya en un estegomedio, es decir, el recurso utilizado para ocultar la información. Hoy en día es frecuente la utilización de diferentes formatos de archivos, como imágenes, videos, audios, textos, lenguajes de programación, protocolos, ficheros, redes sociales, etc. como “tapadera” o estegomedio. Esto tiene multitud de aplicaciones a día de hoy, desde la protección de los derechos de autor (con las famosas marcas de agua), hasta la vulneración de mecanismos de seguridad como firewalls o antivirus, exfiltración de datos o la creación de estegomalware. Como siempre, las herramientas están disponibles para sus buenos usos u otros menos buenos… La Criptografía y la Esteganografía no son ciencias excluyentes sino complementarias. De hecho, no es extraño hacer una combinación de Criptografía y Esteganografía, cifrando los mensajes ocultos por si fueran descubiertos.

Figura 4: Libro de Esteganografía y Estegoanálisis
de Jordi Serra y Daniel Lerch en 0xWord

En cuanto a los mecanismos de ocultación, hay muchos que se pueden utilizar. Uno muy utilizado en imagen digital es la técnica LSB (Least Significant Bit en inglés), que como su nombre indica consiste en la sustitución de los bits menos significativos de una imagen por el mensaje a ocultar. Si la cantidad de información a ocultar no es demasiado grande, este mensaje pasará inadvertido a los ojos de los visualizadores de la imagen.

El estegoanálisis es el encargado de descubrir estos mensajes ocultos, para lo cual se suele buscar información redundante, que al modificarla no afecte al estegomedio y que permita descubrir esos canales de comunicación encubiertos.

Herramientas para trabajar con Esteganografía

Hay varias disponibles, como OpenStego, Steghide, Xiao Steganography, S-tools, etcérera. Cada una tiene sus particularidades, algoritmos de cifrado, medios que soporta, etc. Para ilustrar un ejemplo de cómo se puede aplicar la Esteganografía en imágenes digitales, os voy a hablar de S-tools, una herramienta muy sencilla que permite ocultar y descubrir mensajes ocultos en imágenes. 

Su utilización es muy sencilla e intuitiva. Para visualizar la imagen que servirá como estegomedio simplemente podemos arrastrar la imagen (en formato BMP). En este caso se ha usado la imagen “Figuras.bmp”.

Figura 5: Figuras.bmp antes de introducir el mensaje secreto

El fichero que se va a ocultar es “MensajeSecreto.docx” que contiene el texto “Ataque al amanecer”. Para ocultar este archivo con el mensaje en la imagen simplemente basta con arrastrar el archivo a ocultar encima de la imagen que se usará como tapadera. Entonces la herramienta nos pedirá que introduzcamos una clave y el algoritmo de cifrado que se quiera usar. Como algoritmos se pueden emplear varios: IDEA, DES, TripleDES y MDC. En este caso se elige IDEA con la clave 9512.    

Figura 6: Selección de opciones de ocultación del mensaje secreto

A continuación, pulsamos sobre la imagen, que ya tiene el fichero oculto incrustado y seleccionamos la opción de guardar, dándole el nombre de “Hidden.bmp” a la imagen resultante. Cuando el destinatario recibe la imagen esteganográfica, si quiere descubrir el mensaje secreto primeramente debe arrastrar la imagen para abrirla con S-tools

A continuación, pulsando el botón derecho y usando la opción Reveal, podemos introducir de nuevo el algoritmo de cifrado y la clave (previamente debe haber un intercambio de clave entre los interlocutores) y…¡tachán!…esto esto es lo que obtenemos:

Figura 7: Hay un fichero oculto en la imagen

Usando la opción de guardar podemos traernos a local este fichero, abrirlo y descubrir el mensaje secreto:

Figura 8: Fichero extraído con S-tools de la imagen

Como se puede ver, esta herramienta permite ilustrar fácilmente los conceptos de la esteganografía. Por supuesto, todo es cuestión de imaginación para hacer cosas interesantes 😊 


Si te interesan estos temas te invito a ver esta ponencia sobre ciberseguridad y criptografía (que acaba de publicarse en abierto) en el CTO Summit, el evento en el que participé junto a más de 20 profesionales del sector de la tecnología el pasado 2020.
Además, si quieres especializarte en esta área y dar un salto profesional en tu carrera, te invito a que eches un vistazo al programa del Bootcamp Online Ciberseguridad (empieza el 24 de septiembre) del que formo parte también y junto a un equipo de docentes con muchísima experiencia en el sector. Si has llegado leyendo hasta aquí te doy las gracias y espero que lo hayas disfrutado.

¡Hasta pronto!

Autora: Carmen Torrano, experta en Ciberseguridad en Telefónica y docente en cursos de Ciberseguridad.

No hay comentarios:

Publicar un comentario