Introducción a la cr1pt0gr4fí4
La criptología, es la rama del saber que estudia las técnicas de escritura de forma secreta para entidades no autorizadas. Se descompone en diferentes disciplinas complementarias, como son:
- La criptografía es una ciencia que, haciendo uso de un conjunto de herramientas, técnicas, sistemas y algoritmos, permite cifrar un mensaje (transformarlo haciendo uso de un alfabeto de codificación dado).
- El criptoanálisis, es la disciplina que busca lograr el descifrado de los mensajes para capturar su contenido original, a poder ser de manera elegante, y sin recurrir a la fuerza bruta.
- La esteganografía, trata de ocultar información en canales inseguros, como puede ser una fotografía, un archivo de audio, o un periódico, de tal modo que pase desapercibido para cualquier observador externo a excepción de sus legítimos destinatarios.
- El estegoanálisis, trata de romper las técnicas esteganográficas anteriores para poder descubrir el contenido original de los mensajes transmitidos.
La criptografía, es la base para proporcionar servicios como confidencialidad, integridad, autenticación y control de acceso, no repudio o trazabilidad de acciones, y por tanto es un pilar fundamental de la ciberseguridad.
Su empleo se encuentra en muchos ámbitos de la vida cotidiana, desde el cifrado de los discos duros de equipos corporativos o los smartphones que llevamos en el bolsillo (con mayor o menor profundidad dependiendo del sistema operativo), y la utilizamos cuando navegamos, enviamos un whatsapp, hacemos una compra online, o realizamos una transacción bancaria a través de internet, por poner algunos ejemplos.
La chicha
Los esquemas de cifrado y descifrado, se denominan criptosistemas. Constan de varios elementos:
- El canal de transmisión, considerado no seguro
- Una función de cifrado, E
- Una función de descifrado, D
- La clave, k. Dependiendo de si es un sistema de criptografía simétrica (clave privada) o asimétrica (clave pública), la clave de cifrado y descifrado será la misma o no, respectivamente.
- El mensaje en claro a transmitir, M
- El criptograma resultante del cifrado, C
Las transformaciones de ida y vuelta, son:
- Cifrado: Ek(M) = C
- Descifrado: Dk(C) = M
Las técnicas que se utilizan para transformar el mensaje y garantizar la confidencialidad del mismo, son:
- Confusión. Consistente en utilizar métodos de cifrado por sustitución de caracteres, para despistar a una entidad no autorizada.
- Difusión. Más complejo, utiliza mecanismos de permutacion o transposición en el criptograma.
La criptografía simétrica se emplea en las comunicaciones por su eficiencia computacional a altas velocidades, mientras que la criptografía asimétrica es más adecuada para el intercambio de claves inicial, o firma digital.
Los algoritmos empleados en criptografía están basados en la aritmética modular (matemática discreta), la Teoría de la Información de Shannon de 1948 y la Teoría de la Comunicación de los Sistemas Secretos, y la complejidad algorítmica, que hace que ciertos problemas sean computacionalmente intratables incluso mediante fuerza bruta con la tecnología y el hardware actuales.
El aspecto absolutamente esencial de los sistemas criptográficos, es que la fortaleza de los mismos resida única y exclusivamente en la clave.
El criptógrafo holandés Kerckhoffs, enunció en el siglo XIX seis principios de diseño para sistemas de cifra militares. Son los siguientes:
- El sistema debe ser prácticamente, si no matemáticamente, indescifrable;
- No debe requerir secreto, y no debe ser un problema si cae en manos del enemigo;
- Debe ser posible comunicar y recordar la clave sin utilizar notas escritas, y los corresponsales deben poder cambiarla o modificarla a voluntad;
- Debe ser aplicable a las comunicaciones telegráficas;
- Debe ser portátil y no debe requerir de varias personas para su manejo;
- Por último, dadas las circunstancias en las que se va a utilizar, el sistema debe ser fácil de usar y no debe ser complejo ni exigir a sus usuarios que conozcan y cumplan una larga lista de reglas.
Dado el paso del tiempo, en el mundo moderno algunos de estos preceptos carecen ya de vigencia. Pero el segundo, es muy importante. Claude Shannon en el siglo XX enunció la máxima de que “el enemigo conoce el sistema“. Esto tiene implicaciones muy poderosas, y es uno de los fundamentos de la ciberseguridad. Debemos asumir que en un momento dado, un atacante malicioso puede conocer o tomar el control de cualquier elemento de nuestra infraestructura.
Aplicado a la criptografía, implica que puede llegar a conocer las particularidades del criptosistema que estamos empleando, por lo que la fortaleza del mismo jamás debe residir en el desconocimiento por parte del enemigo de las peculiaridades de los mecanismos de cifrado o descifrado (lo que se conoce como seguridad por oscuridad), puesto que en caso de descubrir la técnica… el sistema queda roto para siempre. El ejemplo paradigmático es la máquina enigma de los nazis. El descubrimiento del mecanismo de descifrado por parte de Polonia se especula con que hizo adelantar al menos un par de años el fin de la segunda guerra mundial.
Así pues, si la fortaleza del mecanismo reside en la clave, no debe temerse que se conozca el protocolo empleado. Por ejemplo, el navegador en el que escribo estas líneas, me indica que la conexión está cifrada usando X22519 (Curvas elípticas de 128 bits) como algoritmo de intercambio de clave, y AES_128_GCM (Advanced Encryption Standard Galois/Counter mode de 128 bits) como algoritmo de cifrado simétrico para la comunicación (muy eficiente).
Así, una vez establecida la sesión, dada la fortaleza del algoritmo debido a la complejidad matemática para deshacer las operaciones de cifra sin conocer la clave, mediante fuerza bruta un atacante con un computador cuántico potente, tardaría 200 veces la edad del universo en llegar a averiguarla. Aunque el oponente conozca que usamos AES_128_GCM y esnife todo nuestro tráfico, para leerlo en claro… good luck.
Espero que haya resultado interesante. En otra ocasión podemos hablar de la historia de la criptografía, los tipos de criptosistemas, su funcionamiento y principios matemáticos.
Suscríbete sin compromiso para recibir nuevos posts, y recibirás acceso gratuito a una Masterclass acerca de qué es la ciberseguridad, por qué es tan importante, y cómo acceder a un puesto en dicho sector. Si estás pensando en formarte en ese ámbito o reciclarte, te vendrá estupendamente.
Comparte esto con quien consideres que puede estar interesado!
Si quieres contactar por privado: oscar.iglesias@daferrasecure.com.
Gracias por leernos. Stay secure!
ETD