Eventi:LinuxDay17:Keysigning

Da lumacawiki.
Versione del 22 ott 2017 alle 20:08 di Madamezou (discussione | contributi) (→‎Il dopo-party: firmare le chiavi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Road Works.png Work in progress, pagina soggetta a frequenti cambiamenti. Road Works.png


Keysigning Party

Durante il Linux Day, si terrà un keysigning party informale, durante il quale i partecipanti potranno scambiarsi le firme digitale sulle chiavi GPG e discutere delle buone pratiche legate all'uso di GnuPG e della privacy online in generale.

Che cos'è GPG e perché dovrei usarlo?

GPG è un software libero di crittografia, creato come sostituto del proprietario PGP, il cui uso consente agli utenti di proteggere la privacy delle proprie mail, nonché di autenticarle. GPG si basa sulla crittografia asimmetrica, dove ogni partecipante alla comunicazione dispone di due differenti chiavi: una pubblica e una privata, una delle quali usate per cifrare e l'altra per decifrare.

Per maggiori informazioni, e una breve spiegazione del perché usarlo, si veda questa breve guida della Free Software Foundation.

Nell'uso di GPG è particolarmente importante non solo diffondere la propria chiave pubblica, ma anche e soprattutto verificare l'identità del possessore della chiave.

GPG cifra i messaggi utilizzando una coppia di chiavi (pubblica e privata) generate dall'utente. Le chiavi pubbliche possono essere scambiate tra gli utenti in vari modi, principalmente email e keyserver. Tuttavia bisogna prestare particolare attenzione alla corrispondenza tra chiave e (presunta) identità: il problema di tutti i sistemi di crittografia asimmetrica è la certificazione dell'autenticità della chiave, solitamente risolto con la presenza di un'autorità centrale oppure con la firma delle chiavi (un utente firma la chiave pubblica di un altro utente per certificarne l'effettiva autenticità). Su questo delicato punto si basa anche la firma digitale di file (messaggi) per garantire l'autenticità del contenuto e del mittente.(fonte: Wikipedia)

I keysigning party contribuiscono ad allargare la rete della fiducia e garantire la corrispondenza tra chiave e identità del possessore della chiave, e sono dunque fondamentali per il buon funzionamento di GPG.


Come prepararsi per il keysigning party

Generare una coppia di chiavi

Per la generazione delle chiavi e del certificato di revoca, si rimanda alla dettagliata guida sul wiki di Ubuntu.


Rendere pubblica la propria chiave

Per rendere pubblica la propria chiave, è necessario inviarla ad un keyserver da cui poi gli altri utenti potranno importarla.

Per farlo, digitare da terminale:

gpg --send-keys --keyserver KEYSERVER KEY-ID

Dove al posto di KEYSERVER andrà inserito l'indirizzo del keyserver scelto. Di seguito se ne segnalano alcuni:

Al posto di KEY-ID andrà inserito l'ID della propria chiave.


Stampare i propri fingerprint

È il momento di stampare i fingerprint della propria chiave, creando una sorta di biglietto da visita che conterrà le seguenti informazioni: nome e cognome, indirizzi email usati con la chiave, metodo di cifratura e ID della chiave, il fingerprint stesso.

Per farlo puoi usare un sito come https://keysheet.net/ o http://openpgp.quelltextlich.at/slip.html

In alternativa, su un sistema Debian, è possibile usare il pacchetto signing-party per stampare l'output di gpg --fingerprint in un formato adatto alla stampa (vedi questa pagina per istruzioni dettagliate).

Scambiarsi le firme

Al party, dovrai portare quindi la stampata dei tuoi fingerprint (più copie di ognuno, così da poterne dare una a ogni partecipante) e un documento di identità valido, che servirà agli altri a verificare la tua identità.

Durante il party non dovrai firmare nessuna chiave, solo ricevere i fingerprint degli altri e verificarne l'identità. In un momento successivo, sarà possibile scaricare dal keyserver le chiavi corrispondenti ai fingerprint raccolti, verificarne la correttezza e, solo a quel punto, apporre la propria firma a tale chiave.


Non dovreste mai firmare la chiave di qualcuno che non avete incontrato di persona. Firmare una chiave basandosi su qualsiasi cosa all'infuori della conoscenza diretta distrugge l'utilità della rete della fiducia.

Il dopo-party: firmare le chiavi

La vera e propria firma delle chiavi avviene, come detto, dopo il party. Per prima cosa, andranno scaricate dai server le chiavi delle persone incontrate:

gpg --recv-keys KEYID

Poi, si verificherà che le informazioni contenute nel fingerprint coincidano:

gpg --fingerprint KEYID

A questo punto, se tutto è corretto, si potrà firmare la chiave con la propria:

gpg --sign-key KEYID

E infine, inviare la chiave firmata al proprietario come allegato cifrato via mail:

gpg --armor --export KEYID | gpg --encrypt -r KEYID --armor --output KEYID-signedBy-PERSONALKEYID.asc

Dove a KEYID si sostituirà l'id della chiave che abbiamo firmato, mentre a PERSONALKEYID quello della nostra.


L'altra persona, ricevuto l'allegato, potrà importare le firme con:

gpg --import KEYID-signedBy-PERSONALKEYID.asc

E infine inviare la propria chiave così aggiornata al server:

gpg --send-key KEYID


Sui sistemi Debian, è possibile velocizzare questa operazione usando lo strumento caff, contenuto nel pacchetto signing-party.