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