domingo, 4 de noviembre de 2007

Encripta tus archivos

Hay dos tipos de criptografía en el mundo: La que evita que tu hermana pequeña lea tus archivos, y la criptografía que evitará a los grandes gobiernos acceder a tus archivos. Este libro es sobre el último.
-- Prefacio a Applied Cryptography by Bruce Schneier

¿Qué pasaría si hoy te roban tu portátil o acceden a tu disco duro? ¿A qué información sensible podrían acceder? La encriptación está a la orden del día: Para correo se usa GPG (equivalente al comercial pgp); para protocolos https se usa SSL; Para wifi se usan diferentes algoritmos (WEP, WPA, WPA2) con diferentes encriptaciones como RC4, DES, AES o TKIP. Otros algoritmos menos seguros se usan hoy en día como hash de integridad de archivos (muy usado por usuarios en internet, tamién por eMule) de hecho el MD5 se usa en Linux para comprobar que la clave de usuario introducida es correcta (en principio, el sistema no almacena tu clave, sino el hash de tu clave, de forma que nadie encontrará tu contraseña escrita dentro de tu disco duro). Cuando introduces tu contraseña se crea el hash y si coincide con el introducido te deja entrar. Ya dedicaré otros posts a encriptación gpg y md5sum. Si te interesa la criptografía te recomiendo un buen libro en español de criptografía: Criptografía y seguridad en computadores [PDF] de Manuel J. Lucena López.

Par encriptar archivos bajo Linux, existe un programa llamado EncFS que encripta el contenido de una carpeta. Este tipo de encriptación se usa principalmente para ataques Off-line ( p.ej. robo del portátil, o pérdida de las copias de seguridad, acceso de otras personas a tu ordenador...).
Si tu solución más simple es "quitar permisos de acceso" has de saber que eso sólo sirve para tu SO, no para sistemas operativos ajenos, como por ejemplo un LiveCD. Con el LiveCD puedes acceder a todos los archivos de los usuarios tanto de Linux como de Windows, a no ser que estén cifrados. Y es por ésto que le dedico este post.

Aunque el kernel linux tiene una opción de encriptación de particiones(*) (incluso encripta la swap), el programa que vamos a ver encripta archivos.

Usar el programa es fácil. Primero lo instalaremos.
$ sudo apt-get install encfs

Ahora hay que cargar el módulo fuse (lsmod), es posible que ya lo tuvieras cargado.
$ sudo modprobe fuse

Ahora crea la carpeta cifrada (~/.secreto) y la carpeta con la que podrás trabajar normalmente (~/secreto). Puesto que la carpeta cifrada es ilegible, por comodidad la he creado oculta.
$ mkdir ~/.secreto ~/secreto

Ahora comenzamos a usar el programa:
$ encfs ~/.secreto ~/secreto

La primera vez el programa dice:
rutrus@Rutrus:~$ encfs ~/.secreto ~/secreto
Creando nuevo volumen cifrado.
Por favor, elige una de las siguientes opciones:
 pulsa "x" para modo experto de configuracion,
 pulsa "p" para modo paranoia pre-configurado,
 cualquier otra, o una linea vacia elegira el modo estandar.
?>

Seleccionada configuración Estándar.

Configuración finalizada. El sistema de ficheros a ser creado tiene
las siguientes propiedades:
Cifrado del sistema de ficheros: "ssl/blowfish", versión 2:1:1
Codificacion del nombre de fichero: "nameio/block", versión 3:0:1
Tamaño de la llave: 160 bytes
Tamaño de Bloque: 512 bytes
Cada fichero contiene una cabecera de 8 bytes con datos IV únicos.
Nombres de fichero encodeados usando el modo IV de encadenamiento.

Ahora tendrás que introducir una contraseña para tu sistema de ficheros.
Necesitaras recordar esta contraseña, dado que no hay absolutamente
ningún mecanismo de recuperación. Sin embargo, la contraseña puede ser cambiada
más tarde usando encfsctl.

Nueva contraseña Encfs:
Verifique la contraseña Encfs:
rutrus@Rutrus:~$


De ahora en adelante la carpeta cifrada estará montada en ~/secreto y será legible. Los archivos que arrastremos a dicha carpeta se copiarán (no se moverán). Todos los cambios que hagamos en dicha carpeta pasarán a su homóloga cifrada. Para desmontarla haremos:
$ fusermount -u ~/secreto
Dicha carpeta estará vacía. La carpeta ~/.secreto tendrá los archivos encriptados (incluso los nombres y extensiones).

(*) Si estás interesado en otros sistemas de cifrado para particiones y otras unidades de disco como USB, aquí te dejo unos enlaces:
[1] [2] [3] [4] [5] [6]

Existen muchos programas equivalentes, pero éste es de lo mejor que hay (completo, seguro y sencillo). En los 6 enlaces que he puesto para particiones también existe la posibilidad de usar algunos de esos programas para archivos.

Diversas fuentes de este post:
[1] [2] [3] [4] [5]

No hay comentarios: