PrivacyTools.io

Capítulo de cifrado avanzado

Capítulo de cifrado avanzado

Lo sé, ya he tratado distintas áreas del cifrado con diversos niveles de detalle. Pero creo que un aspecto que necesita destacarse aún más es un punto que planteé un poco más arriba. “Cuando estás literalmente luchando por tu vida en internet, NUNCA deposites toda tu confianza en una sola empresa o servicio”. Esto se aplica también al cifrado en todos los niveles. Digamos que tienes una carpeta con 6 o 7 archivos altamente secretos dentro y necesitas asegurarte de que esta carpeta esté protegida de todas las formas de compromiso. Querrías asegurarte de que esta carpeta estuviera almacenada en un sistema completamente cifrado y a salvo de miradas indiscretas. Yo personalmente cifraría por completo (FDE) un USB con VeraCrypt y una contraseña de 45 a 50 caracteres. Me aseguraría de que el algoritmo de cifrado fuera en cascada, como AES(Serpent). Luego montaría el USB cifrado y colocaría, digamos, 400 archivos aleatorios (imágenes, archivos .txt cualesquiera, etc.) en el directorio raíz. Después usaría VeraCrypt (o macOS con un .dmg cifrado) para crear un contenedor cifrado en ese mismo USB usando una contraseña distinta de 50 caracteres y 3 archivos de clave seleccionados de las 300 imágenes.

La carpeta que contiene la información sensible se almacenaría entonces dentro del contenedor de VeraCrypt en el USB cifrado. Para atacar esta configuración, primero habría que entrar en el USB atacando VeraCrypt, ya sea por fuerza bruta sobre la contraseña (nada fácil con esa longitud de contraseña) o atacando el cifrado en sí (lo que tampoco va a ocurrir debido al modo en cascada empleado). Dicho sin rodeos: no se va a entrar en el cifrado completo del USB a menos que puedan robar tu contraseña. Además, ese adversario también tendría que entrar después con éxito en el contenedor de VeraCrypt almacenado en dicho USB. Otra hazaña prácticamente imposible debido a la contraseña de 50 caracteres y a la seguridad añadida de usar 3 archivos de clave de un conjunto de 400. ‘apt-get install overkill —fix-missing’

Cuando tomamos este mismo tipo de razonamiento y lo aplicamos a comunicarnos de forma segura con alguien, deberíamos encontrarnos buscando un método que nos permita emplear nuestro propio cifrado por encima del cifrado que proporciona el servicio que usamos para comunicarnos. Idealmente, algo como XMPP (usando OTR y tu propio servidor, por supuesto) con Tor Messenger para mantener las cosas anónimas sería un método bueno y seguro para comunicarse. Además de esto, podríamos escribir nuestros mensajes localmente en un documento .txt y luego cifrar el texto con la clave PGP de la otra persona antes de enviárselo. Un adversario primero tendría que romper OTR (Off-The-Record) o atacar el cliente que usamos Y descifrar los mensajes cifrados con PGP. El protocolo OTR debería hacer uso de perfect forward secrecy para garantizar que, aunque pierdas tu clave privada, no se pueda comprometer ningún mensaje anterior. Sea cual sea la forma de comunicación que uses, yo me aseguraría de que emplee una PFS fuerte y de que tenga una manera fácil de añadir una forma de cifrado por encima de ella (como PGP). Estoy de acuerdo con Snowden cuando dice que Signal es una forma muy segura de comunicarse con alguien. PERO, idealmente uno necesitaría un teléfono de usar y tirar de verdad que no se vincule a su identidad, o tendría que dar su número de teléfono personal a la otra parte. Y hay que poder verificar el código fuente en el dispositivo donde se instala, una función que todavía no está disponible para iOS.

Otro gran problema con el que nos topamos cuando pensamos en comunicarnos de forma segura con alguien es cómo elegimos y desplegamos este “método” de comunicación. Si el FBI, la CIA, el GCHQ u otra organización de renombre sabe que usamos name@myserver.com por XMPP para iniciar nuestras comunicaciones secretas con alguien, saben qué atacar. Sin embargo, si quedamos con alguien en un servidor de TeamSpeak cualquiera, le enviamos por mensaje privado los datos de un servidor IRC cifrado que emplee buen SSL y no registre las conexiones, y luego iniciamos un chat OTR con la persona en ese servidor IRC para intercambiar nombres de usuario de XMPP, huellas OTR e información de claves PGP, estaríamos reduciendo seriamente la posibilidad de que esas organizaciones gubernamentales puedan atacarnos. Como no pueden determinar de forma activa cómo nos comunicamos (si enrutamos todas las conexiones a través de Tor y VPN), hemos usado algo de oscuridad a nuestro favor.