Viernes, 05 de Septiembre de 2025
Diario de Economía de la Región de Murcia
OPINIÓN¿Cómo funcionan los sistemas de cifrado de clave pública? – III – Herramientas
  • Buscar
Aquilino García

¿Cómo funcionan los sistemas de cifrado de clave pública? – III – Herramientas

Un análisis profundo del cifrado de extremo a extremo


Resumen sobre lo anteriormente publicado: Uso de criptografía de clave pública

 

La criptografía de clave pública le permite cifrar y enviar mensajes de forma segura a cualquier persona cuya clave pública conozca. Es mejor que cualquier otro sistema de cifrado como el cifrado simétrico. Es necesario cifrar tanto los equipos que se comunican en reposo (carpetas u unidades), como el mensaje enviado/recibido de extremo a extremo.

 

Si otros conocen tu clave pública:

 

  • Pueden enviarte mensajes secretos que sólo tú puedes decodificar usando tu clave privada correspondiente.

 

  • Puedes firmar tus mensajes con tu clave privada para que los destinatarios sepan que los mensajes solo podrían haber venido de ti.

 

  • Hoy en día, las aplicaciones de mensajería manejan sus claves públicas y privadas y tienen un mecanismo más fácil de usar para verificar esas claves, lo que facilita que cualquier persona use criptografía de clave pública sin siquiera darse cuenta de que la está usando.

 

Y si conoces la clave pública de otra persona:

 

  • Puedes decodificar un mensaje que firmaron y saber que realmente proviene de ellos.

 

[Img #9885]

 

La criptografía de clave pública se vuelve más útil cuando más personas conocen su clave pública. Puedes compartir tu clave pública con cualquiera que quiera comunicarse contigo, no importa quién la vea.

 

La clave pública viene emparejada con un archivo llamado clave privada. Puedes pensar en la clave privada como una clave real que debes proteger y mantener segura. Su clave privada se utiliza tanto para cifrar como para descifrar mensajes.

 

Si su clave privada se elimina accidentalmente de su dispositivo, no podrá descifrar sus mensajes cifrados. Si alguien copia su clave privada (ya sea mediante acceso físico a su computadora, malware en su dispositivo, o si accidentalmente comparte su clave privada), otros pueden leer sus mensajes cifrados. Pueden hacerse pasar por ti y firmar mensajes afirmando que fueron escritos por ti.

 

No es raro que los gobiernos roben claves privadas de las computadoras de personas importantes (quitándoles las computadoras o instalándoles malware mediante acceso físico o ataques de phishing). Esto deshace la protección que ofrece la criptografía de clave privada.

 

Esto es como decir que tienes una cerradura imposible de abrir en tu puerta, pero alguien puede robarte la llave, copiarla y luego volver a meterla en tu bolsillo. Entonces podrían entrar a tu casa sin abrir la cerradura.

 

Esto nos lleva de nuevo a su plan de seguridad: determine cuáles son sus riesgos y abordelos adecuadamente. Si cree que alguien se tomaría grandes molestias para intentar obtener su clave privada, es posible que no desee utilizar una solución en el navegador para el cifrado de extremo a extremo. En su lugar, puede optar por almacenar su clave privada en su propia computadora o teléfono, en lugar de en la computadora de otra persona (como en la nube o en un servidor).

 

Cifrado de clave pública en la práctica: el doble trinquete de Signal

 

Con el tiempo, los protocolos de mensajería han evolucionado para ofrecer propiedades adicionales para mejorar la seguridad y la usabilidad. Esto ha cambiado la forma en que todos interactuamos con el cifrado a lo largo de los años, pasando de una experiencia transparente pero torpe a algo que sucede en segundo plano sin que nos demos cuenta.

 

Un ejemplo de esto es el algoritmo de doble trinquete “de Signal” Para comprender mejor cómo funciona esto, deberíamos comenzar revisando algunos detalles clave de protocolos anteriores.

 

Privacidad bastante buena (PGP)

 

PGP es una aplicación única de cifrado asimétrico y cifrado simétrico, y normalmente se utiliza para cifrar correo electrónico en un contexto de mensajería. Con PGP, se utiliza cifrado asimétrico para cifrar una clave simétrica, que luego se utiliza para cifrar un mensaje.

 

PGP permite la comunicación asincrónica, pero un compromiso de clave única revelaría el contenido de todos los mensajes, pasados y futuros. Entonces, si alguien obtuviera acceso a tu clave, obtendría acceso a todos los mensajes que hayas enviado (o enviarás).

 

PGP ya no es tan popular como solía ser, pero algunas aplicaciones de mensajería utilizan un tipo de cifrado similar. Estas aplicaciones aún tienen los problemas de recuperación y confidencialidad de archivos que tiene la versión de correo electrónico.

 

OTR

 

OTR popular add-on de los primeros clientes de chat de mensajería, como Pidgin. Se utilizaba para comunicarse en servicios como Google Hangouts. Para que OTR funcione, ambas partes deben estar en línea para configurar una sesión, lo que limita su uso.

 

Con OTR, cada mensaje de ida y vuelta es una “sesión” Esto significa que si se filtra una sola clave, solo se comprometen los mensajes de esa sesión, no nada antes o después. Si se enviaran varios mensajes de un usuario seguido, una fuga de clave los revelaría todos, pero no nada anterior o posterior. El intercambio de claves se agrega a los mensajes, por lo que constantemente se vuelven a derivar nuevas claves.

 

Desde una perspectiva de seguridad, esto es genial porque si un atacante accediera de alguna manera a esa clave, solo tendría acceso a un único mensaje. Pero la usabilidad de OTR no es muy buena. Dado que ambas partes deben estar en línea, no es bueno para la mensajería asincrónica incluso después de la configuración porque la nueva clave solo se cambia después de que ambas partes hayan enviado el mensaje. Esto significa que el material clave debe conservarse hasta que la otra parte responda. Además, el seguimiento de mensajes fuera de orden —la función de los clientes de mensajería que mantiene los mensajes en orden lineal según el momento en que se envían y reciben— se vuelve complicado. El orden de los mensajes no sólo es importante para la legibilidad de la conversación, sino que también es crucial para que el cifrado realmente funcione. Si un mensaje se envía fuera de orden, es posible que la aplicación del receptor no sepa qué clave usar para descifrar el mensaje.

 

Protocolo de mensajería instantánea Silent Circle (SCIMP)

 

SCIMP fue un protocolo provisional pionero en el uso de un “doble trinquete” Un trinquete doble es cuando cada remitente tiene su propia cadena personal de llaves, cada una se deriva de la anterior. Esto significa que el material clave se puede descartar de forma segura una vez que se envía un mensaje.

 

Imagínese un trinquete. Cada vez que giras el trinquete, se crea una nueva clave para cada mensaje. Si un atacante obtiene acceso a esa clave de alguna manera, ya no podrá leer ningún mensaje anterior porque una vez enviado el mensaje, el trinquete gira nuevamente para crear una nueva clave.

 

Pero podrían usar esa clave para hacer una copia del trinquete, lo que les permitiría leer todos los mensajes futuros. Ambas personas en una conversación tienen un trinquete personal que gira con cada mensaje.

 

Esto está diseñado para evitar que un atacante vuelva a desplazarse hacia arriba en una conversación para leer los mensajes anteriores, incluso si una persona ha enviado varios mensajes seguidos.

 

SCIMP proporciona “secreto avanzado ,” lo que significa que un compromiso de clave no revelaría mensajes pasados (este nombre es confuso, pero evita que se lean mensajes más antiguos incluso si una clave se ve comprometida en el futuro). Pero SCIMP no proporciona ningún “secreto futuro” ni “recuperación de robo” (se utiliza para evitar que se lean los mensajes enviados después de que una clave se ve comprometida). Además, esperar mensajes desordenados significa conservar ese material clave durante algún tiempo.

 

Algoritmo de doble trinquete de Signal

 

[Img #9884]

 

Signal utiliza una combinación de OTR y SCIMP para admitir mensajería asincrónica. En su blog, Signal explica la filosofía de diseño de la siguiente manera: “Queríamos un trinquete que combinara lo mejor de ambos mundos: lo óptimo adelante secreto que proporciona un trinquete de iteración hash como SCIMP, así como el agradable futuro propiedades de secreto que proporciona un trinquete DH como OTR, con la menor cantidad posible de negativos de ambos”

 

[Img #9883]

 

En Signal, cada persona tiene un trinquete personal estilo SCIMP que gira cuando envía un nuevo mensaje (pero la otra persona no ha respondido). Pero cada vez que se intercambian mensajes de un lado a otro, se crea una nueva sesión, como vimos en OTR.

 

Al integrar ambas tecnologías, un atacante necesitaría descifrar casi todos los mensajes individualmente. Técnicamente, si el usuario A tiene un largo flujo de publicaciones sin que la otra persona B responda y se filtra la clave, el atacante podrá ver cada nuevo mensaje enviado por A hasta que B responda y la sesión avance.

 

El algoritmo de doble trinquete de Signal toma la idea de los llaveros SCIMP —que protegen cada mensaje individual incluso si un usuario está “enviando mensajes de texto dobles”— y los convierte en minicadenas colgando de cada paso en un trinquete OTR. Esto garantiza que la conversación obtenga una nueva clave cada vez que un nuevo usuario responde. Además, reduce los vaivenes necesarios al introducir una tercera cadena “llave raíz”.

 

Una de las grandes innovaciones de Signal fue poder iniciar conversaciones de forma asincrónica mediante un intercambio de claves fuera de línea. Desde que configuré el siguiente mensaje clave de cifrado solo requiere dos pasos y no tres, uno de esos pasos se puede preparar con anticipación y guardar en el servidor de Signal. Las claves secretas relevantes no se crearán hasta que alguien use ese material para realizar un cálculo y derivar su información clave compartida, por lo que es seguro publicarlo previamente. Signal llama a estos “prekeys.” Para obtener una versión menos simplificada, consulte aquí o aquí para la versión postcuántica (evitar ataques cuánticos en mensajería).

 

En otras entregas veremos otras herramientas. Siento ser un poco «técnico», pero si queremos ser rigurosos, tenemos que remangarnos un poco. Hay que eliminar de nuestras Apps herramientas con whatsapp o Telegram que nos espían o permiten nuestro espionaje. Mi correspondencia es inviolable y la correspondencia electrónica tiene que seguir siéndolo.

 

Linkedin: Aquilino García

Con tu cuenta registrada

Escribe tu correo y te enviaremos un enlace para que escribas una nueva contraseña.