Introduzione a KGpg 

INTRODUZIONE
KGpg  un programma che fornisce avanzate funzionalit di crittografia essendo un front-end grafico per il tool gpg che si usa via console.
Non solo  in grado di cifrare i nostri dati per consentirci una maggiore sicurezza e privacy durante il quotidiano utilizzo del nostro pc ma consente anche di gestire reti di fiducia e di sfruttare, in generale, la crittografia a chiave pubblica per instaurare comunicazioni e scambi di dati sicuri e/o certificati.
Oltre alle sue caratteristiche prettamente tecniche, KGpg  fortemente integrato in KDE e Konqueror, mettendo a disposizione le proprie funzionalit in maniera intuitiva e a portata di click.

Questo tutorial verter sulle basi di questo tool, affrontando la creazione di una coppia di chiavi e la cifratura simmetrica di un file sull'hard-disk.

CONCETTI
La crittografia  la scienza che si occupa di mascherare informazioni. Scienza di carattere fortemente matematico, la crittografia esiste sin dall'antichit; si potrebbe dire che esiste sin da quando gli uomini hanno cominciato a scambiarsi messaggi da grandi distanze preoccupandosi della riservatezza del loro messaggio.
La crittografia moderna, ha unito la matematica teorica di base alla realizzazione pratica informatica. La potenza computazionale dei sistemi hardware odierni hanno fatto perdere, in generale, di importanza i sistemi di crittografia dedicati, sostituiti da avanzati software che per un uso quotidiano forniscono funzionalit a 360 gradi.
La crittografia basata su chiavi, generalmente si divide in due categorie.
La crittografia simmetrica e la crittografia asimmetrica.
Il tipo base di cifratura  quella simmetrica. In pratica un messaggio viene cifrato basandosi su una chiave che  un file con una sequenza di bit generata opportunamente e decifrato con la stessa chiave. Ovviamente questa chiave deve essere in possesso del solo proprietario o del gruppo che vuole scambiarsi dati in maniera sicura.
Lo scambio di questa chiave  un'operazione molto pericolosa e deve essere affrontata con assoluta sicurezza e fiducia. Attualmente, infatti, un utilizzo personale  mirato alla cifratura di contenuti sul proprio hard-disk o che comunque non devono essere scambiati.
Per avere, invece, una comunicazione sicura  stato studiato il sistema di crittografia asimmetrica (Parlo di sistemi, perch ci sono stati inventati diversi metodi di crittografia per entrambe le categorie).
La crittografia asimmetrica utilizza una coppia di chiavi per fornire funzionalit di crittografia/firma. Il principio  che un messaggio viene crittografato con la chiave pubblica e decifrato con quella privata.
Essendo due chiavi distinte il proprietario della coppia rilascia la chiave pubblica (ad esempio sul proprio sito) e tutti gli interessati possono utilizzarla per cifrare messaggi che solo il proprietario della coppia, in possesso della chiave privata, pu decifrare.
Ovviamente data la reciprocit delle chiavi  possibile utilizzare il sistema per firmare i propri messaggi. Si pu infatti spedire un messaggio da A a B dove A crittografa il messaggio con la sua chiave privata. Essendo l'unico possessore della chiave privata  ovvio che il messaggio lo ha scritto proprio lui. Tutte le persone in possesso del messaggio firmato possono decifrarlo con la chiave pubblica e verificare che il messaggio  stato proprio scritto da A.
Il sistema sembra fantastico ma in effetti la generazione di una coppia di chiavi  un lavoro molto lento e diversi sistemi di comunicazione sicura sfruttano la crittografia asimmetrica solo per instaurare la comunicazione e creare e scambiare una chiave simmetrica tra i due comunicanti. Da qui in poi si continuer la comunicazione in crittografia simmetrica.

CREAZIONE DELLA COPPIA DI CHIAVI
Partiamo dall'avvio di KGpg, potete cercarlo nel menu K>Accessori>PIM>KGpg o avviarlo da terminale scrivendo bash$kgpg .
Apprir un lucchetto nella tray (vicino l'orologio) e vi si presenter dinanzi una schermata simile a quella in figura

Schermata 1

Questo sar il vostro ambiente di lavoro (a meno che non utilizziate direttamente l'integrazione con konqueror).
Bisogna pertanto creare una coppia di chiavi per far si che possiate utilizzarne le funzionalit.
Andate nel menu Chiavi>Genera coppia di chiavi... per avere accesso alla finestra che vi chieder di inserire opportuni valori per creare la chiave pubblica e privata.
Il tutto apparir cos

Schermata 2

Riempitela come nella seguente figura (non con il mio nome ed email eh! lo specifico per esperienza personale ^_^)

Schermata 3

Inserite il vostro nome, email e un commento negli appositi campi.
Poi selezionate la durata della chiave. Di default la chiave  infinita, ovvero non scade mai. Per fare un'esempio in figura ne ho creata una che ha una durata di una settimana, dopo di che sar impossibile decifrare/cifrare con quella chiave i messaggi che ci verranno spediti o che creeremo in date posteriori.
Per quanto riguarda la dimensione della chiave, se non appartenete a CIA o altri enti dovutamente paranoici potete lasciare 1024 che  una dimensione consigliata e sicura.
Per quanto riguarda l'algoritmo lasciate DSA & ElGamal. Il DSA  uno dei pi robusti attualmente utilizzati. Difficilmente un lamer con un pc normale e software normale riuscir a forzarlo nei prossimi anni di elaborazione, quindi non mettetevi in ansia per i dati cifrati, piuttosto state attenti a dove e come conservate la chiave privata, come al solito l'anello debole della sicurezza informatica rischia di essere l'utente distratto.
Cliccate su OK e si aprir la seguente schermata

Schermata 4

Nella seguente schermata dovete inserire la pass phrase. Di cosa si tratta? Semplicemente di una password in base alla quale la vostra chiave privata viene crittografata. Questo per impedire che qualche lamer qualora venisse in possesso della vostra chiave privata possa subito utilizzarla per leggere i vostri file segreti o usarla per firmare documenti a vostro nome.
Inserite la passphrase, fatelo con cura e state attenti all'indicatore di robustezza della password. Accertatevi che sia al massimo per avere un minimo di sicurezza che avete scelto un buon codice di accesso.
A questo punto apparir la schermata di generazione della chiave come in figura

Schermata 5

Durante questo processo, nel sistema gpg via console viene richiesto di effettuare movimenti casuali del mouse e click su pulsanti o tasti della tastiera per aumentare l'entropia e aiutare ad ottenere una generazione random che si possa considerare realmente random.
Per sicurezza fatelo anche con KGpg.
Una volta terminata questa operazione si aprir dinanzi a voi una finestra di riepilogo come mostrato in basso

Schermata 6

Selezionate Imposta come chiame predefinita e selezionate Salva con nome nel gruppo Certificati di revoca.
Facendo questo verr salvato all'OK un certificato di revoca. Questo certificato  utile qualora la chiave privata scada, viene persa, viene rubata o per qualsiasi altra situazione che renda obsoleta o inutilizzabile la coppia di chiavi appena generata. Tramite questo certificato, infatti, si pu informare gli utenti o l'ente di certificazione che non accettate pi materiale crittografato con la vostra chiave pubblica o non inviate pi materiale firmato con la vostra chiave privata.
Fate MOLTISSIMA attenzione a questo certificato,  fondamentale!
Stampatelo anche se serve.
Dato l'OK vi verr richiesto di inserire la fostra frase segreta (pass phrase) come nella seguente figura

Schermata 7

Fatto questo la situazione apparir come sotto, con in bella vista un campo contenente i vostri dati.

Schermata 8



CIFRARE/DECIFRARE SIMMETRICAMENTE
Siamo giunti al punto di aver creato una coppia di chiavi. In questo tutorial base non le utilizzeremo entrambe dato che ci occuperemo di cifrare documenti che crittografiamo e decrittografiamo NOI sul NOSTRO pc. Pertanto non abbiamo alcun bisogno di una chiave pubblica; chiave che sar fondamentale per le operazioni che coinvolgeranno altre persone oltre a noi.
Per cifrare un file dobbiamo aprire l'editor dal menu File>Apri editor.
Vi apparir la schermata come in figura

Schermata 9

Da questo editor potrete scrivere o incollare testo per criptarlo. Noi utilizzeremo invece la funzionalit di crittografia diretta di un file.
Clicchiamo su File>Cifra file per ottenere la finestra di selezione file. Scegliamo un file e otterremo la finestra mostrata nella figura in basso

Schermata 11

Da qui scegliamo opzioni>> e spuntiamo Cifratura simmetrica.
Diamo l'OK e inseriamo la pass phrase per confermare la nostra identit e cifrare il file.
Mettiamo il caso che stiamo cifrando il file nonloavraimai.jpg , KGpg creer nella stessa directory del file nonloavraimai.jpg.asc che sar il file cifrato.

Fatto questo  l'ora di decrittografare. aprite l'editor come prima File>Apri editor e da dentro l'editor selezionate File>Decifra file.
Si aprir la classica finestra di selezione dei files e cliccate sul neogenerato file .asc
Si aprir una finestra come in figura

Schermata 12

Inserite la pass phrase ed ecco che nella stessa directory in cui  presente il file .asc comparir il file in chiaro.
Se accidentalmente non avete cancellato il file in chiaro dopo che lo avete crittografato KGpg se ne accorger e vi dir che il file in chiaro gia esiste. Tuttavia in un normale utilizzo questa situazione non dovrebbe accadere spesso dato che uno cifra il file per non farlo vedere al mondo, quindi non ha senso conservare affianco una copia in chiaro dello stesso.

CONCLUSIONI
In questo microtutorial vengono insegnate le basi per partire con la crittografia sul proprio sistema GNU/Linux+KDE ma le cose realmente interessanti arriveranno con la crittografia asimmetrica.
Per il momento divertitevi e nascondete i vostri dati dal Grande Fratello ^_^ 

RINGRZIAMENTI
Ringrazio Kreen della community Slacky (www.slacky.eu) per aver corretto alcune definizioni ed incongruenze in questo tutorial.

Giovanni Santostefano
