Per comunicare con altre persone è necessario scambiarsi le
chiavi pubbliche. Per elencare le chiavi presenti nel proprio
portachiavi pubblico utilizzare l'opzione a linea di comando
--list-keys
.
alice% gpg --list-keys /users/alice/.gnupg/pubring.gpg --------------------------------------- pub 1024D/BB7576AC 1999-06-04 Alice (giudice) <alice@cyb.org> sub 1024g/78E9A8FA 1999-06-04
Per spedire una chiave pubblica ad un corrispondente è
necessario prima esportarla. A questo scopo si usa l'opzione
a linea di comando --export
. Essa
necessita di un ulteriore argomento che identifichi la chiave
pubblica da esportare. Così come con l'opzione
--gen-revoke
, sia l'ID della chiave che ogni
altra parte dello User ID possono servire per identificare la
chiave da esportare.
alice% gpg --output alice.gpg --export alice@cyb.org
La chieve è esportata in un formato binario, ma ciò può
risultare sconveniente quando la chiave viene spedita per
posta elettronica o pubblicata in una pagina web. GnuPG
supporta perciò l'opzione a linea di comando
--armor
[1] che forza l'output ad essere generato in un
formato protetto da un'armatura ASCII[2] simile ai documenti codificati con uuencode. In
generale, qualsiasi output di GnuPG, cioè chiavi, documenti
cifrati e firme, possono essere ASCII-armored aggiungendo
l'opzione --armor
.
alice% gpg --armor --export alice@cyb.org -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v0.9.7 (GNU/Linux) Comment: For info see http://www.gnupg.org [...] -----END PGP PUBLIC KEY BLOCK-----
Una chiave pubblica può essere aggiunta al proprio mazzo di
chiavi mediante l'opzione --import
.
alice% gpg --import blake.gpg gpg: chiave 9E98BC16: chiave pubblica importata gpg: numero totale esaminato: 1 gpg: importate: 1 alice% gpg --list-keys /users/alice/.gnupg/pubring.gpg --------------------------------------- pub 1024D/BB7576AC 1999-06-04 Alice (giudice) <alice@cyb.org> sub 1024g/78E9A8FA 1999-06-04 pub 1024D/9E98BC16 1999-06-04 Blake (esecutore) <blake@cyb.org> sub 1024g/5C8CBD41 1999-06-04
Una volta che la chiave è stata importata deve venir
convalidata. GnuPG utilizza un potente e flessibile modello
basato sulla fiducia che non richiede all'utente di
convalidare personalmente ogni chiave che viene importata.
Può comunque risultare necessaria la convalida personale di
alcune chiavi. Una chiave viene convalidata verificando
l'impronta digitale[3] della chiave stessa e successivamente firmando la
chiave per certificarla come chiave valida. L'impronta
digitale di una chiave può essere velocemente visualizzata con
l'opzione a linea di comando --fingerprint
,
ma, allo scopo di certificare la chiave, è necessario editarla.
alice% gpg --edit-key blake@cyb.org pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q sub 1024g/5C8CBD41 created: 1999-06-04 expires: never (1) Blake (esecutore) <blake@cyb.org> Comando> fpr pub 1024D/9E98BC16 1999-06-04 Blake (esecutore) <blake@cyb.org> Impronta digitale: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16L'impronta digitale di una chiave va verificata con il possessore di quella chiave. Ciò può essere fatto di persona, per telefono o attraverso un qualsiasi altro mezzo con il quale sia possibile garantire che si sta comunicando con il vero possessore della chiave. Se l'impronta digitale che si riceve è la stessa impronta digitale che il possessore della chiave detiene, allora si può essere sicuri di possedere una corretta copia della chiave.
Dopo aver controllato l'impronta digitale, si può procedere alla firma in modo da convalidarla. Poiché la verifica di una chiave rappresenta un punto debole nella crittografia a chiave pubblica, è necessario essere estremamente attenti è controllare sempre un'impronta digitale di una chiave con il possessore prima di firmare la chiave stessa.
Comando> sign pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16 Blake (esecutore) <blake@cyb.org> Sei davvero sicuro di volere firmare questa chiave con la tua chiave: "Alice (giudice) <alice@cyb.org>" Firmo davvero?
Una volta firmato è possibile controllare la chiave listando le firme ad essa applicate e rilevare la firma che si è appena aggiunta. Ogni User ID avrà sulla chiave una o più autofirme e una firma per ogni utente che ha convalidato la chiave.
Comando> check uid Blake (esecutore) <blake@cyb.org> sig! 9E98BC16 1999-06-04 [autofirma] sig! BB7576AC 1999-06-04 Alice (giudice) <alice@cyb.org>
[1] | Numerose opzioni a linea di comando di uso frequente possono essere impostate in un file di configurazione. |
[2] | D'ora in poi ASCII-armored. |
[3] | Si noti che qui l'aggettivo digitale può assumere due significati, entrambi validi. Il primo è quello che deriva dalla traduzione della parola inglese originaria fingerprint, impronta delle dita. Il secondo significato è quello di ``prodotto con l'ausilio di un computer'', che è la macchina digitale per eccellenza. |