Cifrando archivos en Windows con TrueCrypt, BitLocker y en GNU/Linux con Cryptsetup
By: Date: enero 16, 2015 Categories: Hackers, Tools y Retos

Cifrar la información valiosa para almacenarla en dispositivos muy fácilmente portables es importante debido a la facilidad con la que puede extraviarse estos dispositivos.

Aunque el cifrado puede hacerse directamente en el hardware ya sea el disco duro o la memoria USB aquí se muestra como crear un volumen almacenado dentro de un archivo, esto permite transmitir y copiar el archivo a otros dispositivos de memoria USB fácilmente y aunque esto ultimo parece una medida insegura si fuera copiado por alguien mas esta persona no podría abrir el contenido debido a que está cifrado y no conoce la contraseña

Este tipo de cifrado no cifra archivo por archivo, funciona en dispositivos de bloques como lo es un disco duro, en realidad lo que se cifra es el dispositivo en o el archivo en bloques, significa que lo que se cifra es todo lo que está encima del dispositivo incluyendo el sistema de archivos, el árbol de directorio, la tabla de inodos, en el caso de Windows la tabla de archivos ( FAT ) y si esta cifrando el sistema de archivos al mismo tiempo cifra todo lo que se almacena en el como son directorios, archivos y el contenido de los mismos. No queda ni un solo byte sin ser cifrado.

A esto se le llama Cryptoloop, es como el loopback tradicional ¿ que es un loppback ? cuando montas un archivo ISO de CD o DVD en tu maquina sea Windows o GNU/Linux y se comporta como si fuera el CD o DVD desde el archivo sin tener que grabarlo previamente en un disco físicamente.

Cryptoloop es igual, trabajamos con un archivo contenedor del sistema de archivos, pero antes de que la información de los archivos sea escrita en el archivo ISO es cifrado, cuando físicamente se ha almacenado ya esta segura y no puede ser revertida si no se tiene la contraseña o clave de cifrado.

Cifrando en Windows

A mi no me gusta usa MS/Windows sin embargo eventualmente me veo obligado a usarlo, asi que debo tener alguna medida de seguridad. En Windows uso TrueCrypt, hace mas de 6 meses fue retirado. La causa nadie la conoce con certeza. Algunos dicen que la NSA nunca pudo romper la seguridad incluida en esta herramienta, por lo que todo lo que se cifra con ella queda lejos del alcance de cualquier gobierno en el mundo incluido USA. Asi que existen las leyendas urbanas de que dieron con los programadores que se habían mantenido anónimos y los obligaron a abandonar el proyecto y en la página WEB dejaron un mensaje pidiendo que usen BitLocker de Microsoft como sustituto de TrueCrypt. Yo no usaría para mi mismo Bitlocker, sin embargo también mostrare como se crean las unidades cifradas en archivos usando bitlocker , aunque no confió en Microsoft ni en las herramientas privativas es mejor que nada y dejar información sin cifrar

Aun conservo una copia limpia del instalador de TrueCrypt , dejo aquí el instalador, si estas en Windows seria tu mejor apuesta. Descargar TrueCrypt

Cifrando en GNU/Linux

En GNU/Linux el kernel de la serie 2.6.x incluyó nuevas Apis para facilitar el cifrado, estas Apis son accesibles mediante el comando cryptsetup. Con esta herramienta se puede cifrar el dispositivo de disco duro o USB o cifrar un archivo que se comporte como dispositivo de bloques.

Para crear el volumen en archivo, primero se tiene que crear el archivo, con el comando dd se puede realizar esta función.

Para los ejemplos de Windows y de Linux se han hecho volúmenes de 512 MB

dd if=/dev/zero of=cifrado.iso bs=1048576 count=512

Ahora se debe cifrar el archive “cifrado.iso” , pedirá una clave o contraseña para cifrar el contenido.

cryptsetup -v luksFormat cifrado.iso

Ahora se debe crear el Cryptoloop para que pase por el proceso de cifrado cuando se hagan operaciones en el archivo.

cryptsetup open --type luks cifrado.iso cifrado

El ultimo parámetro “cifrado” es el nombre del dispositivo mapeado y es sobre el que se tiene que trabajar, el comando hace una liga o loopback de /dev/mapper/cifrado a el archivo cifrado.iso, de esta forma todo lo que le hagamos al /dev/mapper/cifrado se almacena en cifrado.iso pero obviamente cifrado.

Asi que ahora tenemos un dispositivo cifrado pero no tiene formato, podríamos darle cualquier formato, ext2, ext3, fat,ntfs, etc, etc, el que sea lo podemos tratar como cualquier disco duro, para este ejemplo le daré formato de XFS

mkfs.xfs /dev/mapper/cifrado

Finalmente puedo montar /dev/mapper/cifrado como si fuera un disco duro o una memoria USB en Linux, todo lo que sea almacenamos en él se está almacenando en cifrado.iso pero esta información solo será accesible para quien tenga la clave

Montando…

mount /dev/mapper/cifrado fs

Para desmontar y cerrar los procesos de cifrado

umount /dev/mapper/cifrado
cryptsetup remove /dev/mapper/cifrado

Como notaste, la única explicación de cómo hacerlo detalladamente la hice para GNU/Linux, esto es porque yo soy un usuario 100% Linux que piensa que Windows es para jugar en el mejor de los casos. Sin embargo para los que usan Windows para trabajar… en el siguiente video dejo una demostración de cómo cifrar sus archivos en contenedores de archivo usando programas como TrueCrypt , Bitlocker y por que no cryptsetup en Linux.

Si siente paranoia de usar Bitlocker. Algo compatible con Luks que es lo que usa Cryptsetup pero en Windows es FreeOTFE, no lo demuestro aquí porque tengo TrueCrypt y nunca he probado FreeOTFE seriamente.

Deja un comentario

Tu dirección de correo electrónico no será publicada.