Este artículo demuestra el funcionamiento y uso básico de GnuPG, particularmente para firmar y verificar mensajes de Internet (mails, mensajes en foros, etc.)

GnuPG (o GPG) es una herramienta para cifrado y firma digital de mensajes que surge como reemplazo libre a PGP. GPG cifra los mensajes utilizando criptografía de clave pública, es decir un par de claves asimétricas (pública/privada) generadas por los usuarios. La clave privada debe ser secreta y mantenerse protegida, ya que allí radica la seguridad de la suite de cifrado, mientras que la clave pública debe ser conocida por la mayor cantidad de usuarios posibles. Estas pueden ser compartidas con otros usuarios a través de servidores de claves públicas.



Para mayor información sobre GnuPG recomiendo revisar el handbook de GPG y la entrada en Wikipedia.

En la mayoría de los sistemas operativos GNU/Linux, GPG se encuentra disponible e instalado por defecto. En caso de no disponer de GPG, en Debian y derivados es provisto por el paquete gnupg. Todas las operaciones con GPG se realizan a través del utilitario gpg.

Para comenzar a trabajar con GPG, el primer paso consiste en crear nuestro par de claves.

Crear un par de claves

Para crear un par de claves se debe utilizar la opción --gen-key:

emi@hal9000:~$ gpg --gen-key
gpg (GnuPG) 2.1.18; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

GnuPG needs to construct a user ID to identify your key.

Real name: Linuxito
Email address: linuxito.com@gmail.com
You selected this USER-ID:
    "Linuxito <linuxito.com@gmail.com>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit? O

Se trata de un comando interactivo que solicita el nombre del usuario, un correo electrónico y una contraseña para proteger la clave privada:

Luego de ingresar estos datos se genera una clave aleatoria. Este proceso demora unos minutos y es conveniente efectuar acciones en el sistema operativo (interrupciones de teclado y mouse, actividad de disco, tráfico de red, etc.) para generar entropía:

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 6ADB228094777584 marked as ultimately trusted
gpg: revocation certificate stored as '/home/emi/.gnupg/openpgp-revocs.d/CFE6E9F915DD4C2051B00C8B6ADB228094777584.rev'
public and secret key created and signed.

pub   rsa3072 2019-11-01 [SC] [expires: 2021-10-31]
      CFE6E9F915DD4C2051B00C8B6ADB228094777584
      CFE6E9F915DD4C2051B00C8B6ADB228094777584
uid                      Linuxito <linuxito.com@gmail.com>
sub   rsa3072 2019-11-01 [E] [expires: 2021-10-31]

Listar las claves disponibles

Al finalizar, es posible listar las claves disponibles con el comando --list-keys:

emi@hal9000:~$ gpg --list-keys
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2021-10-31
/home/emi/.gnupg/pubring.kbx
----------------------------
pub   rsa3072 2019-11-01 [SC] [expires: 2021-10-31]
      CFE6E9F915DD4C2051B00C8B6ADB228094777584
uid           [ultimate] Linuxito <linuxito.com@gmail.com>
sub   rsa3072 2019-11-01 [E] [expires: 2021-10-31]

Exportar una clave pública

A fin de que nuestra clave pública esté disponible públicamente en Internet (valga la redundancia), resulta conveniente subirla a un servidor de claves, como por ejemplo keys.gnupg.net. Para ello, antes es necesario exportarla en formato de texto plano (ASCII-armored):

emi@hal9000:~$ gpg --export --armor linuxito.com@gmail.com
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
eId5RHDJc4zqOfvVmSMNvdUCR6QwxXgckQ==
=SImo
-----END PGP PUBLIC KEY BLOCK-----

Copiar esta salida para subir la clave a un servidor de claves.

Subir una clave pública a un servidor

Basta con hacer una búsqueda "gpg key server" en Google para comprobar que hay una gran cantidad de servidores de claves públicas disponibles en Internet. La mayoría de ellos están sincronizados entre sí, con lo cual basta elegir uno y usarlo. A modo de ejemplo, se utiliza el servidor keys.gnupg.net:

Presionar "Submit Key" para subir nuestra clave pública y pegar la salida anterior:

Presionar "Submit Public Key":

A partir de este momento, cualquier usuario puede importar nuestra clave pública desde Internet para verificar la integridad de nuestros mensajes o documentos firmados.

Firmar un documento

Una firma digital certifica el contenido, fecha y hora de un documento. Si el documento luego es modificado de cualquier forma, la verificación de la firma fallará. Una firma digital funciona entonces como una firma escrita a mano en papel, con la ventaja adicional de resistir cualquier tipo de falsificación o alteración.

Como ejemplo, crear un mensaje simple. Como expliqué anteriormente, es posible crear y editar un archivo con cat:

emi@hal9000:~$ cat > mensaje
Buenos días,

Un saludo para todes les linuxeres.

Atte.
Linuxito.
emi@hal9000:~$ cat mensaje 
Buenos días,

Un saludo para todes les linuxeres.

Atte.
Linuxito.

Ctrl+D para cerrar y guardar el archivo.

Para firmar cualquier documento es necesario utilizar la opción --sign junto con un archivo de salida como parámetro a --output:

emi@hal9000:~$ gpg --output mensaje.sig --sign mensaje

Como se utiliza la clave privada para crear la firma (que luego será verificada con la clave asimétrica pública), es necesario ingresar la passphrase de la misma:

Se crea el archivo firmado mensaje.sig:

emi@hal9000:~$ ll mensaje*
-rw-r--r-- 1 emi emi  68 Nov  6 09:04 mensaje
-rw-r--r-- 1 emi emi 543 Nov  6 09:06 mensaje.sig
emi@hal9000:~$ file mensaje
mensaje: UTF-8 Unicode text
emi@hal9000:~$ file mensaje.sig 
mensaje.sig: data

Este archivo es el documento de entrada con la firma agregada. Se observa que el tipo MIME del mismo es "data" ya que incluye contenido binario. El problema con esto es que el usuario que reciba el documento, necesitará recuperarlo desde la versión firmada luego de verificarlo. Una mejor opción es crear una firma detached. Esto es la firma separada del documento, en un archivo aparte:

emi@hal9000:~$ gpg --output mensaje.sig --detach-sig mensaje 
File 'mensaje.sig' exists. Overwrite? (y/N) y
emi@hal9000:~$ ll mensaje*
-rw-r--r-- 1 emi emi  68 Nov  6 09:04 mensaje
-rw-r--r-- 1 emi emi 776 Nov  6 09:12 mensaje.asc
-rw-r--r-- 1 emi emi 438 Nov  6 09:22 mensaje.sig

La diferencia es que hay que enviar el documento original junto con la firma (ambos archivos). De esta forma se evita que el receptor tenga que recuperar el documento desde la versión firmada y sólo se limite a verificarlo con la firma aparte.

Verificar un documento firmado

Para verificar la integridad de un documento firmado (es decir, que la firma sea correcta y se garantice que no fue alterado luego de haber sido firmado) se utiliza la opción --verify:

emi@hal9000:~$ gpg --verify mensaje.sig mensaje
gpg: Signature made Wed 06 Nov 2019 09:22:21 AM -03
gpg:                using RSA key CFE6E9F915DD4C2051B00C8B6ADB228094777584
gpg: Good signature from "Linuxito <linuxito.com@gmail.com>" [ultimate]

En este caso la firma es correcta. Veamos que pasa si se altera el mensaje:

emi@hal9000:~$ echo "asdf" >> mensaje

Al verificar nuevamente, la firma no es correcta:

emi@hal9000:~$ gpg --verify mensaje.sig mensaje
gpg: Signature made Wed 06 Nov 2019 09:22:21 AM -03
gpg:                using RSA key CFE6E9F915DD4C2051B00C8B6ADB228094777584
gpg: BAD signature from "Linuxito <linuxito.com@gmail.com>" [ultimate]

De esta forma, una firma digital se utiliza para comprobar la integridad de un documento.

Firmar un email o post de Internet

Para el caso de los posts de Internet o mensajes de correo electrónico, es necesario crear una firma que pueda ser agregada junto con el cuerpo mismo del mensaje en formato de texto plano. A tal fin se dispone de la opción clearsign:

emi@hal9000:~$ gpg --clearsign mensaje

Esto genera un archivo con extensión .asc:

emi@hal9000:~$ ll mensaje*
-rw-r--r-- 1 emi emi  68 Nov  6 09:04 mensaje
-rw-r--r-- 1 emi emi 776 Nov  6 09:12 mensaje.asc
-rw-r--r-- 1 emi emi 543 Nov  6 09:06 mensaje.sig

Se trata de un archivo en formato de texto plano:

emi@hal9000:~$ file mensaje.asc 
mensaje.asc: UTF-8 Unicode text

El mensaje está contenido por un formato especial de firma digital, seguido de un bloque que contiene la firma PGP implementada a través de un hash (en este ejemplo SHA256):

emi@hal9000:~$ cat mensaje.asc 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Buenos días,

Un saludo para todes les linuxeres.

Atte.
Linuxito.
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCAAdFiEEz+bp+RXdTCBRsAyLatsigJR3dYQFAl3CuKMACgkQatsigJR3
dYTrQgv/Xo+2omOJowOMopQnnuuxFrZ7iGMdzt4F3uU/NfHw25DSwnJwYtvOhBzS
f+37yLvMciWKjND+50D/6TN0rDCfNEGjaIy4ePqc2G4YXpCvtEyoNnP9FeZW+70C
05KvmqQVECfkhvUmFN33kVFQrXHG1xTxlkY2DXKf2UPkRLwGaS9bu+Ps7+ll7bGJ
3C0Z6u0diAMEYt08k+Msm1bBXN7K9kui8VK2lzlYmtDy0jtJAaxGa4RHF52OoeNt
LR6J+MklT/rJP9ud9ASNJ4JaPJ55r8nJPxVacgzLdjw/x+UK+tJFcOYJLTRbY+Yk
9W1Z+Le+80jLz0s2rQvznaJKIeBkHqjEEfxIWMJW713b5NKiaV7Nq9BH7kv2gijQ
N97ptN7vtdiJhAG2qcKdzc509LeZp3Srpe0gvGtqi7nvTom1qMgkE4wXwESZjlGj
CY7m8Je2MtS3onmqJzJagwPT39DNlfXF8eZBvO98jz4iMYH9FgxZM2DTJ4Qt6t0w
FeZeV0Ck
=l5Tm
-----END PGP SIGNATURE-----

La firma se verifica de igual forma:

emi@hal9000:~$ gpg --verify mensaje.asc 
gpg: Signature made Wed 06 Nov 2019 09:12:19 AM -03
gpg:                using RSA key CFE6E9F915DD4C2051B00C8B6ADB228094777584
gpg: Good signature from "Linuxito <linuxito.com@gmail.com>" [ultimate]
gpg: WARNING: not a detached signature; file 'mensaje' was NOT verified!

Si el mensaje contenido se modifica, la firma falla:

emi@hal9000:~$ head mensaje.asc 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Buenos días,

Un saludo para todes les linuxeres.

Atte.
Linuxito.asdasdasdasd
-----BEGIN PGP SIGNATURE-----
emi@hal9000:~$ gpg --verify mensaje.asc 
gpg: Signature made Wed 06 Nov 2019 09:12:19 AM -03
gpg:                using RSA key CFE6E9F915DD4C2051B00C8B6ADB228094777584
gpg: BAD signature from "Linuxito <linuxito.com@gmail.com>" [ultimate]

Importar claves públicas

Ahora veamos cómo importar la clave pública de otro usuario para verificar sus firmas. Primero es necesario recuperar la clave pública del usuario en cuestión desde un servidor de claves.

El servidor keys.gnupg.net permite buscar claves por nombre o email:

Abrir la clave encontrada:

Luego acceder al contenido de la clave pública:

Copiarlo y pegarlo en un nuevo archivo:

root@debian:~# cat > linuxito-pubkey.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.6
Comment: Hostname: pgpkeys.co.uk

mQGNBF28R6IBDADp5Gj2RJmyuo9hTK74cdnrh55XdufluXkx0myjcjKSrqLPDXyygNiQpUba
tSWQFlF3Y8rq2ejQ+tjJy862d7CtmcvIk/42qn65Wo0vmLFoUFgIql4GrzQpzjp2Vo2FfRuF
vvxp0UvRZHUUhrTpqHJ3fb/xLFiYjU3octyMaW88edfhF0k/suhKOhS0knsSbMmIE7cmiopU
Z7pEL28lCkBm+uD7tvhoN3fL0JwJkGUga69brpNPXRGr6P1G+GSG/fo2cwAzWIL7BLjC2tXh
6lWLhL3fQE1gAfcApDmKiBUbm0yVBGtRn55nI6NplcIGbragicisLNK6cq3Hg5KRGQMxBrhG
+LvhL0XPOCABhgnsU7yg9vemV/hUWhX9jkPKm//+JTCWmzeLng6GMj09VzbQ+xMjLMKj+YUt
4beRmSuJ3YCidCsjj8/jCSp0IOClCE0sq1OfWRvdRfoc9EkGkTaAClgVKkAYjl40VLI2sq/s
kWxTxzN5QHcHkeKqBSdTUTkAEQEAAbQhTGludXhpdG8gPGxpbnV4aXRvLmNvbUBnbWFpbC5j
b20+iQHUBBMBCAA+FiEEz+bp+RXdTCBRsAyLatsigJR3dYQFAl28R6ICGwMFCQPCZwAFCwkI
BwIGFQgJCgsCBBYCAwECHgECF4AACgkQatsigJR3dYRBqgv/RkffWZfvuf4acMkaAKWSy6J2
CtgvzPyZ/g613F+z2UlvwsfCrQl4px19n0v8pkSXZY9hsuHymGRFhRtI2H5DVoGRviTpBhak
CxPcHTnDtZsy4MhLSAKzyfvEYxXklFHATufo3ZDrdKqgDqJeLIRKP6gn0cvBGEBjX+KAL7KK
F15QLW3ykisTLaBTk3HiPaDSGY7shhYZiyUuQgY+78Kbq8w2sjio4Tme7rKPX8XSORGup7UP
Y21UGGImZWYu60ISQTJmmtwDkbRO/rDi3kzYh/Xgit42MHQul2sRafE2Oyfg3+8wj7w80J+G
8p6pjNcHZzI2ug7qch0jxTcF7oZ7AD2+jBsXMfiVm3vPmmz+P4VUh2oqW/xCCp3xwfT8erBp
F5f5aYMu2eQ8Yqlrtom7xmcWCXJKGt4G5LRFrD3xvdVc/rZ445oWux7ERKa3wEteL48f7/TF
W541Pv9QWGyTHfZoG9kvVx6glaxfdwb71LrY+we7Itnx4kUMB/S2xASiuQGNBF28R6IBDADk
jmdBOoTn96WVSrJvczYGmq0Zol1FxbbW71b6g1kfJdT1nbAOfm3J6py3bM/6hJAQba8FkxIv
Et3cyoWVcB+U7y36EcHBAIPgetp9FwU88/9MALjUu1lIq9aZWScAZWA6JIgFyP2W/MdV5KX/
dpxNDoDVuKfU2te7tDqTpXZJCWh6XgtcQzdL1f9IuPkc7/9KnI5FqiBKGo/VvRVcQMXdTu3+
orzR14lDBb1r20oP/FzLLuCtAu9nwA3FVzHHib5WTEybQ9MTQAsI9lCvHOC57nxkubxDeHAI
uHXCx+btSBh3C9eYKj8WvmzdF7c/Uumr0ZAO1LFFut9UkrqiOzHUZSDLdn9HRsoR0b1bZeLk
n50JTJ8bj2FpvPj2SzWN/l9XzdPHQGzJ1UNdZHBcGrrHqUg2Wder36o+Bs2fZ12yzdR7mMi6
J54u6EK/7woJxbTdLNHC9O6EaYJjn/gV1oxAsJX2OoEpzEOpLYDhkWPGX7PCncA1MvGC6OAz
0h4u+WEAEQEAAYkBvAQYAQgAJhYhBM/m6fkV3UwgUbAMi2rbIoCUd3WEBQJdvEeiAhsMBQkD
wmcAAAoJEGrbIoCUd3WEpdcL/A2F8+tZJSFRa72ZigTiJpZyHtSUyaXWSpIglE79qkOaBq9W
StyDgw8+8qBUAhDpHvXerFcIHtBtQBaeSmAOLJ5wNnscWQ9/FuhhkMok1BKdXR5vTndXUw1B
9Aipgm/OJYBAKFVylbjOxk9gv8rE7tJMutQ4C7jeExvS+VeoiNFGOONOuQzP20ExwlfK7DA7
Dv7ntuTt3YSVWhZJXxicWxpQVPPvn2iTxocNsmUe53lU5qraYKN370J+nQWXAQ219Z1lbMyL
vbqEJxK5dYEMcv8tgM9AUks2AesZJMnwSNIj2kn1JuAzUeQQ5BK9F7Q1RvkfOExVpaxcW/BY
DUsr7nNiQEznF1ga0J3IJa2b43qQTiI3fvxffLF0AI79b34mb+0rCMCDaQZVw+pw+U4DTu7Y
O9bTAk/V/NZM9Ep791NUt4vP0MDKlu39blUhSKZ01WkLF9aUdE4WYr+tpRUGdx4uJbPlm4+E
eId5RHDJc4zqOfvVmSMNvdUCR6QwxXgckQ==
=SImo
-----END PGP PUBLIC KEY BLOCK-----
root@debian:~#

Para importar la clave, utilizar la opción --import con el nombre de archivo como parámetro:

root@debian:~# gpg --import linuxito-pubkey.asc 
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 94777584: public key "Linuxito <linuxito.com@gmail.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Crear un nuevo mensaje clearsigned a modo de prueba:

emi@hal9000:~$ cat > mensaje2
Hola, 

Otro mensaje de prueba....

Chauchis :D
Linuxito.
emi@hal9000:~$ gpg --clearsign mensaje2
emi@hal9000:~$ cat mensaje2.asc 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hola,

Otro mensaje de prueba....

Chauchis :D
Linuxito.
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCAAdFiEEz+bp+RXdTCBRsAyLatsigJR3dYQFAl3Cv8YACgkQatsigJR3
dYRo6Av+I40N0UxnH/Wai81zkbxh+9ndYM7VuoW8rvWA10aBYlpcrLS8uPZG/Fkw
qNaIipbDwFxKgf+BthjuzkEriCZ9b4n1j5997togvxNFCVytb3LbtX86r3fFAYlE
nZWD1fFWiqioDj6u/YBS5KAHRZrZDV2lot6IN65zbiCB7+tjKS2/RTuZFFQq2Juw
7TpiD8TT6HreC1pUQkl2Do2/Mlm4ZfMK/pymB+ACruNn+EYEMes0nBlftl3CEFBT
eFW1PmNEfmfqozZEV7y7gAWhps78X6bglVsOKof/QADXVKGcSEiI7dlpFeH+d/Ts
6wZPoiv8c/PONgavHN09ipwETex3TbDxfZvIC6GSOyxfvO1qBY2C88FMykr31Nzp
+QdoZ0RbUHoloOsVVvD8ETWv2dPwFUdKzJwtsfXKy4MZPkteglqL97mred9rGEpP
tISi2PsIQPz2gVjvWHYVkEIhKhV9pJp56U+5VzFlywWjAoTr1De1tYak8cOkJGb/
Z7uVcdeB
=V0IR
-----END PGP SIGNATURE-----
emi@hal9000:~$ 

El usuario que importó la clave pública es capaz de verificarlo con éxito:

root@debian:~# cat > msg.txt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hola,

Otro mensaje de prueba....

Chauchis :D
Linuxito.
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCAAdFiEEz+bp+RXdTCBRsAyLatsigJR3dYQFAl3Cv8YACgkQatsigJR3
dYRo6Av+I40N0UxnH/Wai81zkbxh+9ndYM7VuoW8rvWA10aBYlpcrLS8uPZG/Fkw
qNaIipbDwFxKgf+BthjuzkEriCZ9b4n1j5997togvxNFCVytb3LbtX86r3fFAYlE
nZWD1fFWiqioDj6u/YBS5KAHRZrZDV2lot6IN65zbiCB7+tjKS2/RTuZFFQq2Juw
7TpiD8TT6HreC1pUQkl2Do2/Mlm4ZfMK/pymB+ACruNn+EYEMes0nBlftl3CEFBT
eFW1PmNEfmfqozZEV7y7gAWhps78X6bglVsOKof/QADXVKGcSEiI7dlpFeH+d/Ts
6wZPoiv8c/PONgavHN09ipwETex3TbDxfZvIC6GSOyxfvO1qBY2C88FMykr31Nzp
+QdoZ0RbUHoloOsVVvD8ETWv2dPwFUdKzJwtsfXKy4MZPkteglqL97mred9rGEpP
tISi2PsIQPz2gVjvWHYVkEIhKhV9pJp56U+5VzFlywWjAoTr1De1tYak8cOkJGb/
Z7uVcdeB
=V0IR
-----END PGP SIGNATURE-----
root@debian:~# gpg --verify msg.txt 
gpg: Signature made Wed 06 Nov 2019 07:42:46 AM EST using RSA key ID 94777584
gpg: Good signature from "Linuxito <linuxito.com@gmail.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: CFE6 E9F9 15DD 4C20 51B0  0C8B 6ADB 2280 9477 7584

Obviamente la clave no es de confianza (a pesar de ser la firma válida) ya que no fue certificada por ninguna firma de confianza.

Referencias


Tal vez pueda interesarte


Compartí este artículo