El cifrado de extremo a extremo o de principio a fin (del inglés end-to-end encryption o E2EE), también cifrado de punta a punta, es un sistema de comunicación en el que solo los usuarios que se comunican pueden leer los mensajes. Garantiza que el emisor original lo convierta en un mensaje cifrado y que lo descifre el receptor final. En principio, evita que los espías potenciales, incluidos los proveedores de telecomunicaciones, los proveedores de Internet e incluso el proveedor del servicio de comunicación, puedan acceder a las claves criptográficas necesarias para descifrar la conversación.[1] Los sistemas están diseñados para vencer cualquier intento de vigilancia o alteración porque ningún tercero puede descifrar los datos que se están comunicando o almacenando. Por ejemplo, las empresas que usan cifrado de extremo a extremo no pueden entregar los mensajes de texto de sus clientes a las autoridades.[2]
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).[3]
Uso moderno
A partir de 2016, los sistemas de comunicaciones típicos basados en servidor no incluyen el cifrado de principio a fin. 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.[4] 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.[5]
Algunos sistemas que no son E2EE, como Lavabit y Hushmail, se describieron a sí mismos como que ofrecen cifrado "de extremo a extremo" cuando no lo hacían.[6] Otros sistemas, como Telegram y Google Allo, han sido criticados por no tener encriptación de principio a fin, que ofrecen, habilitada por defecto.[7][8]
Algunos servicios cifrados de copia de seguridad y uso compartido de archivos proporcionan encriptación del lado del cliente. La encriptación que ofrecen aquí no se conoce como encriptación de principio a fin porque los servicios no están destinados a compartir mensajes entre usuarios. Sin embargo, el término "cifrado de extremo a extremo" se usa a menudo como sinónimo de encriptación del lado del cliente.
Desafíos
Ataque de intermediario
El cifrado de extremo a extremo garantiza que los datos se transfieren de forma segura entre los puntos finales. Pero, en lugar de intentar romper el cifrado, un espía puede suplantar a un destinatario del mensaje (durante el intercambio de clave o sustituyendo su clave pública por el del destinatario), de modo que los mensajes se cifren con una clave conocida por el atacante. Después de descifrar el mensaje, el fisgón puede encriptarlo con una clave que comparte con el destinatario real o su clave pública en el caso de sistemas asimétricos, y enviar el mensaje de nuevo para evitar la detección. Esto se conoce como un Ataque de intermediario.[1][9]
Autenticación
La mayoría de los protocolos de encriptación de principio a fin 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.[10] 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.[1]
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
Algunos protocolos muestran representaciones de lenguaje natural de los bloques hexadecimales.[11] Como el enfoque consiste en un mapeo uno a uno entre bloques de huellas digitales de clave pública y palabras, no hay pérdida de entropía. El protocolo puede elegir mostrar las palabras en el idioma nativo (del sistema) del usuario.[11] Sin embargo, esto puede hacer que las comparaciones entre idiomas sean propensas a errores.[12] Para mejorar la localización, algunos protocolos han elegido mostrar las huellas digitales de clave pública como bases de 10 cadenas en lugar de cadenas de lenguaje natural o hexadecimal.[13][12] Las aplicaciones de mensajería modernas también pueden mostrar huellas digitales de clave pública como códigos QR que los usuarios pueden escanear los dispositivos de los demás.[13]
Seguridad en el Punto final
El paradigma de cifrado de extremo a extremo no aborda directamente los riesgos en los puntos finales de comunicación. La computadora de cada usuario todavía puede ser pirateada para robar su clave criptográfica (para crear un ataque MITM) o simplemente leer los mensajes descifrados de los destinatarios tanto en tiempo real como a partir de archivos de registro. Incluso el conducto de comunicación más perfectamente encriptado solo es tan seguro como el buzón del otro extremo.[1] Los principales intentos para aumentar la seguridad del punto final han sido aislar la generación de claves, el almacenamiento y las operaciones criptográficas en una tarjeta inteligente como Project Vault de Google.[14] Sin embargo, dado que la entrada y salida de texto claro aún son visibles para el sistema host, el malware puede monitorear las conversaciones en tiempo real. Un enfoque más robusto es aislar todos los datos confidenciales en una computadora totalmente aislada.[15] PGP ha sido recomendado por expertos para este propósito:
"Si realmente tuviera que confiar mi vida a una pieza de software, probablemente usaría algo menos llamativo: GnuPG, tal vez, corriendo en una computadora aislada encerrada en un sótano."
Sin embargo, como señala Bruce Schneier, Stuxnet desarrollado por EE. UU. e Israel saltó con éxito el espacio aéreo y llegó a la red de la planta nuclear de Natanz en Irán.[16] Para lidiar con la exfiltración clave con malware, un enfoque es dividir la Base de computador confiable detrás de dos computadoras unidireccionalmente conectadas que evitan la inserción de malware o la exfiltración de datos confidenciales con malware insertado.[17]
Puertas traseras
Las empresas también pueden voluntaria o involuntariamente introducir puertas traseras a su software que ayudan a subvertir la negociación de la clave o eludir el cifrado por completo. En 2013, la información filtrada por Edward Snowden mostró que Skype tenía una puerta trasera que permitía a Microsoft entregar los mensajes de sus usuarios a la NSA a pesar del hecho de que esos mensajes estaban encriptados oficialmente de principio a fin.[18][19]
Referencias
- ↑ a b c d «Hacker Lexicon: What Is End-to-End Encryption?». WIRED (en inglés estadounidense). Consultado el 26 de febrero de 2018.
- ↑ McLaughlin, Jenna (21 de diciembre de 2015). «Democratic Debate Spawns Fantasy Talk on Encryption». The Intercept.
- ↑ Chris Alexander, Ian Avrum Goldberg (febrero de 2007). «Improved User Authentication in Off-The-Record Messaging». Proceedings of the 2007 ACM workshop on Privacy in electronic society (New York: Association for Computing Machinery): 41-47. doi:10.1145/1314333.1314340.
- ↑ «End-to-End Encryption». EFF Surveillance Self-Defence Guide. Electronic Frontier Foundation. Consultado el 26 de febrero de 2018.
- ↑ «How to: Use OTR for Windows». EEF Surveillance Self-Defence Guide. Electronic Frontier Foundation. Archivado desde el original el 20 de enero de 2016. Consultado el 26 de febrero de 2018.
- ↑ Grauer, Yael. «Mr. Robot Uses ProtonMail, But It Still Isn’t Fully Secure». WIRED (en inglés estadounidense).
- ↑ «Why Telegram's security flaws may put Iran's journalists at risk». Committee to Protect Journalists. 31 de mayo de 2016. Consultado el 26 de febrero de 2018.
- ↑ Hackett, Robert (21 de mayo de 2016). «Here's Why Privacy Savants Are Blasting Google Allo». Fortune. Time Inc. Consultado el 26 de febrero de 2018.
- ↑ Schneier, Bruce; Ferguson, Niels; Kohno, Tadayoshi (2010). Cryptography engineering : design principles and practical applications. Indianapolis, IN: Wiley Pub., inc. p. 183. ISBN 978-0470474242.
- ↑ «What is man-in-the-middle attack (MitM)? - Definition from WhatIs.com». IoT Agenda (en inglés estadounidense). Consultado el 7 de enero de 2016.
- ↑ a b «pEp White Paper» (PDF). pEp Foundation Council. 18 de julio de 2016. Archivado desde el original el 1 de octubre de 2016. Consultado el 11 de octubre de 2016.
- ↑ a b Marlinspike, Moxie (5 de abril de 2016). «WhatsApp's Signal Protocol integration is now complete». Open Whisper Systems. Consultado el 11 de octubre de 2016.
- ↑ a b Budington, Bill (7 de abril de 2016). «WhatsApp Rolls Out End-To-End Encryption to its Over One Billion Users». Deeplinks Blog. Electronic Frontier Foundation. Consultado el 11 de octubre de 2016.
- ↑ Julie Bort, Matt Weinberger "Google's Project Vault is a tiny computer for sending secret messages", Business Insider, NYC May 29, 2015
- ↑ Whonix Wiki "Air Gapped OpenPGP Key"
- ↑ Bruce Schneier "Air Gaps", Schneier on Security, October 11, 2013
- ↑ https://github.com/maqp/tfc
- ↑ Goodin, Dan (20 de mayo de 2013). «Think your Skype messages get end-to-end encryption? Think again». Ars Technica.
- ↑ Greenwald, Glenn; MacAskill, Ewen; Poitras, Laura; Ackerman, Spencer; Rushe, Dominic (12 de julio de 2013). «Microsoft handed the NSA access to encrypted messages». the Guardian.