GnuPG, también conocido como PGP es un software libre que creado por Phil Zimmermann que permite mantener la privacidad e integridad de los datos. Open PGP es un estándar de cifrado que utiliza criptografía asimétrica, es decir de llave pública para proporcionar un alto nivel de protección de datos.
Permite la autenticación, no repudio de datos y firma electrónica, se puede usar para cifrar correos electrónicos, archivos o el disco duro entero.
Existe la librería que permite ser usada en la mayoría de sistemas operativos como Linux, OS X (GPG Suite), Windows (GPG4Win) y Android, estas librerías permiten el cifrado a modo consola, sin embargo, existen herramientas que usan el estándar y tienen un frontend que es más amigable para el usuario y fácil de usar.
Enlace de descarga de Kleopatra Gpg4win para Windows: https://www.gpg4win.org/
DEMOSTRACIÓN DE USO
Al descargar Gpg4win y realizar la instalación tendremos habilitada la librería Open PGP y una interfaz de usuario llamada Kleopatra la cual nos facilitará todo el proceso de generación de claves, cifrado y firma digital.
- Interfaz Gráfica:
- Generando un par de claves: damos clic en nuevo par de claves para iniciar asistente de generación de claves. Introducimos un nombre para identificar las claves, definimos una contraseña para proteger la clave privada y en configuración avanzada definimos el tipo de cifrado, en este caso será RSA de 2048 bits.
- Configuración avanzada:
- Al dar clic en crear ingresaremos la frase de contraseña para proteger la clave generada:
- Respaldo de claves y compartir clave pública con destinatario: En este paso ya tenemos creado nuestro par de llaves, procederemos a exportar para guardarlas y compartirlas con el destinatario.
Podemos exportar las contraseñas de distintas formas, haciendo una copia de respaldo del par de llaves, es decir que obtendremos tanto la llave pública como la privada (tener en cuenta que solo debemos compartir la llave pública la privada es nuestra y por ningún motivo deber ser compartida), también podemos enviar la clave pública por correo (es una forma fácil y segura de envío para que el destinatario pueda hacer uso de la llave pública y cifre los mensajes que serán enviados a nosotros) y finalmente enviar clave pública a un servicio de directorio.
Importar clave pública de destinatario: Como deseamos compartir información cifrada entre un emisor (El Geek Te Lo Recomienda) y un receptor, debemos solicitar al receptor que realice el proceso de creación de sus claves y nos envíe la clave pública la cual será usada para nosotros cifrar el mensaje y enviarlo al receptor, cuando tengamos en nuestro poder la llave pública procedemos a importarla a través del menú Archivo – importar.
- Al iniciar la importación debemos buscar el archivo de llave pública que nos envío el receptor y que termina en public.asc
- Firmando y Cifrando un archivo de texto: habiendo realizado lo anterior ya estamos listos para cifrar y firmar archivos, en este caso realizaremos el cifrado de un archivo de texto que después podrá ser enviado a través de cualquier medio incluso inseguro, ya que el archivo y su contenido estará cifrado.
- Para cifrar un archivo debemos ingresar al menú Firmar/Cifrar indicando en el campo (firmar como:) el emisor y en (Cifrar para mi:) el destinatario, cabe resaltar que solo el destinatario que escoja será capaz de descifrar el mensaje usando su clave privada.
- Kleopatra nos genera y un nuevo archivo que ya está cifrado, por lo cual revisaremos si efectivamente está cifrado, luego lo descifraremos desde el lado del receptor para verificar y logramos ver el mensaje en texto claro de nuevo:
Lo abrimos con el bloc de notas para ver el contenido.
¡Boom! Está cifrado.
- Descifrar con llave privada de Carlos: Ahora será el turno de que el receptor en este caso Carlos reciba el archivo cifrado por cualquier medio y proceda a descifrarlo con Kleopatra a través del menú Descifrar/Verificar, seleccionando el archivo cifrado.
Revisamos el archivo descifrado y logramos ver el texto en plano.
De esta forma es como podemos cifrar archivos entre dos personas haciendo uso de cifrado asimétrico es decir con PKI (Infraestructura de llaves públicas) y haciendo uso de unos de los algoritmos seguros como es RSA.