¿Sabías que la mayor parte de las comunicaciones en la red están cifradas con criptografía asimétrica? Pero, ¿Qué es? ¿Cómo funciona? Eso lo veremos en el siguiente artículo.
¿Qué es la criptografía asimétrica?
Criptografía asimétrica, encriptación asimétrica, cifrado asimétrico…
Este método de cifrado posee varios nombres, pero su función es la misma: Proteger los archivos y el intercambio de mensajes privados de los accesos no autorizados. En definitiva, estamos ante una de los tipos de criptografía más potentes y seguros creados hasta la fecha.
Pero, ¿Cómo logra este nivel de seguridad?
Mediante un par de claves secretas: una pública y otra privada enlazadas mediante un algoritmo matemático único para un determinado canal de comunicación. De esta forma, los datos que se cifran mediante la clave pública, sólo pueden descifrarse con la clave privada.
De manera simple, podemos decir que la criptografía asimétrica es un sistema de cifrado que le permite a un usuario acceder a una clave pública de forma libre. Pero, sin embargo, el descifrado de datos solo se le permite a aquellos que tengan la clave privada.
Historia de la encriptación asimétrica
Anteriormente, el cifrado simétrico utilizaba una sola clave que compartían varios usuarios, lo que lo volvió un proceso engorroso y poco seguro. Fueron Ralph Merkel, Whitfiel Diffie y Martin Hellman los que crearon el primer sistema de encriptación asimétrica en 1976, que resolvía estos problemas. Estamos hablando del algoritmo Diffie-Hellman que, aunque era un precursor, no utilizaba el método asimétrico específicamente.
Un año después, en 1977, Ron Rivest, Adi Shamir, y Leonard Adleman idearon el algoritmo RSA. Este sí se convirtió en un estándar de la industria. Inclusive hasta el día de hoy.
¿Cómo funciona la criptografía asimétrica?
El funcionamiento de la criptografía asimétrica se basa en el principio de unidireccionalidad.
Al iniciar este proceso, el remitente genera las claves, tanto públicas como privadas. A su destinatario le enviará la clave pública, conservando la privada. Esta comunicación de claves se realiza mediante organismos de certificación o servidores de clave.
Así, el destinatario recibirá un mensaje codificado con clave pública en texto secreto, que solo podrá descifrar con su clave privada. De esta forma, si un tercero intercepta el mensaje, aunque contenga la clave pública, no le servirá de nada, ya que no podrá descifrar con ella la clave privada.
En otras palabras, las claves son independientes y calculadas con base en números primos definidos pero extensos. Esto hace imposible averiguar la combinación real de números.
Aunque el proceso de cifrado asimétrico es muy sencillo y rápido para nuestra percepción, contiene varios pasos importantes.
1 | Elegir el algoritmo y la curva de criptografía asimétrica
Un dato que solemos pasar por alto es que la criptografía asimétrica utiliza algoritmos de cifrado. Y que este algoritmo no es uno solo, sino que existen muchas propuestas. Cada uno con características y sistemas matemáticos propios ideales según el uso que se les dará.
Principales algoritmos de Criptografía Asimétrica
- Diffie-Hellman: Como dijimos, no es un algoritmo de cifrado asimétrico, sino un protocolo de establecimiento de claves privadas con las que luego se cifrará la comunicación. Y pese a que es muy segura, no proporciona ninguna autenticación.
- RSA: Basado en la pareja de claves, es casi imposible descifrar un texto completo encriptado con este algoritmo. Pero la desventaja es que el proceso suele ser muy lento y la eficiencia del mismo depende en gran parte de la rapidez de los ordenadores.
- DSA: Este algoritmo de encriptación asimétrica se ha convertido en un estándar. Aunque ya no se utiliza para cifrar mensajes. Solo lo podemos encontrar en firmas digitales.
2 | Generar la clave de criptografía asimétrica
Ahora que hemos elegido nuestro algoritmo tendremos que empezar a generar las claves. La primera clave de criptografía asimétrica que crearemos será la clave privada. Para ello se tomarán datos aleatorios que se aplicarán a un problema matemático. El mismo arrojará un resultado largo donde se combinan letras y números, y que representará nuestra clave privada.
A su vez, con ella podremos generar la clave pública que luego enviaremos a nuestros destinatarios. Podremos generar tantas como creamos necesarias.
3 | Propagar las claves de cifrado asimétrico
Ahora que contamos con nuestras claves de cifrado asimétrico tendremos que crear espacios seguros para transmitirlos. Algunos métodos son:
- Infraestructura de clave pública: En este método existen varias entidades emisoras de certificados, que corresponden a un determinado nivel de confianza.
- Fijar una red de confianza: Para ello se establecen una serie de contactos con los que el remitente podrá compartir sus claves.
- Criptografía basada en identidad: Se trata de un sistema centralizado que ayuda a gestionar las claves estrechamente relacionadas con la identidad real o virtual que proporcionamos.
- Encriptación asimétrica basada en certificado digital: En este sistema el remitente posee ambas claves, pero la clave pública es otorgada por una autoridad de certificación.
- Criptografía sin certificados: Se caracteriza por la generación parcial de una clave privada por parte de la autoridad. Para completarla, el remitente tendrá que calcular la clave privada con base en la parcial.
4 | Configurar el canal de comunicación
Una vez que los puntos anteriores estén completos, podemos empezar a enviar y recibir mensajes mediante la encriptación asimétrica. En resumen, el proceso puede verse así:
- El remitente envía un mensaje que cifra con clave pública y firma con su clave privada.
- Aunque el mensaje sea interceptado en el canal de comunicación, será imposible descifrarlo.
- El destinatario usará su clave privada para descifrar el mensaje, y usará la clave pública para corroborar que el mensaje es del remitente.
Cifrado asimétrico: Ventajas y desventajas
Beneficios de la encriptación asimétrica
- La complejidad del esquema de cifrado de la criptografía asimétrica lo vuelve uno de los métodos más seguros.
- Permite utilizar canales de comunicación públicos y privados.
- Permite realizar una autentificación de la información gracias a la firma digital lo que previene el robo de identidad.
- Son confidenciales e íntegros.
Desventajas de la criptografía asimétrica
- Comparado con su par simétrico, la encriptación asimétrica representa un gasto mayor de recursos computacionales para un dispositivo, y suele ser más lenta.
- Un problema con un generador de números aleatorios defectuoso puede comprometer su integridad.
- Es casi imposible detectar fallos o bugs.
Cifrado Asimétrico: Ejemplos y casos de uso
Normalmente, puedes encontrar ejemplos de cifrado asimétrico en el tráfico de correo electrónico con su método estándar S/MIME, o en las firmas digitales y protocolos criptográficos como SSL/TLS, SSH y HTTPS. También es común verlo en chats de WhatsApp y Telegram.
¿Criptografía asimétrica o simétrica? ¿O ambas?
La principal diferencia es que la criptografía simétrica, como el cifrado AES, solamente posee una clave que se comparte con los remitentes. Lo que debilita su seguridad, pero colabora con su rapidez de transmisión. Y aunque la criptografía asimétrica soluciona esto con el par de claves privadas y públicas, el sistema suele ser lento.
Entonces, ¿Con cuál nos quedamos? No hace falta elegir. En los últimos tiempos se suele utilizar un sistema criptográfico híbrido para solventar los problemas de ambos sistemas. Para ello, el proceso de cifrado se realiza de manera síncrona.
Conclusión
En este artículo aprendimos qué es la encriptación asimétrica, sus principales usos y su funcionamiento. También vimos sus ventajas y desventajas principales. Aunque recomendamos utilizar un formato híbrido, como la esteganografia que nos asegure un mejor aprovechamiento de las bondades del recurso.