xref: /linux/Documentation/translations/it_IT/process/maintainer-pgp-guide.rst (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1edba5eecSFederico Vaga.. include:: ../disclaimer-ita.rst
2edba5eecSFederico Vaga
3edba5eecSFederico Vaga:Original: :ref:`Documentation/process/maintainer-pgp-guide.rst <pgpguide>`
45ee23456SAlessia Mantegazza:Translator: Alessia Mantegazza <amantegazza@vaga.pv.it>
5edba5eecSFederico Vaga
6edba5eecSFederico Vaga.. _it_pgpguide:
7edba5eecSFederico Vaga
85ee23456SAlessia Mantegazza=========================================
95ee23456SAlessia MantegazzaLa guida a PGP per manutentori del kernel
105ee23456SAlessia Mantegazza=========================================
115ee23456SAlessia Mantegazza
125ee23456SAlessia Mantegazza:Author: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
135ee23456SAlessia Mantegazza
145ee23456SAlessia MantegazzaQuesto documento è destinato agli sviluppatori del kernel Linux, in particolar
155ee23456SAlessia Mantegazzamodo ai manutentori. Contiene degli approfondimenti riguardo informazioni che
165ee23456SAlessia Mantegazzasono state affrontate in maniera più generale nella sezione
175ee23456SAlessia Mantegazza"`Protecting Code Integrity`_" pubblicata dalla Linux Foundation.
185ee23456SAlessia MantegazzaPer approfondire alcuni argomenti trattati in questo documento è consigliato
195ee23456SAlessia Mantegazzaleggere il documento sopraindicato
205ee23456SAlessia Mantegazza
215ee23456SAlessia Mantegazza.. _`Protecting Code Integrity`: https://github.com/lfit/itpol/blob/master/protecting-code-integrity.md
225ee23456SAlessia Mantegazza
235ee23456SAlessia MantegazzaIl ruolo di PGP nello sviluppo del kernel Linux
245ee23456SAlessia Mantegazza===============================================
255ee23456SAlessia Mantegazza
265ee23456SAlessia MantegazzaPGP aiuta ad assicurare l'integrità del codice prodotto dalla comunità
275ee23456SAlessia Mantegazzadi sviluppo del kernel e, in secondo luogo, stabilisce canali di comunicazione
285ee23456SAlessia Mantegazzaaffidabili tra sviluppatori attraverso lo scambio di email firmate con PGP.
295ee23456SAlessia Mantegazza
305ee23456SAlessia MantegazzaIl codice sorgente del kernel Linux è disponibile principalmente in due
315ee23456SAlessia Mantegazzaformati:
325ee23456SAlessia Mantegazza
335ee23456SAlessia Mantegazza- repositori distribuiti di sorgenti (git)
345ee23456SAlessia Mantegazza- rilasci periodici di istantanee (archivi tar)
355ee23456SAlessia Mantegazza
365ee23456SAlessia MantegazzaSia i repositori git che gli archivi tar portano le firme PGP degli
375ee23456SAlessia Mantegazzasviluppatori che hanno creato i rilasci ufficiali del kernel. Queste firme
385ee23456SAlessia Mantegazzaoffrono una garanzia crittografica che le versioni scaricabili rese disponibili
395ee23456SAlessia Mantegazzavia kernel.org, o altri portali, siano identiche a quelle che gli sviluppatori
405ee23456SAlessia Mantegazzahanno sul loro posto di lavoro. A tal scopo:
415ee23456SAlessia Mantegazza
425ee23456SAlessia Mantegazza- i repositori git forniscono firme PGP per ogni tag
435ee23456SAlessia Mantegazza- gli archivi tar hanno firme separate per ogni archivio
445ee23456SAlessia Mantegazza
455ee23456SAlessia Mantegazza.. _it_devs_not_infra:
465ee23456SAlessia Mantegazza
475ee23456SAlessia MantegazzaFidatevi degli sviluppatori e non dell'infrastruttura
485ee23456SAlessia Mantegazza-----------------------------------------------------
495ee23456SAlessia Mantegazza
505ee23456SAlessia MantegazzaFin dal 2011, quando i sistemi di kernel.org furono compromessi, il principio
515ee23456SAlessia Mantegazzagenerale del progetto Kernel Archives è stato quello di assumere che qualsiasi
525ee23456SAlessia Mantegazzaparte dell'infrastruttura possa essere compromessa in ogni momento. Per questa
535ee23456SAlessia Mantegazzaragione, gli amministratori hanno intrapreso deliberatemene dei passi per
545ee23456SAlessia Mantegazzaenfatizzare che la fiducia debba risiedere sempre negli sviluppatori e mai nel
555ee23456SAlessia Mantegazzacodice che gestisce l'infrastruttura, indipendentemente da quali che siano le
565ee23456SAlessia Mantegazzapratiche di sicurezza messe in atto.
575ee23456SAlessia Mantegazza
585ee23456SAlessia MantegazzaIl principio sopra indicato è la ragione per la quale è necessaria questa
595ee23456SAlessia Mantegazzaguida. Vogliamo essere sicuri che il riporre la fiducia negli sviluppatori
605ee23456SAlessia Mantegazzanon sia fatto semplicemente per incolpare qualcun'altro per future falle di
615ee23456SAlessia Mantegazzasicurezza. L'obiettivo è quello di fornire una serie di linee guida che gli
625ee23456SAlessia Mantegazzasviluppatori possano seguire per creare un ambiente di lavoro sicuro e
635ee23456SAlessia Mantegazzasalvaguardare le chiavi PGP usate nello stabilire l'integrità del kernel Linux
645ee23456SAlessia Mantegazzastesso.
655ee23456SAlessia Mantegazza
665ee23456SAlessia Mantegazza.. _it_pgp_tools:
675ee23456SAlessia Mantegazza
685ee23456SAlessia MantegazzaStrumenti PGP
695ee23456SAlessia Mantegazza=============
705ee23456SAlessia Mantegazza
71c1f8e848SFederico VagaUsare GnuPG 2.2 o successivo
72c1f8e848SFederico Vaga----------------------------
735ee23456SAlessia Mantegazza
745ee23456SAlessia MantegazzaLa vostra distribuzione potrebbe avere già installato GnuPG, dovete solo
75c1f8e848SFederico Vagaverificare che stia utilizzando la versione abbastanza recente. Per controllate
76c1f8e848SFederico Vagausate::
775ee23456SAlessia Mantegazza
785ee23456SAlessia Mantegazza    $ gpg --version | head -n1
795ee23456SAlessia Mantegazza
80c1f8e848SFederico VagaSe state utilizzando la version 2.2 o successiva, allora siete pronti a partire.
81c1f8e848SFederico VagaSe invece state usando una versione precedente, allora alcuni comandi elencati
82c1f8e848SFederico Vagain questa guida potrebbero non funzionare.
835ee23456SAlessia Mantegazza
845ee23456SAlessia MantegazzaConfigurare le opzioni di gpg-agent
855ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
865ee23456SAlessia Mantegazza
875ee23456SAlessia MantegazzaL'agente GnuPG è uno strumento di aiuto che partirà automaticamente ogni volta
88c1f8e848SFederico Vagache userete il comando ``gpg`` e funzionerà in *background* con l'obiettivo di
895ee23456SAlessia Mantegazzaindividuare la passphrase. Ci sono due opzioni che dovreste conoscere
905ee23456SAlessia Mantegazzaper personalizzare la scadenza della passphrase nella cache:
915ee23456SAlessia Mantegazza
925ee23456SAlessia Mantegazza- ``default-cache-ttl`` (secondi): Se usate ancora la stessa chiave prima
935ee23456SAlessia Mantegazza  che il time-to-live termini, il conto alla rovescia si resetterà per un
945ee23456SAlessia Mantegazza  altro periodo. Di base è di 600 (10 minuti).
955ee23456SAlessia Mantegazza
965ee23456SAlessia Mantegazza- ``max-cache-ttl`` (secondi): indipendentemente da quanto sia recente l'ultimo
975ee23456SAlessia Mantegazza  uso della chiave da quando avete inserito la passphrase, se il massimo
985ee23456SAlessia Mantegazza  time-to-live è scaduto, dovrete reinserire nuovamente la passphrase.
995ee23456SAlessia Mantegazza  Di base è di 30 minuti.
1005ee23456SAlessia Mantegazza
1015ee23456SAlessia MantegazzaSe ritenete entrambe questi valori di base troppo corti (o troppo lunghi),
1025ee23456SAlessia Mantegazzapotete creare il vostro file ``~/.gnupg/gpg-agent.conf`` ed impostare i vostri
1035ee23456SAlessia Mantegazzavalori::
1045ee23456SAlessia Mantegazza
1055ee23456SAlessia Mantegazza    # set to 30 minutes for regular ttl, and 2 hours for max ttl
1065ee23456SAlessia Mantegazza    default-cache-ttl 1800
1075ee23456SAlessia Mantegazza    max-cache-ttl 7200
1085ee23456SAlessia Mantegazza
1095ee23456SAlessia Mantegazza.. note::
1105ee23456SAlessia Mantegazza
1115ee23456SAlessia Mantegazza    Non è più necessario far partire l'agente gpg manualmente all'inizio della
1125ee23456SAlessia Mantegazza    vostra sessione. Dovreste controllare i file rc per rimuovere tutto ciò che
1135ee23456SAlessia Mantegazza    riguarda vecchie le versioni di GnuPG, poiché potrebbero non svolgere più
1145ee23456SAlessia Mantegazza    bene il loro compito.
1155ee23456SAlessia Mantegazza
116c1f8e848SFederico Vaga.. _it_protect_your_key:
1175ee23456SAlessia Mantegazza
1185ee23456SAlessia MantegazzaProteggere la vostra chiave PGP primaria
119edba5eecSFederico Vaga========================================
1205ee23456SAlessia Mantegazza
1215ee23456SAlessia MantegazzaQuesta guida parte dal presupposto che abbiate già una chiave PGP che usate
1225ee23456SAlessia Mantegazzaper lo sviluppo del kernel Linux. Se non ne avete ancora una, date uno sguardo
1235ee23456SAlessia Mantegazzaal documento "`Protecting Code Integrity`_" che abbiamo menzionato prima.
1245ee23456SAlessia Mantegazza
1255ee23456SAlessia MantegazzaDovreste inoltre creare una nuova chiave se quella attuale è inferiore a 2048
1265ee23456SAlessia Mantegazzabit (RSA).
1275ee23456SAlessia Mantegazza
128c1f8e848SFederico VagaLe sottochiavi PGP
129c1f8e848SFederico Vaga------------------
1305ee23456SAlessia Mantegazza
131c1f8e848SFederico VagaRaramente le chiavi PGP sono composte da una singola coppia -- solitamente, sono
132c1f8e848SFederico Vagauna collezione di sottochiavi indipendenti usate per diversi scopi in funzione
133c1f8e848SFederico Vagadelle capacità assegnate al momento della creazione. Una chiave PGP può avere
134c1f8e848SFederico Vagaquattro capacità:
1355ee23456SAlessia Mantegazza
1365ee23456SAlessia Mantegazza- **[S]** può essere usata per firmare
1375ee23456SAlessia Mantegazza- **[E]** può essere usata per criptare
1385ee23456SAlessia Mantegazza- **[A]** può essere usata per autenticare
1395ee23456SAlessia Mantegazza- **[C]** può essere usata per certificare altre chiavi
1405ee23456SAlessia Mantegazza
141c1f8e848SFederico VagaLa chiave con la capacità **[C]** viene spesso chiamata chiave "passepartout"
142c1f8e848SFederico Vaga(*master key*), ma è una terminologia fuorviante perché lascia intendere che la
143c1f8e848SFederico Vagachiave di certificato possa essere usate in sostituzione delle altre (proprio
144c1f8e848SFederico Vagacome le vere chiavi passpartout in grado di aprire diverse serrature). Dato che
145c1f8e848SFederico Vagaquesto non è il caso, per evitare fraintendimenti, in questa guida ci riferiremo
146c1f8e848SFederico Vagaa questa chiave chiamandola "La chiave di certificazione".
1475ee23456SAlessia Mantegazza
148c1f8e848SFederico VagaI seguenti punti sono molto importanti:
1495ee23456SAlessia Mantegazza
150c1f8e848SFederico Vaga1. Tutte le sottochiavi sono indipendenti. Se perdete una sottochiave privata
151c1f8e848SFederico Vaga   non potrete recuperarla usando le altre.
152c1f8e848SFederico Vaga2. Ad eccezione della chiave di certificazione, ci possono essere più
153c1f8e848SFederico Vaga   sottochiavi con le stesse capacità (per esempio, potete avere 2 sottochiavi
154c1f8e848SFederico Vaga   per criptare, 3 per firmare, ma solo una per una sola per certificare). Tutte
155c1f8e848SFederico Vaga   le sottochiavi sono indipendenti -- un messaggio criptato usando una chiave
156c1f8e848SFederico Vaga   **[E]** non può essere decriptato usano altre sottochiavi **[E]**.
157c1f8e848SFederico Vaga3. Una sottochiave può avere più capacità (per esempio, la chiave **[C]** può
158c1f8e848SFederico Vaga   anche essere una chiave **[S]**).
159c1f8e848SFederico Vaga
160c1f8e848SFederico VagaLa chiave con capacità **[C]** (certificazione) è la sola che può essere usata
161c1f8e848SFederico Vagaper indicare relazioni fra chiavi. Solo la chiave **[C]** può essere usata per:
162c1f8e848SFederico Vaga
163c1f8e848SFederico Vaga- aggiungere o revocare altre chiavi (sottochiavi) che hanno capacità S/E/A;
164c1f8e848SFederico Vaga- aggiungere, modificare o eliminare le identità (unids) associate alla chiave;
165c1f8e848SFederico Vaga- aggiungere o modificare la propria data di scadenza o delle sottochiavi;
166c1f8e848SFederico Vaga- firmare le chiavi di altre persone a scopo di creare una rete di fiducia.
1675ee23456SAlessia Mantegazza
1685ee23456SAlessia MantegazzaDi base, alla creazione di nuove chiavi, GnuPG genera quanto segue:
1695ee23456SAlessia Mantegazza
170c1f8e848SFederico Vaga- Una chiave la capacità di certificazione che quella di firma (**[SC]**)
171c1f8e848SFederico Vaga- Una sottochiave separata con capacità di criptare (**[E]**)
1725ee23456SAlessia Mantegazza
173c1f8e848SFederico Vaga
174c1f8e848SFederico Vaga
175c1f8e848SFederico Vaga
176c1f8e848SFederico VagaSe avete usato i parametri predefiniti per generare la vostra chiave, quello
1775ee23456SAlessia Mantegazzasarà il risultato. Potete verificarlo utilizzando ``gpg --list-secret-keys``,
1785ee23456SAlessia Mantegazzaper esempio::
1795ee23456SAlessia Mantegazza
180c1f8e848SFederico Vaga    sec   ed25519 2022-12-20 [SC] [expires: 2024-12-19]
1815ee23456SAlessia Mantegazza          000000000000000000000000AAAABBBBCCCCDDDD
1825ee23456SAlessia Mantegazza    uid           [ultimate] Alice Dev <adev@kernel.org>
183c1f8e848SFederico Vaga    ssb   cv25519 2022-12-20 [E] [expires: 2024-12-19]
1845ee23456SAlessia Mantegazza
1855ee23456SAlessia MantegazzaLa lunga riga sotto la voce ``sec`` è la vostra impronta digitale --
1865ee23456SAlessia Mantegazzanegli esempi che seguono, quando vedere ``[fpr]`` ci si riferisce a questa
1875ee23456SAlessia Mantegazzastringa di 40 caratteri.
1885ee23456SAlessia Mantegazza
1895ee23456SAlessia MantegazzaAssicuratevi che la vostra passphrase sia forte
1905ee23456SAlessia Mantegazza-----------------------------------------------
1915ee23456SAlessia Mantegazza
1925ee23456SAlessia MantegazzaGnuPG utilizza le passphrases per criptare la vostra chiave privata prima
1935ee23456SAlessia Mantegazzadi salvarla sul disco. In questo modo, anche se il contenuto della vostra
1945ee23456SAlessia Mantegazzacartella ``.gnupg`` venisse letto o trafugato nella sia interezza, gli
1955ee23456SAlessia Mantegazzaattaccanti non potrebbero comunque utilizzare le vostre chiavi private senza
1965ee23456SAlessia Mantegazzaaver prima ottenuto la passphrase per decriptarle.
1975ee23456SAlessia Mantegazza
1985ee23456SAlessia MantegazzaÈ assolutamente essenziale che le vostre chiavi private siano protette da
1995ee23456SAlessia Mantegazzauna passphrase forte. Per impostarla o cambiarla, usate::
2005ee23456SAlessia Mantegazza
2015ee23456SAlessia Mantegazza    $ gpg --change-passphrase [fpr]
2025ee23456SAlessia Mantegazza
2035ee23456SAlessia MantegazzaCreate una sottochiave di firma separata
2045ee23456SAlessia Mantegazza----------------------------------------
2055ee23456SAlessia Mantegazza
2065ee23456SAlessia MantegazzaIl nostro obiettivo è di proteggere la chiave primaria spostandola su un
2075ee23456SAlessia Mantegazzadispositivo sconnesso dalla rete, dunque se avete solo una chiave combinata
2085ee23456SAlessia Mantegazza**[SC]** allora dovreste creare una sottochiave di firma separata::
2095ee23456SAlessia Mantegazza
2105ee23456SAlessia Mantegazza    $ gpg --quick-add-key [fpr] ed25519 sign
2115ee23456SAlessia Mantegazza
2125ee23456SAlessia MantegazzaRicordate di informare il keyserver del vostro cambiamento, cosicché altri
2135ee23456SAlessia Mantegazzapossano ricevere la vostra nuova sottochiave::
2145ee23456SAlessia Mantegazza
2155ee23456SAlessia Mantegazza    $ gpg --send-key [fpr]
2165ee23456SAlessia Mantegazza
2175ee23456SAlessia Mantegazza.. note:: Supporto ECC in GnuPG
2185ee23456SAlessia Mantegazza
219c1f8e848SFederico Vaga   Tenete presente che se avete intenzione di usare un dispositivo che non
220c1f8e848SFederico Vaga   supporta chiavi ED25519 ECC, allora dovreste usare "nistp256" al posto di
221c1f8e848SFederico Vaga   "ed25519". Più avanti ci sono alcune raccomandazioni per i dispositivi.
2225ee23456SAlessia Mantegazza
2235ee23456SAlessia MantegazzaCopia di riserva della chiave primaria per gestire il recupero da disastro
2245ee23456SAlessia Mantegazza--------------------------------------------------------------------------
2255ee23456SAlessia Mantegazza
2265ee23456SAlessia MantegazzaMaggiori sono le firme di altri sviluppatori che vengono applicate alla vostra,
2275ee23456SAlessia Mantegazzamaggiori saranno i motivi per avere una copia di riserva che non sia digitale,
2285ee23456SAlessia Mantegazzaal fine di effettuare un recupero da disastro.
2295ee23456SAlessia Mantegazza
2305ee23456SAlessia MantegazzaIl modo migliore per creare una copia fisica della vostra chiave privata è
2315ee23456SAlessia Mantegazzal'uso del programma ``paperkey``. Consultate ``man paperkey`` per maggiori
2325ee23456SAlessia Mantegazzadettagli sul formato dell'output ed i suoi punti di forza rispetto ad altre
2335ee23456SAlessia Mantegazzasoluzioni. Paperkey dovrebbe essere già pacchettizzato per la maggior parte
2345ee23456SAlessia Mantegazzadelle distribuzioni.
2355ee23456SAlessia Mantegazza
2365ee23456SAlessia MantegazzaEseguite il seguente comando per creare una copia fisica di riserva della
2375ee23456SAlessia Mantegazzavostra chiave privata::
2385ee23456SAlessia Mantegazza
2395ee23456SAlessia Mantegazza    $ gpg --export-secret-key [fpr] | paperkey -o /tmp/key-backup.txt
2405ee23456SAlessia Mantegazza
2415ee23456SAlessia MantegazzaStampate il file (o fate un pipe direttamente verso lpr), poi prendete
2425ee23456SAlessia Mantegazzauna penna e scrivete la passphare sul margine del foglio.  **Questo è
2435ee23456SAlessia Mantegazzacaldamente consigliato** perché la copia cartacea è comunque criptata con
2445ee23456SAlessia Mantegazzala passphrase, e se mai doveste cambiarla non vi ricorderete qual'era al
2455ee23456SAlessia Mantegazzamomento della creazione di quella copia -- *garantito*.
2465ee23456SAlessia Mantegazza
2475ee23456SAlessia MantegazzaMettete la copia cartacea e la passphrase scritta a mano in una busta e
2485ee23456SAlessia Mantegazzamettetela in un posto sicuro e ben protetto, preferibilmente fuori casa,
2495ee23456SAlessia Mantegazzamagari in una cassetta di sicurezza in banca.
2505ee23456SAlessia Mantegazza
2515ee23456SAlessia Mantegazza.. note::
2525ee23456SAlessia Mantegazza
2535ee23456SAlessia Mantegazza    Probabilmente la vostra stampante non è più quello stupido dispositivo
2545ee23456SAlessia Mantegazza    connesso alla porta parallela, ma dato che il suo output è comunque
2555ee23456SAlessia Mantegazza    criptato con la passphrase, eseguire la stampa in un sistema "cloud"
2563760fe20SFederico Vaga    moderno dovrebbe essere comunque relativamente sicuro.
2575ee23456SAlessia Mantegazza
2585ee23456SAlessia MantegazzaCopia di riserva di tutta la cartella GnuPG
2595ee23456SAlessia Mantegazza-------------------------------------------
260edba5eecSFederico Vaga
261edba5eecSFederico Vaga.. warning::
262edba5eecSFederico Vaga
2635ee23456SAlessia Mantegazza    **!!!Non saltate questo passo!!!**
2645ee23456SAlessia Mantegazza
2655ee23456SAlessia MantegazzaQuando avete bisogno di recuperare le vostre chiavi PGP è importante avere
2665ee23456SAlessia Mantegazzauna copia di riserva pronta all'uso. Questo sta su un diverso piano di
2675ee23456SAlessia Mantegazzaprontezza rispetto al recupero da disastro che abbiamo risolto con
2685ee23456SAlessia Mantegazza``paperkey``. Vi affiderete a queste copie esterne quando dovreste usare la
2695ee23456SAlessia Mantegazzavostra chiave Certify -- ovvero quando fate modifiche alle vostre chiavi o
2705ee23456SAlessia Mantegazzafirmate le chiavi di altre persone ad una conferenza o ad un gruppo d'incontro.
2715ee23456SAlessia Mantegazza
2725ee23456SAlessia MantegazzaIncominciate con una piccola chiavetta di memoria USB (preferibilmente due)
2735ee23456SAlessia Mantegazzache userete per le copie di riserva. Dovrete criptarle usando LUKS -- fate
2745ee23456SAlessia Mantegazzariferimento alla documentazione della vostra distribuzione per capire come
2755ee23456SAlessia Mantegazzafare.
2765ee23456SAlessia Mantegazza
2775ee23456SAlessia MantegazzaPer la passphrase di criptazione, potete usare la stessa della vostra chiave
2785ee23456SAlessia Mantegazzaprimaria.
2795ee23456SAlessia Mantegazza
2805ee23456SAlessia MantegazzaUna volta che il processo di criptazione è finito, reinserite il disco USB ed
2815ee23456SAlessia Mantegazzaassicurativi che venga montato correttamente. Copiate interamente la cartella
2825ee23456SAlessia Mantegazza``.gnugp`` nel disco criptato::
2835ee23456SAlessia Mantegazza
2845ee23456SAlessia Mantegazza    $ cp -a ~/.gnupg /media/disk/foo/gnupg-backup
2855ee23456SAlessia Mantegazza
2865ee23456SAlessia MantegazzaOra dovreste verificare che tutto continui a funzionare::
2875ee23456SAlessia Mantegazza
2885ee23456SAlessia Mantegazza    $ gpg --homedir=/media/disk/foo/gnupg-backup --list-key [fpr]
2895ee23456SAlessia Mantegazza
2905ee23456SAlessia MantegazzaSe non vedete errori, allora dovreste avere fatto tutto con successo.
2915ee23456SAlessia MantegazzaSmontate il disco USB, etichettatelo per bene di modo da evitare di
2925ee23456SAlessia Mantegazzadistruggerne il contenuto non appena vi serve una chiavetta USB a caso, ed
2935ee23456SAlessia Mantegazzainfine mettetelo in un posto sicuro -- ma non troppo lontano, perché vi servirà
2945ee23456SAlessia Mantegazzadi tanto in tanto per modificare le identità, aggiungere o revocare
2955ee23456SAlessia Mantegazzasottochiavi, o firmare le chiavi di altre persone.
2965ee23456SAlessia Mantegazza
2975ee23456SAlessia MantegazzaTogliete la chiave primaria dalla vostra home
2985ee23456SAlessia Mantegazza---------------------------------------------
2995ee23456SAlessia Mantegazza
3005ee23456SAlessia MantegazzaI file che si trovano nella vostra cartella home non sono poi così ben protetti
3015ee23456SAlessia Mantegazzacome potreste pensare. Potrebbero essere letti o trafugati in diversi modi:
3025ee23456SAlessia Mantegazza
3035ee23456SAlessia Mantegazza- accidentalmente quando fate una rapida copia della cartella home per
3045ee23456SAlessia Mantegazza  configurare una nuova postazione
3055ee23456SAlessia Mantegazza- da un amministratore di sistema negligente o malintenzionato
3065ee23456SAlessia Mantegazza- attraverso copie di riserva insicure
3075ee23456SAlessia Mantegazza- attraverso malware installato in alcune applicazioni (browser, lettori PDF,
3085ee23456SAlessia Mantegazza  eccetera)
3095ee23456SAlessia Mantegazza- attraverso coercizione quando attraversate confini internazionali
3105ee23456SAlessia Mantegazza
3115ee23456SAlessia MantegazzaProteggere la vostra chiave con una buona passphare aiuta notevolmente a
3125ee23456SAlessia Mantegazzaridurre i rischi elencati qui sopra, ma le passphrase possono essere scoperte
3135ee23456SAlessia Mantegazzaattraverso i keylogger, il shoulder-surfing, o altri modi. Per questi motivi,
3145ee23456SAlessia Mantegazzanella configurazione si raccomanda di rimuove la chiave primaria dalla vostra
3155ee23456SAlessia Mantegazzacartella home e la si archivia su un dispositivo disconnesso.
3165ee23456SAlessia Mantegazza
3175ee23456SAlessia Mantegazza.. warning::
3185ee23456SAlessia Mantegazza
3195ee23456SAlessia Mantegazza    Per favore, fate riferimento alla sezione precedente e assicuratevi
3205ee23456SAlessia Mantegazza    di aver fatto una copia di riserva totale della cartella GnuPG. Quello
3215ee23456SAlessia Mantegazza    che stiamo per fare renderà la vostra chiave inutile se non avete delle
3225ee23456SAlessia Mantegazza    copie di riserva utilizzabili!
3235ee23456SAlessia Mantegazza
3245ee23456SAlessia MantegazzaPer prima cosa, identificate il keygrip della vostra chiave primaria::
3255ee23456SAlessia Mantegazza
3265ee23456SAlessia Mantegazza    $ gpg --with-keygrip --list-key [fpr]
3275ee23456SAlessia Mantegazza
3285ee23456SAlessia MantegazzaL'output assomiglierà a questo::
3295ee23456SAlessia Mantegazza
330c1f8e848SFederico Vaga    pub   ed25519 2022-12-20 [SC] [expires: 2022-12-19]
3315ee23456SAlessia Mantegazza          000000000000000000000000AAAABBBBCCCCDDDD
3325ee23456SAlessia Mantegazza          Keygrip = 1111000000000000000000000000000000000000
3335ee23456SAlessia Mantegazza    uid           [ultimate] Alice Dev <adev@kernel.org>
334c1f8e848SFederico Vaga    sub   cv25519 2022-12-20 [E] [expires: 2022-12-19]
3355ee23456SAlessia Mantegazza          Keygrip = 2222000000000000000000000000000000000000
336c1f8e848SFederico Vaga    sub   ed25519 2022-12-20 [S]
3375ee23456SAlessia Mantegazza          Keygrip = 3333000000000000000000000000000000000000
3385ee23456SAlessia Mantegazza
3395ee23456SAlessia MantegazzaTrovate la voce keygrid che si trova sotto alla riga ``pub`` (appena sotto
3405ee23456SAlessia Mantegazzaall'impronta digitale della chiave primaria). Questo corrisponderà direttamente
3415ee23456SAlessia Mantegazzaad un file nella cartella ``~/.gnupg``::
3425ee23456SAlessia Mantegazza
3435ee23456SAlessia Mantegazza    $ cd ~/.gnupg/private-keys-v1.d
3445ee23456SAlessia Mantegazza    $ ls
3455ee23456SAlessia Mantegazza    1111000000000000000000000000000000000000.key
3465ee23456SAlessia Mantegazza    2222000000000000000000000000000000000000.key
3475ee23456SAlessia Mantegazza    3333000000000000000000000000000000000000.key
3485ee23456SAlessia Mantegazza
3495ee23456SAlessia MantegazzaQuello che dovrete fare è rimuovere il file .key che corrisponde al keygrip
3505ee23456SAlessia Mantegazzadella chiave primaria::
3515ee23456SAlessia Mantegazza
3525ee23456SAlessia Mantegazza    $ cd ~/.gnupg/private-keys-v1.d
3535ee23456SAlessia Mantegazza    $ rm 1111000000000000000000000000000000000000.key
3545ee23456SAlessia Mantegazza
3555ee23456SAlessia MantegazzaOra, se eseguite il comando ``--list-secret-keys``, vedrete che la chiave
3565ee23456SAlessia Mantegazzaprimaria non compare più (il simbolo ``#`` indica che non è disponibile)::
3575ee23456SAlessia Mantegazza
3585ee23456SAlessia Mantegazza    $ gpg --list-secret-keys
359c1f8e848SFederico Vaga    sec#  ed25519 2022-12-20 [SC] [expires: 2024-12-19]
3605ee23456SAlessia Mantegazza          000000000000000000000000AAAABBBBCCCCDDDD
3615ee23456SAlessia Mantegazza    uid           [ultimate] Alice Dev <adev@kernel.org>
362c1f8e848SFederico Vaga    ssb   cv25519 2022-12-20 [E] [expires: 2024-12-19]
363c1f8e848SFederico Vaga    ssb   ed25519 2022-12-20 [S]
3645ee23456SAlessia Mantegazza
3655ee23456SAlessia MantegazzaDovreste rimuovere anche i file ``secring.gpg`` che si trovano nella cartella
3665ee23456SAlessia Mantegazza``~/.gnupg``, in quanto rimasugli delle versioni precedenti di GnuPG.
3675ee23456SAlessia Mantegazza
3685ee23456SAlessia MantegazzaSe non avete la cartella "private-keys-v1.d"
3695ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3705ee23456SAlessia Mantegazza
3715ee23456SAlessia MantegazzaSe non avete la cartella ``~/.gnupg/private-keys-v1.d``, allora le vostre
3725ee23456SAlessia Mantegazzachiavi segrete sono ancora salvate nel vecchio file ``secring.gpg`` usato
3735ee23456SAlessia Mantegazzada GnuPG v1. Effettuare una qualsiasi modifica alla vostra chiave, come
3745ee23456SAlessia Mantegazzacambiare la passphare o aggiungere una sottochiave, dovrebbe convertire
3755ee23456SAlessia Mantegazzaautomaticamente il vecchio formato ``secring.gpg``nel nuovo
3765ee23456SAlessia Mantegazza``private-keys-v1.d``.
3775ee23456SAlessia Mantegazza
3785ee23456SAlessia MantegazzaUna volta che l'avete fatto, assicuratevi di rimuovere il file ``secring.gpg``,
3795ee23456SAlessia Mantegazzache continua a contenere la vostra chiave privata.
3805ee23456SAlessia Mantegazza
3815ee23456SAlessia Mantegazza.. _it_smartcards:
3825ee23456SAlessia Mantegazza
3835ee23456SAlessia MantegazzaSpostare le sottochiavi in un apposito dispositivo criptato
3845ee23456SAlessia Mantegazza===========================================================
3855ee23456SAlessia Mantegazza
3865ee23456SAlessia MantegazzaNonostante la chiave primaria sia ora al riparo da occhi e mani indiscrete,
3875ee23456SAlessia Mantegazzale sottochiavi si trovano ancora nella vostra cartella home. Chiunque riesca
3885ee23456SAlessia Mantegazzaa mettere le sue mani su quelle chiavi riuscirà a decriptare le vostre
3895ee23456SAlessia Mantegazzacomunicazioni o a falsificare le vostre firme (se conoscono la passphrase).
3905ee23456SAlessia MantegazzaInoltre, ogni volta che viene fatta un'operazione con GnuPG, le chiavi vengono
3915ee23456SAlessia Mantegazzacaricate nella memoria di sistema e potrebbero essere rubate con l'uso di
3925ee23456SAlessia Mantegazzamalware sofisticati (pensate a Meltdown e a Spectre).
3935ee23456SAlessia Mantegazza
3945ee23456SAlessia MantegazzaIl miglior modo per proteggere le proprie chiave è di spostarle su un
3955ee23456SAlessia Mantegazzadispositivo specializzato in grado di effettuare operazioni smartcard.
3965ee23456SAlessia Mantegazza
3975ee23456SAlessia MantegazzaI benefici di una smartcard
3985ee23456SAlessia Mantegazza---------------------------
3995ee23456SAlessia Mantegazza
4005ee23456SAlessia MantegazzaUna smartcard contiene un chip crittografico che è capace di immagazzinare
4015ee23456SAlessia Mantegazzale chiavi private ed effettuare operazioni crittografiche direttamente sulla
4025ee23456SAlessia Mantegazzacarta stessa. Dato che la chiave non lascia mai la smartcard, il sistema
4035ee23456SAlessia Mantegazzaoperativo usato sul computer non sarà in grado di accedere alle chiavi.
4045ee23456SAlessia MantegazzaQuesto è molto diverso dai dischi USB criptati che abbiamo usato allo scopo di
4055ee23456SAlessia Mantegazzaavere una copia di riserva sicura -- quando il dispositivo USB è connesso e
4065ee23456SAlessia Mantegazzamontato, il sistema operativo potrà accedere al contenuto delle chiavi private.
4075ee23456SAlessia Mantegazza
4085ee23456SAlessia MantegazzaL'uso di un disco USB criptato non può sostituire le funzioni di un dispositivo
4095ee23456SAlessia Mantegazzacapace di operazioni di tipo smartcard.
4105ee23456SAlessia Mantegazza
4115ee23456SAlessia MantegazzaDispositivi smartcard disponibili
4125ee23456SAlessia Mantegazza---------------------------------
4135ee23456SAlessia Mantegazza
4145ee23456SAlessia MantegazzaA meno che tutti i vostri computer dispongano di lettori smartcard, il modo
4155ee23456SAlessia Mantegazzapiù semplice è equipaggiarsi di un dispositivo USB specializzato che
4165ee23456SAlessia Mantegazzaimplementi le funzionalità delle smartcard.  Sul mercato ci sono diverse
4175ee23456SAlessia Mantegazzasoluzioni disponibili:
4185ee23456SAlessia Mantegazza
4195ee23456SAlessia Mantegazza- `Nitrokey Start`_: è Open hardware e Free Software, è basata sul progetto
4205adcce34SFederico Vaga  `GnuK`_ della FSIJ. Questo è uno dei pochi dispositivi a supportare le chiavi
4215adcce34SFederico Vaga  ECC ED25519, ma offre meno funzionalità di sicurezza (come la resistenza
4225adcce34SFederico Vaga  alla manomissione o alcuni attacchi ad un canale laterale).
423ba71cc5cSJonathan Neuschäfer- `Nitrokey Pro 2`_: è simile alla Nitrokey Start, ma è più resistente alla
4245adcce34SFederico Vaga  manomissione e offre più funzionalità di sicurezza. La Pro 2 supporta la
4255adcce34SFederico Vaga  crittografia ECC (NISTP).
4265adcce34SFederico Vaga- `Yubikey 5`_: l'hardware e il software sono proprietari, ma è più economica
4275ee23456SAlessia Mantegazza  della  Nitrokey Pro ed è venduta anche con porta USB-C il che è utile con i
4285ee23456SAlessia Mantegazza  computer portatili più recenti. In aggiunta, offre altre funzionalità di
4295adcce34SFederico Vaga  sicurezza come FIDO, U2F, e ora supporta anche le chiavi ECC (NISTP)
4305ee23456SAlessia Mantegazza
431c1f8e848SFederico VagaLa vostra scelta dipenderà dal costo, la disponibilità nella vostra regione, e
432c1f8e848SFederico Vagasulla scelta fra dispositivi aperti e proprietari.
4335adcce34SFederico Vaga
434c1f8e848SFederico Vaga.. note::
435c1f8e848SFederico Vaga
436c1f8e848SFederico Vaga    Se siete nella lista MAINTAINERS o avete un profilo su kernel.org, allora
437c1f8e848SFederico Vaga    `potrete avere gratuitamente una Nitrokey Start`_ grazie alla fondazione
438c1f8e848SFederico Vaga    Linux.
4395ee23456SAlessia Mantegazza
4405ee23456SAlessia Mantegazza.. _`Nitrokey Start`: https://shop.nitrokey.com/shop/product/nitrokey-start-6
4415adcce34SFederico Vaga.. _`Nitrokey Pro 2`: https://shop.nitrokey.com/shop/product/nitrokey-pro-2-3
4425adcce34SFederico Vaga.. _`Yubikey 5`: https://www.yubico.com/product/yubikey-5-overview/
443*1d6f52a7SFederico Vaga.. _Gnuk: https://www.fsij.org/doc-gnuk/
444c1f8e848SFederico Vaga.. _`potrete avere gratuitamente una Nitrokey Start`: https://www.kernel.org/nitrokey-digital-tokens-for-kernel-developers.html
4455ee23456SAlessia Mantegazza
4465ee23456SAlessia MantegazzaConfigurare il vostro dispositivo smartcard
4475ee23456SAlessia Mantegazza-------------------------------------------
4485ee23456SAlessia Mantegazza
4495ee23456SAlessia MantegazzaIl vostro dispositivo smartcard dovrebbe iniziare a funzionare non appena
4505ee23456SAlessia Mantegazzalo collegate ad un qualsiasi computer Linux moderno. Potete verificarlo
4515ee23456SAlessia Mantegazzaeseguendo::
4525ee23456SAlessia Mantegazza
4535ee23456SAlessia Mantegazza    $ gpg --card-status
4545ee23456SAlessia Mantegazza
4555ee23456SAlessia MantegazzaSe vedete tutti i dettagli della smartcard, allora ci siamo. Sfortunatamente,
4565ee23456SAlessia Mantegazzaaffrontare tutti i possibili motivi per cui le cose potrebbero non funzionare
4575ee23456SAlessia Mantegazzanon è lo scopo di questa guida. Se avete problemi nel far funzionare la carta
4585ee23456SAlessia Mantegazzacon GnuPG, cercate aiuto attraverso i soliti canali di supporto.
4595ee23456SAlessia Mantegazza
4605ee23456SAlessia MantegazzaPer configurare la vostra smartcard, dato che non c'è una via facile dalla
4615ee23456SAlessia Mantegazzariga di comando, dovrete usate il menu di GnuPG::
4625ee23456SAlessia Mantegazza
4635ee23456SAlessia Mantegazza    $ gpg --card-edit
4645ee23456SAlessia Mantegazza    [...omitted...]
4655ee23456SAlessia Mantegazza    gpg/card> admin
4665ee23456SAlessia Mantegazza    Admin commands are allowed
4675ee23456SAlessia Mantegazza    gpg/card> passwd
4685ee23456SAlessia Mantegazza
4695ee23456SAlessia MantegazzaDovreste impostare il PIN dell'utente (1), quello dell'amministratore (3) e il
4705ee23456SAlessia Mantegazzacodice di reset (4). Assicuratevi di annotare e salvare questi codici in un
4715ee23456SAlessia Mantegazzaposto sicuro -- specialmente il PIN dell'amministratore e il codice di reset
4725ee23456SAlessia Mantegazza(che vi permetterà di azzerare completamente la smartcard).  Il PIN
4735ee23456SAlessia Mantegazzadell'amministratore viene usato così raramente che è inevitabile dimenticarselo
4745ee23456SAlessia Mantegazzase non lo si annota.
4755ee23456SAlessia Mantegazza
4765ee23456SAlessia MantegazzaTornando al nostro menu, potete impostare anche altri valori (come il nome,
4775ee23456SAlessia Mantegazzail sesso, informazioni d'accesso, eccetera), ma non sono necessari e aggiunge
4785ee23456SAlessia Mantegazzaaltre informazioni sulla carta che potrebbero trapelare in caso di smarrimento.
4795ee23456SAlessia Mantegazza
4805ee23456SAlessia Mantegazza.. note::
4815ee23456SAlessia Mantegazza
4825ee23456SAlessia Mantegazza    A dispetto del nome "PIN", né il PIN utente né quello dell'amministratore
4835ee23456SAlessia Mantegazza    devono essere esclusivamente numerici.
4845ee23456SAlessia Mantegazza
485c1f8e848SFederico Vaga.. warning::
486c1f8e848SFederico Vaga
487c1f8e848SFederico Vaga    Alcuni dispositivi richiedono la presenza delle sottochiavi nel dispositivo
488c1f8e848SFederico Vaga    stesso prima che possiate cambiare la passphare. Verificate la
489c1f8e848SFederico Vaga    documentazione del produttore.
490c1f8e848SFederico Vaga
4915ee23456SAlessia MantegazzaSpostare le sottochiavi sulla smartcard
4925ee23456SAlessia Mantegazza---------------------------------------
4935ee23456SAlessia Mantegazza
4945ee23456SAlessia MantegazzaUscite dal menu (usando "q") e salverete tutte le modifiche. Poi, spostiamo
4955ee23456SAlessia Mantegazzatutte le sottochiavi sulla smartcard. Per la maggior parte delle operazioni
4965ee23456SAlessia Mantegazzavi serviranno sia la passphrase della chiave PGP che il PIN
4975ee23456SAlessia Mantegazzadell'amministratore::
4985ee23456SAlessia Mantegazza
4995ee23456SAlessia Mantegazza    $ gpg --edit-key [fpr]
5005ee23456SAlessia Mantegazza
5015ee23456SAlessia Mantegazza    Secret subkeys are available.
5025ee23456SAlessia Mantegazza
503c1f8e848SFederico Vaga    pub  ed25519/AAAABBBBCCCCDDDD
504c1f8e848SFederico Vaga         created: 2022-12-20  expires: 2024-12-19  usage: SC
5055ee23456SAlessia Mantegazza         trust: ultimate      validity: ultimate
506c1f8e848SFederico Vaga    ssb  cv25519/1111222233334444
507c1f8e848SFederico Vaga         created: 2022-12-20  expires: never       usage: E
5085ee23456SAlessia Mantegazza    ssb  ed25519/5555666677778888
5095ee23456SAlessia Mantegazza         created: 2017-12-07  expires: never       usage: S
5105ee23456SAlessia Mantegazza    [ultimate] (1). Alice Dev <adev@kernel.org>
5115ee23456SAlessia Mantegazza
5125ee23456SAlessia Mantegazza    gpg>
5135ee23456SAlessia Mantegazza
5145ee23456SAlessia MantegazzaUsando ``--edit-key`` si tornerà alla modalità menu e noterete che
5155ee23456SAlessia Mantegazzala lista delle chiavi è leggermente diversa. Da questo momento in poi,
5165ee23456SAlessia Mantegazzatutti i comandi saranno eseguiti nella modalità menu, come indicato
5175ee23456SAlessia Mantegazzada ``gpg>``.
5185ee23456SAlessia Mantegazza
5195ee23456SAlessia MantegazzaPer prima cosa, selezioniamo la chiave che verrà messa sulla carta --
5205ee23456SAlessia Mantegazzapotete farlo digitando ``key 1`` (è la prima della lista, la sottochiave
5215ee23456SAlessia Mantegazza**[E]**)::
5225ee23456SAlessia Mantegazza
5235ee23456SAlessia Mantegazza    gpg> key 1
5245ee23456SAlessia Mantegazza
5255ee23456SAlessia MantegazzaNel'output dovreste vedere ``ssb*`` associato alla chiave **[E]**. Il simbolo
5265ee23456SAlessia Mantegazza``*`` indica che la chiave è stata "selezionata". Funziona come un
5275ee23456SAlessia Mantegazzainterruttore, ovvero se scrivete nuovamente ``key 1``, il simbolo ``*`` sparirà
5285ee23456SAlessia Mantegazzae la chiave non sarà più selezionata.
5295ee23456SAlessia Mantegazza
5305ee23456SAlessia MantegazzaOra, spostiamo la chiave sulla smartcard::
5315ee23456SAlessia Mantegazza
5325ee23456SAlessia Mantegazza    gpg> keytocard
5335ee23456SAlessia Mantegazza    Please select where to store the key:
5345ee23456SAlessia Mantegazza       (2) Encryption key
5355ee23456SAlessia Mantegazza    Your selection? 2
5365ee23456SAlessia Mantegazza
5375ee23456SAlessia MantegazzaDato che è la nostra chiave  **[E]**, ha senso metterla nella sezione criptata.
5385ee23456SAlessia MantegazzaQuando confermerete la selezione, vi verrà chiesta la passphrase della vostra
5395ee23456SAlessia Mantegazzachiave PGP, e poi il PIN dell'amministratore. Se il comando ritorna senza
5405ee23456SAlessia Mantegazzaerrori, allora la vostra chiave è stata spostata con successo.
5415ee23456SAlessia Mantegazza
5425ee23456SAlessia Mantegazza**Importante**: digitate nuovamente ``key 1`` per deselezionare la prima chiave
5435ee23456SAlessia Mantegazzae selezionate la seconda chiave **[S]** con ``key 2``::
5445ee23456SAlessia Mantegazza
5455ee23456SAlessia Mantegazza    gpg> key 1
5465ee23456SAlessia Mantegazza    gpg> key 2
5475ee23456SAlessia Mantegazza    gpg> keytocard
5485ee23456SAlessia Mantegazza    Please select where to store the key:
5495ee23456SAlessia Mantegazza       (1) Signature key
5505ee23456SAlessia Mantegazza       (3) Authentication key
5515ee23456SAlessia Mantegazza    Your selection? 1
5525ee23456SAlessia Mantegazza
5535ee23456SAlessia MantegazzaPotete usare la chiave **[S]** sia per firmare che per autenticare, ma vogliamo
5545ee23456SAlessia Mantegazzache sia nella sezione di firma, quindi scegliete (1). Ancora una volta, se il
5555ee23456SAlessia Mantegazzacomando ritorna senza errori, allora l'operazione è avvenuta con successo::
5565ee23456SAlessia Mantegazza
5575ee23456SAlessia Mantegazza    gpg> q
5585ee23456SAlessia Mantegazza    Save changes? (y/N) y
5595ee23456SAlessia Mantegazza
5605ee23456SAlessia MantegazzaSalvando le modifiche cancellerete dalla vostra cartella home tutte le chiavi
5615ee23456SAlessia Mantegazzache avete spostato sulla carta (ma questo non è un problema, perché abbiamo
5625ee23456SAlessia Mantegazzafatto delle copie di sicurezza nel caso in cui dovessimo configurare una
5635ee23456SAlessia Mantegazzanuova smartcard).
5645ee23456SAlessia Mantegazza
5655ee23456SAlessia MantegazzaVerificare che le chiavi siano state spostate
5665ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5675ee23456SAlessia Mantegazza
5685ee23456SAlessia MantegazzaOra, se doveste usare l'opzione ``--list-secret-keys``, vedrete una
5695ee23456SAlessia Mantegazzasottile differenza nell'output::
5705ee23456SAlessia Mantegazza
5715ee23456SAlessia Mantegazza    $ gpg --list-secret-keys
572c1f8e848SFederico Vaga    sec#  ed25519 2022-12-20 [SC] [expires: 2024-12-19]
5735ee23456SAlessia Mantegazza          000000000000000000000000AAAABBBBCCCCDDDD
5745ee23456SAlessia Mantegazza    uid           [ultimate] Alice Dev <adev@kernel.org>
575c1f8e848SFederico Vaga    ssb>  cv25519 2022-12-20 [E] [expires: 2024-12-19]
576c1f8e848SFederico Vaga    ssb>  ed25519 2022-12-20 [S]
5775ee23456SAlessia Mantegazza
5785ee23456SAlessia MantegazzaIl simbolo ``>`` in ``ssb>`` indica che la sottochiave è disponibile solo
5795ee23456SAlessia Mantegazzanella smartcard. Se tornate nella vostra cartella delle chiavi segrete e
5805ee23456SAlessia Mantegazzaguardate al suo contenuto, noterete che i file ``.key`` sono stati sostituiti
5815ee23456SAlessia Mantegazzacon degli stub::
5825ee23456SAlessia Mantegazza
5835ee23456SAlessia Mantegazza    $ cd ~/.gnupg/private-keys-v1.d
5845ee23456SAlessia Mantegazza    $ strings *.key | grep 'private-key'
5855ee23456SAlessia Mantegazza
5865ee23456SAlessia MantegazzaPer indicare che i file sono solo degli stub e che in realtà il contenuto è
5875ee23456SAlessia Mantegazzasulla smartcard, l'output dovrebbe mostrarvi ``shadowed-private-key``.
5885ee23456SAlessia Mantegazza
5895ee23456SAlessia MantegazzaVerificare che la smartcard funzioni
5905ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5915ee23456SAlessia Mantegazza
5925ee23456SAlessia MantegazzaPer verificare che la smartcard funzioni come dovuto, potete creare
5935ee23456SAlessia Mantegazzauna firma::
5945ee23456SAlessia Mantegazza
5955ee23456SAlessia Mantegazza    $ echo "Hello world" | gpg --clearsign > /tmp/test.asc
5965ee23456SAlessia Mantegazza    $ gpg --verify /tmp/test.asc
5975ee23456SAlessia Mantegazza
5985ee23456SAlessia MantegazzaCol primo comando dovrebbe chiedervi il PIN della smartcard, e poi dovrebbe
5995ee23456SAlessia Mantegazzamostrare "Good signature" dopo l'esecuzione di ``gpg --verify``.
6005ee23456SAlessia Mantegazza
6015ee23456SAlessia MantegazzaComplimenti, siete riusciti a rendere estremamente difficile il furto della
6025ee23456SAlessia Mantegazzavostra identità digitale di sviluppatore.
6035ee23456SAlessia Mantegazza
6045ee23456SAlessia MantegazzaAltre operazioni possibili con GnuPG
6055ee23456SAlessia Mantegazza------------------------------------
6065ee23456SAlessia Mantegazza
6075ee23456SAlessia MantegazzaSegue un breve accenno ad alcune delle operazioni più comuni che dovrete
6085ee23456SAlessia Mantegazzafare con le vostre chiavi PGP.
6095ee23456SAlessia Mantegazza
6105ee23456SAlessia MantegazzaMontare il disco con la chiave primaria
6115ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6125ee23456SAlessia Mantegazza
6135ee23456SAlessia MantegazzaVi servirà la vostra chiave principale per tutte le operazioni che seguiranno,
6145ee23456SAlessia Mantegazzaper cui per prima cosa dovrete accedere ai vostri backup e dire a GnuPG di
6155ee23456SAlessia Mantegazzausarli::
6165ee23456SAlessia Mantegazza
6175ee23456SAlessia Mantegazza    $ export GNUPGHOME=/media/disk/foo/gnupg-backup
6185ee23456SAlessia Mantegazza    $ gpg --list-secret-keys
6195ee23456SAlessia Mantegazza
6205ee23456SAlessia MantegazzaDovete assicurarvi di vedere ``sec`` e non ``sec#`` nell'output del programma
6215ee23456SAlessia Mantegazza(il simbolo ``#`` significa che la chiave non è disponibile e che state ancora
6225ee23456SAlessia Mantegazzautilizzando la vostra solita cartella di lavoro).
6235ee23456SAlessia Mantegazza
6245ee23456SAlessia MantegazzaEstendere la data di scadenza di una chiave
6255ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6265ee23456SAlessia Mantegazza
6275ee23456SAlessia MantegazzaLa chiave principale ha una data di scadenza di 2 anni dal momento della sua
6285ee23456SAlessia Mantegazzacreazione. Questo per motivi di sicurezza e per rendere obsolete le chiavi
6295ee23456SAlessia Mantegazzache, eventualmente, dovessero sparire dai keyserver.
6305ee23456SAlessia Mantegazza
6315ee23456SAlessia MantegazzaPer estendere di un anno, dalla data odierna, la scadenza di una vostra chiave,
6325ee23456SAlessia Mantegazzaeseguite::
6335ee23456SAlessia Mantegazza
6345ee23456SAlessia Mantegazza    $ gpg --quick-set-expire [fpr] 1y
6355ee23456SAlessia Mantegazza
6365ee23456SAlessia MantegazzaSe per voi è più facile da memorizzare, potete anche utilizzare una data
6375ee23456SAlessia Mantegazzaspecifica (per esempio, il vostro compleanno o capodanno)::
6385ee23456SAlessia Mantegazza
639c1f8e848SFederico Vaga    $ gpg --quick-set-expire [fpr] 2025-07-01
6405ee23456SAlessia Mantegazza
6415ee23456SAlessia MantegazzaRicordatevi di inviare l'aggiornamento ai keyserver::
6425ee23456SAlessia Mantegazza
6435ee23456SAlessia Mantegazza    $ gpg --send-key [fpr]
6445ee23456SAlessia Mantegazza
6455ee23456SAlessia MantegazzaAggiornare la vostra cartella di lavoro dopo ogni modifica
6465ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6475ee23456SAlessia Mantegazza
6485ee23456SAlessia MantegazzaDopo aver fatto delle modifiche alle vostre chiavi usando uno spazio a parte,
6495ee23456SAlessia Mantegazzadovreste importarle nella vostra cartella di lavoro abituale::
6505ee23456SAlessia Mantegazza
6515ee23456SAlessia Mantegazza    $ gpg --export | gpg --homedir ~/.gnupg --import
6525ee23456SAlessia Mantegazza    $ unset GNUPGHOME
6535ee23456SAlessia Mantegazza
654c1f8e848SFederico VagaUsare gpg-agent con ssh
655c1f8e848SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~
656c1f8e848SFederico Vaga
657c1f8e848SFederico VagaSe dovete firmare tag o commit su un sistema remoto, potete ridirezionare il
658c1f8e848SFederico Vagavostro gpg-agent attraverso ssh. Consultate le istruzioni disponibili nella wiki
659c1f8e848SFederico VagaGnuPG:
660c1f8e848SFederico Vaga
661c1f8e848SFederico Vaga- `Agent Forwarding over SSH`_
662c1f8e848SFederico Vaga
663c1f8e848SFederico VagaFunziona senza troppi intoppi se avete la possibilità di modificare le
664c1f8e848SFederico Vagaimpostazioni di sshd sul sistema remoto.
665c1f8e848SFederico Vaga
666c1f8e848SFederico Vaga.. _`Agent Forwarding over SSH`: https://wiki.gnupg.org/AgentForwarding
667c1f8e848SFederico Vaga
668c1f8e848SFederico Vaga.. _it_pgp_with_git:
6695ee23456SAlessia Mantegazza
6705ee23456SAlessia MantegazzaUsare PGP con Git
6715ee23456SAlessia Mantegazza=================
6725ee23456SAlessia Mantegazza
6735ee23456SAlessia MantegazzaUna delle caratteristiche fondanti di Git è la sua natura decentralizzata --
6745ee23456SAlessia Mantegazzauna volta che il repositorio è stato clonato sul vostro sistema, avete la
6755ee23456SAlessia Mantegazzastoria completa del progetto, inclusi i suoi tag, i commit ed i rami. Tuttavia,
6765ee23456SAlessia Mantegazzacon i centinaia di repositori clonati che ci sono in giro, come si fa a
6775ee23456SAlessia Mantegazzaverificare che la loro copia di linux.git non è stata manomessa da qualcuno?
6785ee23456SAlessia Mantegazza
6795ee23456SAlessia MantegazzaOppure, cosa succede se viene scoperta una backdoor nel codice e la riga
6805ee23456SAlessia Mantegazza"Autore" dice che sei stato tu, mentre tu sei abbastanza sicuro di
6815ee23456SAlessia Mantegazza`non averci niente a che fare`_?
6825ee23456SAlessia Mantegazza
6835ee23456SAlessia MantegazzaPer risolvere entrambi i problemi, Git ha introdotto l'integrazione con PGP.
6845ee23456SAlessia MantegazzaI tag firmati dimostrano che il repositorio è integro assicurando che il suo
6855ee23456SAlessia Mantegazzacontenuto è lo stesso che si trova sulle macchine degli sviluppatori che hanno
6865ee23456SAlessia Mantegazzacreato il tag; mentre i commit firmati rendono praticamente impossibile
6875ee23456SAlessia Mantegazzaad un malintenzionato di impersonarvi senza avere accesso alle vostre chiavi
6885ee23456SAlessia MantegazzaPGP.
6895ee23456SAlessia Mantegazza
6905ee23456SAlessia Mantegazza.. _`non averci niente a che fare`: https://github.com/jayphelps/git-blame-someone-else
6915ee23456SAlessia Mantegazza
6925ee23456SAlessia MantegazzaConfigurare git per usare la vostra chiave PGP
6935ee23456SAlessia Mantegazza----------------------------------------------
6945ee23456SAlessia Mantegazza
6955ee23456SAlessia MantegazzaSe avete solo una chiave segreta nel vostro portachiavi, allora non avete nulla
6965ee23456SAlessia Mantegazzada fare in più dato che sarà la vostra chiave di base. Tuttavia, se doveste
6975ee23456SAlessia Mantegazzaavere più chiavi segrete, potete dire a git quale dovrebbe usare (``[fpg]``
6985ee23456SAlessia Mantegazzaè la vostra impronta digitale)::
6995ee23456SAlessia Mantegazza
7005ee23456SAlessia Mantegazza    $ git config --global user.signingKey [fpr]
7015ee23456SAlessia Mantegazza
7025ee23456SAlessia MantegazzaCome firmare i tag
7035ee23456SAlessia Mantegazza------------------
7045ee23456SAlessia Mantegazza
7055ee23456SAlessia MantegazzaPer creare un tag firmato, passate l'opzione ``-s`` al comando tag::
7065ee23456SAlessia Mantegazza
7075ee23456SAlessia Mantegazza    $ git tag -s [tagname]
7085ee23456SAlessia Mantegazza
7095ee23456SAlessia MantegazzaLa nostra raccomandazione è quella di firmare sempre i tag git, perché
7105ee23456SAlessia Mantegazzaquesto permette agli altri sviluppatori di verificare che il repositorio
7115ee23456SAlessia Mantegazzagit dal quale stanno prendendo il codice non è stato alterato intenzionalmente.
7125ee23456SAlessia Mantegazza
7135ee23456SAlessia MantegazzaCome verificare i tag firmati
7145ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7155ee23456SAlessia Mantegazza
7165ee23456SAlessia MantegazzaPer verificare un tag firmato, potete usare il comando ``verify-tag``::
7175ee23456SAlessia Mantegazza
7185ee23456SAlessia Mantegazza    $ git verify-tag [tagname]
7195ee23456SAlessia Mantegazza
7205ee23456SAlessia MantegazzaSe state prendendo un tag da un fork del repositorio del progetto, git
7215ee23456SAlessia Mantegazzadovrebbe verificare automaticamente la firma di quello che state prendendo
7225ee23456SAlessia Mantegazzae vi mostrerà il risultato durante l'operazione di merge::
7235ee23456SAlessia Mantegazza
7245ee23456SAlessia Mantegazza    $ git pull [url] tags/sometag
7255ee23456SAlessia Mantegazza
7265ee23456SAlessia MantegazzaIl merge conterrà qualcosa di simile::
7275ee23456SAlessia Mantegazza
7285ee23456SAlessia Mantegazza    Merge tag 'sometag' of [url]
7295ee23456SAlessia Mantegazza
7305ee23456SAlessia Mantegazza    [Tag message]
7315ee23456SAlessia Mantegazza
7325ee23456SAlessia Mantegazza    # gpg: Signature made [...]
7335ee23456SAlessia Mantegazza    # gpg: Good signature from [...]
7345ee23456SAlessia Mantegazza
7355ee23456SAlessia MantegazzaSe state verificando il tag di qualcun altro, allora dovrete importare
7365ee23456SAlessia Mantegazzala loro chiave PGP. Fate riferimento alla sezione ":ref:`it_verify_identities`"
7375ee23456SAlessia Mantegazzache troverete più avanti.
7385ee23456SAlessia Mantegazza
7395ee23456SAlessia MantegazzaConfigurare git per firmare sempre i tag con annotazione
7405ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7415ee23456SAlessia Mantegazza
7425ee23456SAlessia MantegazzaSe state creando un tag con annotazione è molto probabile che vogliate
7435ee23456SAlessia Mantegazzafirmarlo. Per imporre a git di firmare sempre un tag con annotazione,
7445ee23456SAlessia Mantegazzadovete impostare la seguente opzione globale::
7455ee23456SAlessia Mantegazza
7465ee23456SAlessia Mantegazza    $ git config --global tag.forceSignAnnotated true
7475ee23456SAlessia Mantegazza
7485ee23456SAlessia MantegazzaCome usare commit firmati
7495ee23456SAlessia Mantegazza-------------------------
7505ee23456SAlessia Mantegazza
7515ee23456SAlessia MantegazzaCreare dei commit firmati è facile, ma è molto più difficile utilizzarli
7525ee23456SAlessia Mantegazzanello sviluppo del kernel linux per via del fatto che ci si affida alle
7535ee23456SAlessia Mantegazzaliste di discussione e questo modo di procedere non mantiene le firme PGP
7545ee23456SAlessia Mantegazzanei commit. In aggiunta, quando si usa *rebase* nel proprio repositorio
7555ee23456SAlessia Mantegazzalocale per allinearsi al kernel anche le proprie firme PGP verranno scartate.
7565ee23456SAlessia MantegazzaPer questo motivo, la maggior parte degli sviluppatori del kernel non si
7575ee23456SAlessia Mantegazzapreoccupano troppo di firmare i propri commit ed ignoreranno quelli firmati
7585ee23456SAlessia Mantegazzache si trovano in altri repositori usati per il proprio lavoro.
7595ee23456SAlessia Mantegazza
7605ee23456SAlessia MantegazzaTuttavia, se avete il vostro repositorio di lavoro disponibile al pubblico
7615ee23456SAlessia Mantegazzasu un qualche servizio di hosting git (kernel.org, infradead.org, ozlabs.org,
7625ee23456SAlessia Mantegazzao altri), allora la raccomandazione è di firmare tutti i vostri commit
7635ee23456SAlessia Mantegazzaanche se gli sviluppatori non ne beneficeranno direttamente.
7645ee23456SAlessia Mantegazza
7655ee23456SAlessia MantegazzaVi raccomandiamo di farlo per i seguenti motivi:
7665ee23456SAlessia Mantegazza
7675ee23456SAlessia Mantegazza1. Se dovesse mai esserci la necessità di fare delle analisi forensi o
7685ee23456SAlessia Mantegazza   tracciare la provenienza di un codice, anche sorgenti mantenuti
7695ee23456SAlessia Mantegazza   esternamente che hanno firme PGP sui commit avranno un certo valore a
7705ee23456SAlessia Mantegazza   questo scopo.
7715ee23456SAlessia Mantegazza2. Se dovesse mai capitarvi di clonare il vostro repositorio locale (per
7725ee23456SAlessia Mantegazza   esempio dopo un danneggiamento del disco), la firma vi permetterà di
7735ee23456SAlessia Mantegazza   verificare l'integrità del repositorio prima di riprendere il lavoro.
7745ee23456SAlessia Mantegazza3. Se qualcuno volesse usare *cherry-pick* sui vostri commit, allora la firma
7755ee23456SAlessia Mantegazza   permetterà di verificare l'integrità dei commit prima di applicarli.
7765ee23456SAlessia Mantegazza
7775ee23456SAlessia MantegazzaCreare commit firmati
7785ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~
7795ee23456SAlessia Mantegazza
7805ee23456SAlessia MantegazzaPer creare un commit firmato, dovete solamente aggiungere l'opzione ``-S``
7815ee23456SAlessia Mantegazzaal comando ``git commit`` (si usa la lettera maiuscola per evitare
7825ee23456SAlessia Mantegazzaconflitti con un'altra opzione)::
7835ee23456SAlessia Mantegazza
7845ee23456SAlessia Mantegazza    $ git commit -S
7855ee23456SAlessia Mantegazza
7865ee23456SAlessia MantegazzaConfigurare git per firmare sempre i commit
7875ee23456SAlessia Mantegazza~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7885ee23456SAlessia Mantegazza
7895ee23456SAlessia MantegazzaPotete dire a git di firmare sempre i commit::
7905ee23456SAlessia Mantegazza
7915ee23456SAlessia Mantegazza    git config --global commit.gpgSign true
7925ee23456SAlessia Mantegazza
7935ee23456SAlessia Mantegazza.. note::
7945ee23456SAlessia Mantegazza
7955ee23456SAlessia Mantegazza    Assicuratevi di aver configurato ``gpg-agent`` prima di abilitare
7965ee23456SAlessia Mantegazza    questa opzione.
7975ee23456SAlessia Mantegazza
7985ee23456SAlessia Mantegazza.. _it_verify_identities:
7995ee23456SAlessia Mantegazza
800c1f8e848SFederico VagaCome lavorare con patch firmate
801c1f8e848SFederico Vaga-------------------------------
802c1f8e848SFederico Vaga
803c1f8e848SFederico VagaEsiste la possibilità di usare la vostra chiave PGP per firmare le patch che
804c1f8e848SFederico Vagainvierete alla liste di discussione del kernel. I meccanismi esistenti per la
805c1f8e848SFederico Vagafirma delle email (PGP-Mime o PGP-inline) tendono a causare problemi
806c1f8e848SFederico Vaganell'attività di revisione del codice. Si suggerisce, invece, di utilizare lo
807c1f8e848SFederico Vagastrumento sviluppato da kernel.org che mette nell'intestazione del messaggio
808c1f8e848SFederico Vagaun'attestazione delle firme crittografiche (tipo DKIM):
809c1f8e848SFederico Vaga
810c1f8e848SFederico Vaga- `Patatt Patch Attestation`_
811c1f8e848SFederico Vaga
812c1f8e848SFederico Vaga.. _`Patatt Patch Attestation`: https://pypi.org/project/patatt/
813c1f8e848SFederico Vaga
814c1f8e848SFederico VagaInstallare e configurate patatt
815c1f8e848SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
816c1f8e848SFederico Vaga
817c1f8e848SFederico VagaLo strumento patatt è disponibile per diverse distribuzioni, dunque cercatelo
818c1f8e848SFederico Vagaprima lì. Oppure potete installarlo usano pypi "``pip install patatt``"
819c1f8e848SFederico Vaga
820c1f8e848SFederico VagaSe avete già configurato git con la vostra chiave PGP (usando
821c1f8e848SFederico Vaga``user.signingKey``), allora patatt non ha bisogno di alcuna configurazione
822c1f8e848SFederico Vagaaggiuntiva. Potete iniziare a firmare le vostre patch aggiungendo un aggancio a
823c1f8e848SFederico Vagagit-send-email nel vostro repositorio::
824c1f8e848SFederico Vaga
825c1f8e848SFederico Vaga    patatt install-hook
826c1f8e848SFederico Vaga
827c1f8e848SFederico VagaOra, qualsiasi patch che invierete con ``git send-email`` verrà automaticamente
828c1f8e848SFederico Vagafirmata usando la vostra firma crittografica.
829c1f8e848SFederico Vaga
830c1f8e848SFederico VagaVerificare le firme di patatt
831c1f8e848SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
832c1f8e848SFederico Vaga
833c1f8e848SFederico VagaSe usate ``b4`` per verificare ed applicare le patch, allora tenterà
834c1f8e848SFederico Vagaautomaticamente di verificare tutte le firme DKIM e patatt disponibili. Per
835c1f8e848SFederico Vagaesempio::
836c1f8e848SFederico Vaga
837c1f8e848SFederico Vaga    $ b4 am 20220720205013.890942-1-broonie@kernel.org
838c1f8e848SFederico Vaga    [...]
839c1f8e848SFederico Vaga    Checking attestation on all messages, may take a moment...
840c1f8e848SFederico Vaga    ---
841c1f8e848SFederico Vaga      ✓ [PATCH v1 1/3] kselftest/arm64: Correct buffer allocation for SVE Z registers
842c1f8e848SFederico Vaga      ✓ [PATCH v1 2/3] arm64/sve: Document our actual ABI for clearing registers on syscall
843c1f8e848SFederico Vaga      ✓ [PATCH v1 3/3] kselftest/arm64: Enforce actual ABI for SVE syscalls
844c1f8e848SFederico Vaga      ---
845c1f8e848SFederico Vaga      ✓ Signed: openpgp/broonie@kernel.org
846c1f8e848SFederico Vaga      ✓ Signed: DKIM/kernel.org
847c1f8e848SFederico Vaga
848c1f8e848SFederico Vaga.. note::
849c1f8e848SFederico Vaga
850c1f8e848SFederico Vaga   Lo sviluppo di patatt e b4 è piuttosto attivo. Si consiglia di verificare la
851c1f8e848SFederico Vaga   documentazione più recente.
852c1f8e848SFederico Vaga
853c1f8e848SFederico Vaga.. _it_kernel_identities:
854c1f8e848SFederico Vaga
8555ee23456SAlessia MantegazzaCome verificare l'identità degli sviluppatori del kernel
8565ee23456SAlessia Mantegazza========================================================
8575ee23456SAlessia Mantegazza
8585ee23456SAlessia MantegazzaFirmare i tag e i commit è facile, ma come si fa a verificare che la chiave
8595ee23456SAlessia Mantegazzausata per firmare qualcosa appartenga davvero allo sviluppatore e non ad un
8605ee23456SAlessia Mantegazzaimpostore?
8615ee23456SAlessia Mantegazza
8625ee23456SAlessia MantegazzaConfigurare l'auto-key-retrieval usando WKD e DANE
8635ee23456SAlessia Mantegazza--------------------------------------------------
8645ee23456SAlessia Mantegazza
8655ee23456SAlessia MantegazzaSe non siete ancora in possesso di una vasta collezione di chiavi pubbliche
8665ee23456SAlessia Mantegazzadi altri sviluppatori, allora potreste iniziare il vostro portachiavi
8675ee23456SAlessia Mantegazzaaffidandovi ai servizi di auto-scoperta e auto-recupero. GnuPG può affidarsi
8685ee23456SAlessia Mantegazzaad altre tecnologie di delega della fiducia, come DNSSEC e TLS, per sostenervi
8695ee23456SAlessia Mantegazzanel caso in cui iniziare una propria rete di fiducia da zero sia troppo
8705ee23456SAlessia Mantegazzascoraggiante.
8715ee23456SAlessia Mantegazza
8725ee23456SAlessia MantegazzaAggiungete il seguente testo al vostro file ``~/.gnupg/gpg.conf``::
8735ee23456SAlessia Mantegazza
8745ee23456SAlessia Mantegazza    auto-key-locate wkd,dane,local
8755ee23456SAlessia Mantegazza    auto-key-retrieve
8765ee23456SAlessia Mantegazza
8775ee23456SAlessia MantegazzaLa *DNS-Based Authentication of Named Entities* ("DANE") è un metodo
8785ee23456SAlessia Mantegazzaper la pubblicazione di chiavi pubbliche su DNS e per renderle sicure usando
8795ee23456SAlessia Mantegazzazone firmate con DNSSEC. Il *Web Key Directory* ("WKD") è un metodo
8805ee23456SAlessia Mantegazzaalternativo che usa https a scopo di ricerca. Quando si usano DANE o WKD
8815ee23456SAlessia Mantegazzaper la ricerca di chiavi pubbliche, GnuPG validerà i certificati DNSSEC o TLS
8825ee23456SAlessia Mantegazzaprima di aggiungere al vostro portachiavi locale le eventuali chiavi trovate.
8835ee23456SAlessia Mantegazza
8845ee23456SAlessia MantegazzaKernel.org pubblica la WKD per tutti gli sviluppatori che hanno un account
8855ee23456SAlessia Mantegazzakernel.org. Una volta che avete applicato le modifiche al file ``gpg.conf``,
8865ee23456SAlessia Mantegazzapotrete auto-recuperare le chiavi di Linus Torvalds e Greg Kroah-Hartman
8875ee23456SAlessia Mantegazza(se non le avete già)::
8885ee23456SAlessia Mantegazza
8895ee23456SAlessia Mantegazza    $ gpg --locate-keys torvalds@kernel.org gregkh@kernel.org
8905ee23456SAlessia Mantegazza
8915ee23456SAlessia MantegazzaSe avete un account kernel.org, al fine di rendere più utile l'uso di WKD
8925ee23456SAlessia Mantegazzada parte di altri sviluppatori del kernel, dovreste `aggiungere alla vostra
8935ee23456SAlessia Mantegazzachiave lo UID di kernel.org`_.
8945ee23456SAlessia Mantegazza
8955ee23456SAlessia Mantegazza.. _`aggiungere alla vostra chiave lo UID di kernel.org`: https://korg.wiki.kernel.org/userdoc/mail#adding_a_kernelorg_uid_to_your_pgp_key
8965ee23456SAlessia Mantegazza
8975ee23456SAlessia MantegazzaWeb of Trust (WOT) o Trust on First Use (TOFU)
8985ee23456SAlessia Mantegazza----------------------------------------------
8995ee23456SAlessia Mantegazza
9005ee23456SAlessia MantegazzaPGP incorpora un meccanismo di delega della fiducia conosciuto come
9015ee23456SAlessia Mantegazza"Web of Trust". Di base, questo è un tentativo di sostituire la necessità
9025ee23456SAlessia Mantegazzadi un'autorità certificativa centralizzata tipica del mondo HTTPS/TLS.
9035ee23456SAlessia MantegazzaInvece di avere svariati produttori software che decidono chi dovrebbero
9045ee23456SAlessia Mantegazzaessere le entità di certificazione di cui dovreste fidarvi, PGP lascia
9055ee23456SAlessia Mantegazzala responsabilità ad ogni singolo utente.
9065ee23456SAlessia Mantegazza
9075ee23456SAlessia MantegazzaSfortunatamente, solo poche persone capiscono come funziona la rete di fiducia.
9085ee23456SAlessia MantegazzaNonostante sia un importante aspetto della specifica OpenPGP, recentemente
9095ee23456SAlessia Mantegazzale versioni di GnuPG (2.2 e successive) hanno implementato un meccanisco
9105ee23456SAlessia Mantegazzaalternativo chiamato "Trust on First Use" (TOFU). Potete pensare a TOFU come
9115ee23456SAlessia Mantegazza"ad un approccio all fidicia simile ad SSH". In SSH, la prima volta che vi
9125ee23456SAlessia Mantegazzaconnettete ad un sistema remoto, l'impronta digitale della chiave viene
9135ee23456SAlessia Mantegazzaregistrata e ricordata. Se la chiave dovesse cambiare in futuro, il programma
9145ee23456SAlessia MantegazzaSSH vi avviserà e si rifiuterà di connettersi, obbligandovi a prendere una
9155ee23456SAlessia Mantegazzadecisione circa la fiducia che riponete nella nuova chiave. In modo simile,
9165ee23456SAlessia Mantegazzala prima volta che importate la chiave PGP di qualcuno, si assume sia valida.
9175ee23456SAlessia MantegazzaSe ad un certo punto GnuPG trova un'altra chiave con la stessa identità,
9185ee23456SAlessia Mantegazzaentrambe, la vecchia e la nuova, verranno segnate come invalide e dovrete
9195ee23456SAlessia Mantegazzaverificare manualmente quale tenere.
9205ee23456SAlessia Mantegazza
9215ee23456SAlessia MantegazzaVi raccomandiamo di usare il meccanisco TOFU+PGP (che è la nuova configurazione
9225ee23456SAlessia Mantegazzadi base di GnuPG v2). Per farlo, aggiungete (o modificate) l'impostazione
9235ee23456SAlessia Mantegazza``trust-model`` in ``~/.gnupg/gpg.conf``::
9245ee23456SAlessia Mantegazza
9255ee23456SAlessia Mantegazza    trust-model tofu+pgp
9265ee23456SAlessia Mantegazza
927c1f8e848SFederico VagaUsare il repositorio kernel.org per il web of trust
928c1f8e848SFederico Vaga---------------------------------------------------
9295ee23456SAlessia Mantegazza
930c1f8e848SFederico VagaIl progetto kernel.org mantiene un repositorio git con le chiavi pubbliche degli sviluppatori in alternativa alla replica dei server di chiavi che negli ultimi anni sono spariti. La documentazione completa su come impostare il repositorio come vostra sorgente di chiavi pubbliche può essere trovato qui:
9315ee23456SAlessia Mantegazza
932c1f8e848SFederico Vaga- `Kernel developer PGP Keyring`_
9335ee23456SAlessia Mantegazza
934c1f8e848SFederico VagaSe siete uno sviluppatore del kernel, per favore valutate l'idea di inviare la
935c1f8e848SFederico Vagavostra chiave per l'inclusione in quel portachiavi.
9365ee23456SAlessia Mantegazza
9375ee23456SAlessia Mantegazza
938c1f8e848SFederico VagaIf you are a kernel developer, please consider submitting your key for
939c1f8e848SFederico Vagainclusion into that keyring.
9405ee23456SAlessia Mantegazza
941c1f8e848SFederico Vaga.. _`Kernel developer PGP Keyring`: https://korg.docs.kernel.org/pgpkeys.html
942