SlideShare una empresa de Scribd logo
1 de 25
LINUXDAY
Giulianova – 26 ottobre 2013

CRIPTOGRAFIA E FIRMA DIGITALE

con

GnuPG
I MIEI FILE E LA POSTA ELETTRONICA
IN PIENA SICUREZZA

Maurizio “maury“ Antonelli
http://www.maury.it

Some rights reserved: http://www.maury.it#licenza
LA POSTA ELETTRONICA NON È UNO 
STRUMENTO SICURO
  I  messaggi  e­mail  viaggiano  sulla  rete  in  chiaro, 
senza  alcuna  forma  di  codifica.  Segue  che  sono 
“sniffabili” in maniera estremamente semplice.
●

 Falsificare il mittente di un messaggio è una cosa a 
dir  poco  banale.  Con  pochissima  furbizia  si  può  far 
credere di essere qualcun altro.
●
RENDIAMO SICURA LA NOSTRA POSTA: Iniziamo a 
criptarla...
Di  sistemi  di  codifica  il  mondo  ne  è  pieno.  Sostituzione  di  caratteri, 
anagrammare le parole, ecc. ecc. sono tutti sistemi di codifica. In comune 
hanno una cosa fondamentale: esiste una chiave di criptazione e solo chi la 
possiede può criptare/decriptare.
Es.: Prendiamo un messaggio di posta elettronica. Viaggeranno in rete una 
serie di byte (valori da 0 a 255). Prima di spedirli aggiungiamo 2 ad ogni 
valore da 0 a 253; 254 e 255 li sostituiamo con 0 e 1. (Questa è la nostra 
chiave).
Chi  riceverà,  conoscendo  la  chiave,  potrà  decodificare  il  messaggio.  Gli 
altri no.
Abbiamo  visto  un  semplice  esempio  di  criptazione  a 
chiave simmetrica.
Il  sistema  è  utilizzabile  solo  dalle  stesse  persone.  Nel 
momento  che  A  e  B  comunicano  tra  loro  con  una 
chiave,  questa  non  dovrà  andare  in  possesso  di  terzi. 
Se  A  usasse  la  stessa  chiave  con  C  le  comunicazioni 
con B non sarebbero più strettamente riservate.
Se A, invece, si inventasse una chiave per ogni “amico 
di  penna”,  si  ritroverebbe  un'infinità  di  codici.  Il 
sistema diventerebbe ben presto poco pratico.
La soluzione?

CERTIFICATO A CHIAVE ASIMMETRICA
Inventiamo  un  sistema  che  utilizzerà  un  certificato  digitale  composto  da 
una coppia di chiavi (e non più da una chiave sola).
Coppia di chiavi:
CHIAVE PRIVATA
CHIAVE PUBBLICA
La CHIAVE PRIVATA andrà conservata MOOOOOOLTO gelosamente. 
Permetterà  al  proprietario  di  decriptare  i  messaggi  da  lui  ricevuti  e 
permetterà anche di apporre una firma digitale a quelli spediti.
La  CHIAVE  PUBBLICA  sarà  distribuita  ai  vari  conoscenti.  Potrà  essere 
utilizzata  per  codificare  i  messaggi  in  modo  tale  che  solo  chi  possiede  la 
relativa  CHIAVE  PRIVATA  ad  essa  collegata  potrà  decriptare.  Verrà 
utilizzata  anche  per  verificare  la  firma  digitale  data  dalla  relativa  chiave 
privata.
La CHIAVE PUBBLICA potrà essere diffusa senza problemi. Darla a terzi 
non  costituirà  nessun  pericolo.  Se  nessuno  entrerà  in  possesso  della 
CHIAVE  PRIVATA,  il  sistema  potrà  essere  dichiarato  (almeno  per  ora) 
matematicamente sicuro.
Facciamo un semplice esempio di  “certificato a chiave asimmetrica”. 
Non  sarà  applicabile  come  forma  di  sicurezza,  ma  permette  di  capire 
come la cosa sia possibile con determinate funzioni matematiche.
Immaginiamo di avere questa serie di numeri: 4, ­2, ­1, 5.
Immaginiamo  di  criptare  questi  4  byte  con  una  chiave  pubblica  che 
consiste nell'elevare al quadrato. Otterremo:
16, 4, 1, 25
Chi possiede solo la  chiave pubblica andrà incontro a difficoltà. Infatti, 
conoscendo  soltanto  che  la  chiave  pubblica  eleva  al  quadrato,  io  posso 
tentare di invertire l'operazione con la radice quadrata, ma la radice di 4 
è 2 o ­2? e di 16 è 4 o ­4?
La chiave pubblica non è sufficiente per risalire al messaggio originale.
L'esempio  precedente  non  utilizza  un  modo  utile  per  lo  scopo  che 
vogliamo  prefissarci  (troppo  semplice  per  garantire  sicurezza),  ma 
mostra come possano esistere delle funzioni non invertibili che potranno 
essere utilizzate per creare “confusione” sui dati di partenza ai quali sono 
state applicate.
Con  funzioni  molto  più  avanzate,  che  utilizzano  una  coppia  di  chiavi 
diverse, una pubblica e l'altra privata, si può raggiungere il nostro scopo:
­ CRIPTARE CON LA CHIAVE PUBBLICA
­ DECRIPTARE ESCLUSIVAMENTE CON LA CHIAVE PRIVATA
Il titolare diffonderà la chiave pubblica del proprio certificato digitale e 
potrà quindi fare in modo che i propri amici gli scrivano criptando le e­
mail. Solo lui le potrà decodificare.
LA FIRMA DIGITALE
Immaginiamo  di  usare  lo  stesso  certificato  digitale  in  questo 
modo:
­ Uso la mia chiave privata sul messaggio di posta che sto per 
inviare tramite un'operazione che mi darà un risultato univoco 
(checksum).
Solo quel messaggio potrà dare quel risultato. Un solo carattere 
fuori posto o sostituito modificherà la checksum.
Inoltre  solo  con  la  mia  chiave  privata  posso  ottenere  quella 
checksum.
Chi è in possesso della mia chiave pubblica non potrà ottenere la stessa 
checksum sul messaggio, ma può verificarla come corretta.
Ho  trovato  un  modo  per  garantire  che  il  mittente  del  messaggio 
possiede la chiave privata del certificato digitale. Segue che il mittente 
sono io.

HO FIRMATO DIGITALMENTE IL MIO MESSAGGIO
ATTENZIONE:  Bisogna  essere  sicuri  che  la  chiave  pubblica  sia 
realmente  di  un  MIO  certificato  digitale.  La  cosa  è  sempre  meglio 
verificarla di persona, faccia a faccia (key­party, sito web, key­server).
DOVE TROVIAMO UN CERTIFICATO DIGITALE?
Alcune  ditte  (authority)  di  una  certa  visibilità  rilasciano  certificati  digitali 
(S/MIME):
Thawte:

Azienda sudafricana, riconosciuta da anni come authority per il
rilascio di certificati (http://www.thawte.com).
Sistema dei notai per l'identità anagrafica.

In Italia:

Poste Italiane
GlobalTrust
Vari istituti bancari...

L'authority  si  fa  garante  dell'identità  della  persona  a  cui  rilascerà  il 
certificato.
Questo significa che bisognerà fidarsi di questa authority...
NON VOGLIO FIDARMI DI UN'AUTHORITY.
VOGLIO  ESSERE  IO  A  CREARMI  UN 
CERTIFICATO  E  A  GARANTIRE  DELLA  MIA 
IDENTITÀ.

GnuPG (o GPG)
Gnu Privacy Guard
http://www.gnupg.org
GnuPG è multipiattaforma.
Nativamente  si  utilizza  da  linea  di  comando  (shell, 
prompt). Tuttavia esistono diverse interfacce grafiche.
Enigmail (estensione per i programmi Mozilla)
GNU Privacy Assistant
Seahorse
Geheimnis
WinPT, GPGshell (per Windows)
Installato il programma

CREIAMO UNA COPPIA DI CHIAVI
gpg ­­gen­key
Nella chiave saranno inserite alcune vostre informazioni:
Nome e cognome
Indirizzo e­mail
Eventuali commenti
Utilizzare  sempre  la  lunghezza  massima  disponibile:  768, 
1024, 2048 bit.
LA PASSPHRASE
Come ulteriore sicurezza, nel momento di creazione di un certificato 
digitale, verrà chiesto di dare una passphrase (password).
Questa  sarà  richiesta  ad  ogni  operazione  che  si  effettuerà  con  la 
chiave privata.
Limita il danno tante volte la chiave privata cadesse in mani sbagliate.

Soliti consigli:
niente parole di senso compiuto, mischiare caratteri maiuscoli, minuscoli e 
cifre, lunghezza di almeno 8 caratteri.
Importare ed esportare le chiavi
Ad esempio per utilizzarle su più PC.
gpg ­­export ­a nome­key_o_stringa­contenuta
gpg ­­import nome_del_file

Massima  attenzione  alla  chiave  privata.  Non  dovrà  andare  in  mano  a 
nessuno, fuorché al relativo proprietario.
REVOCARE UNA CHIAVE
Ad  esempio  perché  ne  è  stata  compromessa  la 
sicurezza: chiave privata caduta in mani altrui.
Conviene sempre e da subito creare un certificato 
di revoca.

gpg ­­gen­revoke
AMMINISTRAZIONE DELLE CHIAVI
Naturalmente  è  possibile  fare  diverse  operazioni  di  gestione  del  proprio 
certificato digitale:
aggiungere indirizzi e­mail
togliere indirizzi e­mail
impostare un indirizzo e­mail di default
molte altre...

gpg ­­edit­key nome­key_o_stringa­contenuta
e quindi chiedere help per l'elenco delle funzioni disponibili.
FIRMARE UNA CHIAVE PUBBLICA
Importando una chiave pubblica, questa può venire utilizzata; il 
client avviserà che la firma digitale è corretta, ma non ci sono 
verifiche sull'identità del titolare del certificato.
Una  volta  verificata  la  reale  proprietà  della  chiave  (sempre  di 
persona  a  tu  per  tu)  si  potrà  firmare  la  chiave  e  renderla 
credibile al 100%.
A questo punto i client di posta visualizzeranno sulle e­mail il 
messaggio che la firma digitale è completamente OK.
Con GnuPG il garante dell'identità divento io stesso.
E­mail da mittente con chiave pubblica non verificata

E­mail da mittente con chiave pubblica verificata
FIRMARE DEI FILE
Come  ulteriore  utilizzo  di  GnuPG  posso  firmare  dei 
file.
gpg ­­sign ­b ­a nome_file
Otterremo un nome_file.asc (.sig se non uso il ­a).
gpg ­­verify nome_file.asc
Come per le e­mail, si firmerà con la chiave privata. Quindi la firma 
sarà rigorosamente stata apposta dal proprietario del certificato.
CRIPTARE E DECRIPTARE DEI FILE
Come ulteriore utilizzo di GnuPG posso criptare dei file 
delicati che ho sul PC.
gpg ­e nome_file
Otterremo un nome_file.gpg
gpg ­d nome_file.gpg > nome_file
Come  per  le  e­mail,  si  cripterà  con  la  chiave  pubblica.  Solo  chi 
possiede la chiave privata potrà decriptare.
Bibliografia e tante tante info...
http://www.gnupg.org/(it)/howtos/it/GPGMiniHowto.html
http://thawte.ascia.net/
Pagine man di GnuPG
GRAZIE A TUTTI
PER L'ATTENZIONE
TeLUG
Teramo Linux Users Group
http://www.telug.it
soci@telug.it
OpenInformatix
http://www.openinformatix.org
organizzazione@openinformatix.org

Maurizio Antonelli – http://www.maury.it/blog ­ maury@maury.it

Más contenido relacionado

Más de Maurizio Antonelli

Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010
Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010
Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010Maurizio Antonelli
 
Al di là del cielo... Guardando oltre le stelle - trascrizione
Al di là del cielo... Guardando oltre le stelle - trascrizioneAl di là del cielo... Guardando oltre le stelle - trascrizione
Al di là del cielo... Guardando oltre le stelle - trascrizioneMaurizio Antonelli
 
Fabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuoleFabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuoleMaurizio Antonelli
 
10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...
10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...
10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...Maurizio Antonelli
 
Al di là del cielo... guardando oltre le stelle
Al di là del cielo... guardando oltre le stelleAl di là del cielo... guardando oltre le stelle
Al di là del cielo... guardando oltre le stelleMaurizio Antonelli
 
13-05-2006 - Il compostaggio domestico
13-05-2006 - Il compostaggio domestico13-05-2006 - Il compostaggio domestico
13-05-2006 - Il compostaggio domesticoMaurizio Antonelli
 
LinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesLinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesMaurizio Antonelli
 
LinuxDay 2005 - Multimedialità con Linux - trascrizione
LinuxDay 2005 - Multimedialità con Linux - trascrizioneLinuxDay 2005 - Multimedialità con Linux - trascrizione
LinuxDay 2005 - Multimedialità con Linux - trascrizioneMaurizio Antonelli
 
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...Maurizio Antonelli
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizione
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizioneLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizione
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizioneMaurizio Antonelli
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesMaurizio Antonelli
 

Más de Maurizio Antonelli (11)

Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010
Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010
Corso arbitrale kumite - maestro G. Visciano - ASI Abruzzo 2010
 
Al di là del cielo... Guardando oltre le stelle - trascrizione
Al di là del cielo... Guardando oltre le stelle - trascrizioneAl di là del cielo... Guardando oltre le stelle - trascrizione
Al di là del cielo... Guardando oltre le stelle - trascrizione
 
Fabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuoleFabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuole
 
10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...
10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...
10-06-2008 Contributi specifici del karate all'attività sportiva, in età scol...
 
Al di là del cielo... guardando oltre le stelle
Al di là del cielo... guardando oltre le stelleAl di là del cielo... guardando oltre le stelle
Al di là del cielo... guardando oltre le stelle
 
13-05-2006 - Il compostaggio domestico
13-05-2006 - Il compostaggio domestico13-05-2006 - Il compostaggio domestico
13-05-2006 - Il compostaggio domestico
 
LinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesLinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slides
 
LinuxDay 2005 - Multimedialità con Linux - trascrizione
LinuxDay 2005 - Multimedialità con Linux - trascrizioneLinuxDay 2005 - Multimedialità con Linux - trascrizione
LinuxDay 2005 - Multimedialità con Linux - trascrizione
 
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizione
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizioneLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizione
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - trascrizione
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
 

Criptografia e firma digitale con GnuPG - I miei file e la mia posta elettronica in piena sicurezza