Skip to main content
Surveillance
Self-Defense

Una mirada en profundidad al cifrado de extremo a extremo: ¿Cómo funcionan los sistemas de cifrado de clave pública?

Última actualización: November 29, 2018

This page was translated from English. The English version may be more up-to-date.

Si se utiliza correctamente, el cifrado de extremo a extremo puede ayudar a proteger el contenido de sus mensajes, texto e incluso archivos para que nadie los entienda, excepto sus destinatarios previstos. También se puede utilizar para probar que un mensaje proviene de una persona en particular y no ha sido alterado.

En los últimos años, las herramientas de cifrado de extremo a extremo se han vuelto más usables. Las herramientas de mensajería segura como Signal (iOS o Android) - para llamadas telefónicas, videollamadas, chats y uso compartido de archivos- son buenos ejemplos de aplicaciones que utilizan cifrado de extremo a extremo para cifrar mensajes entre el remitente y el destinatario previsto. Estas herramientas hacen que los mensajes sean ilegibles para los que escuchan a escondidas en la red, así como para los propios proveedores de servicios.

Dicho esto, algunas implementaciones de cifrado de extremo a extremo pueden ser difíciles de entender y utilizar

En esta guía, nos referiremos al cifrado de extremo a extremo para correo electrónico como un ejemplo de cómo funciona conceptualmente el cifrado de extremo a extremo. El correo electrónico cifrado de extremo a extremo sólo funciona cuando ambos extremos acuerdan un protocolo de cifrado específico. Un protocolo se llama Pretty Good Privacy, o PGP , para abreviar.

Por favor, tenga en cuenta que EFF no recomienda actualmente PGP - simplemente lo estamos usando como un ejemplo educativo. Para uso práctico, recomendamos otros métodos de mensajería cifrada de extremo a extremo por las razones que describimos aquí. PGP sigue teniendo muchos desafíos, mientras que se han dado grandes pasos en la cifrado de extremo a extremo para aplicaciones de chat, como Signal.

Antes de empezar a utilizar herramientas de cifrado de extremo a extremo, le recomendamos encarecidamente que se tome el tiempo necesario para comprender los conceptos básicos de la criptografía de clave pública .

El tipo de cifrado del que hablamos en esta guía, en el que se basan las herramientas de cifrado de extremo a extremo, se denomina criptografía de clave pública o cifrado de clave pública. Para obtener más información sobre otros tipos de cifrado, consulte nuestra guía ¿Qué es el cifrado?

La comprensión de los principios subyacentes de la criptografía de clave pública le ayudará a utilizar estas herramientas con éxito. Hay cosas que la criptografía de clave pública puede y no puede hacer, y es importante entender cuándo y cómo usted podría querer usarla.

¿Qué hace el cifrado? anchor link

Así es como funciona el cifrado al enviar un mensaje secreto:

  1. Un mensaje claramente legible ("hola mamá") es cifrado en un mensaje codificado que es incomprensible para cualquiera que lo mire ("OhsieW5ge+osh1aehah6").
  2. El mensaje cifrado se envía a través de Internet, donde otros ven el mensaje codificado, "OhsieW5ge+osh1aehah6".
  3. Cuando llega a su destino, el destinatario previsto, y sólo el destinatario previsto, tiene alguna manera de descifrarlo de nuevo en el mensaje original ("hola mamá").

Cifrado simétrico: Una historia de pasar notas secretas con una sola llave anchor link

Julia quiere enviar una nota a su amigo César que dice "Encuéntrame en el jardín", pero no quiere que sus compañeros la vean.

La nota de Julia pasa por un grupo de compañeros intermediarios antes de llegar a César. Aunque son neutrales, los intermediarios son entrometidos y pueden fácilmente echar un vistazo al mensaje antes de transmitirlo. También están haciendo copias de este mensaje antes de transmitirlo y anotando la hora en que Julia está enviando este mensaje a César.

Julia decide cifrar su mensaje con una llave de 3, cambiando las letras del alfabeto por tres. Así que A sería D, B sería E, etc. Si Julia y César usan una simple llave de 3 para cifrar y una llave de 3 para descifrar entonces su mensaje cifrado en un galimatías es fácil de descifrar. Alguien podría forzar usando "fuerza bruta" la llave probando todas las combinaciones posibles. En otras palabras, pueden adivinar persistentemente hasta que obtienen la respuesta para descifrar el mensaje.

El método de cambiar el alfabeto por tres caracteres es un ejemplo histórico de cifrado utilizado por Julio César: el cifrado César. Cuando hay una llave para cifrar y descifrar, como en este ejemplo donde es un simple número de 3, se llama cifrado simétrico.

El cifrado César es una forma débil de cifrado simétrico. Afortunadamente, el cifrado ha avanzado mucho desde el cifrado César. Usando matemáticas asombrosas y la ayuda de las computadoras, se puede generar una llave que es mucho, mucho más grande, y es mucho, mucho más difícil de adivinar. La criptografía simétrica ha recorrido un largo camino y tiene muchos propósitos prácticos.

Sin embargo, el cifrado simétrica no aborda el siguiente problema: ¿qué pasaría si alguien pudiera, simplemente, escuchar a escondidas y esperar a que Julia y César compartieran la llave y robaran la llave para descifrar sus mensajes? ¿Y si esperaran a que Julia y César dijeran el secreto para descifrar sus mensajes con la llave de 3? ¿Y si Julia y César estuvieran en diferentes partes del mundo, y no planearan reunirse en persona?

¿Cómo pueden César y Julia sortear este problema?

Digamos que Julia y César han aprendido sobre cifrado de llave pública. Es poco probable que alguien entrometido encuentre a Julia o César compartiendo la llave de descifrado , ya que no necesitan compartirla. En el cifrado de llave pública, las claves de cifrado y descifrado son diferentes.

Cifrado de clave pública: Una historia de dos llaves anchor link

Veamos el problema más de cerca: ¿Cómo envía el remitente la llave de descifrado simétrico al destinatario sin que alguien espíe también esa conversación? En particular, ¿qué pasa si el remitente y el destinatario están físicamente lejos el uno del otro, pero quieren poder conversar sin mirarse a hurtadillas?

El cifrado de clave pública (también conocida como cifrado asimétrico) tiene una solución limpia para esto. Permite a cada persona en una conversación crear dos llaves: una llave pública y otra privada. Las dos llaves están conectadas y en realidad son números muy grandes con ciertas propiedades matemáticas. Si codifica un mensaje utilizando la llave pública de una persona, ésta puede decodificarlo utilizando su llave privada correspondiente.

Julia y César ahora están usando sus dos computadoras para enviar mensajes cifrados usando cifrado de llave pública, en lugar de pasarse notas. Sus compañeros y compañeras de clase que pasaban las notas ahora son reemplazados por computadoras. Hay intermediarios entre Julia y César: Los respectivos puntos Wi-Fi de Julia y César, los proveedores de servicios de Internet y sus servidores de correo electrónico. En realidad, puede haber cientos de computadoras entre Julia y César que faciliten esta conversación. Estos intermediarios están reproduciendo y almacenando copias de los mensajes de Julia y César cada vez que pasan.

No les importa que algún intermediario pueda verlos comunicándose, pero quieren que el contenido de sus mensajes se mantenga privado.

Primero, Julia necesita la llave pública de César. César envía su llave pública (archivo) a través de un canal inseguro, como un correo electrónico no cifrado. No le importa si los intermediarios tienen acceso a ella porque la llave pública es algo que puede compartir libremente. Nótese que la metáfora llave se rompe por aquí; no es del todo correcto pensar en la llave pública como una llave literal. César envía la llave pública a través de múltiples canales, de modo que los intermediarios no pueden enviar una de sus propias claves públicas a Julia.

Julia recibe el archivo de llave pública de César. ¡Ahora Julia puede cifrar un mensaje para él! Ella escribe su mensaje: "Encuéntrame en el jardín."”

Ella envía el mensaje cifrado Está cifrado sólo para César.

Tanto Julia como César pueden entender el mensaje, pero parece un galimatías para cualquiera que intente leerlo. Los intermediarios pueden ver metadatos, como la línea de asunto, las fechas, el remitente y el destinatario.

Debido a que el mensaje está cifrado con la llave pública de César, sólo está destinado a que César y el remitente (Julia) lean el mensaje.

César puede leer el mensaje usando su llave privada.

Para recapitular:

  • El cifrado de llave pública permite a alguien enviar su llave pública en un canal abierto e inseguro.
  • Tener la llave pública de alguna amistad o contacto le permite cifrar los mensajes que le envía.
  • Su llave privada se usa para descifrar los mensajes que se le envían cifrados.
  • Los intermediarios - como los proveedores de servicios de correo electrónico, los proveedores de servicios de Internet y los de sus redes- pueden ver metadatos todo el tiempo: quién está enviando qué, a quién, cuándo, a qué hora se recibe, cuál es la línea de asunto, que el mensaje está cifrado, etc.

Otro problema: ¿Qué pasa con la suplantación de identidad? anchor link

En el ejemplo de Julia y César, los intermediarios pueden ver los metadatos todo el tiempo.

Digamos que uno de los intermediarios es un mal actor. Por mal actor, nos referimos a alguien que intenta dañarlo a usted, tratando de robar o interferir con su información. Por alguna razón, este mal actor quiere espiar el mensaje de Julia a César.

Digamos que este mal actor es capaz de engañar a Julia para que tome el archivo de llave pública equivocado para César. Julia no se da cuenta de que no es la llave pública de César. El mal actor recibe el mensaje de Julia, lo mira y se lo pasa a César.

El mal actor podría, incluso, decidir cambiar el contenido del archivo antes de pasárselo a César.

La mayoría de las veces, el mal actor decide dejar los contenidos sin modificar. Entonces, este mal actor trasmite el mensaje de Julia a César como si nada hubiera pasado, César sabe que debe encontrarse con Julia en el jardín, y para su sorpresa, el mal actor también está allí.

Esto se conoce como un ataque por intermediario. También es conocido como un ataque con una máquina en medio.

Afortunadamente, el cifrado de llave pública tiene un método para prevenir ataques por intermediario.

El cifrado de llave pública le permite verificar la identidad digital de alguien con su identidad de la vida real a través de algo llamado "verificación de huellas dactilares". Esto funciona mejor en la vida real, si usted es capaz de reunirse con su amigo o amiga en persona. Tendrá su huella dactilar de llave pública disponible y su amigo o amiga comprobarán que todos y cada uno de los caracteres de su huella dactilar de llave pública coincidan con lo que tienen para su huella dactilar de llave pública. Es un poco tedioso, pero vale la pena hacerlo.

Otras aplicaciones con cifrado de extremo a extremo también tienen una forma de comprobar las huellas dactilares, aunque hay algunas variaciones sobre cómo se llama la práctica y cómo se implementa. En algunos casos, usted leerá cada carácter de la huella digital con sumo cuidado y deberá asegurarse de que coincida con lo que ve en su pantalla, y no con lo que su amigo ve en su pantalla. En otros, puede escanear un código QR en el teléfono de otra persona para "verificar" su dispositivo. En el siguiente ejemplo, Julia y César pueden reunirse en persona para verificar sus huellas dactilares escaneando los códigos QR de cada uno utilizando la cámara de su teléfono.

Si no puede darse el lujo de reunirse en persona, puede hacer que su huella digital esté disponible a través de otro canal seguro, como otra aplicación de mensajería cifrada de extremo a extremo o un sistema de chat, o un sitio HTTPS .

En el siguiente ejemplo, César, envía su huella digital de llave pública PGP de 40 caracteres a Julia utilizando la aplicación encriptada de extremo a extremo, Signal, con su smartphone. En el correo electrónico cifrado de extremo a extremo de PGP, sólo se conoce como comprobación de huellas dactilares. PGP permite verificar la identidad de alguien "firmando" su llave pública: es como decir, "sí, he comprobado que esta llave pública pertenece a mi amigo o amiga".

Para repasar:

  • Un ataque por intermediario es cuando alguien intercepta su mensaje a otra persona. El o la atacante pueden alterar el mensaje y pasarlo o simplemente escuchar a escondidas.
  • El cifrado de llave pública le permite hacer frente a los ataques del tipo "Intermediario" proporcionando formas de verificar las identidades de destinatario y remitente. Esto se hace a través de la verificación de huellas dactilares.
  • Además de utilizarse para encriptar un mensaje a su amigo, la llave pública de su amigo o amiga también viene con algo llamado "huella digital de llave pública". Puede utilizar la huella dactilar para verificar la identidad de este contacto.
  • La llave privada se utiliza para cifrar mensajes, así como para firmar digitalmente mensajes como usted.

Signo de los Tiempos anchor link

El cifrado de llave pública hace que no tenga que pasar de contrabando la clave de descifrado al destinatario de su mensaje secreto porque esa persona ya tiene la clave de descifrado. La clave de descifrado es su llave privada. Por lo tanto, todo lo que necesita para enviar un mensaje es la clave de cifrado pública coincidente de su destinatario. Y puede obtener esto fácilmente porque su destinatario puede compartir su llave pública con cualquier persona, ya que las claves públicas sólo se utilizan para cifrar mensajes, no para descifrarlos.

Pero hay más! Sabemos que si encriptas un mensaje con una determinada llave pública, sólo se puede desencriptar con la llave privada correspondiente. Pero también es cierto lo contrario. Si encriptas un mensaje con una determinada llave privada, sólo se puede descifrar mediante su llave pública correspondiente.

¿Por qué sería útil? A primera vista, no parece haber ninguna ventaja en enviar un mensaje secreto con su clave privada que todos los que tienen su clave pública puedan descifrar. Pero supongamos que usted escribió un mensaje que decía "Prometo pagarle $100 a Aazul", y luego lo transformó en un mensaje secreto usando su clave privada. Cualquiera podría descifrar ese mensaje, pero sólo una persona podría haberlo escrito: la persona que tiene su clave privada. Y si ha hecho un buen trabajo manteniendo segura su clave privada, eso significa que usted, y sólo usted, pudo haberlo escrito. En efecto, al cifrar el mensaje con su clave privada, se ha asegurado de que sólo puede provenir de usted. En otras palabras, usted ha hecho lo mismo con este mensaje digital que nosotros cuando firmamos un mensaje en el mundo real.

La firma también hace que los mensajes sean a prueba de manipulaciones. Si alguien tratara de cambiar su mensaje de "Prometo pagar a Aazul $100" a "Prometo pagar a Ming $100", no podrían volver a firmarlo usando su llave privada. Por lo tanto, un mensaje firmado garantiza que se originó de cierta fuente y que no fue manipulado en tránsito.

En Revisión: Uso de la cifrado de llave pública anchor link

Vamos a repasar. La cifrado de llave pública le permite cifrar y enviar mensajes de forma segura a cualquier persona cuya llave pública conozca.

Si otros conocen su llave pública:

  • pueden enviarle mensajes secretos que sólo usted puede decodificar usando su llave privada y,
  • puede firmar sus mensajes con su llave privada para que los destinatarios sepan que los mensajes sólo pueden proceder de usted.

Y si conoce la llave pública de otra persona:

  • puede decodificar un mensaje firmado por ellos y saber que sólo proviene de ellos.

Ya debería estar claro que la cifrado de llave pública se vuelve más útil cuando más gente conoce su llave pública. La llave pública se puede compartir, en el sentido de que es un archivo que se puede tratar como una dirección en una guía telefónica: es pública, la gente sabe que lo puede encuentrar allí, puede compartirla ampliamente y la gente sabe que hay que cifrar los mensajes que se le envían con ella. Puede compartir su llave pública con cualquiera que quiera comunicarse con usted; no importa quién la vea.

La llave pública viene emparejada con un archivo llamado llave privada. Puede pensar en la llave privada como una llave real que tienes que proteger y mantener a salvo. Su llave privada se utiliza para cifrar y descifrar mensajes.

También debe ser evidente que usted necesita mantener su llave privada muy segura. Si la llave privada se elimina accidentalmente del dispositivo, no podrá descifrar los mensajes cifrados. Si alguien copia su llave privada (ya sea por acceso físico a tu computadora, malware en su dispositivo, o si accidentalmente publica o compartes su llave privada), entonces otros pueden leer sus mensajes cifrados. Pueden fingir ser usted y firmar mensajes afirmando que los escribió usted.

No es infrecuente que los gobiernos roben claves privadas de los ordenadores de determinadas personas (quitándoles los ordenadores o poniéndoles malware mediante acceso físico o ataques de phishing). Esto deshace la protección que ofrece el cifrado de llave privada. Esto es comparable a decir que usted puede ser que tenga una cerradura inmune a cualquier ganzúa en su puerta, pero alguien pudo robarle la llave en la calle, copiarla y escabullirla de nuevo en su bolsillo y por lo tanto poder entrar en su casa sin necesitar forzar la cerradura.

Esto se remonta al modelado de amenazas: determine cuáles son sus riesgos y enfréntelos apropiadamente. Si cree que alguien se tomaría muchas molestias para intentar obtener su llave privada, es posible que no desee utilizar una solución dentro del navegador para el cifrado de extremo a extremo. En su lugar, puede optar por tener la llave privada almacenada en su propio ordenador o teléfono, en lugar del ordenador de otra persona (como en la nube o en un servidor)..

Revisión de la cifrado de llave pública y un ejemplo específico: PGP. anchor link

Por lo tanto, repasamos la cifrado simétrica y la cifrado de llave pública como explicaciones separadas. Sin embargo, debemos tener en cuenta que el cifrado de llave pública también utiliza el cifrado simétrico! El cifrado de llave pública en realidad sólo cifra una clave simétrica, que luego se utiliza para descifrar el mensaje real.

PGP es un ejemplo de un protocolo que utiliza tanto cifrado simétrica como cifrado de llave pública (asimétrica). Funcionalmente, el uso de herramientas de cifrado de extremo a extremo como PGP le hará muy consciente de las prácticas de cifrado de llave pública.

Qué son exactamente las llaves. ¿Y cómo se unen las llaves? anchor link

El cifrado de llave pública se basa en la premisa de que hay dos llaves: una llave para cifrar y otra para descifrar. Cómo funciona básicamente es que puede enviar una llave a través de un canal inseguro, como Internet. Esta llave se denomina llave pública. Puede publicar esta llave pública en cualquier lugar, en lugares muy públicos, y no comprometer la seguridad de sus mensajes cifrados

Esta clave compartida es la clave pública: un archivo que se puede tratar como una dirección en una guía telefónica: es pública, la gente sabe que lo puede encontrar allí, puede compartirla ampliamente, y la gente sabe que debe cifrar para usted con lo que encuentre alí.

La llave pública viene emparejada con un archivo llamado llave privada. Piense en la llave privada como una llave real que tiene que proteger y mantener a salvo. Su llave privada se utiliza para cifrar y descifrar mensajes.

Vamos a examinar la generación de llaves en un algoritmo de cifrado de llave pública de uso común llamado RSA (Rivest-Shamir-Adleman). RSA se utiliza a menudo para generar pares de llaves para correo electrónico cifrado PGP.

La llave pública y la llave privada se generan juntas y se enlazan. Ambos dependen de los mismos números primos secretos muy grandes. La llave privada es la representación de dos números primos secretos muy grandes. Metafóricamente, la llave pública es el número de producto: está formada por los mismos dos números primos enormes que se usan para crear la llave privada. Lo que es asombroso es que es muy difícil averiguar qué dos números primos grandes crearon la llave pública.

Este problema se conoce como factoraje primario, y algunas implementaciones de cifrado de llave pública aprovechan esta dificultad para que las computadoras resuelvan cuáles son los números primos de los componentes. El cifrado moderna nos permite usar números primos escogidos al azar, ridículamente gigantescos que son difíciles de adivinar tanto para los humanos como para las computadoras.

Y, la fuerza aquí es que la gente puede compartir sus llaves públicas a través de canales inseguros para dejar que se cifren entre sí! En el proceso, nunca revelan cuál es su llave privada (números primos secretos), porque nunca tienen que enviar su llave privada para descifrar mensajes en primer lugar.

Recuerde: Para que el cifrado de llave pública funcione, el remitente y el destinatario necesitan las llaves públicas del otro.

Otra forma de pensar en ello: La llave pública y la llave privada se generan juntas, como un símbolo yin-yang. Están entrelazados.

La llave pública se puede buscar y compartir. Puede distribuirla a quien sea. Puede publicarla en sus redes sociales, si no le importa revelar la existencia de su dirección de correo electrónico. Usted puede ponerla en su sitio web personal. Puede repartirla.

La llave privada debe mantenerse a salvo y cerca. Sólo tiene una. No quiere perderla, ni compartirla, ni hacer copias de élla que puedan flotar por ahí, ya que hace más difícil mantener sus mensajes privados en privado. Sin sus llaves, no puede leer los mensajes cifrados que se le envían y tampoco puede enviarlos. Mantengalas a salvo y en secreto.

Cómo funciona PGP anchor link

Veamos cómo podría funcionar la cifrado de llave pública, aún usando el ejemplo de PGP. Digamos que quieres enviar un mensaje secreto a Aarav:

  1. Aarav tiene una llave privada y, como un buen usuario de cifrado de llave pública, ha puesto su llave pública disponible en su página web (HTTPS).
  2. Usted descarga su llave pública.
  3. Usted cifra su mensaje secreto usando la llave pública de Aarav y se lo envía.
  4. Sólo Aarav puede decodificar tu mensaje secreto porque es el único con la llave privada correspondiente.

Pretty Good Privacy se ocupa principalmente de las minucias de la creación y el uso de llaves públicas y privadas. Puede usarlo para crear un par de llaves públicas/privadas, proteger la llave privada con una contraseña y utilizarla y su llave pública para firmar y cifrar texto.

Metadatos: Lo que no puede hacer el cifrado de llave pública anchor link

El cifrado de llave pública consiste en asegurarse de que el contenido de un mensaje sea secreto, genuino y sin alteraciones. Pero esa no es la única preocupación de privacidad que pueda tener. Como hemos notado, la información sobre sus mensajes puede ser tan reveladora como su contenido (Ver "metadatos"). (See “metadata”).

Si intercambia mensajes cifrados con un disidente conocido en su país, puede estar en peligro por simplemente comunicarse con él, incluso si esos mensajes no son decodificados. En algunos países puede ser encarcelado simplemente por negarse a descifrar mensajes cifrados.

Disimular que te estás comunicando con una persona en particular es más difícil. En el ejemplo de PGP, una forma de hacer esto es que ambos usen cuentas de correo anónimas, y accedan a ellas usando Tor. Si lo hace, PGP seguirá siendo útil, tanto para mantener sus mensajes de correo electrónico privados de los demás, como para probarse mutuamente que los mensajes no han sido manipulados.

Ahora que ha aprendido sobre cifrado de llave pública, pruebe a utilizar una herramienta de cifrado de extremo a extremo como Signal para iOS o Android.