Cosa è Gpg4Win?

Gpg4Win è la distribuzione ufficiale per sistemi Windows di GnuPG, un software che consente la cifratura e la firma di file ed email.
Gpg4Win e le sue componenti sono free software che significa, tra le altre cose, che il codice sorgente è visionabile da chiunque e che l’utilizzo non è regolato da alcuna licenza.
Questo oltre ad offrire un vantaggio economico (non devi pagare nulla per usare questo software) dà anche un buon margine di sicurezza poiché i ricercatori possono verificare in modo indipendente che il codice sorgente del software non contenga bug o funzionalità nascoste e pericolose per la privacy degli utenti.

Crittografia asimmetrica

Il fondamento teorico che sta alla base di software come Gpg4Win è la crittografia asimmetrica, che è così chiamata perchè prevede l’utilizzo di due chiavi: la chiave pubblica e la chiave privata (per questo motivo è nota anche come crittografia a chiave pubblica).

Le due chiavi non sono altro che dei file generati secondo particolari algoritmi matematici che garantiscono l’univocità della coppia di chiavi: ad una chiave pubblica corrisponde una sola chiave privata, quella che è stata generata contestualmente alla chiave pubblica.
Questa tecnica consente di crittografare le informazioni (garantendo così la riservatezza), ma anche di firmarle (garantendo così l’autenticità). Con un esempio sarà più facile capire l’uso delle due chiavi: Alice deve inviare via email un file molto importante a Gigi e vuole cifrarlo per proteggerne la riservatezza.

Vediamo il ruolo delle due chiavi:

  • La chiave pubblica è la componente che può essere comunicata a chiunque, senza necessità di protezioni particolari, ed è quella che il mittente deve utilizzare per cifrare il file da inviare al destinatario.  Nel nostro caso, Gigi fornirà ad Alice la propria chiave pubblica (ad esempio inviandogliela via email).
  • La chiave privata, al contrario, deve essere gelosamente custodita e non deve in alcun modo essere divulgata ed è quella che il destinatario deve utilizzare per decifrare il file. La chiave privata è protetta da una password (o passphrase) che, ovviamente, deve essere nota solamente al titolare della chiave. Quando Gigi riceverà il file cifrato da Alice, utilizzerà la propria chiave privata e la propria passphrase per decifrarlo.

Quando si vuole invece garantire l’autenticità di un messaggio o di un file (cioè fare in modo che il desinatario sia sicuro che il messaggio o il file è stato davvero inviato dal mittente) si ricorre alla firma. Ancora un esempio: Gigi chiede ad Alice di inviargli un file e di firmarlo, per essere sicuro che il file sia davvero stato prodotto da Alice.

Vediamo in questo caso come devono essere usate le due chiavi.

  • Alice invierà a Gigi la propria chiave pubblica, senza necessità di alcuna protezione. Dopodichè firma il file da inviare con la propria chiave privata.
  • Quando Gigi riceve il file potrà verificare che questo è stato firmato da Alice poiché la chiave pubblica di Alice sarà l’unica a poter verificare la firma prodotta con la chiave privata.

Il vantaggio della crittografia asimmetrica è che Alice e Gigi si devono scambiare un’informazione che è per sua natura pubblica (la chiave pubblica, appunto) e che non ha necessità di essere mantenuta segreta.

Ora che abbiamo chiarito le basi teoriche di uno strumento come Gpg4Win, passiamo alla pratica!

  • 1. Installazione di gpg4Win
     Installazione gpg4Win

    Installazione gpg4Win

    Photo by Bonfanti Matteo Maria

    L’installazione di Gpg4win è molto semplice. Collegandosi alla pagina di download si può fare una donazione prima di scaricare l’eseguibile per l’installazione.
    Una volta avviato l’installer, selezionare la lingua per l’installazione e alla prima schermata selezionare Next. Nella schermata successiva è necessario selezionare i componenti da installare. Qui ci sono le prime scelte da fare. Suggeriamo di procedere come segue:

    • Mantenere selezionato Kleopatra che è l’interfaccia grafica del key manager, cioè la componente per gestire le proprie chiavi pubbliche/private.
    • Se non si usa Outlook, rimuovere la spunta da GpgOL
    • Mantenere selezionato GpgEX, per eseguire le operazioni base direttamente dal menù contestuale di Windows.

    Tutte le componenti possono essere comunque installate in un successivo momento.
    Selezionare il path di installazione e premere su Install.

  • 2. Creazione di una coppia di chiavi pubblica-privata
    Creazione coppia di chiavi

    Creazione coppia di chiavi

    Photo by Bonfanti Matteo Maria

    La prima operazione da fare è creare la propria coppia di chiavi pubblica-privata.
    Per far questo si può utilizzare la procedura guidata di Kleopatra, che quindi è da avviare dal menu di Windows.
    Se è la prima volta che si usa il programma apparirà la finestra allegata.
     
    Cliccando su New Key Pair si avvia il processo.
    Per prima cosa è buona pratica inserire il proprio nome e un’indirizzo email valido.
    Si suggerisce anche di abilitare il flag “Protect the generated key with a passphrase”.

    Se non ci sono esigenze particolari, si possono mantenere le opzioni presenti in Advanced Settings, nella loro configurazione di dafault.

    Cliccare su Create.
    Nota: l’unico parametro che potrebbe valer la pena cambiare è la scadenza della password (Valid until) che di default è impostato ad un anno.

  • 3. Inserimento passphrase ed esito
    Inserimento passphrase

    Inserimento passphrase

    Photo by Bonfanti Matteo Maria

    A questo punto si avvia il processo di creazione delle chiavi, che richiede anche l’inserimento della passphrase, che deve essere scelta in modo che sia robusta. Usate ad esempio un password manager per generare e salvare questa passphrase.
    Attenzione perché se perdete la passphrase non sarete più in grado di utilizzare la vostra chiave privata e, quindi, non potrete più decifrare file protetti con la vostra chiave pubblica o firmare file/messaggi da inviare ad altre persone!

    Una volta inserita la passprhase il processo di creazione termina e Kleopatra vi fornisce un riassunto di quanto fatto.

    Il fingerprint individua univocamente la vostra coppia di chiavi.

  • 4. Backup chiave privata
    Backup chiave privata

    Backup chiave privata

    Photo by Bonfanti Matteo Maria

    Tra i prossimi passi, come suggerisce Kleopatra, c’è quello di eseguire un backup della propria chiave privata. Questo è un passaggio molto importante poiché se la chiave andasse persa non sareste più in grado, ad esempio, di decifrare file cifrati con la corrispondente chiave pubblica. Prestate quindi molta attenzione a dove salvate la chiave!

    Una volta che avete selezionato dove salvare il vostro backup, per esegiure la copia vi verrà richiesta la passphrase.

    Inserita la passphrase, nella posizione che avete scelto verrà creato un file .asc.
    Una volta eseguito il backup della chiave, potete chiudere la finestra e nell’interfaccia di Kleopatra troverete la vostra chiave.

  • 5. Importare chiave pubblica
    Importare chiave pubblica

    Importare chiave pubblica

    Photo by Bonfanti Matteo Maria

    Come anticipato, per cifrare un file da inviare a qualcuno è necessaria la chiave pubblica del destinatario che, una volta ricevuta, deve essere importata in Gpg4Win ad esempio usando Kleopatra.
    Vediamo il procedimento per importare la chiave pubblica e poi per cifrare il file.
    Supponendo che il vostro interlocutore vi abbia inviato la sua chiave pubblica via email e che voi l’avete salvata in una cartella locale sul PC, ecco cosa si deve fare.
    Dall’interfaccia di Kleopatra cliccate sul tasto Import.

  • 6. Importare certificato
    Importare certificato

    Importare certificato

    Photo by Bonfanti Matteo Maria

    Selezionate il file della chiave pubblica che avete salvato sul PC (molto probabilmente un file .asc) e cliccate su Open.

    In breve, un nuovo tab chiamato Imported Certificates mostrerà la chiave appena caricata.

  • 7. Avvio encrypt
    Avvio encrypt

    Avvio encrypt

    Photo by Bonfanti Matteo Maria

    Ora siete pronti per cifrare un file. Il modo più rapido e semplice è quello di individuare il file sul vostro computer, fare clic con il tasto destro e selezionare la voce More GpgEX options e quindi Encrypt.

  • 8. Encrypt
    Encrypt

    Encrypt

    Photo by Bonfanti Matteo Maria

    A questo punto si apre una nuova finestra in cui dovete selezionare la chiave pubblica con cui cifrare il file. 
    Se vi interessa mantenere una copia cifrata del file dovete mantenere selezionato Encrypt for me. Se invece non vi interessa mantenere una copia cifrata del file potete rimuovere la spunta da “Encrypt for me”.
    In Encrypt for others, invece, si dovrà selezionare la chiave pubblica del destinatario.

  • 9. Esito encrypt
    Esito encrypt

    Esito encrypt

    Photo by Bonfanti Matteo Maria

    Infine, se necessario, selezionare la cartella in cui salvare il file criptato.
    Ora basta premere su Encrypt, confermare al successivo messaggio e attendere l’esito dell’operazione.
    Il file cifrato a questo punto può essere inviato al destinatario (ad esempio via email). Solo lui con la sua chiave privata potrà decifrarlo ed aprirlo.

  • 10. Avvio decrypt
    Avvio decrypt

    Avvio decrypt

    Photo by Bonfanti Matteo Maria

    Vediamo ora il processo inverso.
    Supponiamo che qualcuno vi abbia inviato un file cifrato con la vostra chiave pubblica. Solo voi potete decifrarlo usando la vostra chiave privata. Ecco come fare.
    Salvate in una cartella il file da decifrare (che probabilmente avrà estensione .pgp) e poi cliccateci sopra con il tasto destro. Selezionate More GpgEX options e quindi Decrypt.

  • 11. Passphrase
    Passphrase

    Passphrase

    Photo by Bonfanti Matteo Maria

    Durante le operazioni di decrypting vi verrà chiesta la passphrase della vostra chiave privata. 

  • 12. Esito decrypt
    Esito Decrypt

    Esito Decrypt

    Photo by Bonfanti Matteo Maria

    Una volta inserita, Kleopatra vi informerà dell’esito delle operazioni.

  • 13. Firmare i file cifrati
    Firmare i file cifrati

    Firmare i file cifrati

    Photo by Bonfanti Matteo Maria

    In questi esempi non abbiamo utilizzato la firma dei file e per questo Kleopatra vi informa che non è possibile verificare l’autenticità.
    Come si può inturire, però, aggiungere la firma durante le fasi di encryption è semplicissimo e basta selezionare il flag Sign as oppure usare la voce Sign and encrypt, nel menu contestuale di Windows.

    Al termine delle operazioni di decryption e verifica della firma, vi comparirà la schermata allegata.

Scritto da:
Matteo Maria Bonfanti
Security Senior Manager
https://www.linkedin.com/in/matteobonfanti/
Costruisci il tuo futuro con la connessione Fastweb