SlideShare a Scribd company logo
1 of 25
LINUX BEACH
         San Benedetto del Tronto – 22 luglio 2006
   CRIPTOGRAFIA E FIRMA DIGITALE

                          con

                    GnuPG
- USARE LA POSTA ELETTRONICA IN PIENA SICUREZZA -




                  Maurizio 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 e 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

...E posso anche 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
Buona cena a tutti

                             e a dopo con
              l'osservazione stellare

          TeLUG
Teramo Linux Users Group                               OpenInformatix
    http://www.telug.it                        http://www.openinformatix.org
       soci@telug.it                         organizzazione@openinformatix.org




Maurizio Antonelli - http://www.maury.it - maurizio.antonelli@oacl.net
    Osservatorio Astronomico Colle Leone - http://www.oacl.net

More Related Content

Similar to LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - slides

Crittografia firma digitale
Crittografia firma digitaleCrittografia firma digitale
Crittografia firma digitalejamboo
 
Crittografia Firma Digitale
Crittografia Firma DigitaleCrittografia Firma Digitale
Crittografia Firma DigitaleMario Varini
 
Simulazione di un Penetration Test
Simulazione di un Penetration TestSimulazione di un Penetration Test
Simulazione di un Penetration TestSalvatore Lentini
 
Sicurezza Delle Reti
Sicurezza Delle RetiSicurezza Delle Reti
Sicurezza Delle Retimariolotto89
 
Linux, sicurezza & social hacking
Linux, sicurezza & social hackingLinux, sicurezza & social hacking
Linux, sicurezza & social hackingFabio Mora
 
Pericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virusPericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virusGiovanni Mennea
 
Social Media Web & Smart Apps
Social Media Web & Smart AppsSocial Media Web & Smart Apps
Social Media Web & Smart AppsFederico Longhin
 
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisureCCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisurewalk2talk srl
 
Crittografia per ragazzi!
Crittografia per ragazzi!Crittografia per ragazzi!
Crittografia per ragazzi!Egidio Casati
 
Sicurezza in rete - eGovernment
Sicurezza in rete - eGovernmentSicurezza in rete - eGovernment
Sicurezza in rete - eGovernmentDIno
 
Blockchain! - Luglio 2018 Convegno SGI a Bevagna
Blockchain! - Luglio 2018  Convegno SGI a BevagnaBlockchain! - Luglio 2018  Convegno SGI a Bevagna
Blockchain! - Luglio 2018 Convegno SGI a BevagnaSandro Fontana
 
Cryptolocker come limitare il rischio
Cryptolocker come limitare il rischioCryptolocker come limitare il rischio
Cryptolocker come limitare il rischioMario Mancini
 
Workshop sulla Sicurezza Informatica
Workshop sulla Sicurezza InformaticaWorkshop sulla Sicurezza Informatica
Workshop sulla Sicurezza InformaticaNextre Engineering
 
Paper E Sign La Firma Digitale Su Carta Seminario Epa
Paper E Sign  La Firma Digitale Su Carta   Seminario EpaPaper E Sign  La Firma Digitale Su Carta   Seminario Epa
Paper E Sign La Firma Digitale Su Carta Seminario EpaSandro Fontana
 

Similar to LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - slides (20)

Crittografia firma digitale
Crittografia firma digitaleCrittografia firma digitale
Crittografia firma digitale
 
Crittografia Firma Digitale
Crittografia Firma DigitaleCrittografia Firma Digitale
Crittografia Firma Digitale
 
Public Key Infrastructure
Public Key InfrastructurePublic Key Infrastructure
Public Key Infrastructure
 
Lezione 5: Socket SSL/ TLS
Lezione 5: Socket SSL/ TLSLezione 5: Socket SSL/ TLS
Lezione 5: Socket SSL/ TLS
 
Hp Secure Mail
Hp Secure MailHp Secure Mail
Hp Secure Mail
 
Simulazione di un Penetration Test
Simulazione di un Penetration TestSimulazione di un Penetration Test
Simulazione di un Penetration Test
 
Sicurezza Delle Reti
Sicurezza Delle RetiSicurezza Delle Reti
Sicurezza Delle Reti
 
Paranoia is a virtue
Paranoia is a virtueParanoia is a virtue
Paranoia is a virtue
 
Linux, sicurezza & social hacking
Linux, sicurezza & social hackingLinux, sicurezza & social hacking
Linux, sicurezza & social hacking
 
Pericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virusPericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virus
 
Social Media Web & Smart Apps
Social Media Web & Smart AppsSocial Media Web & Smart Apps
Social Media Web & Smart Apps
 
Corso Firma Digitale Mi
Corso Firma Digitale MiCorso Firma Digitale Mi
Corso Firma Digitale Mi
 
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisureCCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
 
Crittografia per ragazzi!
Crittografia per ragazzi!Crittografia per ragazzi!
Crittografia per ragazzi!
 
Sicurezza in rete - eGovernment
Sicurezza in rete - eGovernmentSicurezza in rete - eGovernment
Sicurezza in rete - eGovernment
 
Blockchain! - Luglio 2018 Convegno SGI a Bevagna
Blockchain! - Luglio 2018  Convegno SGI a BevagnaBlockchain! - Luglio 2018  Convegno SGI a Bevagna
Blockchain! - Luglio 2018 Convegno SGI a Bevagna
 
Cryptolocker come limitare il rischio
Cryptolocker come limitare il rischioCryptolocker come limitare il rischio
Cryptolocker come limitare il rischio
 
L'assedio nella rete
L'assedio nella reteL'assedio nella rete
L'assedio nella rete
 
Workshop sulla Sicurezza Informatica
Workshop sulla Sicurezza InformaticaWorkshop sulla Sicurezza Informatica
Workshop sulla Sicurezza Informatica
 
Paper E Sign La Firma Digitale Su Carta Seminario Epa
Paper E Sign  La Firma Digitale Su Carta   Seminario EpaPaper E Sign  La Firma Digitale Su Carta   Seminario Epa
Paper E Sign La Firma Digitale Su Carta Seminario Epa
 

More from Maurizio Antonelli

Linux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincentiLinux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincentiMaurizio Antonelli
 
Linux e Free Software - Storia e caratteristiche vincenti
Linux e Free Software - Storia e caratteristiche vincentiLinux e Free Software - Storia e caratteristiche vincenti
Linux e Free Software - Storia e caratteristiche vincentiMaurizio Antonelli
 
Linux e fs storia e caratteristiche vincenti
Linux e fs   storia e caratteristiche vincentiLinux e fs   storia e caratteristiche vincenti
Linux e fs storia e caratteristiche vincentiMaurizio 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
 

More from Maurizio Antonelli (14)

Linux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincentiLinux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincenti
 
Linux e Free Software - Storia e caratteristiche vincenti
Linux e Free Software - Storia e caratteristiche vincentiLinux e Free Software - Storia e caratteristiche vincenti
Linux e Free Software - Storia e caratteristiche vincenti
 
Linux e fs storia e caratteristiche vincenti
Linux e fs   storia e caratteristiche vincentiLinux e fs   storia e caratteristiche vincenti
Linux e fs storia e caratteristiche vincenti
 
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
 

Recently uploaded

Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 

Recently uploaded (9)

Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 

LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - slides

  • 1. LINUX BEACH San Benedetto del Tronto – 22 luglio 2006 CRIPTOGRAFIA E FIRMA DIGITALE con GnuPG - USARE LA POSTA ELETTRONICA IN PIENA SICUREZZA - Maurizio Antonelli http://www.maury.it Some rights reserved: http://www.maury.it#licenza
  • 2. 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.
  • 3.
  • 4. 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.
  • 5. 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.
  • 6. 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
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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.
  • 11. 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).
  • 12. 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...
  • 13. 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
  • 14. 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 e GPGshell (per Windows)
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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
  • 19. 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.
  • 20. 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.
  • 21. E-mail da mittente con chiave pubblica non verificata E-mail da mittente con chiave pubblica verificata
  • 22. 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.
  • 23. CRIPTARE E DECRIPTARE DEI FILE ...E posso anche 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.
  • 24. Bibliografia e tante tante info... http://www.gnupg.org/(it)/howtos/it/GPGMiniHowto.html http://thawte.ascia.net/ Pagine man di GnuPG
  • 25. Buona cena a tutti e a dopo con l'osservazione stellare TeLUG Teramo Linux Users Group OpenInformatix http://www.telug.it http://www.openinformatix.org soci@telug.it organizzazione@openinformatix.org Maurizio Antonelli - http://www.maury.it - maurizio.antonelli@oacl.net Osservatorio Astronomico Colle Leone - http://www.oacl.net