Cifrado asimétrico con GPG en Linux
Generando un nuevo par de claves
Utilizamos la siguiente línea para generar un nuevo par de claves
- gpg –gen-key
Seleccionamos el tipo de clave, RSA y RSA o DSA y Elgamal nos darán la opción de firmar y cifrar.
Después escogemos el tamaño de la clave, en este caso nos indica que el tamaño debe ser entre 1024 y 4096 bits de longitud. Cuanto mas larga sea la clave mas segura será ante ataques por fuerza bruta.
Para terminar escogemos el periodo de validez de la clave.
Además de los parámetros de la clave damos un identificador de usuario para asociar la clave que se está creando con un usuario real.
Una vez configurados los pasos para la creación de las claves confirmamos los parámetros introducidos y se abrirá una ventana donde nos va a solicitar que introduzcamos una clave que sera la que utilicemos como clave privada.
En la siguiente imagen podemos ver como se a confirmado la creación de las claves indicándonos su clave de identificación y parámetros.
Subiendo la clave pública al servidor RedIRIS
Con el comando gpg --list.key comprobamos el listado de claves que tenemos
- gpg --list.key
Con el comando --send-key enviamos la clave publica al servidor seguido de --keyserver y la dirección del servidor y el identificador de la clave.
Este método nos permitirá compartir la clave con otra persona y enviarle mensajes cifrados.
- gpg --send-key --keyserver pgp.rediris.es C11F6EC1
Para comprobar que nuestra clave esta almacenada correctamente en el servidor accedemos a la pagina de RedIRIS.
En el área de texto podemos utilizar para la búsqueda, ademas del identificador, el correo que utilizamos o el nombre.
En este caso utilizo el identificador.
El resultado de la búsqueda seria el siguiente donde podemos comprobar que nuestra clave esta correctamente al servidor.
Uso de claves de cifrado con otro usuario
Ahora vamos a continuar recuperando la clave publica de otro usuario para poder recibir mensajes cifrados suyos.
Para ello vamos a utilizar el comando gpg --keyserver más el nombre del servidor donde se aloja la clave, en este caso pgp.rediris.es y seguido del comando --recv-key junto con el identificador de la clave que vamos a solicitar.
- gpg --keyserver pgp.rediris.es --recv-key 883e76ab
Listamos para comprobar que la hemos descargado correctamente.
- gpg --list-keys
Vamos a cifrar un mensaje con la clave publica del usuario que acabamos asociar su clave.
Para ello creamos primero un documento de texto con e contenido que queramos cifrar, el documento se llamara documentoGPG.txt creado con el editor de texto vim.tiny.
Utilizamos el comando gpg --output seguido del nuevo nombre que le daremos al documento con la extension .gpg y el comando --encrypt para indicar que se encripte.
Despues con --recipient escribimos el correo asociado a la clave publica que vamos a utilizar junto con el nombre original del archivo que se va a cifrar.
- gpg --output GPG.gpg --encrypt --recipient idlcm8@gmail.com documentoGPG.txt
Listamos el directorio y observamos que se a creado el archivo cifrado.
Este archivo esta listo para enviárselo al destinatario de la clave publica que lo descifrara con su clave privada.
Para finalizar realizamos el caso opuesto con un archivo recibido por el usuario anterior que previamente se descargo nuestra clave publica y la ha utilizado para enviarnos un mensaje cifrado.
El archivo recibido por correo se llama encriptado.gpg y utilizamos el comando gpg --decrypt para desencriptarlo.
- gpg --decrypt encriptado.gpg
A continuación se habré una ventana donde se solicita que introduzcamos nuestra clave privada para descifrar el mensaje.
Si intentamos abrirlo de una forma común sin utilizar la clave de cifrado el resultado seria el siguiente:
No hay comentarios:
Publicar un comentario