Proteggi la tua privacy con Linux
gpg
comando. Usa la crittografia di livello mondiale per mantenere i tuoi segreti al sicuro. Ti mostreremo come utilizzare gpg per lavorare con le chiavi, crittografare i file e decrittografarli.
Gnu Privacy Guard ( GPG ) consente di crittografare i file in modo sicuro in modo che solo il destinatario previsto possa decrittografarli. In particolare, GPG è conforme al OpenPGP standard. È modellato su un programma chiamato Pretty Good Privacy ( PGP ). PGP è stato scritto nel 1991 da Phil Zimmerman .
GPG si basa sull'idea di due chiavi di crittografia per persona. Ogni persona ha un file privato chiave e a pubblico chiave. La chiave pubblica può decrittografare qualcosa che è stato crittografato utilizzando la chiave privata.
Per inviare un file in modo sicuro, crittografalo con la tua chiave privata e la chiave pubblica del destinatario. Per decrittografare il file, hanno bisogno della loro chiave privata e la tua chiave pubblica.
Vedrai da questo che le chiavi pubbliche devono essere condivise. È necessario disporre della chiave pubblica del destinatario per crittografare il file e il destinatario ha bisogno della tua chiave pubblica per decrittografarlo. Non c'è pericolo nel rendere le tue chiavi pubbliche solo così: pubbliche. In effetti, ci sono server a chiave pubblica proprio per questo scopo, come vedremo. Le chiavi private devono essere mantenute private. Se la tua chiave pubblica è di dominio pubblico, la tua chiave privata deve essere mantenuta segreta e sicura.
Ci sono più passaggi coinvolti nella configurazione di GPG che nell'usarlo. Per fortuna, di solito è necessario configurarlo solo una volta.
Generazione delle chiavi
Il
gpg
Il comando è stato installato su tutte le distribuzioni Linux controllate, inclusi Ubuntu, Fedora e Manjaro.
Non è necessario utilizzare GPG con l'email. È possibile crittografare i file e renderli disponibili per il download oppure passarli fisicamente al destinatario. Tuttavia, è necessario associare un indirizzo e-mail alle chiavi generate, quindi scegli quale indirizzo e-mail utilizzerai.
Ecco il comando per generare le tue chiavi. Il
--full-generate-key
opzione genera le chiavi in una sessione interattiva all'interno della finestra del terminale. Ti verrà anche richiesta una passphrase. Assicurati di ricordare qual è la passphrase. Tre o quattro semplici parole unite insieme alla punteggiatura sono una buona e
modello robusto per password e passphrase
.
gpg --full-generate-key
Ti verrà chiesto di scegliere un tipo di crittografia da un menu. A meno che tu non abbia una buona ragione per non farlo, digita
1
e premere Invio.
È necessario scegliere una lunghezza in bit per le chiavi di crittografia. Premere Invio per accettare l'impostazione predefinita.
È necessario specificare la durata della chiave. Se stai testando il sistema, inserisci una breve durata come
5
per cinque giorni. Se vuoi mantenere questa chiave, inserisci una durata più lunga come 1 anno per un anno. La chiave durerà 12 mesi e quindi dovrà essere rinnovata dopo un anno. Conferma la tua scelta con a
Y
.
Devi inserire il tuo nome e il tuo indirizzo email. Puoi aggiungere un commento se lo desideri.
Ti verrà richiesta la tua passphrase. Avrai bisogno della passphrase ogni volta che lavori con le tue chiavi, quindi assicurati di sapere di cosa si tratta.
Clicca il
OK
quando hai inserito la tua passphrase. Vedrai questa finestra mentre lavori con
gpg
, quindi assicurati di ricordare la tua passphrase.
Verrà eseguita la generazione della chiave e verrai reindirizzato al prompt dei comandi.
Generazione di un certificato di revoca
Se la tua chiave privata diventa nota ad altri, dovrai dissociare le vecchie chiavi dalla tua identità, in modo da poterne generare di nuove. Per fare ciò, avrai bisogno di un certificato di revoca. Lo faremo ora e lo conserveremo in un luogo sicuro.
Il
--produzione
l'opzione deve essere seguita dal nome del file del certificato che si desidera creare. Il
--gen-revoke
cause di opzione
gpg
per generare un certificato di revoca. Devi fornire l'indirizzo email che hai utilizzato quando sono state generate le chiavi.
gpg --output ~ / revocation.crt --gen-revoke [email protected]
Ti verrà chiesto di confermare che desideri generare un certificato. stampa
Y
e premi Invio. Ti verrà chiesto il motivo per cui stai generando il certificato. Dato che lo stiamo facendo prima del tempo, non lo sappiamo con certezza. stampa
1
come ipotesi plausibile e premi Invio.
Puoi inserire una descrizione se lo desideri. Premi Invio due volte per terminare la descrizione.
Ti verrà chiesto di confermare le tue impostazioni, premi
Y
e premi Invio.
Il certificato verrà generato. Verrà visualizzato un messaggio che rinforza la necessità di tenere al sicuro questo certificato.
Menziona qualcuno chiamato Mallory. Le discussioni sulla crittografia sono state utilizzate da tempo Bob e Alice come le due persone che comunicano. Ci sono altri personaggi secondari. Eve è una intercettatrice, Mallory è un malintenzionato. Tutto quello che dobbiamo sapere è che dobbiamo mantenere il certificato sicuro e protetto.
Come minimo, rimuoviamo tutte le autorizzazioni tranne la nostra dal certificato.
chmod 600 ~ / revocation.crt
Controlliamo con
ls
per vedere quali sono i permessi ora:
ls -l
È perfetto. Nessuno, a parte il proprietario del file, noi, può fare qualcosa con il certificato.
Importazione della chiave pubblica di qualcun altro
Per crittografare un messaggio che un'altra persona può decrittografare, dobbiamo avere la sua chiave pubblica.
Se ti è stata fornita la loro chiave in un file, puoi importarla con il seguente comando. In questo esempio, il file della chiave si chiama "mary-geek.key".
gpg - import mary-geek.key
La chiave viene importata e ti vengono mostrati il nome e l'indirizzo e-mail associati a quella chiave. Ovviamente, dovrebbe corrispondere alla persona da cui l'hai ricevuto.
C'è anche la possibilità che la persona da cui hai bisogno di una chiave abbia caricato la sua chiave su un server di chiavi pubbliche. Questi server memorizzano le chiavi pubbliche delle persone da tutto il mondo. I server delle chiavi si sincronizzano periodicamente tra loro in modo che le chiavi siano universalmente disponibili.
Il server di chiavi pubbliche del MIT è un server di chiavi popolare e viene regolarmente sincronizzato, quindi la ricerca dovrebbe avere successo. Se qualcuno ha caricato una chiave solo di recente, potrebbero essere necessari alcuni giorni prima che venga visualizzata.
Il
--keyserver
l'opzione deve essere seguita dal nome del server delle chiavi che si desidera cercare. Il
--search-keys
l'opzione deve essere seguita dal nome della persona che stai cercando o dal suo indirizzo email. Useremo l'indirizzo email:
gpg --keyserver pgp.mit.edu --search-keys [email protected]
Le partite sono elencate per te e numerate. Per importarne uno, digita il numero e premi Invio. In questo caso, c'è una singola corrispondenza, quindi digitiamo
1
e premere Invio.
La chiave viene importata e ci vengono mostrati il nome e l'indirizzo e-mail associati a quella chiave.
Verifica e firma di una chiave
Se ti è stato consegnato un file di chiave pubblica da qualcuno a te noto, puoi tranquillamente dire che appartiene a quella persona. Se l'hai scaricata da un server di chiavi pubbliche, potresti sentire il bisogno di verificare che la chiave appartenga alla persona a cui è destinata.
Il
--impronta digitale
cause di opzione
gpg
per creare una breve sequenza di dieci serie di quattro caratteri esadecimali. Puoi chiedere alla persona di inviarti l'impronta digitale della sua chiave.
È quindi possibile utilizzare il file
--impronta digitale
opzione per generare la stessa sequenza di impronte digitali di caratteri esadecimali e confrontarli. Se corrispondono, sai che la chiave appartiene a quella persona.
gpg --fingerprint [email protected]
L'impronta digitale viene generata.
Quando sei soddisfatto che la chiave sia autentica e di proprietà della persona a cui dovrebbe essere associata, puoi firmare la sua chiave.
Se non lo fai, puoi comunque utilizzarlo per crittografare e decrittografare i messaggi da e verso quella persona. Ma
gpg
ti chiederà ogni volta se desideri procedere perché la chiave non è firmata. Useremo il nome appropriato
--sign-key
opzione e fornire l'indirizzo e-mail della persona, in modo che
gpg
sa quale chiave firmare.
gpg --sign-key [email protected]
Vedrai le informazioni sulla chiave e sulla persona e ti verrà chiesto di confermare che desideri veramente firmare la chiave. stampa
Y
e premi Invio per firmare la chiave.
Come condividere la tua chiave pubblica
Per condividere la tua chiave come file, dobbiamo esportarla dal
gpg
archivio chiavi locale. Per fare ciò, useremo il
--esportare
opzione, che deve essere seguita dall'indirizzo email che hai utilizzato per generare la chiave. Il
--produzione
l'opzione deve essere seguita dal nome del file in cui si desidera esportare la chiave. Il
--armatura
opzione dice
gpg
per generare un output di armatura ASCII invece di un file binario.
gpg --output ~ / dave-geek.key --armor --export [email protected]
Possiamo dare un'occhiata all'interno del file della chiave con
Di meno
.
meno dave-geek.key
La chiave è mostrata in tutto il suo splendore:
Puoi anche condividere la tua chiave pubblica su un server di chiavi pubbliche. Il
- invia-chiavi
opzione invia la chiave al server delle chiavi. Il
--keyserver
L'opzione deve essere seguita dall'indirizzo web del server della chiave pubblica. Per identificare quale chiave inviare, l'impronta digitale della chiave deve essere fornita sulla riga di comando. Nota che non ci sono spazi tra i set di quattro caratteri.
(Puoi vedere l'impronta digitale della tua chiave usando il
--impronta digitale
opzione.)
gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4
Riceverai la conferma che la chiave è stata inviata.
Crittografia dei file
Siamo finalmente pronti per crittografare un file e inviarlo a Mary. Il file si chiama Raven.txt.
Il
--encrypt
opzione dice
gpg
per crittografare il file e il file
--cartello
opzione gli dice di firmare il file con i tuoi dettagli. Il
--armatura
opzione dice a gpg di creare un file ASCII. Il
-r
L'opzione (destinatario) deve essere seguita dall'indirizzo email della persona a cui stai inviando il file.
gpg --encrypt --sign --armor -r [email protected]
Il file viene creato con lo stesso nome dell'originale, ma con ".asc" aggiunto al nome del file. Diamo un'occhiata al suo interno.
meno Raven.txt.asc
Il file è completamente illeggibile e può essere decrittografato solo da qualcuno che possiede la tua chiave pubblica e la chiave privata di Mary. L'unica persona ad averli entrambi dovrebbe essere Mary.
Ora possiamo inviare il file a Mary fiduciosi che nessun altro possa decrittografarlo.
Decifrare i file
Mary ha inviato una risposta. Si trova in un file crittografato chiamato coded.asc. Possiamo decrittarlo molto facilmente usando il
--decrypt
opzione. Reindirizzeremo l'output in un altro file chiamato plain.txt.
Nota che non dobbiamo dirlo
gpg
da chi proviene il file. Può risolverlo dal contenuto crittografato del file.
gpg --decrypt coded.asc> plain.txt
Diamo un'occhiata al file plain.txt:
less plain.txt
Il file è stato decrittografato con successo per noi.
Aggiornare le tue chiavi
Periodicamente, puoi chiedere
gpg
per controllare le chiavi che ha rispetto a un server di chiavi pubbliche e per aggiornare quelle che sono state modificate. Puoi farlo ogni pochi mesi o quando ricevi una chiave da un nuovo contatto.
Il
--refresh-keys
cause di opzione
gpg
per eseguire il controllo. Il
--keyserver
l'opzione deve essere seguita dal server delle chiavi di tua scelta. Una volta che le chiavi sono state sincronizzate tra i server delle chiavi pubbliche, non dovrebbe importare quale scegli.
gpg --keyserver pgp.mit.edu --refresh-keys
gpg
risponde elencando le chiavi che controlla e informandoti se alcune sono state modificate e aggiornate.
La privacy è un argomento caldo
La privacy non è mai lontana dalle notizie di questi tempi. Qualunque sia la ragione per cui desideri mantenere le tue informazioni sicure e private,
gpg
fornisce un mezzo semplice per applicare una crittografia incredibilmente potente ai file e alle comunicazioni.
Ci sono altri modi per usare
gpg
. Puoi ottenere un plugin per
Thunderbird
chiamato
Enigmail
. Si aggancia direttamente al tuo
gpg
configurazione per consentire di crittografare i messaggi di posta elettronica dall'interno di Thunderbird.