🔥Adquiere tu membresía:  acceso a todos los cursos, videos eliminados, contenidos protegidos, manuales y más. >> Ver Más

Todo lo que debes saber sobre la criptografía asimétrica (clave pública)

La criptografía asimétrica, también llamada criptografía de clave pública, es un elemento esencial de un ciberespacio seguro. Empero, comprender la criptografía asimétrica puede ser un desafío para las personas que no están familiarizadas con los principios de la informática o la ciberseguridad. 

Este artículo está escrito para quienes no son expertos en tecnología y desean comprender la criptografía de clave pública.

Criptografía simétrica

Cuando dos partes (dos personas, dos computadoras, dos empresas, etc.) desean comunicarse información confidencial entre sí deben tener precaucione. Necesitarán alguna forma de ocultar esa información a medida que viaja de un remitente a otro. 

Una forma es tomar los datos originales, que llamaremos texto sin formato o texto plano, y convertirlos en un mensaje que no se puede entender. Ese mensaje lo llamaremos texto cifrado. Se utiliza algún tipo de método para realizar esta conversión. 

Puede ser tan simple como un conjunto de pasos “cambiar la primera letra de la palabra por la última letra de la palabra”. También puede ser una fórmula matemática más compleja. El proceso de cambiar el texto sin formato en el texto cifrado se conoce como cifrado o encriptado.

Una vez que la parte destinataria ha recibido el mensaje, esa parte puede volver a convertir el texto cifrado en texto sin formato. Deben conocer el método original utilizado para cifrar el mensaje y luego pueden revertir el proceso. El proceso de cambiar el texto cifrado de nuevo a texto sin formato se llama descifrado.

Este proceso ha existido durante milenios. Los generales que van a la batalla sabrán que necesitarán comunicar mensajes sensibles a través de distancias. Antes de una batalla, pueden acordar un algoritmo para el cifrado y el descifrado. Durante la batalla, un general puede cifrar sus planes futuros y luego pedirle a un mensajero que lleve este mensaje a otro general. Si el mensajero es interceptado en el camino, el enemigo no puede entender el mensaje.

Informática moderna

La informática moderna ha hecho que el proceso de cifrado y descifrado sea más complicado, pero también más sencillo. Las computadoras usan algoritmos matemáticos establecidos para cifrar datos. Todos los interesados ​​en cifrar mensajes pueden conocer estos algoritmos. Uno común es AES (Advanced Encryption Standard), utilizado por el gobierno de los Estados Unidos.

Estos algoritmos de cifrado incorporan una “clave” al cifrar las comunicaciones. Esta clave es única para cada usuario y, por lo tanto, incluso si el algoritmo de cifrado es el mismo el resultado no. El resultado del cifrado será diferente para cada usuario.

Esto puede verse visualmente así:

Clave de Rod + Algoritmo RSA -> Cifra el texto sin formato “Cheese and Crackers” -> en texto cifrado “Ecv777 *! Lll”

Clave de Kim + Algoritmo RSA -> Cifra el texto sin formato “Cheese and Crackers” -> en texto cifrado “O5deaQm &”

La mayoría de las discusiones sobre cifrado utilizan el ejemplo de dos personas ficticias, Alice y Bob. En la siguiente figura, Alice está enviando un mensaje a Bob, donde se usa la misma clave para cifrar y descifrar el mensaje. Dado que se utiliza la misma clave para cifrar y descifrar un mensaje, este proceso se denomina criptografía simétrica.

En resumen, la criptografía simétrica es un sistema de cifrado en el que se utiliza la misma clave para cifrar y descifrar las comunicaciones.

Criptografía asimétrica

Pero, ¿qué pasa si Alice y Bob (o nuestros generales) nunca se encuentran para ponerse de acuerdo o intercambiar claves? ¿Cómo pueden comunicarse de forma segura? Para dar un ejemplo del mundo real, supongamos que eres un periodista que desea obtener información de una fuente que vive en otro país. La fuente tiene conocimiento de algunas injusticias en su país. Enviar esta información por correo electrónico o mediante aplicaciones de redes sociales puede ser peligroso. No pueden poner su información en una USB y enviarla porque puede ser interceptada.

Para hacer frente a este problema, se utiliza criptografía asimétrica (o de clave pública).

Podemos usar el mismo proceso general que el anterior (clave + algoritmo), excepto que ahora la clave se divide en una clave pública y una clave privada. ¡Puedes cifrar un mensaje con la clave pública y descifrarlo con la clave privada!

Proceso

Así es como funcionaría el proceso general:

  • Bob usa una aplicación para generar una clave pública y privada. Estas claves juntas se denominan par de claves. Una aplicación de ejemplo de un sitio web que genera claves es: https://pgpkeygen.com/.
  • Bob puede tomar su clave pública y “compartirla”. Hay muchas formas en que puede hacer esto. Puede colocar su clave en espacios que pertenecen a ella en línea: cuentas de redes sociales y su sitio web. Incluso como una firma en su dirección de correo electrónico. También hay varios repositorios públicos donde las personas han publicado sus claves públicas. Un ejemplo es el servidor de claves OpenPGP (http://keys.gnupg.net/). Pero mantiene su clave privada segura y nadie tiene acceso a ella.
  • Alice puede encontrar la clave pública de Bob en su sitio web o en un servidor de claves. Ella puede cifrar un mensaje confidencial usando la clave pública de Bob y luego enviar el mensaje por correo electrónico a Bob. Solo alguien con la mitad privada del par de claves puede descifrar el mensaje.
  • Entonces, cuando Bob recibe el mensaje de Alice, puede descifrar el mensaje usando su clave privada.
  • Si el mensaje es interceptado en tránsito, no se puede leer.

Al igual que la criptografía simétrica discutida anteriormente, los algoritmos utilizados para la criptografía asimétrica son ampliamente conocidos. El más utilizado, y el que usaremos, es el algoritmo RSA (Rivest-Shamir-Adleman).

A continuación, se muestra un ejemplo de este proceso, nuevamente usando Bob y Alice:

Otro aspecto de la criptografía asimétrica es que se puede utilizar para aumentar la integridad de los datos. Esto al garantizar que un mensaje no se haya alterado en tránsito.

Claves

Digamos que Alice también genera un par de claves. Al igual que Bob, puede mantener una clave privada segura y hacer que su clave pública esté disponible. Los pares de claves le dan a Alice la capacidad de firmar un mensaje con esta clave privada. Esto luego puede verificarse con alguien que descifre el mensaje con la clave pública de Alice. En términos simples, si creemos que solo Alice tiene acceso a su clave privada, entonces cualquier mensaje que pueda ser descifrado con la clave pública de Alice debe provenir de Alice.

Proceso general

Así es como funcionaría el proceso general. Incorporaré el ejemplo anterior de Alice enviando un mensaje encriptado a Bob:

  • Bob genera un par de claves y hace que su clave pública esté disponible
  • Alice quiere enviar un mensaje seguro a Bob, por lo que cifra su mensaje con la clave pública de Bob.
  • Sin embargo, quiere que Bob sepa que su mensaje no ha sido alterado en tránsito. Por ejemplo, alguien podría interceptar el mensaje y borrar el mensaje original de Alice y encriptar un mensaje nuevo con la clave de Bob.
  • Entonces, hace un hash del mensaje (encriptado) y luego lo encripta con su clave privada. A esto se le llama firmar un mensaje. Sí, puede resultar muy confuso. Una función hash es un algoritmo que produce una pequeña serie de valores a partir de un bloque de datos más grande. Es rápido y fácil producir un hash y no ocupa mucho espacio de datos. Las dos funciones hash más comunes son MD5 (Message Digest 5) y SHA (Secure Hash Algorithm).
  • Alice envía el hash cifrado (cifrado con su clave privada) y el mensaje original cifrado (cifrado con la clave pública de Bob) a Bob.
  • Bob puede entonces descifrar el mensaje original (usando su clave privada) y leerlo.
  • También puede verificar si el mensaje se modificó en tránsito. Lo hace obteniendo un hash del mensaje original descifrado. Luego, descifra el hash de Alice (usando su clave pública) y luego compara los dos hashes. Si son iguales, pueden estar seguros de que el mensaje de Alice no se modificó en tránsito. A esto se le llama verificación.

A continuación, te muestro un ejemplo visual:

Usos cotidianos

El uso de Alice y Bob son formas de explicar la lógica detrás de la criptografía simétrica y asimétrica. Para la mayoría de las personas, este proceso ocurre sin siquiera saberlo.

Un ejemplo de uso es el iPhone de Apple y el cifrado automático de los datos en su teléfono. Para que alguien lea sus datos, necesita su clave de acceso. Si las fuerzas del orden público obtienen tu teléfono y no les das la clave de acceso, tendrán enormes dificultades para leer los datos. Este es un ejemplo de criptografía simétrica.

Un segundo ejemplo es HTTPS (HTTP Secure), que utiliza criptografía simétrica y asimétrica. Imagina que decides comprar algunos libros del sitio web de Amazon. Cuando ingresas www.amazon.com en la dirección web, tu computadora esencialmente solicita datos del servidor de Amazon. Hay cuatro pasos:

  • El servidor de Amazon enviará esos datos junto con su clave pública. Amazon y la mayoría de las empresas verifican su clave pública por alguna autoridad certificadora para que sepamos que la clave realmente pertenece a Amazon.
  • Luego, tu navegador genera una clave simétrica separada que se utilizará durante el resto de la conexión (sesión). Esta clave simétrica se cifra y se envía de vuelta a los servidores de Amazon.
  • El servidor de Amazon puede descifrar esta nueva clave con su clave privada.
  • Ahora, el navegador y el servidor cifran sus comunicaciones posteriores con la clave simétrica hasta que finaliza la sesión. Han establecido un canal seguro.

Estos cuatro pasos se muestran visualmente a continuación:

Deja un comentario

Adquiere tu Membresía Anual Wiser

Adquiere tu Membresía Anual Wiser y adquiere grandes beneficios

Más información