GPG
Xifrar és la part fàcil, i GPG ho fa amb una ordre. El problema de debò és saber de qui és la clau que acabes d'importar.
Introducció
A Criptografia has enviat un llibre xifrat a algú.
Et va costar cinc passos: generar una clau simètrica, xifrar el llibre, xifrar la clau simètrica amb la clau pública del destinatari, publicar les dues coses i esperar que l’altre sabés desfer-ho.
Amb GPG això és una ordre:
I aquí comença el problema de debò.
Perquè sasha@himitsu no és una identitat: és un text que qualsevol pot escriure a la seva clau.
Aquesta activitat va d’això.
PGP
Pretty Good Privacy (PGP) el va escriure Phil Zimmermann el 1991 i el va publicar gratuïtament a Internet.
El govern dels Estats Units el va investigar tres anys per exportació d’armes sense llicència: la criptografia forta estava classificada com a munició.
Van tancar el cas el 1996 sense acusació.
Avui el producte és propietari i el ven Broadcom.
GPG
GNU Privacy Guard (GnuPG o gpg) és la implementació lliure, escrita per Werner Koch a partir del 1997.
És la que fa servir tothom, perquè és lliure i perquè ja la tens instal·lada: els repositoris d’on apt es baixa els paquets van signats amb gpg.
OpenPGP
Perquè dos programes diferents s’entenguin cal un format comú, i aquest format és OpenPGP.
Està definit a la RFC 9580, de juliol de 2024, que substitueix la RFC 4880 de 2007.
El nom és anterior a l’ús generalitzat de GPG, i per això l’estàndard es diu “OpenPGP” i no “OpenGPG”.
Entorn de treball
Arrenca una màquina virtual Linux amb Windows Subsystem for Linux (WSL).
wslx connect gpg --newComprova quina versió de gpg tens:
gpg (GnuPG) 2.4.4
libgcrypt 1.10.3La teva clau
Generar
Per generar una clau amb totes les opcions a la vista fes servir el flag --full-generate-key:
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: directory '/home/box/.gnupg' created
gpg: keybox '/home/box/.gnupg/pubring.kbx' created
Please select what kind of key you want:
(1) RSA and RSA
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(9) ECC (sign and encrypt) *default*
(10) ECC (sign only)
(14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 3072
Requested keysize is 3072 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 2y
Key expires at Thu Aug 3 20:53:36 2028 UTC
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: David
Email address: david@himitsu
Comment:
You selected this USER-ID:
"David <david@himitsu>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? OEstàs llegint una vista prèvia.
Inicia sessió amb Google per llegir la pàgina completa.
Inicia sessió amb GoogleAmb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.