Dispositivo virtual encriptado

Si queremos guardar datos por ejemplo en nuestro ordenador portatil (o quizás en un llavero USB) y esta información es personal, llevarla directamente en el disco duro sin ningún tipo de protección no es nada recomendable. A pesar de que tengamos nuestro sistema protegido por password, si algún atacante nos roba el protatil podrá extraer el disco duro y obtener la información desde otro ordenador.

En GNU/Linux existe la posibilidad de crear un archivo de tamaño fijo, por ejemplo de 100 MB:

dd if=/dev/zero of=/home/user/crloop bs=1M count=100

Entonces, podemos utilizar este archivo como si de una partición más del sistema se tratase y además hacer que la información que contenga se encuentre encriptada. Esta técnica se suele denominar crypto-loops.

Para conseguirlo en Ubuntu deberemos cargar los módulos:

modprobe loop
modprobe dm-crypt

Y además instalar una aplicación que nos facilitará la tarea:

apt-get install cryptsetup

A continuación podremos ligar nuestro archivo de 100 MB con el dispositivo “/dev/loop0”, indicar que queremos utilizarlo con encriptación (algoritmo AES) de forma transparente (esto hara que el dispositivo se mapee a /dev/mapper/crloop) y finalmente formateamos el contenido:

losetup /dev/loop0 /home/user/crloop
cryptsetup -c aes -y create crloop /dev/loop0
mkfs.ext3 /dev/mapper/crloop

A continuación podemos montar el dispositivo:

mkdir -p /media/cryptovolume
mount /dev/mapper/crloop /media/cryptovolume

En “/media/cryptovolume” tendremos acceso a los 100 MB del archivo y desde el sistema será visto como un directorio más donde poder copiar información. Ahi debemos copiar toda nuestra información sensible.

Para desmontar completamente el dispositivo:

umount /media/cryptovolume
cryptsetup remove crloop
losetup -d /dev/loop0

Y para volverlo a montar:

losetup /dev/loop0 /home/user/crloop
cryptsetup create crloop /dev/loop0
mount /dev/mapper/crloop /media/cryptovolume

Es posible montar estos dispositivos en el arranque especificando la configuración en ‘/etc/crypttab’ e iniciando ‘/etc/init.d/cryptdisks’.

Finalmente solo señalar que también es posible utilizar esta tecnica en particiones enteras, pero la versatilidad que ofrece tenerlo en un fichero es mayor ya que podemos traspasarlo entre ordenadores facilmente.

Autor: marble

This entry was posted in Linux. Bookmark the permalink.

9 Responses to Dispositivo virtual encriptado

  1. Anonymous says:

    La partició ha de ser necessariament ext3 o podria utilitzar per exemple reiser4?

    Gràcies

  2. Anonymous says:

    Deberiais tener una sección en español además de la catalana

  3. jBilbo says:

    No hay ni sección catalana ni española.

  4. Anonymous says:

    y como metes la password para que se automonte? y en caso de meter el loop cifrado sin password… que ventaja tiene ? pq cualquiera podria montarlo cuando nos “roben el portatil” o lo que sea 😕

    Yo he visto automontarlo al primer login por ssh con pam … pero nada más …

    Salu2

    – digitalsec.net

  5. Anonymous says:

    Es facil montarlo con pam al meter la pass por ssh ->

    http://forums.gentoo.org/viewtopic-t-274651-highlight-dmcrypt.html

    Saludos

    !dSR http://www.digitalsec.net

  6. Anonymous says:

    Todo va bien hasta que intento montarlo por segunda vez; al pedirme la contraseña la acepta, pero en el paso siguiente da un error en le reconcimiento del sistema de ficheros (ext3, en mi caso). He comprobado que da igual la contraseña que le proporcione, probando con otras incorrectas pasa lo mismo; así que sospecho que pueda estar por ahí el problema, pero ya lo he probado en dos máquinas siguiendo paso por paso vuestro estupendo artículo y me pasa lo mismo. ¿Tenéis idea de en donde estoy metiendo la pata?

  7. desperado says:

    Utilizo linux por ser partidario del programari lliure, pero soy un desastre con la consola; para más problemas, hago propaganda de las ventajas de linux entre amigos y compañeros, pero no logro convencerles por las dificultades de entrar código. Pregunto: todas estas maniobras para disponer de una unidad encriptada, ¿no se podrían escribir en un programita sencillo de interfaz gráfica? No saben cuánta gente lo agradecería, y sería un paso más en la facilitación de la difusión del programari lliure!
    Gracias y salu2!

  8. marble says:

    Puedes dar una oportunidad a TrueCrypt:

    http://www.truecrypt.org/

    Es una buena alternativa.

  9. Silvio says:

    Gracias por el dato, acabo de probar el TrueCrypt, al menos en windows, con un excelente resultado; mañana probaré en Ubuntu, ¡¡¡gracias!!!

    Saludos!
    Silvio

Leave a Reply