GnuPG: Cifrado de datos en GNU Linux

gnupgIr con un portátil para arriba y para abajo es algo bastante común. En el autobús o en el ferrocarril de mi ciudad, una de tantas bañadas por el mar mediterraneo, se ven muchos usuarios de laptops, tanto sean estudiantes que estén acabando un trabajo de última hora para las clases de universidad o comerciales actualizando ofertas o informáticos freelance revisando código. En todos los casos, seguramente, a pesar de que exista la posibilidad de que dicho laptop o portátil sea de su empresa, no pueden faltar las fotos personales, ya sean de las vacaciones, ya sean de la mujer, lo hijos o el novio, o de las mascotas. Por lo tanto, es información sensible, para el usuario de la máquina mucho más importante que los trabajos de la uni o las estadísticas de ventas.

¿Qué podemos hacer para proteger nuestra información?

Qué por despispite nos dejemos la máquina en el sillín del autobús o nos lo roben a punta de navaja es una posibilidad remota, pero que podría pasar. El cifrado es una opción genial para evitar precisamente eso, que cualquiera pueda acceder a lo más preciado que tiene el ser humano, su intimidad.

¿Qué es el cifrado?

El cifrado es una manera que nos permite aumentar la seguridad de un objeto, ya sea una archivo o mensaje mediante su codificación. De ésta manera sólo podremos acceder a su información mediante una clave de cifrado o contraseña.

¿Cómo funciona?

Mediante la criptografía, se crea un algoritmo de cifrado vinculada a una clave, que transforma una serie de datos, para que sean ilegibles, a no ser que tengas la clave secreta de dicho algoritmo.

¿Qué programas de encriptación disponemos los usuarios en GNU / Linux?

GPG es sin duda el mejor programa para encriptación de archivos y mensajes. En éste artículo no nos centraremos en temas técnicos y sesudos.  Para simplifircar digamos que GPG utiliza dos claves, una clave pública y otra clave privada. La clave pública la podremos utilizar para que nuestros amigos o clientes puedan leer los archivos que nosotros les mandemos. La clave secreta sólo la tenemos que tener nosotros y debe de ser secreta. Ambas claves se crean con el programa GPG, y se puede acceder a ellas a través una «passphrase», para nuestra mayor comodidad.

logo-gnupg-light-purple-bgCreamos un par de claves

GPG viene por defecto en Debian, por lo que no nos hará falta instalarlo. Con el siguiente comando generamos el par de claves:

  1. gpg --gen-key

Una vez introducido el comando con el parámetro, veremos una imagen similar a la siguiente:

gpg-debian-linux-1La primera opción es la recomendable, ya que con ella podremos además de cifrar documentos también mensajes de correo electrónico.

A continuación nos pedirá la longitud de la clave. Cuanto más larga sea la clave mejor, pero hará que cuando cifremos el objeto tarde más, al igual que cuando lo descifremos.

gpg-debian-linux-2Usaremos la configuración recomendado que es de 2048 bits.

En la siguiente imagen veremos cómo ahora nos pregunta sobre la caducidad de la clave:

gpg-debian-linux-3Lo recomendable en la mayoría de casos es que caduque al año.  Por lo tanto escribiremos: 1y

A continuación el asistente nos preguntará si todo es correcto, le diremos que sí.  Después nos pedirá una serie de datos personales, que recomiendo que sean reales, ya que si queremos que sea nuestra clave habitual tiene que contener información correcta.

Cuando hayamos introducido todos los datos nos pedirá introducidor una frase a modo de contraseña. Escribe una que no te vayas a olvidar.

gpg-debian-linux-4Puede que el sistema nos devuelva al cabo de unos segundo el siguiente mensaje:

gpg-debian-linux-5La solución es hacer alguna otra tarea mientras se genere la clave.

Al final nos dará las llaves con nuestro fingerprint. Se trata de  una abreviación de todos los caracteres y datos reales de la clave. Se puede utilizar para firmar correos o archivos.

Podemos recuperar la huella con el comando:

  1. gpg --fingerprint

Para que esté accesible por terceros la podemos exportar a un servidor público de llaves. O bien exportarla a un fichero ascii, por si la tenemos que enviar a alguien para su revisión.

Con el comando y parámetros:

  1. gpg --export --armor > ochobitsunbyte-pubkey.asc

En una ventana de comandos quedaría así:

gpg-debian-linux-6

Cifrando ficheros

Hasta ahora hemos explicado la teoría y la instalación, vamos a empezar a encriptar ficheros. La encriptación se realiza usando el parámetro –encrypt y para usar nuestra llave con el parámetro –recipient. Sería así:

  1. gpg --encrypt --recipient [Cuenta Correo] [file]

Para desencriptarlo sería de la siguiente manera:

  1. gpg --decrypt [file]

Realizar cifrado en modo gráfico

Exiten varios programas que facilitan el cifrado en modo gráfico. En la página de gnupg podéis ver una lista.

Nosotros usaremos seahorse.  Para instalarlo sería de la siguiente manera:

  1. #Sistemas basados en Debian
  2. apt-get -y install seahorse
  3.  
  4. #Sistemas basados en RedHat
  5. yum install seahorse

Una vez instalado la ventana de seahorse es la siguiente:

seahorse-debian-linux-1Podríamos importar la llave que hemos creado antes. Pero para ver el proceso desde 0 a nivel gráfico la crearemos desde el principio.

Si marcamos con el ratín sobre el símbolo + nos aparecerá la siguiente ventana:

seahorse-debian-linux-2Usaremos la clave PGP en éste caso.

Se nos abrirá otra ventana, para añadir los datos correspondientes:

seahorse-debian-linux-3En opciones avanzas dejaremos el cifrado RSA con 2048 bits.

En la siguiente ventana, una vez le demos al botón «Crear» será añadir una contraseña:

seahorse-debian-linux-4La generación de la clave es algo lenta. Podéis acelerarla haciendo cosas en la computadora como navegar por internet o mover el ratón.

Cuando acabe ya tendremos la nuestra clave creada:

seahorse-debian-linux-5La forma de utilizar el programa una vez creada la clave es muy sencilla. Simplemente tenemos que buscar el archivo que queramos cifrar y con el botón derecho. En Debian Wheezy con LXDE por defecto no se ve la opción de «cifrar» en el archivo. Para solucionarlo tenemos que instalar el siguiente paquete:

  1. #Sistemas basados en Debian
  2. apt-get -y install seahorse-plugins
  3.  
  4. #Sistemas basados en RedHat
  5. yum install seahorse-plugins

Otro buen programa es GPA

Para instalarlo es apt-get -y install gpa.

Una vez instalado en la ventana veremos todas las llaves pública y privadas que tenemos en el equipo:

gpa-debian-linux-2Cómo vemos todas son públicas menus una, que es la que hemos creados con el programa seahorse.

GPA viene por defecto con un gestor de archivos, que nos irá muy bien para gestionar los archivos de nuestros equipo:

gpa-debian-linux-3

Nota al cierre:

Desde la red pump.io la usuaria Laura Arjona, ha comentado que el termino correcto en castellano es cifrar y no encriptar. Lo apuntamos para siguiente artículos. Gracias Laura.

Espero que el artículo haya sido de vuestro interés. No dudéis en comentar y suscribiros a nuestro web,en el formulario que podéis encontrar  aquí