Comparte:
Ciberseguridad
4 de julio de 2018

El cifrado de comunicaciones, uno de los inventos que ha cambiado el mundo

El cifrado de comunicaciones, uno de los inventos que ha cambiado el mundo

El cifrado de comunicaciones, uno de los inventos que ha cambiado el mundo

Escrito por , 4/07/2018

Tim Harford, el economista y reputado columnista británico, recoge en su último libro la criptografía asimétrica como uno de los cincuenta inventos que han cambiado el mundo y ha hecho que la sociedad actual sea tal y como la conocemos. En este post voy a escribir del cifrado de comunicaciones.

Pese a que el ser humano comenzó a comunicarse con sus iguales hace unos 30 mil años, no fue hasta mucho después cuando empezó a comprender la importancia de que algunas de estas comunicaciones permanecieran secretas. En nuestros días la confidencialidad resulta crítica en muchos casos.

En un día cualquiera realizamos, de forma casi inconsciente, multitud de comunicaciones que ocultamos a los demás o solo dejamos ver a unos pocos: cuando consultamos nuestro extracto bancario, enviamos un correo electrónico o realizamos una compra en Internet estamos intercambiando mensajes con un tercero que no queremos que vea nadie más.

En otras ocasiones consumimos contenidos que han sido protegidos para evitar que accedan a ellos personas que no los han adquirido, por ejemplo, un DVD o un canal de televisión online.

La manera de ocultar la información que no queremos que otros entiendan sin necesidad de esconderla es cifrándola. Cifrar una comunicación consiste en modificar cada uno de los mensajes que la forman, de manera que resulte incomprensible para todos aquellos que no sepan cómo manipular dichos mensajes para retornarlos a su forma original y convertirlos en inteligibles.

A este tipo de cifrado se le denomina cifrado simétrico, ya que es necesario disponer de un método de cifrado y otro de descifrado.

A lo largo de la historia han existido distintos mecanismos para cifrar mensajes.

-Escitala

Se trata de un mecanismo de cifrado utilizado por los espartanos en las campañas militares. El sistema consistía en dos varas del mismo grosor que se entregaban a los participantes de la comunicación. Para enviar un mensaje se enrollaba una cinta de forma espiral a uno de los bastones y se escribía el mensaje longitudinalmente, de forma que en cada vuelta de cinta apareciese una letra cada vez. Una vez escrito el mensaje, se desenrollaba la cinta y se enviaba al receptor, que sólo tenía que enrollarla a la vara gemela para leer el mensaje original.

-Cifrado César

Es otra técnica sencilla que también se utilizó en la edad antigua. Consiste en sustituir determinadas letras del texto por otras letras o números, de manera que el texto sea ininteligible para aquellos que no conozcan la regla de sustitución.

Por ejemplo, el texto “atacad la presa a las tres” se convertiría en  “bubdbe mb qsftb b mbt usft” al reemplazar cada letra por la que le sigue en el alfabeto.

Este tipo de cifrado se puede complicar tanto como se quiera, pero al final siempre existe una vulnerabilidad ante lo que se denomina un análisis de frecuencias, que consiste en estudiar con qué asiduidad aparecen los caracteres codificados en el texto y compararlo con la repetición habitual de cada una de las letras en el lenguaje natural.

-Cifrado Vigenère

El cifrado Vigenère se basa en la sustitución de caracteres pero no mediante la aplicación de una regla predefinida, sino con una clave externa que debe estar en poder del emisor y del receptor para cifrar y descifrar respectivamente el mensaje. Este tipo de cifrados es virtualmente invulnerable si la clave utilizada es compleja y no se repite.

Pero en la práctica no es viable disponer de una clave distinta para cada mensaje enviado y se pasa a utilizar una misma clave para cifrar todos los mensajes. En el momento en el que se reutiliza la clave y un atacante es capaz de recopilar varios mensajes cifrados con ella, puede descifrar dichos mensajes utilizando el cálculo de frecuencias.

-Rotores

El siguiente paso en la evolución de los métodos de cifrado vino del uso de máquinas codificadoras. Básicamente se trataba de un mecanismo en el que las sustituciones de caracteres se hacía utilizando al menos tres rotores que iban girando y modificando, así, la tabla de asignaciones en cada pulsación.

Al tratarse de una asignación dinámica, la máquina debía estar calibrada en una posición inicial determinada, ya que ese estado inicial determinaba el descifrado del mensaje. Estos estados iniciales se copiaban en un libro denominado “Libro de códigos” que se entregaba a los capitanes de los navíos para que pudieran descifrar los mensajes que recibiesen. Las páginas del libro estaban cortadas en tiras que se iban arrancando y destruyendo, de manera que si el buque era capturado no se pudiesen recuperar las claves utilizadas previamente.

La máquina codificadora más famosa fue Enigma, que se utilizó durante la segunda guerra mundial por parte del bando alemán. Finalmente sus códigos pudieron ser descifrados con la ayuda de uno de los primeros ordenadores construidos, que se utilizó para realizar un ataque de fuerza sobre los mensajes interceptados.

La utilización de un ordenador, capaz de realizar una gran cantidad de operaciones en un tiempo corto, supuso la muerte de los métodos tradicionales de cifrado y el nacimiento de los modernos.

-Cifrado de mensajes digitales

Puesto que los ordenadores actuales son capaces de probar un gran número de combinaciones rápidamente, las técnicas de cifrado modernas debieron aumentar la complejidad de los códigos para evitar que estos pudieran romperse en un plazo de tiempo asequible.

Hoy en día los esfuerzos por construir sistemas seguros se concentran en el mundo digital. Un mensaje digital, independientemente de su formato, se puede expresar como una cadena binaria de ceros y unos. Para codificarlo es necesario generar una clave, también binaria, y de la misma longitud que el mensaje, y aplicarle una transformación denominada XOR, que es la base de todos los cifrados que se utilizan hoy en día. El resultado es una tercera cadena binaria que se denomina mensaje cifrado bajo clave. Para descifrar el mensaje es preciso volver a aplicar la operación XOR sobre la cadena cifrada y la clave.

El inconveniente de esta técnica es que, si se utiliza la misma clave para cifrar diferentes mensajes, puede resultar sencillo que un atacante la obtenga para descifrar todos los mensajes que se emitan en el futuro.

Generadores

La necesidad de que no se repita la clave de cifrado y, a la vez, cifrar mensajes arbitrariamente largos ha llevado a la creación de unos algoritmos denominados generadores, que son capaces de construir claves de longitud arbitraria y una distribución estadística cuasi aleatoria.

Cuanto más cerca esté de una distribución aleatoria pura, más seguro será el cifrado, ya que no se podrán apreciar repeticiones.

Esta técnica se utiliza en situaciones en las que es necesario contar con un cifrado sencillo y rápido como en las redes wifi, comunicaciones telefónicas, de radio, etc.

-Cifrado de bloques

Se emplea para cifrar grandes cantidades de información en las que es necesario un grado de seguridad alto. Para ello, se rompen las cadenas binarias en bloques más pequeños de tamaño fijo y se someten a un proceso iterativo. El tamaño del bloque y de la clave y el número de iteraciones (o rondas) dependerá del tipo de cifrado.

Así, por ejemplo, el cifrado basado en AES-128 utiliza bloques y claves de 128 bits y 4 iteraciones, mientras que el cifrado basado en AES-256 utiliza bloques de 128 bits, claves de 256 bits y 14 iteraciones. Como es lógico, a medida que aumenta el número de iteraciones y el tamaño de las claves se obtienen cifrados más seguros, aunque el resultado también es más lento.

Los cifrados de claves largas, 256, 512, etc. son de alta seguridad, ya que generan un nivel de entropía muy elevado. Por ejemplo, para romper por la fuerza un mensaje cifrado con una clave de 256 bits, sería necesario calcular todas las posibles combinaciones de 2256 y 1,6·1077 es un número monstruosamente grande, no asequible para los métodos de computación actual.

-Cifrado asimétrico

Hasta el momento he mostrado mecanismos de cifrado simétricos, es decir, en los que la clave de cifrado y descifrado es la misma y debe compartirse por los dos agentes que intervienen en la comunicación. Sin embargo, existen situaciones en las que este tipo de cifrado no es útil, como cuando una gran cantidad de usuarios intercambia mensajes con una sola entidad, por lo general proveedores de servicios como servidores de correo, tiendas online, portales de organismos públicos, etc. En estos casos no resulta práctico que dichos organismos compartan una clave con cada uno de los usuarios, ya que eso podría dar lugar a miles o millones de claves. Los proveedores de servicios generan entonces una clave pública que conocen todos los usuarios y una clave privada que solo conoce y mantiene cada usuario.

Ambas claves, privada y pública, deben cumplir una serie de propiedades, de manera que puedan funcionar juntas y cumplir su función: deben ser seguras e invariables ante cambios de orden.

-Cifrado RSA

El algoritmo de cifrado asimétrico RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de clave pública desarrollado en 1977.

Su fundamento matemático es complejo y se basa en la dificultad que tienen los sistemas computacionales actuales para factorizar números primos de muchos dígitos. Si se cifra un mensaje en forma de factores primos, para descifrarlo será necesario factorizar dicho número.

Por ejemplo, si le pedimos a un ordenador que realice varios millones de sumas, lo hará en un tiempo muy breve, ya que está diseñado para ello y existen algoritmos muy eficientes para llevar a cabo esta tarea. Sin embargo, si le pedimos a un ordenador que factorice un número primo de 200 dígitos, le llevará un tiempo descomunal.

Pero, si es tan complicado factorizar este número, ¿cómo puede descifrar el mensaje su legítimo receptor? Para descifrar el mensaje enviado por el servidor y cifrado con la clave pública, el receptor utilizará su clave privada, la cual cumple una propiedad definida por el teorema de Fermat-Euler que establece que, al aplicar la clave privada sobre el mensaje cifrado, se obtendrán todos los factores y, por tanto, el mensaje decodificado.

El cifrado RSA es el más extendido hoy en día en los casos en los que es necesario utilizar cifrado asimétrico.

-La firma

Uno de los usos más importantes del cifrado digital es la generación de firmas que permiten asegurar que un documento ha sido enviado por un usuario concreto.

En el mundo físico, la firma de documentos se basa en la capacidad de las personas de realizar una firma única que nos identifica y, en teoría, no puede ser copiada.

En el mundo digital esta forma de firmar ya no es útil, ya que crear un duplicado de una imagen con la firma de una persona resulta trivial. Entonces, ¿cómo firmar un documento para asegurar que proviene de una persona concreta? La firma digital se basa en la posesión de una clave privada.

De esta manera, cuando un usuario dispone de un archivo de firma proporcionado por un organismo público certificado, puede firmar documentos realizando una operación de cifrado sobre el fichero. Tras esta operación de cifrado, el fichero se modifica internamente para incluir la firma cifrada del usuario. Y es importante que la firma esté cifrada para que no pueda ser copiada por cualquier curioso que acceda al documento.

El organismo emisor de la firma dispone de una clave pública que le permite descifrar la firma y comprobar que es auténtica.

En resumen, el cifrado de las comunicaciones digitales y los procesos de firma son fundamentales en la actualidad. Sin ellos no sería posible realizar con tranquilidad acciones cotidianas como enviar un correo electrónico, comprar por Internet o presentar la declaración de la renta desde el ordenador.

Asimismo, la seguridad de los métodos de cifrado se basa en fundamentos matemáticos que arrancan en el S. XVIII y llegan hasta nuestros días y aseguran que los métodos de cifrado que usamos son robustos y confiables mientras no cambie el paradigma computacional actual.

Imagen: Richard Patterson

Sobre el autor

Pablo Gutiérrez Astilleros

Pablo Gutiérrez Astilleros

Licenciado en Ciencias Físicas y tengo un máster en ingeniería del software , Llevo diez años en Telefónica. Durante este tiempo he lanzado soluciones relacionadas con el geomárketing, el vehículo conectado y ahora servicios de emergencias. En el plano personal, me gusta la fotografía y viajar. Soy adicto a los documentales del National Geographic.
Ver todos sus artículos »