Cómo cifrar carpetas en nuestro disco con eCryptfs

[h]Cómo cifrar carpetas en nuestro disco con eCryptfs[/h]
https://media.giphy.com/media/l3vRbQpvr65zPr8DS/giphy.gif
Hoy vamos a ver los pasos a seguir para crear una carpeta cifrada en nuestro sistema para proteger documentos personales gracias eCryptfs.
https://www.wifi-libre.com/img/members/3/eCryptfs_1.png
Se trata de un programa 100% libre para distribuciones GNU-Linux. Está muy empelado. Forma parte del kernel Linux desde su versión 2.6.19.
Es la solución adoptada, por ejemplo, en chrome OS. Ubuntu y Linux Mint (entre otros) para cifrar carpetas mediante las opciones dedicadas nativas.
eCryptfs es la continuación del proyecto Cryptfs y está activamente mantenido por miembros de Canonical (la fundación que hace Ubuntu)
Es diferente de los programas para cifrar particiones así que no necesitamos crear una partición y se puede fácilmente mover la carpeta cifrada en otra partición u otro sistema.
[h]Funcionamiento[/h]
Al formar parte del kernel linux lo teneís en los repositorios de vuestra distribución.
En sistemas debian y derivados hacéis:

sudo apt install  ecryptfs-utils

Una vez instalado creamos una carpeta. No usen una carpeta ya existente: Los ficheros que se encuentran en esta carpeta no se cifrarán, la carpeta debe ser vacía.

mkdir karpeta

En la misma consola, ahora ciframos la carpeta de este modo

sudo mount -t ecryptfs ~/karpeta/ ~/karpeta/

El prompt nos va a hacer algunas preguntas, debemos
[list=1]
]Elegir una contraseña Passphrase: /]
*]Elegir un tipo de cifrado [code]Select cipher:

  1. aes: blocksize = 16; min keysize = 16; max keysize = 32
  2. blowfish: blocksize = 8; min keysize = 16; max keysize = 56
  3. des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
  4. twofish: blocksize = 16; min keysize = 16; max keysize = 32
  5. cast6: blocksize = 16; min keysize = 16; max keysize = 32
  6. cast5: blocksize = 8; min keysize = 5; max keysize = 16
    Selection [aes]:
    [/code]/*]
    *]Un tipo de llave[code]Select key bytes:
  7. 16
  8. 32
  9. 24
    [/code]/*]
    ]La pregunta que sigue es para saber si autorizan los ficheros no cifrados en la carpeta cifrada, por defecto la respuesta es no y no veo gran sentido en responder sí Enable plaintext passthrough (y/n) [n]: /]
    ]Luego es para cifrar también los nombres de los ficheros Enable filename encryption (y/n) [n]:/]
    *]Finalmente les propondrá montar la carpeta para empezar a trasladar ficheros[code]Attempting to mount with the following options:
    ecryptfs_unlink_sigs
    ecryptfs_key_bytes=32
    ecryptfs_cipher=aes
    ecryptfs_sig=a1094bae08689b4f
    WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
    it looks like you have never mounted with this key
    before. This could mean that you have typed your
    passphrase wrong.

Would you like to proceed with the mount (yes/no)? :
[/code]/*]
]Podemos elegir añadir un fichero para no tener a la advertencia anterior en el futuro Would you like to append sig [a1094bae08689b4f] to [/root/.ecryptfs/sig-cache.txt] in order to avoid this warning in the future (yes/no)? :
/
]
[/list]
Ya tenemos a la carpeta cifrada y montada.

Not adding sig to user sig cache file; continuing with mount. Mounted eCryptfs
Podemos pegar ahí los documentos que queremos proteger.
Podéis ver a continuación que la carpeta sale en el gestor de archivos cómo si fuese una partición o un disco/USB montado
https://www.wifi-libre.com/img/members/3/eCryptfs_2.png
Ahora desmonto la carpeta para ver si los ficheros son correctamente cifrados:

sudo umount ~/karpeta

Podéis ver que ya no hay el volumen “karpeta” montado y que no puedo abrir el PDF que he cifrado
https://www.wifi-libre.com/img/members/3/eCryptfs_3.png
Para volver a montarlo entramos el mismo comando que antes, entramos la contraseña y el mismo cipher y la misma longitud de llave

[code]kcdtv@libr3:~$ sudo mount -t ecryptfs ~/karpeta/ ~/karpeta/
Passphrase:
Select cipher:

  1. aes: blocksize = 16; min keysize = 16; max keysize = 32
  2. blowfish: blocksize = 8; min keysize = 16; max keysize = 56
  3. des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
  4. twofish: blocksize = 16; min keysize = 16; max keysize = 32
  5. cast6: blocksize = 16; min keysize = 16; max keysize = 32
  6. cast5: blocksize = 8; min keysize = 5; max keysize = 16
    Selection [aes]: 1
    Select key bytes:
  7. 16
  8. 32
  9. 24
    Selection [16]: 2
    Enable plaintext passthrough (y/n) [n]: n
    Enable filename encryption (y/n) [n]: n
    Attempting to mount with the following options:
    ecryptfs_unlink_sigs
    ecryptfs_key_bytes=32
    ecryptfs_cipher=aes
    ecryptfs_sig=a1094bae08689b4f
    WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
    it looks like you have never mounted with this key
    before. This could mean that you have typed your
    passphrase wrong.

Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [a1094bae08689b4f] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : no
Not adding sig to user sig cache file; continuing with mount.
Mounted eCryptfs
kcdtv@libr3:~$
[/code]
Ahora puedo abrir el PDF y ha vuelto aparecer la carpeta “karepta” como un volumen montado;
https://www.wifi-libre.com/img/members/3/eCryptfs_4.png
Esto es todo.
Con eCryptfs tenemos a una forma segura y potente para cifrar documentos a dentro de una partición no cifrada.
La gran ventaja es la portabilidad, podemos mover esta carpeta dónde queremos y montar la dónde sea.
Fuentes
[list=*]
]eCryptfs (página oficial)/]
] Create an Encrypted Private Directory with eCryptfs @ Tombuntu/]
]How To Encrypt Directories With eCryptfs In Linux by SK @ OSTechNix./]
[/list]