El cifrado es una técnica que permite convertir un mensaje original en otro que no es comprensible, pero desde el que se puede volver a extraer el original. Para poder acceder al mensaje original a partir de uno cifrado es necesario disponer de la clave o regla de descifrado. Las técnicas de cifrado son fundamentales, no solo para mantener la confidencialidad de nuestras comunicaciones y documentos, sino para comprobar que alguien es quien dice ser o garantizar que el documento no ha sido modificado indebidamente.
Antiguamente se podía mantener la confidencialidad de los datos enviando la carta por correo certificado o guardándola bajo llave. No obstante, en el mundo digital en el que vivimos, esto ya no es posible. La mayoría de los documentos son digitales y las comunicaciones se producen también de forma digital. Esto ha obligado a cambiar la llave física por una digital. Por tanto, el cifrado se ha convertido en el pilar fundamental de la seguridad de los datos del mundo actual.
Seamos o no conscientes de ello, el cifrado forma parte de nuestra vida diaria. Programas de mensajería, como Whatsapp, la mayoría de las páginas web (https) o los propios sistemas Wi-Fi de nuestras casas utilizan sistemas de cifrado.
Veamos qué es el cifrado de datos y para qué sirve.
Qué es el cifrado de datos
El cifrado consiste en modificar el mensaje original siguiendo una regla, de forma que sólo pueda ser accesible por el destinatario, quien conoce la regla de descifrado. Al proceso de convertir el mensaje original en otro no entendible se le llama cifrado, y al proceso contrario, descifrado.
Por otro lado, a las técnicas de cifrado se las conoce también como encriptación o codificación por su traducción literal del inglés encryption o encoding.
Las soluciones de cifrado de datos que se utilizan se basan en la utilización de códigos que suelen estar integrados en los propios servicios de comunicaciones o de almacenamiento de datos. Por tanto, el cifrado de datos es algo que suele ser transparente al usuario. Como mucho, el usuario puede seleccionar si se desea o no cifrar la información y, en algunos casos, elegir una clave de cifrado (este es el caso del Wi-Fi, por ejemplo).
Como se está viendo, se pueden cifrar las comunicaciones (para que, de ser interceptadas, no sean comprensibles), así como los documentos que guardamos en cualquier dispositivo (para que un tercero no pueda acceder a su contenido). Las técnicas para uno y otro caso son similares pero se habla de dos tipos de cifrado:
- Cifrado de datos en tránsito. Se refiere al cifrado de datos cuando se transmiten de un dispositivo a otro. Es el que se suele utilizar en las comunicaciones por redes públicas y privadas, especialmente si se utiliza Internet.
- Cifrado de datos en reposo. Se les llama de esta manera a los datos que se están guardados en un dispositivo. Los datos en reposo se pueden proteger también protegiendo el acceso al propio dispositivo. No obstante, existen dispositivos de acceso público o aquellos a los que, por algún motivo, no puede garantizarse la seguridad. Por ejemplo, si se roba el dispositivo, el cifrado impide que se acceda al documento. Por otro lado, los sistemas de base de datos suelen utilizar técnicas de cifrado en reposo.
Existen distintas soluciones para cada uno de estos tipos de cifrado. La mayoría de ellas son particulares de cada una de las empresas que ofrecen el servicio de almacenamiento o de comunicación que se esté utilizando.
Historia de las técnicas de cifrado
Las técnicas de cifrado se han utilizado desde el origen de los tiempos. Se puede suponer que empezarían siendo simples trucos de ocultamiento para ir sofisticándose conforme mejoraba las destrezas de los enemigos y la técnica, conocimiento e ingenio de los criptólogos.
El arte de criptografiar mensajes se remonta unos 4000 años en la historia. Parece que los primeros y más antiguos sistemas de cifrado se conseguían mediante la rotación de los caracteres del alfabeto o por la sustitución de cada letra por una tabla de signos equivalentes. En la Biblia se hace referencias al Atbash, un sistema de sustitución de letras que se remonta al año 600 A.C. Hay constancia también de la utilización de sistemas similares en los reinos Mahajanapadas de la India, en la antigua Grecia y en la antigua Roma .
Un ejemplo de este tipo de cifrado fue el utilizado por el emperador romano Julio César, que vivió entre los años 100 y 44 antes de Cristo. Cuando Julio César enviaba un mensaje a alguno de sus colaboradores utilizaba una técnica de cifrado para que, ni el mensajero ni sus enemigos, pudieran entender el mensaje. La técnica consistía en mover cada letra tres posiciones en el alfabeto. De esta forma reemplazaba la letra A por la D, la B por la E y así sucesivamente. Únicamente las personas que conocían la regla de cifrado podían descifrar el mensaje.
Las técnicas de la criptografía durante la Edad Media fueron lideradas por los árabes. Es destacable el trabajo de Al-Kindi, quien sentó las bases del análisis de frecuencia para el descubrimiento de patrones que ayudasen al criptoanálisis.
Los Estados Pontificios fueron el motor de la criptología en la época del renacimiento. Por ejemplo, Leon Battista Alberti desarrolló un sistema de codificación mecánico conocido como el cifrado de Alberti. Posteriormente, la criptografía se ha venido desarrollando de guerra en guerra. Desde el siglo XVII, el cifrado ha jugado un papel de gran relevancia en los distintos conflictos militares. Este uso fue especialmente intensivo en la segunda guerra mundial. De esa época es la máquina alemana Enigma, los trabajos de Alan Turing o el código naval japonés JN-25.
El inicio de la era moderna de la criptografía suele situarse en 1949. Ese año, Claude Shannon publicó un artículo titulado «Teoría de la comunicación de los sistemas secretos» (Communication Theory of Secrecy Systems). Este trabajo sentó las bases para la creación de algoritmos de cifrado seguros y eficientes.
En qué consiste el cifrado moderno
El desarrollo de la técnica y de las matemáticas permitió crear nuevos métodos de cifrado basados en la aplicación de una función matemática a la información original. Estas funciones matemáticas se basan en la utilización de un algoritmo conjuntamente con unos parámetros que modifican el resultado de la función. Estos parámetros, conocidos como claves, son los que permanecen en secreto para poder posteriormente realizar el descifrado.
Por tanto, las técnicas de cifrado actuales consisten básicamente en disponer de un algoritmo de cifrado de conocimiento público (no es secreto) que puede ser modificado gracias a la utilización de unas claves.
La criptología es la ciencia que estudia los sistemas, claves y lenguajes que ocultan la información original. A la técnica utilizada para cifrar mensajes se la conoce como criptosistema. Un criptosistema hace que sólo quien conoce el método de cifrado sea capaz de descifrar el mensaje devolviéndolo a su estado original. La criptografía es el arte o ciencia de crear criptosistemas y el criptoanálisis es la ciencia o arte de romper criptosistemas. Con el criptoanálisis se persigue descifrar un mensaje sin conocer a priori el método con el que fue cifrado. La criptografía y el criptoanálisis son ramas de la criptología.
A cualquier intento de criptoanálisis se le llama ataque. Si un ataque tiene éxito, se dice que el sistema se ha roto.
Los métodos de cifrado se pueden clasificar de distintas formas. No obstante, la clasificación general más extendida la divide en dos grupos:
- Criptografía simétrica o de clave privada. Utiliza la misma clave para el cifrado y descifrado.
- Criptografía asimétrica o de clave pública. Utiliza una clave para el cifrado y otra para el descifrado.
Criptografía simétrica
La criptografía simétrica es el sistema más antiguo de cifrado. Este sistema consiste en utilizar la misma clave tanto para cifrar como para descifrar. La seguridad de este sistema se basa en mantener en secreto la clave de cifrado. Esto es una debilidad, ya que, a menos que se conozca de antemano, el emisor tiene que hacer llegar la clave al receptor por algún medio seguro. La ventaja es que son algoritmos rápidos y poco costosos de implementar.
Los algoritmos de cifrado de este tipo más destacados son los siguientes:
- DES (Data Ecryption Standard). Introducido en 1973. Este algoritmo de cifrado simétrico fue ampliamente utilizado durante años. Era muy rápido y fácil de implementar pero ya se considera obsoleto.
- 3DES o Triple DES (Triple Data Encryption Standard). Este algoritmo se basa en el algoritmo DES. Consigue aumentar su seguridad mediante tres interacciones del algoritmo DES. Utiliza una clave de 128 bits. Aunque sigue siendo una buena solución en determinados sectores, este tipo de cifrado está desapareciendo progresivamente.
- AES (Advanced Encryption Standard). Se creó para actualizar el algoritmo DES original. Algunas de las aplicaciones más habituales con el algoritmo AES son las de mensajería, como WhatsApp, o el compresor de archivos WinZip.
- IDEA (International Data Encryption Algorithm). Inventado en 1990 por Lai y Massey del Swiss Federal Institute of Technology, Instituto Federal Suizo de Tecnología. El hecho de estar libre de restricciones para su distribución ha hecho que se convierta en un algoritmo muy popular, sobre todo fuera de Estados Unidos.
- RC5. Inventado por el profesor Ronald L. Rivest del MIT (Massachusetts Institute of Technology) en 1994. Es un algoritmo muy rápido y simple que puede ser ajustado para conseguir distintos niveles de seguridad.
- Twofish. Se emplea tanto en hardware como en software. No está patentado, por lo que lo utilizan muchas aplicaciones al ser de uso público. Se puede encontrar en programas como PhotoEncrypt o LPG, así como software de código abierto TrueCrypt.
Existen muchos otros como Blowfish, RC2 o RC4. Más los que posiblemente sigan saliendo en el futuro.
Criptografía asimétrica o de clave pública
La criptografía de clave pública es un método de cifrado bastante nuevo, data de 1976. En ese año, Diffie y Hellman publicaron un artículo en el que proponían una nueva forma de entender el cifrado de mensajes que se basaba en utilizar claves distintas para cifrar y para descifrar un mensaje. La clave que permite cifrar es una clave pública que cualquier persona puede conocer. Sin embargo, la clave que permite descifrar es una clave privada que sólo la conoce la persona o sistema que hace el descifrado. A una clave pública sólo le corresponde una clave privada.
Mediante el método de clave pública, una persona o un sistema puede publicar abiertamente su clave pública. Cualquiera que desee enviarle un mensaje cifrado sólo tiene que utilizar la clave pública para cifrar el mensaje. Este mensaje cifrado sólo podrá ser descifrado por el destinatario, que es el único que conoce su clave privada correspondiente.
La introducción del método de clave pública supuso una revolución en la criptografía. Los sistemas de confidencialidad, autenticación y firma digital que utilizamos hoy se basan en sistemas de cifrado de clave pública.
Los algoritmos de cifrado de clave pública más destacados son los siguientes:
- RSA. Es el acrónimo de Rivest, Shamor y Adleman, los apellidos de los matemáticos que definieron por primera vez este algoritmo. RSA fue el primer algoritmo de cifrado asimétrico accesible al público. Este algoritmo es conocido por la longitud de sus claves y su uso extendido para la transmisión segura de datos.
- DSA. Este algoritmo asimétrico se utiliza ampliamente como un algoritmo de firma digital. Está disponible en todas las librerías criptográficas actuales como OpenSSL, GnuTLS o LibreSSL. No se suele utilizar para cifrar datos, sino solo para firma digital. DSA suele ser más utilizado en SSH (autenticación de servidores) que el popular RSA.
Existen muchos otros como la criptografía de curva elíptica, Diffie-Hellman, ElGamal, Funciones HASH, MD5 o SHA-1. En cualquier caso, la utilización de la criptografía de clave pública está teniendo un gran desarrollo en los sistemas de seguridad actuales por lo que es de esperar que surjan nuevos algoritmos con nuevas funcionalidades.
Para qué se utiliza el cifrado en Internet
Como se ha visto, inicialmente se utilizaron las técnicas de cifrado para proteger el contenido de una comunicación de miradas ajenas. No obstante, como también se ha mencionado, hoy en día el cifrado es una pieza fundamental que hace que las comunicaciones por Internet sean prácticas y fiable. No se trata sólo de garantizar la confidencialidad del mensaje, sino de asegurarse de que el remitente es quien dice ser y de que nadie ha modificado el contenido.
La información que viaja entre el ordenador de un usuario y un servidor utiliza un proceso de encaminamiento que hace uso de muchos sistemas de ordenadores intermediarios. Cualquiera de estos sistemas de ordenadores potencialmente podría acceder al flujo de información y observar y/o modificar su contenido. Lo que hacen las técnicas de protección de las comunicaciones es impedir que esto ocurra.
Los ataques a la seguridad de las comunicaciones suelen ser de dos tipos:
- Ataques a la confidencialidad de la información. Se refiere a que elementos y/o agentes intermedios puedan conocer la información transmitida entre dos ordenadores conectados a Internet.
- Ataques a la integridad de la información. Se refiere a que elementos y/o agentes intermedios puedan modificar la información transmitida entre dos ordenadores conectados a Internet.
La seguridad de las comunicaciones está garantizada en Internet desde la introducción de las técnicas de cifrado de clave pública, o más propiamente de las infraestructuras de clave pública, PKI (Public Key Infrastructure).
Gracias a las técnicas de cifrado, Internet puede garantizar lo siguiente:
- Confidencialidad. Significa que terceras personas no puedan acceder a la información.
- Integridad. Garantía de que la información no es manipulada por terceros. Esto es, la información descifrada se corresponde fielmente con la original. Se consigue mediante huella digital en la que cualquier manipulación fraudulenta es fácilmente detectada. Las huellas digitales utilizan técnicas de cifrado.
- Autenticación (autenticidad y verificación). Asegurarse de que el remitente y el destinatario son quienes dicen ser. Se consigue mediante firmas digitales (electrónicas) o firmas biométricas. Las firmas digitales utilizan técnicas de cifrado.
A pesar de lo anterior, es evidente que ninguna tecnología de seguridad puede eliminar completamente todos los riesgos. Esto se debe a que, aunque se garantice la seguridad de las comunicaciones dentro de la red Internet, lo que no se puede garantizar es la honradez o responsabilidad de las personas o comercios con los que un usuario decide hacer negocios. Este hecho no es exclusivo de Internet, lo cierto es que si decidimos pagar la cuenta del restaurante con tarjeta de crédito, sabemos que quien toma los datos de la tarjeta es el camarero, incluso estamos seguros de que esta persona trabaja para el restaurante, pero no nos queda más remedio que confiar en la honradez del camarero y del personal del restaurante para que no hagan un uso indebido de dichos datos.
Qué significa cifrado integral o de extremo a extremo
Servicios de mensajería, como Whatsapp, o de videollamadas, como Zoom, utilizan soluciones de cifrado integral.
Más información
La criptología es un mundo apasionante. Tanto nuestras vidas particulares como la economía global están sustentadas sobre el buen funcionamiento de los sistemas que la sustentan. Si le interesa la seguridad de la comunicaciones, posiblemente, encontrará también interesante los siguientes artículos: