xref: /OK3568_Linux_fs/kernel/Documentation/translations/it_IT/process/maintainer-pgp-guide.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. include:: ../disclaimer-ita.rst
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun:Original: :ref:`Documentation/process/maintainer-pgp-guide.rst <pgpguide>`
4*4882a593Smuzhiyun:Translator: Alessia Mantegazza <amantegazza@vaga.pv.it>
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun.. _it_pgpguide:
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun=========================================
9*4882a593SmuzhiyunLa guida a PGP per manutentori del kernel
10*4882a593Smuzhiyun=========================================
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun:Author: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunQuesto documento è destinato agli sviluppatori del kernel Linux, in particolar
15*4882a593Smuzhiyunmodo ai manutentori. Contiene degli approfondimenti riguardo informazioni che
16*4882a593Smuzhiyunsono state affrontate in maniera più generale nella sezione
17*4882a593Smuzhiyun"`Protecting Code Integrity`_" pubblicata dalla Linux Foundation.
18*4882a593SmuzhiyunPer approfondire alcuni argomenti trattati in questo documento è consigliato
19*4882a593Smuzhiyunleggere il documento sopraindicato
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun.. _`Protecting Code Integrity`: https://github.com/lfit/itpol/blob/master/protecting-code-integrity.md
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunIl ruolo di PGP nello sviluppo del kernel Linux
24*4882a593Smuzhiyun===============================================
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunPGP aiuta ad assicurare l'integrità del codice prodotto dalla comunità
27*4882a593Smuzhiyundi sviluppo del kernel e, in secondo luogo, stabilisce canali di comunicazione
28*4882a593Smuzhiyunaffidabili tra sviluppatori attraverso lo scambio di email firmate con PGP.
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunIl codice sorgente del kernel Linux è disponibile principalmente in due
31*4882a593Smuzhiyunformati:
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun- repositori distribuiti di sorgenti (git)
34*4882a593Smuzhiyun- rilasci periodici di istantanee (archivi tar)
35*4882a593Smuzhiyun
36*4882a593SmuzhiyunSia i repositori git che gli archivi tar portano le firme PGP degli
37*4882a593Smuzhiyunsviluppatori che hanno creato i rilasci ufficiali del kernel. Queste firme
38*4882a593Smuzhiyunoffrono una garanzia crittografica che le versioni scaricabili rese disponibili
39*4882a593Smuzhiyunvia kernel.org, o altri portali, siano identiche a quelle che gli sviluppatori
40*4882a593Smuzhiyunhanno sul loro posto di lavoro. A tal scopo:
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun- i repositori git forniscono firme PGP per ogni tag
43*4882a593Smuzhiyun- gli archivi tar hanno firme separate per ogni archivio
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun.. _it_devs_not_infra:
46*4882a593Smuzhiyun
47*4882a593SmuzhiyunFidatevi degli sviluppatori e non dell'infrastruttura
48*4882a593Smuzhiyun-----------------------------------------------------
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunFin dal 2011, quando i sistemi di kernel.org furono compromessi, il principio
51*4882a593Smuzhiyungenerale del progetto Kernel Archives è stato quello di assumere che qualsiasi
52*4882a593Smuzhiyunparte dell'infrastruttura possa essere compromessa in ogni momento. Per questa
53*4882a593Smuzhiyunragione, gli amministratori hanno intrapreso deliberatemene dei passi per
54*4882a593Smuzhiyunenfatizzare che la fiducia debba risiedere sempre negli sviluppatori e mai nel
55*4882a593Smuzhiyuncodice che gestisce l'infrastruttura, indipendentemente da quali che siano le
56*4882a593Smuzhiyunpratiche di sicurezza messe in atto.
57*4882a593Smuzhiyun
58*4882a593SmuzhiyunIl principio sopra indicato è la ragione per la quale è necessaria questa
59*4882a593Smuzhiyunguida. Vogliamo essere sicuri che il riporre la fiducia negli sviluppatori
60*4882a593Smuzhiyunnon sia fatto semplicemente per incolpare qualcun'altro per future falle di
61*4882a593Smuzhiyunsicurezza. L'obiettivo è quello di fornire una serie di linee guida che gli
62*4882a593Smuzhiyunsviluppatori possano seguire per creare un ambiente di lavoro sicuro e
63*4882a593Smuzhiyunsalvaguardare le chiavi PGP usate nello stabilire l'integrità del kernel Linux
64*4882a593Smuzhiyunstesso.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun.. _it_pgp_tools:
67*4882a593Smuzhiyun
68*4882a593SmuzhiyunStrumenti PGP
69*4882a593Smuzhiyun=============
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunUsare GnuPG v2
72*4882a593Smuzhiyun--------------
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunLa vostra distribuzione potrebbe avere già installato GnuPG, dovete solo
75*4882a593Smuzhiyunverificare che stia utilizzando la versione 2.x e non la serie 1.4 --
76*4882a593Smuzhiyunmolte distribuzioni forniscono entrambe, di base il comando ''gpg''
77*4882a593Smuzhiyuninvoca GnuPG v.1. Per controllate usate::
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun    $ gpg --version | head -n1
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunSe visualizzate ``gpg (GnuPG) 1.4.x``, allora state usando GnuPG v.1.
82*4882a593SmuzhiyunProvate il comando ``gpg2`` (se non lo avete, potreste aver bisogno
83*4882a593Smuzhiyundi installare il pacchetto gnupg2)::
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun    $ gpg2 --version | head -n1
86*4882a593Smuzhiyun
87*4882a593SmuzhiyunSe visualizzate  ``gpg (GnuPG) 2.x.x``, allora siete pronti a partire.
88*4882a593SmuzhiyunQuesta guida assume che abbiate la versione 2.2.(o successiva) di GnuPG.
89*4882a593SmuzhiyunSe state usando la versione 2.0, alcuni dei comandi indicati qui non
90*4882a593Smuzhiyunfunzioneranno, in questo caso considerate un aggiornamento all'ultima versione,
91*4882a593Smuzhiyunla 2.2. Versioni di gnupg-2.1.11 e successive dovrebbero essere compatibili
92*4882a593Smuzhiyunper gli obiettivi di questa guida.
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunSe avete entrambi i comandi: ``gpg`` e ``gpg2``, assicuratevi di utilizzare
95*4882a593Smuzhiyunsempre la versione V2, e non quella vecchia. Per evitare errori potreste creare
96*4882a593Smuzhiyunun alias::
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun    $ alias gpg=gpg2
99*4882a593Smuzhiyun
100*4882a593SmuzhiyunPotete mettere questa opzione nel vostro  ``.bashrc`` in modo da essere sicuri.
101*4882a593Smuzhiyun
102*4882a593SmuzhiyunConfigurare le opzioni di gpg-agent
103*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104*4882a593Smuzhiyun
105*4882a593SmuzhiyunL'agente GnuPG è uno strumento di aiuto che partirà automaticamente ogni volta
106*4882a593Smuzhiyunche userete il comando ``gpg`` e funzionerà in background con l'obiettivo di
107*4882a593Smuzhiyunindividuare la passphrase. Ci sono due opzioni che dovreste conoscere
108*4882a593Smuzhiyunper personalizzare la scadenza della passphrase nella cache:
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun- ``default-cache-ttl`` (secondi): Se usate ancora la stessa chiave prima
111*4882a593Smuzhiyun  che il time-to-live termini, il conto alla rovescia si resetterà per un
112*4882a593Smuzhiyun  altro periodo. Di base è di 600 (10 minuti).
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun- ``max-cache-ttl`` (secondi): indipendentemente da quanto sia recente l'ultimo
115*4882a593Smuzhiyun  uso della chiave da quando avete inserito la passphrase, se il massimo
116*4882a593Smuzhiyun  time-to-live è scaduto, dovrete reinserire nuovamente la passphrase.
117*4882a593Smuzhiyun  Di base è di 30 minuti.
118*4882a593Smuzhiyun
119*4882a593SmuzhiyunSe ritenete entrambe questi valori di base troppo corti (o troppo lunghi),
120*4882a593Smuzhiyunpotete creare il vostro file ``~/.gnupg/gpg-agent.conf`` ed impostare i vostri
121*4882a593Smuzhiyunvalori::
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun    # set to 30 minutes for regular ttl, and 2 hours for max ttl
124*4882a593Smuzhiyun    default-cache-ttl 1800
125*4882a593Smuzhiyun    max-cache-ttl 7200
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun.. note::
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun    Non è più necessario far partire l'agente gpg manualmente all'inizio della
130*4882a593Smuzhiyun    vostra sessione. Dovreste controllare i file rc per rimuovere tutto ciò che
131*4882a593Smuzhiyun    riguarda vecchie le versioni di GnuPG, poiché potrebbero non svolgere più
132*4882a593Smuzhiyun    bene il loro compito.
133*4882a593Smuzhiyun
134*4882a593SmuzhiyunImpostare un *refresh* con cronjob
135*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
136*4882a593Smuzhiyun
137*4882a593SmuzhiyunPotreste aver bisogno di rinfrescare regolarmente il vostro portachiavi in
138*4882a593Smuzhiyunmodo aggiornare le chiavi pubbliche di altre persone, lavoro che è svolto
139*4882a593Smuzhiyunal meglio con un cronjob giornaliero::
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun    @daily /usr/bin/gpg2 --refresh >/dev/null 2>&1
142*4882a593Smuzhiyun
143*4882a593SmuzhiyunControllate il percorso assoluto del vostro comando ``gpg`` o ``gpg2`` e usate
144*4882a593Smuzhiyunil comando ``gpg2`` se per voi ``gpg`` corrisponde alla versione GnuPG v.1.
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun.. _it_master_key:
147*4882a593Smuzhiyun
148*4882a593SmuzhiyunProteggere la vostra chiave PGP primaria
149*4882a593Smuzhiyun========================================
150*4882a593Smuzhiyun
151*4882a593SmuzhiyunQuesta guida parte dal presupposto che abbiate già una chiave PGP che usate
152*4882a593Smuzhiyunper lo sviluppo del kernel Linux. Se non ne avete ancora una, date uno sguardo
153*4882a593Smuzhiyunal documento "`Protecting Code Integrity`_" che abbiamo menzionato prima.
154*4882a593Smuzhiyun
155*4882a593SmuzhiyunDovreste inoltre creare una nuova chiave se quella attuale è inferiore a 2048
156*4882a593Smuzhiyunbit (RSA).
157*4882a593Smuzhiyun
158*4882a593SmuzhiyunChiave principale o sottochiavi
159*4882a593Smuzhiyun-------------------------------
160*4882a593Smuzhiyun
161*4882a593SmuzhiyunLe sottochiavi sono chiavi PGP totalmente indipendenti, e sono collegate alla
162*4882a593Smuzhiyunchiave principale attraverso firme certificate. È quindi importante
163*4882a593Smuzhiyuncomprendere i seguenti punti:
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun1. Non ci sono differenze tecniche tra la chiave principale e la sottochiave.
166*4882a593Smuzhiyun2. In fesa di creazione, assegniamo limitazioni funzionali ad ogni chiave
167*4882a593Smuzhiyun   assegnando capacità specifiche.
168*4882a593Smuzhiyun3. Una chiave PGP può avere 4 capacità:
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun   - **[S]** può essere usata per firmare
171*4882a593Smuzhiyun   - **[E]** può essere usata per criptare
172*4882a593Smuzhiyun   - **[A]** può essere usata per autenticare
173*4882a593Smuzhiyun   - **[C]** può essere usata per certificare altre chiavi
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun4. Una singola chiave può avere più capacità
176*4882a593Smuzhiyun5. Una sottochiave è completamente indipendente dalla chiave principale.
177*4882a593Smuzhiyun   Un messaggio criptato con la sottochiave non può essere decrittato con
178*4882a593Smuzhiyun   quella principale. Se perdete la vostra sottochiave privata, non può
179*4882a593Smuzhiyun   essere rigenerata in nessun modo da quella principale.
180*4882a593Smuzhiyun
181*4882a593SmuzhiyunLa chiave con capacità **[C]** (certify) è identificata come la chiave
182*4882a593Smuzhiyunprincipale perché è l'unica che può essere usata per indicare la relazione
183*4882a593Smuzhiyuncon altre chiavi. Solo la chiave **[C]** può essere usata per:
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun- Aggiungere o revocare altre chiavi (sottochiavi) che hanno capacità S/E/A
186*4882a593Smuzhiyun- Aggiungere, modificare o eliminare le identità (unids) associate alla chiave
187*4882a593Smuzhiyun- Aggiungere o modificare la data di termine di sé stessa o di ogni sottochiave
188*4882a593Smuzhiyun- Firmare le chiavi di altre persone a scopo di creare una rete di fiducia
189*4882a593Smuzhiyun
190*4882a593SmuzhiyunDi base, alla creazione di nuove chiavi, GnuPG genera quanto segue:
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun- Una chiave madre che porta sia la capacità di certificazione che quella
193*4882a593Smuzhiyun  di firma (**[SC]**)
194*4882a593Smuzhiyun- Una sottochiave separata con capacità di criptaggio (**[E]**)
195*4882a593Smuzhiyun
196*4882a593SmuzhiyunSe avete usato i parametri di base per generare la vostra chiave, quello
197*4882a593Smuzhiyunsarà il risultato. Potete verificarlo utilizzando ``gpg --list-secret-keys``,
198*4882a593Smuzhiyunper esempio::
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun    sec   rsa2048 2018-01-23 [SC] [expires: 2020-01-23]
201*4882a593Smuzhiyun          000000000000000000000000AAAABBBBCCCCDDDD
202*4882a593Smuzhiyun    uid           [ultimate] Alice Dev <adev@kernel.org>
203*4882a593Smuzhiyun    ssb   rsa2048 2018-01-23 [E] [expires: 2020-01-23]
204*4882a593Smuzhiyun
205*4882a593SmuzhiyunQualsiasi chiave che abbia la capacità **[C]** è la vostra chiave madre,
206*4882a593Smuzhiyunindipendentemente da quali altre capacità potreste averle assegnato.
207*4882a593Smuzhiyun
208*4882a593SmuzhiyunLa lunga riga sotto la voce ``sec`` è la vostra impronta digitale --
209*4882a593Smuzhiyunnegli esempi che seguono, quando vedere ``[fpr]`` ci si riferisce a questa
210*4882a593Smuzhiyunstringa di 40 caratteri.
211*4882a593Smuzhiyun
212*4882a593SmuzhiyunAssicuratevi che la vostra passphrase sia forte
213*4882a593Smuzhiyun-----------------------------------------------
214*4882a593Smuzhiyun
215*4882a593SmuzhiyunGnuPG utilizza le passphrases per criptare la vostra chiave privata prima
216*4882a593Smuzhiyundi salvarla sul disco. In questo modo, anche se il contenuto della vostra
217*4882a593Smuzhiyuncartella ``.gnupg`` venisse letto o trafugato nella sia interezza, gli
218*4882a593Smuzhiyunattaccanti non potrebbero comunque utilizzare le vostre chiavi private senza
219*4882a593Smuzhiyunaver prima ottenuto la passphrase per decriptarle.
220*4882a593Smuzhiyun
221*4882a593SmuzhiyunÈ assolutamente essenziale che le vostre chiavi private siano protette da
222*4882a593Smuzhiyununa passphrase forte. Per impostarla o cambiarla, usate::
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun    $ gpg --change-passphrase [fpr]
225*4882a593Smuzhiyun
226*4882a593SmuzhiyunCreate una sottochiave di firma separata
227*4882a593Smuzhiyun----------------------------------------
228*4882a593Smuzhiyun
229*4882a593SmuzhiyunIl nostro obiettivo è di proteggere la chiave primaria spostandola su un
230*4882a593Smuzhiyundispositivo sconnesso dalla rete, dunque se avete solo una chiave combinata
231*4882a593Smuzhiyun**[SC]** allora dovreste creare una sottochiave di firma separata::
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun    $ gpg --quick-add-key [fpr] ed25519 sign
234*4882a593Smuzhiyun
235*4882a593SmuzhiyunRicordate di informare il keyserver del vostro cambiamento, cosicché altri
236*4882a593Smuzhiyunpossano ricevere la vostra nuova sottochiave::
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun    $ gpg --send-key [fpr]
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun.. note:: Supporto ECC in GnuPG
241*4882a593Smuzhiyun    GnuPG 2.1 e successivi supportano pienamente *Elliptic Curve Cryptography*,
242*4882a593Smuzhiyun    con la possibilità di combinare sottochiavi ECC con le tradizionali chiavi
243*4882a593Smuzhiyun    primarie RSA. Il principale vantaggio della crittografia ECC è che è molto
244*4882a593Smuzhiyun    più veloce da calcolare e crea firme più piccole se confrontate byte per
245*4882a593Smuzhiyun    byte con le chiavi RSA a più di 2048 bit. A meno che non pensiate di
246*4882a593Smuzhiyun    utilizzare un dispositivo smartcard che non supporta le operazioni ECC, vi
247*4882a593Smuzhiyun    raccomandiamo ti creare sottochiavi di firma ECC per il vostro lavoro col
248*4882a593Smuzhiyun    kernel.
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun    Se per qualche ragione preferite rimanere con sottochiavi RSA, nel comando
251*4882a593Smuzhiyun    precedente, sostituite "ed25519" con "rsa2048". In aggiunta, se avete
252*4882a593Smuzhiyun    intenzione di usare un dispositivo hardware che non supporta le chiavi
253*4882a593Smuzhiyun    ED25519 ECC, come la Nitrokey Pro o la Yubikey, allora dovreste usare
254*4882a593Smuzhiyun    "nistp256" al posto di "ed25519".
255*4882a593Smuzhiyun
256*4882a593SmuzhiyunCopia di riserva della chiave primaria per gestire il recupero da disastro
257*4882a593Smuzhiyun--------------------------------------------------------------------------
258*4882a593Smuzhiyun
259*4882a593SmuzhiyunMaggiori sono le firme di altri sviluppatori che vengono applicate alla vostra,
260*4882a593Smuzhiyunmaggiori saranno i motivi per avere una copia di riserva che non sia digitale,
261*4882a593Smuzhiyunal fine di effettuare un recupero da disastro.
262*4882a593Smuzhiyun
263*4882a593SmuzhiyunIl modo migliore per creare una copia fisica della vostra chiave privata è
264*4882a593Smuzhiyunl'uso del programma ``paperkey``. Consultate ``man paperkey`` per maggiori
265*4882a593Smuzhiyundettagli sul formato dell'output ed i suoi punti di forza rispetto ad altre
266*4882a593Smuzhiyunsoluzioni. Paperkey dovrebbe essere già pacchettizzato per la maggior parte
267*4882a593Smuzhiyundelle distribuzioni.
268*4882a593Smuzhiyun
269*4882a593SmuzhiyunEseguite il seguente comando per creare una copia fisica di riserva della
270*4882a593Smuzhiyunvostra chiave privata::
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun    $ gpg --export-secret-key [fpr] | paperkey -o /tmp/key-backup.txt
273*4882a593Smuzhiyun
274*4882a593SmuzhiyunStampate il file (o fate un pipe direttamente verso lpr), poi prendete
275*4882a593Smuzhiyununa penna e scrivete la passphare sul margine del foglio.  **Questo è
276*4882a593Smuzhiyuncaldamente consigliato** perché la copia cartacea è comunque criptata con
277*4882a593Smuzhiyunla passphrase, e se mai doveste cambiarla non vi ricorderete qual'era al
278*4882a593Smuzhiyunmomento della creazione di quella copia -- *garantito*.
279*4882a593Smuzhiyun
280*4882a593SmuzhiyunMettete la copia cartacea e la passphrase scritta a mano in una busta e
281*4882a593Smuzhiyunmettetela in un posto sicuro e ben protetto, preferibilmente fuori casa,
282*4882a593Smuzhiyunmagari in una cassetta di sicurezza in banca.
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun.. note::
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun    Probabilmente la vostra stampante non è più quello stupido dispositivo
287*4882a593Smuzhiyun    connesso alla porta parallela, ma dato che il suo output è comunque
288*4882a593Smuzhiyun    criptato con la passphrase, eseguire la stampa in un sistema "cloud"
289*4882a593Smuzhiyun    moderno dovrebbe essere comunque relativamente sicuro. Un'opzione potrebbe
290*4882a593Smuzhiyun    essere quella di cambiare la passphrase della vostra chiave primaria
291*4882a593Smuzhiyun    subito dopo aver finito con paperkey.
292*4882a593Smuzhiyun
293*4882a593SmuzhiyunCopia di riserva di tutta la cartella GnuPG
294*4882a593Smuzhiyun-------------------------------------------
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun.. warning::
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun    **!!!Non saltate questo passo!!!**
299*4882a593Smuzhiyun
300*4882a593SmuzhiyunQuando avete bisogno di recuperare le vostre chiavi PGP è importante avere
301*4882a593Smuzhiyununa copia di riserva pronta all'uso. Questo sta su un diverso piano di
302*4882a593Smuzhiyunprontezza rispetto al recupero da disastro che abbiamo risolto con
303*4882a593Smuzhiyun``paperkey``. Vi affiderete a queste copie esterne quando dovreste usare la
304*4882a593Smuzhiyunvostra chiave Certify -- ovvero quando fate modifiche alle vostre chiavi o
305*4882a593Smuzhiyunfirmate le chiavi di altre persone ad una conferenza o ad un gruppo d'incontro.
306*4882a593Smuzhiyun
307*4882a593SmuzhiyunIncominciate con una piccola chiavetta di memoria USB (preferibilmente due)
308*4882a593Smuzhiyunche userete per le copie di riserva. Dovrete criptarle usando LUKS -- fate
309*4882a593Smuzhiyunriferimento alla documentazione della vostra distribuzione per capire come
310*4882a593Smuzhiyunfare.
311*4882a593Smuzhiyun
312*4882a593SmuzhiyunPer la passphrase di criptazione, potete usare la stessa della vostra chiave
313*4882a593Smuzhiyunprimaria.
314*4882a593Smuzhiyun
315*4882a593SmuzhiyunUna volta che il processo di criptazione è finito, reinserite il disco USB ed
316*4882a593Smuzhiyunassicurativi che venga montato correttamente. Copiate interamente la cartella
317*4882a593Smuzhiyun``.gnugp`` nel disco criptato::
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun    $ cp -a ~/.gnupg /media/disk/foo/gnupg-backup
320*4882a593Smuzhiyun
321*4882a593SmuzhiyunOra dovreste verificare che tutto continui a funzionare::
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun    $ gpg --homedir=/media/disk/foo/gnupg-backup --list-key [fpr]
324*4882a593Smuzhiyun
325*4882a593SmuzhiyunSe non vedete errori, allora dovreste avere fatto tutto con successo.
326*4882a593SmuzhiyunSmontate il disco USB, etichettatelo per bene di modo da evitare di
327*4882a593Smuzhiyundistruggerne il contenuto non appena vi serve una chiavetta USB a caso, ed
328*4882a593Smuzhiyuninfine mettetelo in un posto sicuro -- ma non troppo lontano, perché vi servirà
329*4882a593Smuzhiyundi tanto in tanto per modificare le identità, aggiungere o revocare
330*4882a593Smuzhiyunsottochiavi, o firmare le chiavi di altre persone.
331*4882a593Smuzhiyun
332*4882a593SmuzhiyunTogliete la chiave primaria dalla vostra home
333*4882a593Smuzhiyun---------------------------------------------
334*4882a593Smuzhiyun
335*4882a593SmuzhiyunI file che si trovano nella vostra cartella home non sono poi così ben protetti
336*4882a593Smuzhiyuncome potreste pensare. Potrebbero essere letti o trafugati in diversi modi:
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun- accidentalmente quando fate una rapida copia della cartella home per
339*4882a593Smuzhiyun  configurare una nuova postazione
340*4882a593Smuzhiyun- da un amministratore di sistema negligente o malintenzionato
341*4882a593Smuzhiyun- attraverso copie di riserva insicure
342*4882a593Smuzhiyun- attraverso malware installato in alcune applicazioni (browser, lettori PDF,
343*4882a593Smuzhiyun  eccetera)
344*4882a593Smuzhiyun- attraverso coercizione quando attraversate confini internazionali
345*4882a593Smuzhiyun
346*4882a593SmuzhiyunProteggere la vostra chiave con una buona passphare aiuta notevolmente a
347*4882a593Smuzhiyunridurre i rischi elencati qui sopra, ma le passphrase possono essere scoperte
348*4882a593Smuzhiyunattraverso i keylogger, il shoulder-surfing, o altri modi. Per questi motivi,
349*4882a593Smuzhiyunnella configurazione si raccomanda di rimuove la chiave primaria dalla vostra
350*4882a593Smuzhiyuncartella home e la si archivia su un dispositivo disconnesso.
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun.. warning::
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun    Per favore, fate riferimento alla sezione precedente e assicuratevi
355*4882a593Smuzhiyun    di aver fatto una copia di riserva totale della cartella GnuPG. Quello
356*4882a593Smuzhiyun    che stiamo per fare renderà la vostra chiave inutile se non avete delle
357*4882a593Smuzhiyun    copie di riserva utilizzabili!
358*4882a593Smuzhiyun
359*4882a593SmuzhiyunPer prima cosa, identificate il keygrip della vostra chiave primaria::
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun    $ gpg --with-keygrip --list-key [fpr]
362*4882a593Smuzhiyun
363*4882a593SmuzhiyunL'output assomiglierà a questo::
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun    pub   rsa2048 2018-01-24 [SC] [expires: 2020-01-24]
366*4882a593Smuzhiyun          000000000000000000000000AAAABBBBCCCCDDDD
367*4882a593Smuzhiyun          Keygrip = 1111000000000000000000000000000000000000
368*4882a593Smuzhiyun    uid           [ultimate] Alice Dev <adev@kernel.org>
369*4882a593Smuzhiyun    sub   rsa2048 2018-01-24 [E] [expires: 2020-01-24]
370*4882a593Smuzhiyun          Keygrip = 2222000000000000000000000000000000000000
371*4882a593Smuzhiyun    sub   ed25519 2018-01-24 [S]
372*4882a593Smuzhiyun          Keygrip = 3333000000000000000000000000000000000000
373*4882a593Smuzhiyun
374*4882a593SmuzhiyunTrovate la voce keygrid che si trova sotto alla riga ``pub`` (appena sotto
375*4882a593Smuzhiyunall'impronta digitale della chiave primaria). Questo corrisponderà direttamente
376*4882a593Smuzhiyunad un file nella cartella ``~/.gnupg``::
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun    $ cd ~/.gnupg/private-keys-v1.d
379*4882a593Smuzhiyun    $ ls
380*4882a593Smuzhiyun    1111000000000000000000000000000000000000.key
381*4882a593Smuzhiyun    2222000000000000000000000000000000000000.key
382*4882a593Smuzhiyun    3333000000000000000000000000000000000000.key
383*4882a593Smuzhiyun
384*4882a593SmuzhiyunQuello che dovrete fare è rimuovere il file .key che corrisponde al keygrip
385*4882a593Smuzhiyundella chiave primaria::
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun    $ cd ~/.gnupg/private-keys-v1.d
388*4882a593Smuzhiyun    $ rm 1111000000000000000000000000000000000000.key
389*4882a593Smuzhiyun
390*4882a593SmuzhiyunOra, se eseguite il comando ``--list-secret-keys``, vedrete che la chiave
391*4882a593Smuzhiyunprimaria non compare più (il simbolo ``#`` indica che non è disponibile)::
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun    $ gpg --list-secret-keys
394*4882a593Smuzhiyun    sec#  rsa2048 2018-01-24 [SC] [expires: 2020-01-24]
395*4882a593Smuzhiyun          000000000000000000000000AAAABBBBCCCCDDDD
396*4882a593Smuzhiyun    uid           [ultimate] Alice Dev <adev@kernel.org>
397*4882a593Smuzhiyun    ssb   rsa2048 2018-01-24 [E] [expires: 2020-01-24]
398*4882a593Smuzhiyun    ssb   ed25519 2018-01-24 [S]
399*4882a593Smuzhiyun
400*4882a593SmuzhiyunDovreste rimuovere anche i file ``secring.gpg`` che si trovano nella cartella
401*4882a593Smuzhiyun``~/.gnupg``, in quanto rimasugli delle versioni precedenti di GnuPG.
402*4882a593Smuzhiyun
403*4882a593SmuzhiyunSe non avete la cartella "private-keys-v1.d"
404*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
405*4882a593Smuzhiyun
406*4882a593SmuzhiyunSe non avete la cartella ``~/.gnupg/private-keys-v1.d``, allora le vostre
407*4882a593Smuzhiyunchiavi segrete sono ancora salvate nel vecchio file ``secring.gpg`` usato
408*4882a593Smuzhiyunda GnuPG v1. Effettuare una qualsiasi modifica alla vostra chiave, come
409*4882a593Smuzhiyuncambiare la passphare o aggiungere una sottochiave, dovrebbe convertire
410*4882a593Smuzhiyunautomaticamente il vecchio formato ``secring.gpg``nel nuovo
411*4882a593Smuzhiyun``private-keys-v1.d``.
412*4882a593Smuzhiyun
413*4882a593SmuzhiyunUna volta che l'avete fatto, assicuratevi di rimuovere il file ``secring.gpg``,
414*4882a593Smuzhiyunche continua a contenere la vostra chiave privata.
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun.. _it_smartcards:
417*4882a593Smuzhiyun
418*4882a593SmuzhiyunSpostare le sottochiavi in un apposito dispositivo criptato
419*4882a593Smuzhiyun===========================================================
420*4882a593Smuzhiyun
421*4882a593SmuzhiyunNonostante la chiave primaria sia ora al riparo da occhi e mani indiscrete,
422*4882a593Smuzhiyunle sottochiavi si trovano ancora nella vostra cartella home. Chiunque riesca
423*4882a593Smuzhiyuna mettere le sue mani su quelle chiavi riuscirà a decriptare le vostre
424*4882a593Smuzhiyuncomunicazioni o a falsificare le vostre firme (se conoscono la passphrase).
425*4882a593SmuzhiyunInoltre, ogni volta che viene fatta un'operazione con GnuPG, le chiavi vengono
426*4882a593Smuzhiyuncaricate nella memoria di sistema e potrebbero essere rubate con l'uso di
427*4882a593Smuzhiyunmalware sofisticati (pensate a Meltdown e a Spectre).
428*4882a593Smuzhiyun
429*4882a593SmuzhiyunIl miglior modo per proteggere le proprie chiave è di spostarle su un
430*4882a593Smuzhiyundispositivo specializzato in grado di effettuare operazioni smartcard.
431*4882a593Smuzhiyun
432*4882a593SmuzhiyunI benefici di una smartcard
433*4882a593Smuzhiyun---------------------------
434*4882a593Smuzhiyun
435*4882a593SmuzhiyunUna smartcard contiene un chip crittografico che è capace di immagazzinare
436*4882a593Smuzhiyunle chiavi private ed effettuare operazioni crittografiche direttamente sulla
437*4882a593Smuzhiyuncarta stessa. Dato che la chiave non lascia mai la smartcard, il sistema
438*4882a593Smuzhiyunoperativo usato sul computer non sarà in grado di accedere alle chiavi.
439*4882a593SmuzhiyunQuesto è molto diverso dai dischi USB criptati che abbiamo usato allo scopo di
440*4882a593Smuzhiyunavere una copia di riserva sicura -- quando il dispositivo USB è connesso e
441*4882a593Smuzhiyunmontato, il sistema operativo potrà accedere al contenuto delle chiavi private.
442*4882a593Smuzhiyun
443*4882a593SmuzhiyunL'uso di un disco USB criptato non può sostituire le funzioni di un dispositivo
444*4882a593Smuzhiyuncapace di operazioni di tipo smartcard.
445*4882a593Smuzhiyun
446*4882a593SmuzhiyunDispositivi smartcard disponibili
447*4882a593Smuzhiyun---------------------------------
448*4882a593Smuzhiyun
449*4882a593SmuzhiyunA meno che tutti i vostri computer dispongano di lettori smartcard, il modo
450*4882a593Smuzhiyunpiù semplice è equipaggiarsi di un dispositivo USB specializzato che
451*4882a593Smuzhiyunimplementi le funzionalità delle smartcard.  Sul mercato ci sono diverse
452*4882a593Smuzhiyunsoluzioni disponibili:
453*4882a593Smuzhiyun
454*4882a593Smuzhiyun- `Nitrokey Start`_: è Open hardware e Free Software, è basata sul progetto
455*4882a593Smuzhiyun  `GnuK`_ della FSIJ. Questo è uno dei pochi dispositivi a supportare le chiavi
456*4882a593Smuzhiyun  ECC ED25519, ma offre meno funzionalità di sicurezza (come la resistenza
457*4882a593Smuzhiyun  alla manomissione o alcuni attacchi ad un canale laterale).
458*4882a593Smuzhiyun- `Nitrokey Pro 2`_: è simile alla Nitrokey Start, ma è più resistente alla
459*4882a593Smuzhiyun  manomissione e offre più funzionalità di sicurezza. La Pro 2 supporta la
460*4882a593Smuzhiyun  crittografia ECC (NISTP).
461*4882a593Smuzhiyun- `Yubikey 5`_: l'hardware e il software sono proprietari, ma è più economica
462*4882a593Smuzhiyun  della  Nitrokey Pro ed è venduta anche con porta USB-C il che è utile con i
463*4882a593Smuzhiyun  computer portatili più recenti. In aggiunta, offre altre funzionalità di
464*4882a593Smuzhiyun  sicurezza come FIDO, U2F, e ora supporta anche le chiavi ECC (NISTP)
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun`Su LWN c'è una buona recensione`_ dei modelli elencati qui sopra e altri.
467*4882a593SmuzhiyunLa scelta dipenderà dal costo, dalla disponibilità nella vostra area
468*4882a593Smuzhiyungeografica e vostre considerazioni sull'hardware aperto/proprietario.
469*4882a593Smuzhiyun
470*4882a593SmuzhiyunSe volete usare chiavi ECC, la vostra migliore scelta sul mercato è la
471*4882a593SmuzhiyunNitrokey Start.
472*4882a593Smuzhiyun
473*4882a593Smuzhiyun.. _`Nitrokey Start`: https://shop.nitrokey.com/shop/product/nitrokey-start-6
474*4882a593Smuzhiyun.. _`Nitrokey Pro 2`: https://shop.nitrokey.com/shop/product/nitrokey-pro-2-3
475*4882a593Smuzhiyun.. _`Yubikey 5`: https://www.yubico.com/product/yubikey-5-overview/
476*4882a593Smuzhiyun.. _Gnuk: http://www.fsij.org/doc-gnuk/
477*4882a593Smuzhiyun.. _`Su LWN c'è una buona recensione`: https://lwn.net/Articles/736231/
478*4882a593Smuzhiyun
479*4882a593SmuzhiyunConfigurare il vostro dispositivo smartcard
480*4882a593Smuzhiyun-------------------------------------------
481*4882a593Smuzhiyun
482*4882a593SmuzhiyunIl vostro dispositivo smartcard dovrebbe iniziare a funzionare non appena
483*4882a593Smuzhiyunlo collegate ad un qualsiasi computer Linux moderno. Potete verificarlo
484*4882a593Smuzhiyuneseguendo::
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun    $ gpg --card-status
487*4882a593Smuzhiyun
488*4882a593SmuzhiyunSe vedete tutti i dettagli della smartcard, allora ci siamo. Sfortunatamente,
489*4882a593Smuzhiyunaffrontare tutti i possibili motivi per cui le cose potrebbero non funzionare
490*4882a593Smuzhiyunnon è lo scopo di questa guida. Se avete problemi nel far funzionare la carta
491*4882a593Smuzhiyuncon GnuPG, cercate aiuto attraverso i soliti canali di supporto.
492*4882a593Smuzhiyun
493*4882a593SmuzhiyunPer configurare la vostra smartcard, dato che non c'è una via facile dalla
494*4882a593Smuzhiyunriga di comando, dovrete usate il menu di GnuPG::
495*4882a593Smuzhiyun
496*4882a593Smuzhiyun    $ gpg --card-edit
497*4882a593Smuzhiyun    [...omitted...]
498*4882a593Smuzhiyun    gpg/card> admin
499*4882a593Smuzhiyun    Admin commands are allowed
500*4882a593Smuzhiyun    gpg/card> passwd
501*4882a593Smuzhiyun
502*4882a593SmuzhiyunDovreste impostare il PIN dell'utente (1), quello dell'amministratore (3) e il
503*4882a593Smuzhiyuncodice di reset (4). Assicuratevi di annotare e salvare questi codici in un
504*4882a593Smuzhiyunposto sicuro -- specialmente il PIN dell'amministratore e il codice di reset
505*4882a593Smuzhiyun(che vi permetterà di azzerare completamente la smartcard).  Il PIN
506*4882a593Smuzhiyundell'amministratore viene usato così raramente che è inevitabile dimenticarselo
507*4882a593Smuzhiyunse non lo si annota.
508*4882a593Smuzhiyun
509*4882a593SmuzhiyunTornando al nostro menu, potete impostare anche altri valori (come il nome,
510*4882a593Smuzhiyunil sesso, informazioni d'accesso, eccetera), ma non sono necessari e aggiunge
511*4882a593Smuzhiyunaltre informazioni sulla carta che potrebbero trapelare in caso di smarrimento.
512*4882a593Smuzhiyun
513*4882a593Smuzhiyun.. note::
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun    A dispetto del nome "PIN", né il PIN utente né quello dell'amministratore
516*4882a593Smuzhiyun    devono essere esclusivamente numerici.
517*4882a593Smuzhiyun
518*4882a593SmuzhiyunSpostare le sottochiavi sulla smartcard
519*4882a593Smuzhiyun---------------------------------------
520*4882a593Smuzhiyun
521*4882a593SmuzhiyunUscite dal menu (usando "q") e salverete tutte le modifiche. Poi, spostiamo
522*4882a593Smuzhiyuntutte le sottochiavi sulla smartcard. Per la maggior parte delle operazioni
523*4882a593Smuzhiyunvi serviranno sia la passphrase della chiave PGP che il PIN
524*4882a593Smuzhiyundell'amministratore::
525*4882a593Smuzhiyun
526*4882a593Smuzhiyun    $ gpg --edit-key [fpr]
527*4882a593Smuzhiyun
528*4882a593Smuzhiyun    Secret subkeys are available.
529*4882a593Smuzhiyun
530*4882a593Smuzhiyun    pub  rsa2048/AAAABBBBCCCCDDDD
531*4882a593Smuzhiyun         created: 2018-01-23  expires: 2020-01-23  usage: SC
532*4882a593Smuzhiyun         trust: ultimate      validity: ultimate
533*4882a593Smuzhiyun    ssb  rsa2048/1111222233334444
534*4882a593Smuzhiyun         created: 2018-01-23  expires: never       usage: E
535*4882a593Smuzhiyun    ssb  ed25519/5555666677778888
536*4882a593Smuzhiyun         created: 2017-12-07  expires: never       usage: S
537*4882a593Smuzhiyun    [ultimate] (1). Alice Dev <adev@kernel.org>
538*4882a593Smuzhiyun
539*4882a593Smuzhiyun    gpg>
540*4882a593Smuzhiyun
541*4882a593SmuzhiyunUsando ``--edit-key`` si tornerà alla modalità menu e noterete che
542*4882a593Smuzhiyunla lista delle chiavi è leggermente diversa. Da questo momento in poi,
543*4882a593Smuzhiyuntutti i comandi saranno eseguiti nella modalità menu, come indicato
544*4882a593Smuzhiyunda ``gpg>``.
545*4882a593Smuzhiyun
546*4882a593SmuzhiyunPer prima cosa, selezioniamo la chiave che verrà messa sulla carta --
547*4882a593Smuzhiyunpotete farlo digitando ``key 1`` (è la prima della lista, la sottochiave
548*4882a593Smuzhiyun**[E]**)::
549*4882a593Smuzhiyun
550*4882a593Smuzhiyun    gpg> key 1
551*4882a593Smuzhiyun
552*4882a593SmuzhiyunNel'output dovreste vedere ``ssb*`` associato alla chiave **[E]**. Il simbolo
553*4882a593Smuzhiyun``*`` indica che la chiave è stata "selezionata". Funziona come un
554*4882a593Smuzhiyuninterruttore, ovvero se scrivete nuovamente ``key 1``, il simbolo ``*`` sparirà
555*4882a593Smuzhiyune la chiave non sarà più selezionata.
556*4882a593Smuzhiyun
557*4882a593SmuzhiyunOra, spostiamo la chiave sulla smartcard::
558*4882a593Smuzhiyun
559*4882a593Smuzhiyun    gpg> keytocard
560*4882a593Smuzhiyun    Please select where to store the key:
561*4882a593Smuzhiyun       (2) Encryption key
562*4882a593Smuzhiyun    Your selection? 2
563*4882a593Smuzhiyun
564*4882a593SmuzhiyunDato che è la nostra chiave  **[E]**, ha senso metterla nella sezione criptata.
565*4882a593SmuzhiyunQuando confermerete la selezione, vi verrà chiesta la passphrase della vostra
566*4882a593Smuzhiyunchiave PGP, e poi il PIN dell'amministratore. Se il comando ritorna senza
567*4882a593Smuzhiyunerrori, allora la vostra chiave è stata spostata con successo.
568*4882a593Smuzhiyun
569*4882a593Smuzhiyun**Importante**: digitate nuovamente ``key 1`` per deselezionare la prima chiave
570*4882a593Smuzhiyune selezionate la seconda chiave **[S]** con ``key 2``::
571*4882a593Smuzhiyun
572*4882a593Smuzhiyun    gpg> key 1
573*4882a593Smuzhiyun    gpg> key 2
574*4882a593Smuzhiyun    gpg> keytocard
575*4882a593Smuzhiyun    Please select where to store the key:
576*4882a593Smuzhiyun       (1) Signature key
577*4882a593Smuzhiyun       (3) Authentication key
578*4882a593Smuzhiyun    Your selection? 1
579*4882a593Smuzhiyun
580*4882a593SmuzhiyunPotete usare la chiave **[S]** sia per firmare che per autenticare, ma vogliamo
581*4882a593Smuzhiyunche sia nella sezione di firma, quindi scegliete (1). Ancora una volta, se il
582*4882a593Smuzhiyuncomando ritorna senza errori, allora l'operazione è avvenuta con successo::
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun    gpg> q
585*4882a593Smuzhiyun    Save changes? (y/N) y
586*4882a593Smuzhiyun
587*4882a593SmuzhiyunSalvando le modifiche cancellerete dalla vostra cartella home tutte le chiavi
588*4882a593Smuzhiyunche avete spostato sulla carta (ma questo non è un problema, perché abbiamo
589*4882a593Smuzhiyunfatto delle copie di sicurezza nel caso in cui dovessimo configurare una
590*4882a593Smuzhiyunnuova smartcard).
591*4882a593Smuzhiyun
592*4882a593SmuzhiyunVerificare che le chiavi siano state spostate
593*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
594*4882a593Smuzhiyun
595*4882a593SmuzhiyunOra, se doveste usare l'opzione ``--list-secret-keys``, vedrete una
596*4882a593Smuzhiyunsottile differenza nell'output::
597*4882a593Smuzhiyun
598*4882a593Smuzhiyun    $ gpg --list-secret-keys
599*4882a593Smuzhiyun    sec#  rsa2048 2018-01-24 [SC] [expires: 2020-01-24]
600*4882a593Smuzhiyun          000000000000000000000000AAAABBBBCCCCDDDD
601*4882a593Smuzhiyun    uid           [ultimate] Alice Dev <adev@kernel.org>
602*4882a593Smuzhiyun    ssb>  rsa2048 2018-01-24 [E] [expires: 2020-01-24]
603*4882a593Smuzhiyun    ssb>  ed25519 2018-01-24 [S]
604*4882a593Smuzhiyun
605*4882a593SmuzhiyunIl simbolo ``>`` in ``ssb>`` indica che la sottochiave è disponibile solo
606*4882a593Smuzhiyunnella smartcard. Se tornate nella vostra cartella delle chiavi segrete e
607*4882a593Smuzhiyunguardate al suo contenuto, noterete che i file ``.key`` sono stati sostituiti
608*4882a593Smuzhiyuncon degli stub::
609*4882a593Smuzhiyun
610*4882a593Smuzhiyun    $ cd ~/.gnupg/private-keys-v1.d
611*4882a593Smuzhiyun    $ strings *.key | grep 'private-key'
612*4882a593Smuzhiyun
613*4882a593SmuzhiyunPer indicare che i file sono solo degli stub e che in realtà il contenuto è
614*4882a593Smuzhiyunsulla smartcard, l'output dovrebbe mostrarvi ``shadowed-private-key``.
615*4882a593Smuzhiyun
616*4882a593SmuzhiyunVerificare che la smartcard funzioni
617*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
618*4882a593Smuzhiyun
619*4882a593SmuzhiyunPer verificare che la smartcard funzioni come dovuto, potete creare
620*4882a593Smuzhiyununa firma::
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun    $ echo "Hello world" | gpg --clearsign > /tmp/test.asc
623*4882a593Smuzhiyun    $ gpg --verify /tmp/test.asc
624*4882a593Smuzhiyun
625*4882a593SmuzhiyunCol primo comando dovrebbe chiedervi il PIN della smartcard, e poi dovrebbe
626*4882a593Smuzhiyunmostrare "Good signature" dopo l'esecuzione di ``gpg --verify``.
627*4882a593Smuzhiyun
628*4882a593SmuzhiyunComplimenti, siete riusciti a rendere estremamente difficile il furto della
629*4882a593Smuzhiyunvostra identità digitale di sviluppatore.
630*4882a593Smuzhiyun
631*4882a593SmuzhiyunAltre operazioni possibili con GnuPG
632*4882a593Smuzhiyun------------------------------------
633*4882a593Smuzhiyun
634*4882a593SmuzhiyunSegue un breve accenno ad alcune delle operazioni più comuni che dovrete
635*4882a593Smuzhiyunfare con le vostre chiavi PGP.
636*4882a593Smuzhiyun
637*4882a593SmuzhiyunMontare il disco con la chiave primaria
638*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
639*4882a593Smuzhiyun
640*4882a593SmuzhiyunVi servirà la vostra chiave principale per tutte le operazioni che seguiranno,
641*4882a593Smuzhiyunper cui per prima cosa dovrete accedere ai vostri backup e dire a GnuPG di
642*4882a593Smuzhiyunusarli::
643*4882a593Smuzhiyun
644*4882a593Smuzhiyun    $ export GNUPGHOME=/media/disk/foo/gnupg-backup
645*4882a593Smuzhiyun    $ gpg --list-secret-keys
646*4882a593Smuzhiyun
647*4882a593SmuzhiyunDovete assicurarvi di vedere ``sec`` e non ``sec#`` nell'output del programma
648*4882a593Smuzhiyun(il simbolo ``#`` significa che la chiave non è disponibile e che state ancora
649*4882a593Smuzhiyunutilizzando la vostra solita cartella di lavoro).
650*4882a593Smuzhiyun
651*4882a593SmuzhiyunEstendere la data di scadenza di una chiave
652*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
653*4882a593Smuzhiyun
654*4882a593SmuzhiyunLa chiave principale ha una data di scadenza di 2 anni dal momento della sua
655*4882a593Smuzhiyuncreazione. Questo per motivi di sicurezza e per rendere obsolete le chiavi
656*4882a593Smuzhiyunche, eventualmente, dovessero sparire dai keyserver.
657*4882a593Smuzhiyun
658*4882a593SmuzhiyunPer estendere di un anno, dalla data odierna, la scadenza di una vostra chiave,
659*4882a593Smuzhiyuneseguite::
660*4882a593Smuzhiyun
661*4882a593Smuzhiyun    $ gpg --quick-set-expire [fpr] 1y
662*4882a593Smuzhiyun
663*4882a593SmuzhiyunSe per voi è più facile da memorizzare, potete anche utilizzare una data
664*4882a593Smuzhiyunspecifica (per esempio, il vostro compleanno o capodanno)::
665*4882a593Smuzhiyun
666*4882a593Smuzhiyun    $ gpg --quick-set-expire [fpr] 2020-07-01
667*4882a593Smuzhiyun
668*4882a593SmuzhiyunRicordatevi di inviare l'aggiornamento ai keyserver::
669*4882a593Smuzhiyun
670*4882a593Smuzhiyun    $ gpg --send-key [fpr]
671*4882a593Smuzhiyun
672*4882a593SmuzhiyunAggiornare la vostra cartella di lavoro dopo ogni modifica
673*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
674*4882a593Smuzhiyun
675*4882a593SmuzhiyunDopo aver fatto delle modifiche alle vostre chiavi usando uno spazio a parte,
676*4882a593Smuzhiyundovreste importarle nella vostra cartella di lavoro abituale::
677*4882a593Smuzhiyun
678*4882a593Smuzhiyun    $ gpg --export | gpg --homedir ~/.gnupg --import
679*4882a593Smuzhiyun    $ unset GNUPGHOME
680*4882a593Smuzhiyun
681*4882a593Smuzhiyun
682*4882a593SmuzhiyunUsare PGP con Git
683*4882a593Smuzhiyun=================
684*4882a593Smuzhiyun
685*4882a593SmuzhiyunUna delle caratteristiche fondanti di Git è la sua natura decentralizzata --
686*4882a593Smuzhiyununa volta che il repositorio è stato clonato sul vostro sistema, avete la
687*4882a593Smuzhiyunstoria completa del progetto, inclusi i suoi tag, i commit ed i rami. Tuttavia,
688*4882a593Smuzhiyuncon i centinaia di repositori clonati che ci sono in giro, come si fa a
689*4882a593Smuzhiyunverificare che la loro copia di linux.git non è stata manomessa da qualcuno?
690*4882a593Smuzhiyun
691*4882a593SmuzhiyunOppure, cosa succede se viene scoperta una backdoor nel codice e la riga
692*4882a593Smuzhiyun"Autore" dice che sei stato tu, mentre tu sei abbastanza sicuro di
693*4882a593Smuzhiyun`non averci niente a che fare`_?
694*4882a593Smuzhiyun
695*4882a593SmuzhiyunPer risolvere entrambi i problemi, Git ha introdotto l'integrazione con PGP.
696*4882a593SmuzhiyunI tag firmati dimostrano che il repositorio è integro assicurando che il suo
697*4882a593Smuzhiyuncontenuto è lo stesso che si trova sulle macchine degli sviluppatori che hanno
698*4882a593Smuzhiyuncreato il tag; mentre i commit firmati rendono praticamente impossibile
699*4882a593Smuzhiyunad un malintenzionato di impersonarvi senza avere accesso alle vostre chiavi
700*4882a593SmuzhiyunPGP.
701*4882a593Smuzhiyun
702*4882a593Smuzhiyun.. _`non averci niente a che fare`: https://github.com/jayphelps/git-blame-someone-else
703*4882a593Smuzhiyun
704*4882a593SmuzhiyunConfigurare git per usare la vostra chiave PGP
705*4882a593Smuzhiyun----------------------------------------------
706*4882a593Smuzhiyun
707*4882a593SmuzhiyunSe avete solo una chiave segreta nel vostro portachiavi, allora non avete nulla
708*4882a593Smuzhiyunda fare in più dato che sarà la vostra chiave di base. Tuttavia, se doveste
709*4882a593Smuzhiyunavere più chiavi segrete, potete dire a git quale dovrebbe usare (``[fpg]``
710*4882a593Smuzhiyunè la vostra impronta digitale)::
711*4882a593Smuzhiyun
712*4882a593Smuzhiyun    $ git config --global user.signingKey [fpr]
713*4882a593Smuzhiyun
714*4882a593Smuzhiyun**IMPORTANTE**: se avete una comando dedicato per ``gpg2``, allora dovreste
715*4882a593Smuzhiyundire a git di usare sempre quello piuttosto che il vecchio comando ``gpg``::
716*4882a593Smuzhiyun
717*4882a593Smuzhiyun    $ git config --global gpg.program gpg2
718*4882a593Smuzhiyun
719*4882a593SmuzhiyunCome firmare i tag
720*4882a593Smuzhiyun------------------
721*4882a593Smuzhiyun
722*4882a593SmuzhiyunPer creare un tag firmato, passate l'opzione ``-s`` al comando tag::
723*4882a593Smuzhiyun
724*4882a593Smuzhiyun    $ git tag -s [tagname]
725*4882a593Smuzhiyun
726*4882a593SmuzhiyunLa nostra raccomandazione è quella di firmare sempre i tag git, perché
727*4882a593Smuzhiyunquesto permette agli altri sviluppatori di verificare che il repositorio
728*4882a593Smuzhiyungit dal quale stanno prendendo il codice non è stato alterato intenzionalmente.
729*4882a593Smuzhiyun
730*4882a593SmuzhiyunCome verificare i tag firmati
731*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
732*4882a593Smuzhiyun
733*4882a593SmuzhiyunPer verificare un tag firmato, potete usare il comando ``verify-tag``::
734*4882a593Smuzhiyun
735*4882a593Smuzhiyun    $ git verify-tag [tagname]
736*4882a593Smuzhiyun
737*4882a593SmuzhiyunSe state prendendo un tag da un fork del repositorio del progetto, git
738*4882a593Smuzhiyundovrebbe verificare automaticamente la firma di quello che state prendendo
739*4882a593Smuzhiyune vi mostrerà il risultato durante l'operazione di merge::
740*4882a593Smuzhiyun
741*4882a593Smuzhiyun    $ git pull [url] tags/sometag
742*4882a593Smuzhiyun
743*4882a593SmuzhiyunIl merge conterrà qualcosa di simile::
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun    Merge tag 'sometag' of [url]
746*4882a593Smuzhiyun
747*4882a593Smuzhiyun    [Tag message]
748*4882a593Smuzhiyun
749*4882a593Smuzhiyun    # gpg: Signature made [...]
750*4882a593Smuzhiyun    # gpg: Good signature from [...]
751*4882a593Smuzhiyun
752*4882a593SmuzhiyunSe state verificando il tag di qualcun altro, allora dovrete importare
753*4882a593Smuzhiyunla loro chiave PGP. Fate riferimento alla sezione ":ref:`it_verify_identities`"
754*4882a593Smuzhiyunche troverete più avanti.
755*4882a593Smuzhiyun
756*4882a593SmuzhiyunConfigurare git per firmare sempre i tag con annotazione
757*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
758*4882a593Smuzhiyun
759*4882a593SmuzhiyunSe state creando un tag con annotazione è molto probabile che vogliate
760*4882a593Smuzhiyunfirmarlo. Per imporre a git di firmare sempre un tag con annotazione,
761*4882a593Smuzhiyundovete impostare la seguente opzione globale::
762*4882a593Smuzhiyun
763*4882a593Smuzhiyun    $ git config --global tag.forceSignAnnotated true
764*4882a593Smuzhiyun
765*4882a593SmuzhiyunCome usare commit firmati
766*4882a593Smuzhiyun-------------------------
767*4882a593Smuzhiyun
768*4882a593SmuzhiyunCreare dei commit firmati è facile, ma è molto più difficile utilizzarli
769*4882a593Smuzhiyunnello sviluppo del kernel linux per via del fatto che ci si affida alle
770*4882a593Smuzhiyunliste di discussione e questo modo di procedere non mantiene le firme PGP
771*4882a593Smuzhiyunnei commit. In aggiunta, quando si usa *rebase* nel proprio repositorio
772*4882a593Smuzhiyunlocale per allinearsi al kernel anche le proprie firme PGP verranno scartate.
773*4882a593SmuzhiyunPer questo motivo, la maggior parte degli sviluppatori del kernel non si
774*4882a593Smuzhiyunpreoccupano troppo di firmare i propri commit ed ignoreranno quelli firmati
775*4882a593Smuzhiyunche si trovano in altri repositori usati per il proprio lavoro.
776*4882a593Smuzhiyun
777*4882a593SmuzhiyunTuttavia, se avete il vostro repositorio di lavoro disponibile al pubblico
778*4882a593Smuzhiyunsu un qualche servizio di hosting git (kernel.org, infradead.org, ozlabs.org,
779*4882a593Smuzhiyuno altri), allora la raccomandazione è di firmare tutti i vostri commit
780*4882a593Smuzhiyunanche se gli sviluppatori non ne beneficeranno direttamente.
781*4882a593Smuzhiyun
782*4882a593SmuzhiyunVi raccomandiamo di farlo per i seguenti motivi:
783*4882a593Smuzhiyun
784*4882a593Smuzhiyun1. Se dovesse mai esserci la necessità di fare delle analisi forensi o
785*4882a593Smuzhiyun   tracciare la provenienza di un codice, anche sorgenti mantenuti
786*4882a593Smuzhiyun   esternamente che hanno firme PGP sui commit avranno un certo valore a
787*4882a593Smuzhiyun   questo scopo.
788*4882a593Smuzhiyun2. Se dovesse mai capitarvi di clonare il vostro repositorio locale (per
789*4882a593Smuzhiyun   esempio dopo un danneggiamento del disco), la firma vi permetterà di
790*4882a593Smuzhiyun   verificare l'integrità del repositorio prima di riprendere il lavoro.
791*4882a593Smuzhiyun3. Se qualcuno volesse usare *cherry-pick* sui vostri commit, allora la firma
792*4882a593Smuzhiyun   permetterà di verificare l'integrità dei commit prima di applicarli.
793*4882a593Smuzhiyun
794*4882a593SmuzhiyunCreare commit firmati
795*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~
796*4882a593Smuzhiyun
797*4882a593SmuzhiyunPer creare un commit firmato, dovete solamente aggiungere l'opzione ``-S``
798*4882a593Smuzhiyunal comando ``git commit`` (si usa la lettera maiuscola per evitare
799*4882a593Smuzhiyunconflitti con un'altra opzione)::
800*4882a593Smuzhiyun
801*4882a593Smuzhiyun    $ git commit -S
802*4882a593Smuzhiyun
803*4882a593SmuzhiyunConfigurare git per firmare sempre i commit
804*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
805*4882a593Smuzhiyun
806*4882a593SmuzhiyunPotete dire a git di firmare sempre i commit::
807*4882a593Smuzhiyun
808*4882a593Smuzhiyun    git config --global commit.gpgSign true
809*4882a593Smuzhiyun
810*4882a593Smuzhiyun.. note::
811*4882a593Smuzhiyun
812*4882a593Smuzhiyun    Assicuratevi di aver configurato ``gpg-agent`` prima di abilitare
813*4882a593Smuzhiyun    questa opzione.
814*4882a593Smuzhiyun
815*4882a593Smuzhiyun.. _it_verify_identities:
816*4882a593Smuzhiyun
817*4882a593SmuzhiyunCome verificare l'identità degli sviluppatori del kernel
818*4882a593Smuzhiyun========================================================
819*4882a593Smuzhiyun
820*4882a593SmuzhiyunFirmare i tag e i commit è facile, ma come si fa a verificare che la chiave
821*4882a593Smuzhiyunusata per firmare qualcosa appartenga davvero allo sviluppatore e non ad un
822*4882a593Smuzhiyunimpostore?
823*4882a593Smuzhiyun
824*4882a593SmuzhiyunConfigurare l'auto-key-retrieval usando WKD e DANE
825*4882a593Smuzhiyun--------------------------------------------------
826*4882a593Smuzhiyun
827*4882a593SmuzhiyunSe non siete ancora in possesso di una vasta collezione di chiavi pubbliche
828*4882a593Smuzhiyundi altri sviluppatori, allora potreste iniziare il vostro portachiavi
829*4882a593Smuzhiyunaffidandovi ai servizi di auto-scoperta e auto-recupero. GnuPG può affidarsi
830*4882a593Smuzhiyunad altre tecnologie di delega della fiducia, come DNSSEC e TLS, per sostenervi
831*4882a593Smuzhiyunnel caso in cui iniziare una propria rete di fiducia da zero sia troppo
832*4882a593Smuzhiyunscoraggiante.
833*4882a593Smuzhiyun
834*4882a593SmuzhiyunAggiungete il seguente testo al vostro file ``~/.gnupg/gpg.conf``::
835*4882a593Smuzhiyun
836*4882a593Smuzhiyun    auto-key-locate wkd,dane,local
837*4882a593Smuzhiyun    auto-key-retrieve
838*4882a593Smuzhiyun
839*4882a593SmuzhiyunLa *DNS-Based Authentication of Named Entities* ("DANE") è un metodo
840*4882a593Smuzhiyunper la pubblicazione di chiavi pubbliche su DNS e per renderle sicure usando
841*4882a593Smuzhiyunzone firmate con DNSSEC. Il *Web Key Directory* ("WKD") è un metodo
842*4882a593Smuzhiyunalternativo che usa https a scopo di ricerca. Quando si usano DANE o WKD
843*4882a593Smuzhiyunper la ricerca di chiavi pubbliche, GnuPG validerà i certificati DNSSEC o TLS
844*4882a593Smuzhiyunprima di aggiungere al vostro portachiavi locale le eventuali chiavi trovate.
845*4882a593Smuzhiyun
846*4882a593SmuzhiyunKernel.org pubblica la WKD per tutti gli sviluppatori che hanno un account
847*4882a593Smuzhiyunkernel.org. Una volta che avete applicato le modifiche al file ``gpg.conf``,
848*4882a593Smuzhiyunpotrete auto-recuperare le chiavi di Linus Torvalds e Greg Kroah-Hartman
849*4882a593Smuzhiyun(se non le avete già)::
850*4882a593Smuzhiyun
851*4882a593Smuzhiyun    $ gpg --locate-keys torvalds@kernel.org gregkh@kernel.org
852*4882a593Smuzhiyun
853*4882a593SmuzhiyunSe avete un account kernel.org, al fine di rendere più utile l'uso di WKD
854*4882a593Smuzhiyunda parte di altri sviluppatori del kernel, dovreste `aggiungere alla vostra
855*4882a593Smuzhiyunchiave lo UID di kernel.org`_.
856*4882a593Smuzhiyun
857*4882a593Smuzhiyun.. _`aggiungere alla vostra chiave lo UID di kernel.org`: https://korg.wiki.kernel.org/userdoc/mail#adding_a_kernelorg_uid_to_your_pgp_key
858*4882a593Smuzhiyun
859*4882a593SmuzhiyunWeb of Trust (WOT) o Trust on First Use (TOFU)
860*4882a593Smuzhiyun----------------------------------------------
861*4882a593Smuzhiyun
862*4882a593SmuzhiyunPGP incorpora un meccanismo di delega della fiducia conosciuto come
863*4882a593Smuzhiyun"Web of Trust". Di base, questo è un tentativo di sostituire la necessità
864*4882a593Smuzhiyundi un'autorità certificativa centralizzata tipica del mondo HTTPS/TLS.
865*4882a593SmuzhiyunInvece di avere svariati produttori software che decidono chi dovrebbero
866*4882a593Smuzhiyunessere le entità di certificazione di cui dovreste fidarvi, PGP lascia
867*4882a593Smuzhiyunla responsabilità ad ogni singolo utente.
868*4882a593Smuzhiyun
869*4882a593SmuzhiyunSfortunatamente, solo poche persone capiscono come funziona la rete di fiducia.
870*4882a593SmuzhiyunNonostante sia un importante aspetto della specifica OpenPGP, recentemente
871*4882a593Smuzhiyunle versioni di GnuPG (2.2 e successive) hanno implementato un meccanisco
872*4882a593Smuzhiyunalternativo chiamato "Trust on First Use" (TOFU). Potete pensare a TOFU come
873*4882a593Smuzhiyun"ad un approccio all fidicia simile ad SSH". In SSH, la prima volta che vi
874*4882a593Smuzhiyunconnettete ad un sistema remoto, l'impronta digitale della chiave viene
875*4882a593Smuzhiyunregistrata e ricordata. Se la chiave dovesse cambiare in futuro, il programma
876*4882a593SmuzhiyunSSH vi avviserà e si rifiuterà di connettersi, obbligandovi a prendere una
877*4882a593Smuzhiyundecisione circa la fiducia che riponete nella nuova chiave. In modo simile,
878*4882a593Smuzhiyunla prima volta che importate la chiave PGP di qualcuno, si assume sia valida.
879*4882a593SmuzhiyunSe ad un certo punto GnuPG trova un'altra chiave con la stessa identità,
880*4882a593Smuzhiyunentrambe, la vecchia e la nuova, verranno segnate come invalide e dovrete
881*4882a593Smuzhiyunverificare manualmente quale tenere.
882*4882a593Smuzhiyun
883*4882a593SmuzhiyunVi raccomandiamo di usare il meccanisco TOFU+PGP (che è la nuova configurazione
884*4882a593Smuzhiyundi base di GnuPG v2). Per farlo, aggiungete (o modificate) l'impostazione
885*4882a593Smuzhiyun``trust-model`` in ``~/.gnupg/gpg.conf``::
886*4882a593Smuzhiyun
887*4882a593Smuzhiyun    trust-model tofu+pgp
888*4882a593Smuzhiyun
889*4882a593SmuzhiyunCome usare i keyserver in sicurezza
890*4882a593Smuzhiyun-----------------------------------
891*4882a593SmuzhiyunSe ottenete l'errore "No public key" quando cercate di validate il tag di
892*4882a593Smuzhiyunqualcuno, allora dovreste cercare quella chiave usando un keyserver. È
893*4882a593Smuzhiyunimportante tenere bene a mente che non c'è alcuna garanzia che la chiave
894*4882a593Smuzhiyunche avete recuperato da un keyserver PGP appartenga davvero alla persona
895*4882a593Smuzhiyunreale -- è progettato così. Dovreste usare il Web of Trust per assicurarvi
896*4882a593Smuzhiyunche la chiave sia valida.
897*4882a593Smuzhiyun
898*4882a593SmuzhiyunCome mantenere il Web of Trust va oltre gli scopi di questo documento,
899*4882a593Smuzhiyunsemplicemente perché farlo come si deve richiede sia sforzi che perseveranza
900*4882a593Smuzhiyunche tendono ad andare oltre al livello di interesse della maggior parte degli
901*4882a593Smuzhiyunesseri umani. Qui di seguito alcuni rapidi suggerimenti per aiutarvi a ridurre
902*4882a593Smuzhiyunil rischio di importare chiavi maligne.
903*4882a593Smuzhiyun
904*4882a593SmuzhiyunPrimo, diciamo che avete provato ad eseguire ``git verify-tag`` ma restituisce
905*4882a593Smuzhiyunun errore dicendo che la chiave non è stata trovata::
906*4882a593Smuzhiyun
907*4882a593Smuzhiyun    $ git verify-tag sunxi-fixes-for-4.15-2
908*4882a593Smuzhiyun    gpg: Signature made Sun 07 Jan 2018 10:51:55 PM EST
909*4882a593Smuzhiyun    gpg:                using RSA key DA73759BF8619E484E5A3B47389A54219C0F2430
910*4882a593Smuzhiyun    gpg:                issuer "wens@...org"
911*4882a593Smuzhiyun    gpg: Can't check signature: No public key
912*4882a593Smuzhiyun
913*4882a593SmuzhiyunCerchiamo nel keyserver per maggiori informazioni sull'impronta digitale
914*4882a593Smuzhiyundella chiave (l'impronta digitale, probabilmente, appartiene ad una
915*4882a593Smuzhiyunsottochiave, dunque non possiamo usarla direttamente senza trovare prima
916*4882a593Smuzhiyunl'ID della chiave primaria associata ad essa)::
917*4882a593Smuzhiyun
918*4882a593Smuzhiyun    $ gpg --search DA73759BF8619E484E5A3B47389A54219C0F2430
919*4882a593Smuzhiyun    gpg: data source: hkp://keys.gnupg.net
920*4882a593Smuzhiyun    (1) Chen-Yu Tsai <wens@...org>
921*4882a593Smuzhiyun          4096 bit RSA key C94035C21B4F2AEB, created: 2017-03-14, expires: 2019-03-15
922*4882a593Smuzhiyun    Keys 1-1 of 1 for "DA73759BF8619E484E5A3B47389A54219C0F2430".  Enter number(s), N)ext, or Q)uit > q
923*4882a593Smuzhiyun
924*4882a593SmuzhiyunLocalizzate l'ID della chiave primaria, nel nostro esempio
925*4882a593Smuzhiyun``C94035C21B4F2AEB``. Ora visualizzate le chiavi di Linus Torvalds
926*4882a593Smuzhiyunche avete nel vostro portachiavi::
927*4882a593Smuzhiyun
928*4882a593Smuzhiyun    $ gpg --list-key torvalds@kernel.org
929*4882a593Smuzhiyun    pub   rsa2048 2011-09-20 [SC]
930*4882a593Smuzhiyun          ABAF11C65A2970B130ABE3C479BE3E4300411886
931*4882a593Smuzhiyun    uid           [ unknown] Linus Torvalds <torvalds@kernel.org>
932*4882a593Smuzhiyun    sub   rsa2048 2011-09-20 [E]
933*4882a593Smuzhiyun
934*4882a593SmuzhiyunPoi, aprite il `PGP pathfinder`_. Nel campo "From", incollate l'impronta
935*4882a593Smuzhiyundigitale della chiave di Linus Torvalds che si vede nell'output qui sopra.
936*4882a593SmuzhiyunNel campo "to", incollate il key-id della chiave sconosciuta che avete
937*4882a593Smuzhiyuntrovato con ``gpg --search``, e poi verificare il risultato:
938*4882a593Smuzhiyun
939*4882a593Smuzhiyun- `Finding paths to Linus`_
940*4882a593Smuzhiyun
941*4882a593SmuzhiyunSe trovate un paio di percorsi affidabili è un buon segno circa la validità
942*4882a593Smuzhiyundella chiave. Ora, potete aggiungerla al vostro portachiavi dal keyserver::
943*4882a593Smuzhiyun
944*4882a593Smuzhiyun    $ gpg --recv-key C94035C21B4F2AEB
945*4882a593Smuzhiyun
946*4882a593SmuzhiyunQuesta procedura non è perfetta, e ovviamente state riponendo la vostra
947*4882a593Smuzhiyunfiducia nell'amministratore del servizio *PGP Pathfinder* sperando che non
948*4882a593Smuzhiyunsia malintenzionato (infatti, questo va contro :ref:`it_devs_not_infra`).
949*4882a593SmuzhiyunTuttavia, se mantenete con cura la vostra rete di fiducia sarà un deciso
950*4882a593Smuzhiyunmiglioramento rispetto alla cieca fiducia nei keyserver.
951*4882a593Smuzhiyun
952*4882a593Smuzhiyun.. _`PGP pathfinder`: https://pgp.cs.uu.nl/
953*4882a593Smuzhiyun.. _`Finding paths to Linus`: https://pgp.cs.uu.nl/paths/79BE3E4300411886/to/C94035C21B4F2AEB.html
954