CIFRADO CON GPG

Nivel 1: Crear claves y enviarlas


Señor Turing, estamos preparados.


Este tutorial está pensado para personas usuarias de GNU/Linux, aunque se puede seguir si usas Windows.

Yo usaré comandos por consola por rapidez y sencillez, pero se puede usar el programa GPA de los repositorios de tu distribución. Si estás en Windows, puedes descargar el programa Gpg4win:


https://www.gpg4win.org/download.html


NOTA:

Te recomiendo que a la vez que lees lo pongas en práctica, ya que son pasos guiados muy fáciles pero con opciones que si no estás familiarizado te pueden liar.


Lo primero de todo es crear el par de claves. Desde los programas GPA o Gpg4win (en adelante GUI) se puede hacer desde la opción "Crear clave", "New key" o similar, y seguir las órdenes.


Abrimos una terminal y tecleamos:


gpg --full-gen-key

Nos preguntará por el método de cifrado (opción 1 RSA y RSA por defecto), número de bits (2048 por defecto) y caducidad (opción 0 no caduca por defecto). Recomiendo dejar las opciones por defecto, y en todo caso aumentar los bits a 3072.

Ahora nos pregunta datos personales, como nombre y apellidos, correo electrónico, etc.


OJO: Nuestras claves van asociadas a nuestro mail, así que hay que poner los datos verdaderos.


NOTA: Si aun queremos un plus de seguridad añadiendo nuevos algoritmos de cifrado, en particular el sistema ECC de curva elíptica, deberemos añadir al anterior comando --expert


Luego deberemos generar entropía para generar las claves.


- ¿Qué es eso de la entropía?


Solo tienes que mover el ratón por la pantalla muy rápido y poner un par de películas en el reproductor de video para mantener ocupado al disco duro hasta que finalice el proceso de creación. Con esto se consigue una mejor aleatoriedad en la creación de claves.


Nos preguntará por una contraseña para nuestra clave privada. Esta clave es lo más sagrado que tienes porque de ella va a depender la fortaleza del cifrado, así que te recomiendo una buena contraseña, larga y alfanumérica, y que la recuerdes bien (no la apuntes en un postit pegado en la pantalla).


Finalizado el proceso, podremos verificar que nuestra clave está presente:


gpg -k

   pub   rsa2048 2015-11-28 [SC]
	   11BBB8EE46D00C1F38801D088D8C75185633D221
   uid   [  absoluta ] Pepito Grillo <pepito@grillo.com>
   sub   rsa2048 2015-11-28 [E]


Todo este proceso se puede hacer desde los programas GUI en la opción "Generate keys" o similar, y listar las claves que ya tienes.


Como ves, aparecen números raros, fechas, etc. Ese número tan largo se llama ID de clave, y también puedes usar como ID tu nombre y tu email. Más adelante verás que el ID de clave no hace falta ponerlo entero, solo necesitas los 8 últimos carácteres.

Conforme vayas agregando claves o cuando instales ciertos programas de los repositorios que se acompañen de claves, tu anillo de claves crecerá.



Crear certificado de revocación


Es importante crear inmediatamente este certificado. Si pierdes las llaves o se comprometen podrás invalidar la clave para que nadie pueda usarla por ser insegura.


gpg -o revcert.asc --gen-revoke pepito@grillo.com

He puesto como ID el email, pero podría haber puesto el nombre de usuario o las últimas 8 cifras del número.

Este fichero no debería estar accesible para nadie, así que hay que esconderlo bien.


También puedes crearlo desde los programas GUI mediante "Generate revoked certificate" o similar.


En caso de tener que revocar nuestra clave:


gpg --import revoke.asc

Bien, pues ya estás preparada para usar GPG.



Enviar tu clave a la gente


¿Recuerdas los candados de la entrega anterior? pues ahora toca hacer esas copias del candado y enviarlas a nuestros contactos:


gpg -a --export pepito@grillo.com > miclave.pub

Con esto creas un archivo en modo ASCII (-a) en el que exportarás (--export) tu clave a un archivo llamado miclave.pub.

Como ves he puesto como ID mi email, pero podría haber puesto el nombre o las 8 últimas cifras del número.

El nombre "miclave.pub" es personal, tu puedes poner el que quieras.


También puedes crearlo desde los programas GUI mediante "Export key" o similar.


Realmente es un archivo de texto que puedes abrir y ver cómo está hecho, que es algo así pero más largo:


-----BEGIN PGP PUBLIC KEY BLOCK-----

mQGNBGCnf6cBDADIdNy0gpp9l3Cj+mSbaa
OpnzzKSkqI+9q1EjtuvuNHkT/Vbe5K7smsq
lv/YRaKXWzl3RRs+w===m9bY
-----END PGP PUBLIC KEY BLOCK-----

Este archivo, que es tu clave pública, equivale a la copia del candado, y es el que has de enviar adjunto al correo para que la persona que lo reciba pueda importarlo a su anillo de claves (también llamado llavero) y pueda empezar a mandarte emails cifrados (cajas con candado).


NOTA:

Este archivo no has de modificarlo manualmente, solo enviarlo, o como mucho, copiar y pegar su contenido en una web, por ejemplo. Si lo modificas a mano lo invalidarás.


Si has entendido todo el proceso hasta aquí, puedes pasar al siguiente nivel:


• GPG Nivel 2: Importar y exportar claves


Web GPG


Tags: #gpg #gnupg



◄ Listado del tutorial

◄◄ Inicio



/blog/gpg/