PrivacyTools.io

Cifrado completo del disco: la defensa mas fuerte contra la vigilancia, los ataques y el robo de tus dispositivos

Cifrado completo del disco: la defensa mas fuerte contra la vigilancia, los ataques y el robo de tus dispositivos

Una de tus defensas mas fuertes contra la vigilancia, los ataques y el robo de tus dispositivos es asegurarte de que los datos que contienen esten protegidos. En realidad, la unica forma de lograrlo hoy en dia es asegurarte de que tengan el disco completamente cifrado. El cifrado completo del disco consiste en tomar un disco duro dentro de un dispositivo y cifrarlo por entero, de modo que todos los archivos que contiene se convierten en una forma ilegible (cifrada) y no son accesibles sin la contraseña para descifrarlos. Algunos dispositivos, como los que ejecutan iOS, hacen esto de forma predeterminada. Otros, como los Macbooks y los PC con Linux, necesitan que estas funciones se activen y se configuren. Para empezar, me sumergire directamente en FileVault2, que es el cifrado completo del disco integrado en OSX, porque es lo que uso en mi equipo principal.

FileVault2

Nativo en todas las versiones desde Lion en adelante, FileVault2 es la evolucion del FileVault original que solo cifraba la carpeta de inicio. Utiliza AES de 128 bits en modo XTS para cifrar el disco y se recomienda encarecidamente al configurar un equipo nuevo que tenga Yosemite o superior. Buena estrategia por parte de Apple incluir una seccion dedicada a esto en la configuracion inicial del equipo cuando configuras OSX por primera vez. Cuando configuras FileVault2 por primera vez, requiere que tengas una contraseña en la cuenta de administrador actual y utiliza un generador de numeros aleatorios (con unos 320 bits de aleatoriedad disponibles tras el primer arranque) para crear una clave de recuperacion. Te recomendaria no guardar esta clave de recuperacion con Apple aunque te den la opcion de hacerlo; para ello se usan 3 preguntas y respuestas de seguridad para la autenticacion de recuperacion de esta clave. En su lugar, te recomendaria anotarla en un papel de forma temporal hasta que puedas conservarla de forma cifrada (un archivo comprimido 7zip protegido con contraseña) en algo como tu Tresorit Drive. Una vez que hayas guardado esta clave de forma segura, quema o tritura el papel en el que la anotaste originalmente. Segun algunos hallazgos de este documento: https://www.cl.cam.ac.uk/~osc22/docs/cl_fv2_presentation_2012.pdf, FileVault2 utiliza PBKDF2 x SHA256 y 41.000 iteraciones sobre la contraseña. Esto sirve para impedir el ataque de fuerza bruta contra la contraseña debido al retardo al comparar la contraseña con hash con la que esta almacenada en el sistema. Tampoco parece haber un limite en la longitud de la contraseña, por lo que en teoria se podria crear una de 100 caracteres sin ningun problema mas alla del retardo antes de descifrar. Se desconoce, aunque es improbable, si Apple ha implementado una puerta trasera en FileVault2. Si tienes un Mac, te recomendaria encarecidamente activar el cifrado completo del disco para mantener tus archivos a salvo.

LUKS

Abreviatura de Linux Unified Key Setup, LUKS es la solucion de cifrado completo del disco que utilizan muchos sistemas operativos basados en Linux/GNU. Normalmente utiliza cifrado AES de 256 bits en modo CBC con SHA256 para el hash, pero eso se puede modificar si es necesario para ejecutar otros modos como XTS y reducir el tamaño de clave del algoritmo AES a 128 bits. Como FileVault2 en OSX, LUKS no tiene limite de caracteres para las contraseñas/frases de contraseña, y lo he probado con una frase de contraseña de 212 caracteres compuesta por letras, numeros, espacios y simbolos. El numero de iteraciones de LUKS lo determina la potencia de la CPU de la maquina. En equipos mas lentos, este puede ser mas bajo de lo deseado, por lo que se puede especificar con el comando cryptsetup. El comando seria: cryptsetup luksFormat -i 15000 <target device> y recomendaria a los usuarios con experiencia establecer el valor en no menos de 20.000. Para las personas serias, harias bien en llevar ese numero por encima de 70.000 con una frase de contraseña de mas de 40 caracteres. LUKS ademas es totalmente de codigo abierto, lo que, junto con su uso constante dentro de las distribuciones de Linux, lo convierte en una opcion muy confiable para el FDE.

VeraCrypt

Cuando TrueCrypt murio en 2014, se hablo mucho de los problemas de seguridad de los que los desarrolladores podrian haber estado hablando en su sitio web. ¿Habia realmente problemas de seguridad? ¿Les entregaron una National Security Letter que exigia publicar una puerta trasera en una version de actualizacion? Nadie sabia realmente nada mas alla de la especulacion, y eso hizo que mucha gente empezara a desconfiar. Para Mounir Idrassi, eso significo tomar todos los problemas de seguridad presentes en la version TC 7.1a y corregirlos en un fork del proyecto llamado VeraCrypt. Muchos lo consideran la actualizacion oficial de TrueCrypt, ya que es de codigo abierto y tuvo una auditoria de codigo completada en octubre de 2016 (ver: https://ostif.org/the-veracrypt-audit-results/). Creo firmemente en VeraCrypt, ya que presume de algunas mejoras serias de la seguridad general de TrueCrypt, al tiempo que añade funciones propias que hacen que el programa sea mucho mas seguro de usar.

Para empezar, se deshicieron de RIPMD-160 porque el hash solo tenia 160 bits y lo sustituyeron por SHA-512, que es, por supuesto, el sucesor de SHA-256. Tambien subieron el numero de iteraciones predeterminado en las primeras versiones a 500.000 iteraciones sobre la contraseña, lo que supone una mejora seria, muy seria, respecto a las 1000 que ofrecia TrueCrypt. Recientemente han implementado una funcion llamada valor PIM, que significa Personal Iterations Multiplier, y que no solo nos da un tercer paso de verificacion para descifrar junto a tu frase de contraseña y los archivos de clave, sino que ademas nos permite especificar nuestro numero de iteraciones de una forma unica pero segura. Al especificar un valor PIM para el cifrado del sistema, tomas tu valor PIM y lo multiplicas por 2048. Para el cifrado basado en contenedores tomas 15000 y le sumas tu valor PIM multiplicado por 1000. Esto significa que podrias especificar un PIM de 999 y tener un numero de iteraciones superior a un millon para un contenedor cifrado. Una seguridad seria para que tus archivos reposen dentro.

VeraCrypt tambien ha hecho algunas mejoras graficas respecto a TrueCrypt, se actualiza de forma constante e incluye pequeños ajustes para mejorar la usabilidad, como añadir un medidor de aleatoriedad a la pantalla de “mueve el raton” para mostrar la entropia aleatoria que estas obteniendo. Esto, junto con la reciente auditoria, es muy prometedor para la industria tecnologica. Ahora tenemos un programa de cifrado muy solido en el que confiar para mantener seguras nuestra informacion y nuestros datos.

Desde octubre de 2016, VeraCrypt ha implementado algunos algoritmos nuevos tanto para el cifrado como para el hash, lo que es un paso positivo hacia adelante. Se añadieron Camelia y Kuznyechik como algoritmos de cifrado, pero de forma independiente y sin posibilidad de combinarse como los tres originales, y se añadio Streebog como algoritmo de hash. De cara al futuro, estaria bien ver un algoritmo de cifrado con Camelia y Serpent en equipo. De esa forma podriamos obtener la seguridad añadida de dos algoritmos de cifrado en cascada, sin tener que depender de AES.

Algoritmos de cifrado de VeraCrypt:

  • Serpent
  • AES
  • TwoFish
  • Camellia
  • Kuznyechik

Algoritmos de hash de VeraCrypt:

  • SHA-256
  • SHA-512
  • Whirlpool
  • RIPMD-160
  • Streebog

Dispositivos iOS

Los dispositivos moviles de Apple que ejecutan cualquier version superior a la 8.0 estan protegidos con cifrado completo del dispositivo de forma predeterminada, conocido como “Data Protection” en tus ajustes de codigo. Sin embargo, hay un gran salto del 5C al 5S y todos los dispositivos a partir de ahi que tienen TouchID. Como punto de partida, deberias ponerte al dia sobre los recientes acontecimientos que se han producido entre Apple y el FBI. He publicado enlaces sobre esto mas adelante en el documento, pero deberia ser bastante facil buscarlo en internet. Si tienes uno de los dispositivos listados por encima del 5S (6, 6S, 7, etc.), tendras el mejor cifrado que Apple ofrece actualmente para sus dispositivos. Tu iPhone tendra un chip de hardware en su interior llamado Secure Enclave que gestiona todo el cifrado y los retardos entre intentos de contraseña. Todas las versiones de iOS por encima de la 8 emplean cifrado completo del dispositivo AES de 256 bits de una forma unica que protege todos los datos mas alla de la pantalla de bloqueo. Estos datos, en los dispositivos listados arriba, se aseguran mediante una clave efimera generada en el arranque que se entrelaza con el UUID unico de tu dispositivo para realizar el cifrado. Tu codigo protege esta clave. De forma predeterminada, se sugiere un codigo numerico de 4 digitos al configurar un codigo/TouchID, pero los usuarios tienen la opcion de activar codigos alfanumericos mucho mas largos para una mayor seguridad. Esto es algo que te recomendaria hacer.

Ademas, tu dispositivo hace uso de PBKDF2, como se ha descrito arriba, con un numero de iteraciones lo bastante alto como para generar un retardo de 80 ms en la introduccion del codigo (key stretching). Esto, junto con algunas otras funciones de seguridad, impide de forma eficaz los ataques de fuerza bruta contra un dispositivo con un codigo de mas de 11 caracteres. Las demas funciones de seguridad incluyen un bloqueo tras 5 intentos fallidos de codigo y cada intento posterior, una funcion de borrado de datos que se puede activar para borrar tu dispositivo tras 10 intentos fallidos, y la exigencia de introducir tu codigo en lugar de usar TouchID cuando apagas el dispositivo o si no has desbloqueado la pantalla de bloqueo en 48 horas.

Junto con el cifrado a nivel de dispositivo, que se considera muy seguro (pero aun no al 100 por cien), Apple lanzo en la 9.3 copias de seguridad de iCloud correctamente cifradas que usan el codigo del dispositivo para cifrar la copia de seguridad. Antes de esto, Apple podia entregar las copias de seguridad de iCloud cuando se le presentaba una orden judicial, y un usuario no podia considerarse realmente seguro del todo a menos que desactivara estas copias de seguridad en el dispositivo. Pero ahora toda tu informacion se respalda de forma segura en iCloud y aun tienes la opcion de cifrar copias de seguridad completas en tu equipo. Dicho esto, aconsejaria a los usuarios no respaldar en iCloud aplicaciones que almacenen informacion sensible. Tienes 2 modos de cifrado que protegen las copias de seguridad de tu dispositivo en iTunes si usas cifrado completo del disco en tu equipo, pero solo una linea de defensa con iCloud.