Come inviare e ricevere file criptati con una chiave GPG

Sempre rimanendo in tema con le chiavi GPG ho trovato un altro post molto interessante sul blog blogs.koolwal.net che ho deciso di tradurvi.

Tramite questa guida impareremo a usare le chiavi GPG per inviare e ricevere file criptati.

Supponiamo di voler inviare un messaggio criptato o un file criptato a un amico.

Indichiamo come:

Persona 1 – mittente

Persona 2 – destinatario

Supponiamo che la Persona 1 voglia inviare alla Persona 2 un file criptato chiamato account.txt. Supponiamo che il file account.txt contenga dei dati sensibili che vogliamo proteggere. Per esempio:

Numero di conto bancario: 12345678
Importo della transazione:  500,000 €

Procedimento per la Persona 1

  • Passo1: Importare la chiave della Persona 2

    Il primo passo consiste nell’importare nel proprio sistema la chiave pubblica della persona (Persona 2) alla quale si vuole inviare il file segreto. Ciò può essere effettuato in due modi:

    Metodo 1:

    Importare la chiave pubblica della Persona 2 usando un file che può essere stato inviato tramite email.  Supponiamo che il file si chiami persona2_pub_key.txt.  Eseguite il seguente comando per importarla:

    persona1:~# gpg --import persona2_pub_key.txt

    Nota:  Si suppone che che la Persona 2 abbia precedentemente generato una coppia di chiavi pubblica/privata (seguendo questa guida) e che in seguito la chiave sia stata esportata nel file persona2_pub_key.txt.

    Metodo 2:

    Un altro metodo consiste nel cercare la chiave pubblica della Persona 2 su un GPG keyserver. Ovviamente è possibile usare questo metodo unicamente se la Persona 2 ha inviato la chiave su un GPG keyserver e a patto che sia noto anche l’indirizzo del keyserver. Potete cercare la chiave della  Persona 2 usando alternativamente i seguenti comandi:

    persona1:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'person2@abc.com'
    oppure
    person1:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'Person 2 name'
    oppure
    person1:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'Key-ID'

    Generalmente potete effettuare la ricerca indifferentemente in base al nome della Persona 2 , email o Key ID.

    Come risultato della ricerca dovreste ricevere un output di questo tipo:

    gpg: requesting key EE6E8046 from hkp server subkeys.pgp.net
    gpg: key EE6E8046: “Persona 2 nome (Public Key) persona2@abc.com” not changed
    gpg: Total number processed: 1
    gpg:              unchanged: 1

  • Passo 2: Verificare l’importazione della chiave

    Per verificare che la chiave relativa alla Persona 2 sia stata importata con successo nel nostro sistema, basta eseguire il seguente comando:

    person1:~# gpg --list-keys

    in tal modo dovrebbe essere visualizzato qualcosa di questo tipo:

    /root/.gnupg/pubring.gpg
    ————————
    pub   1024D/E4635BBE 2009-03-16
    uid                  John Doe (My first key) <gpg@abc.com>
    sub   2048g/0AC353C2 2009-03-16

    pub   1024D/EE6E8046 2009-02-20
    uid                  Persona 2 name (My GPG key) persona2@abc.com
    sub   2048g/AE3B1BD4 2009-02-20

    Le informazione della seconda chiave (riportate in corsivo) sono quelle relative alla Persona 2 alla quale intendiamo inviare il file criptato.

  • Passo 3: Encrypt the file using your private key

    Ora siamo pronti per criptare il file usando la chiave pubblica della Persona 2 seguendo i passi seguenti:

    persona1:~# gpg --encrypt --recipient 'persona2@abc.com' account.txt

    Nota: Potreste avere qualche messaggio di avvertimento riguardante l’autenticità della chiave pubblica. Semplicemente ignorateli digitando “y” dato che stiamo supponendo che Persona 2 sia una persona fidata.

    In questo modo verrà creato un file nominato account.txt.gpg. Questo è il file criptato e se provate a usare un editor di testo, vedrete solo una sequenza di simboli e le lettere  incomprensibile a conferma del fatto che il processo di criptazione ha avuto successo.

  • Passo 4:  Inviare il file criptato alla Persona 2

    Ora è possibile inviare il file criptato alla Persona 2 come allegato tramite email oppure tramite un qualsiasi dispositivo di memorizzazione dati.  Una volta che la Persona 1 ha inviato il file alla Persona 2 , il lavoro della Persona 1 è completato e ora la Persona 2 deve fare la sua parte per decriptare il file e renderlo leggibile.

Procedimento per la Persona 2

  • Ora la Persona 2 deve ripetere i gli stessi Passi 1 e 2 riportati sopra con l’eccezione che le informazioni della Persona 2 devono essere sostituite con quelle dalla Persona 1.  In pratica bisogna prima importare la chiave pubblica della Persona 1 e verificare che sia stata importata con successo. Questi passi sono riassunti qui di seguito:

    persona2:~# gpg --import persona1_pub_key.txt
    oppure
    persona2:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'gpg@abc.com'
    persona2:~# gpg --list-keys

    Decriptare il file

    Finalmente la Person 2 può decriptare il file account.txt.gpg con il seguente comando:

    persona2:~# gpg --output account.txt --decrypt account.txt.gpg

    Vi verrà richiesta la votra passphrase per poter decriptare il file. Dopo aver inserito la passphrase potrete vedere un file chiamato account.txt (come specificato nella –output option nel comando riportato sopra) e potrete visualizzarne il contenuto con un editor di testo.

    persona2:~# less account.txt

    Numero di conto bancario: 12345678

    Importo della transazione:  500,000 €
    account.txt (END)

Questo è tutto. Persona 2 sarà felice di ricevere il messaggio con tutti i dettagli importanti e potrà ringrazione la Persona 1.

One Response to “Come inviare e ricevere file criptati con una chiave GPG”

  1. Lucasqwe ha detto:

    Ciao e complimenti per la guida, ma ho un problema, il mio file si chiama 1.txt, arrivo all’ultimo passaggio e quando faccio “gpg –output 1.txt –decrypt 1.txt.gpg” mi dice: “encrypted with … id…
    decifratura fallita: chiave segreta non disponibile”
    mi potete aiutare?

Leave a Reply

 

Login

Google Pagerank

...loading

Friend Site

PaperblogIl BloggatoreGiornaleBlog Notizie Blog di Informatica e Internethttp://www.wikio.itAdd to Technorati FavoritesSegnala FeedVero GeekTecnolandiaAggregatore di blogAggregati a KikkeMania.comSmilla MagazineColombo’S Blogiwinuxfeed.altervista.orgFeedelissimobloghissimoAggregatore di feedMiglior AggregatoreBlogItalia.itIscritto su Mondo Geek.it- aggregatore di news sulle tecnologieAggregatore Blogtua notiziaWebShake – tecnologiaWebsoblipperaggregatuttolimegatorMarco Robutti - Software Newseppoliano.net Blognotiziedalweb map of RSS
Wikio - Top dei blog - Linux

Blogroll

    '); ?>

Help us!

contact us map of RSS


Calendar

Marzo 2024
L M M G V S D
 123
45678910
11121314151617
18192021222324
25262728293031