La mayoría de aplicaciones de mensajería han blindado con este método los mensajes que mandamos a nuestros amigos y familiares, ¿sabéis qué es el cifrado de extremo a extremo y en qué consiste?
La seguridad es una parte fundamental en las nuevas tecnologías. Nuestra vida privada queda guardada en muchas de las aplicaciones que usamos para comunicarnos y si no contamos con una buena protección, cualquiera podría leer nuestras conversaciones.
Entre todas las aplicaciones que podemos encontrar en nuestro móvil, seguro que hay una o varias que sirven para mandarnos mensajes privados: WhatsApp, Telegram, Instagram, etc. Hace años, este tipo de herramientas de mensajería instantánea eran un caos, había muchísimas formas de acceder a la cuenta de otra persona, ver sus mensajes, cambiar su estado. La solución fue el cifrado de extremo a extremo.
WhatsApp, por ejemplo, acumulaba un escándalo tras otro con la cantidad de fallos de seguridad que sufría todos los años, por lo que decidieron blindar su aplicación y que nadie pudiera acceder a los mensajes sin el permiso de otra persona.
Desde el año 2014, la compañía confió en Open Whisper System y en un mecanismo de seguridad similar al de Textsecure. La clave está en no usar servidores centralizados y controlados por el personal de WhatsApp, sino que cada código cifrado se guarda en nuestro propio dispositivo.
El sistema emite un código por cada nuevo mensaje que mandamos y que sólo se pueden descifrar en el dispositivo de la persona que lo manda y en el de la persona que lo recibe, por eso se llama de extremo a extremo. Es decir, la única manera de ver un mensaje es robar el móvil a esa persona y saber su contraseña.
El problema es que otras herramientas de mensajería no recurren a este protocolo descentralizado, sino que, además de guardar los códigos en el dispositivo, usan servidores donde se guarda toda la información de los usuarios. Si atacarán ese servidor con éxito, podría acceder a nuestros mensajes. Es más, esto también daría fácil acceso a los empleados de esa compañía.
Intercambio de claves
En un sistema E2EE, las claves de cifrado solo deben ser conocidas por las partes que se comunican. Para lograr este objetivo, los sistemas E2EE pueden encriptar datos usando una cadena de símbolos preestablecidos, llamada secreto precompartido (PGP), o un secreto de una sola vez derivado de dicho secreto precompartido (DUKPT). También pueden negociar una clave secreta en el lugar usando el intercambio de clave Diffie-Hellman (OTR).
Uso moderno
A partir de 2016, los sistemas de comunicaciones típicos basados en servidor no incluyen el cifrado de extremo a extremo. Estos sistemas solo pueden garantizar la protección de las comunicaciones entre clientes y servidores, lo que significa que los usuarios deben confiar en los terceros que ejecutan los servidores con los textos originales. El cifrado de extremo a extremo se considera más seguro porque reduce el número de partes que podrían interferir o romper el cifrado. En el caso de la mensajería instantánea, los usuarios pueden usar un cliente de terceros para implementar un esquema de cifrado de extremo a extremo a través de un protocolo que no sea E2EE.
Autenticación
La mayoría de los protocolos de encriptación de extremo a extremo incluyen alguna forma de autenticación de punto final específicamente para prevenir ataques MITM. Por ejemplo, uno puede confiar en las autoridades de certificación o en una red de confianza. Una técnica alternativa es generar hashes criptográficos (Huella digital de clave pública) basados en las claves públicas de los usuarios que se comunican o las claves secretas compartidas. Las partes comparan sus huellas digitales de clave pública utilizando un canal de comunicación externo (fuera de banda) que garantiza la integridad y la autenticidad de la comunicación (pero no necesariamente el secreto), antes de comenzar su conversación. Si las huellas dactilares coinciden, en teoría, no hay intermediario.
Cuando se muestran para inspección humana, las huellas digitales de clave pública suelen codificarse en cadenas hexadecimales. Estas cadenas se formatean en grupos de caracteres para su legibilidad. Por ejemplo, una huella digital MD5 de 128 bits se mostraría de la siguiente manera:
43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8
Comentários