Crittografia e sicurezza

Slides:



Advertisements
Presentazioni simili
Sperimentazioni di Sicurezza, A.A. 2009/2010 GNU Privacy Guard: Introduzione alluso Speaker: Luca Maria Aiello, PhD student Università degli Studi di Torino,
Advertisements

Per crittografia si intende la protezione
Prof. Zambetti -Majorana © 2008
PGP (Pretty Good Privacy) & gnuPG (GNU Privacy Guard)
LA CRITTOGRAFIA QUANTISTICA
PGP - Pretty Good Privacy1 Sistema di cifratura/decifratura PUBBLICO Sistema basato su algoritmi RSA e IDEA Sviluppato da Phil Zimmerman (1991) Oggi standard.
Sicurezza informatica
1 Certificati a chiave pubblica strutture dati che legano una chiave pubblica ad alcuni attributi di una persona sono firmati elettronicamente dall’ente.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
pag. 1 /27 Le bollette le voglio in busta chiusa e la cassetta delle lettere deve avere una.
BasLUG Basilicata Linux Users Group CRITTOGRAFIA: Trovi queste slide su Antonio “Hawkeye” Angelotti Come.
ENIGMAIL CIFRARE LE PROPRIE MAIL CON GPG GnuPG. ARGOMENTI ● Cosa è GnuPG ● Cifratura a chiave pubblica e a chiave segreta ● Utilizzo e gestione del portachiavi.
Mag La Firma Digitale Sommaruga Andrea Guido Collegio dei Geometri e Geometri Laureati della Provincia di Lodi.
Corso gratuito di Linux. Linux User Group Mantova
Domenico Procopio. Crittografia Crittografia La crittografia (dal greco kryptòs=nascosto e graphè=scrittura) sta ad indicare un insieme.
Sicurezza e crittografia asimmetrica ● Info su redsh.wordpress.com/corso-linux ●
D. Masini – La privacy e le comunicazioni digitali Firenze, 9 Mag 2008 – e-privacy La privacy e le comunicazioni digitali Daniele Masini
Gestione dei Software in GNU/Linux HackLab Catanzaro Installazione software da sorgente 8° Lezione GNU/Linux Base
Apache + SSL Rendiamo sicure le nostre connessioni ● Principi (molto) base di crittografia ● Certificati digitali ● Formato dei certificati X509 ● Certificate.
Firma digitale Tecnologie Normativa Utilizzo e Organizzazione Emanuele Tonelli Marzo 2005.
Crittografia e Posta Elettronica Asimmetria con GnuPG/Thunderbird/WOT
User Group Riccardo Righi Analista Titulus e titulus organi.
Ambienti di Programmazione per il Software di Base
“Vivere insieme” – Lezione6
La comunicazione scritta
Procedure per la richiesta di certificazione e per l'autenticazione
I/O redirection AND PIPES
I PROCESSI.
Gestione, monitoraggio e criticità della sicurezza in INFN e IGI
Cosa succede quando premi invio
La rappresentazione delle informazioni
CRITTOGRAFIA Per crittografia si intende la protezione delle informazioni mediante l'utilizzo di codici e cifre. La crittografia è un componente fondamentale.
Commissione Calcolo e Reti
Terza Lezione → Navigare nel file System → parte 2
PROGRAMMAZIONE BASH - INTRODUZIONE
I PERMESSI IN LINUX.
I comandi.
Excel 1 - Introduzione.
Ambienti di Programmazione per il Software di Base
INDICO Parte 1 01/07/2018 Francesco Serafini.
Giordano Scuderi Unico SRL Catania
Giordano Scuderi Unico SRL - Messina,
Job Application Monitoring (JAM)
LA GESTIONE DEI PACCHETTI
Crittografia e sicurezza
Creare un server casalingo - 1
Crittografia e sicurezza
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Crittografia e sicurezza
Operazioni pianificate
SAS® OnDemand for Academics SAS Studio
Le comunicazioni in codice
Le comunicazioni in codice
Introduzione L’8254 è un interval timer event/counter, progettato per risolvere i problemi del controllo del timing, comuni ad ogni microcomputer. E’ costituito.
Dedicato alla corretta gestione della Posta Elettonica Certificata
Programmare.
Posta Elettronica Certificata
INSERIRE GLI INDIRIZZI DEGLI UTENTI
Ambienti di Programmazione per il Software di Base
File System ed Input/Output
IT SECURITY Controllo di accesso
Parti interne del computer
Corso di Sicurezza – A.A. 2006/07
Unità 1 Programmi base.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
CLOUD.
Transcript della presentazione:

Crittografia e sicurezza CONCETTI BASE DI CRITTOGRAFIA INTRODUZIONE A GPG https://www.gnupg.org/gph/en/manual.pdf

Che cos’è la crittografia Cifratura: rendere il testo illeggibile a chiunque non conosca la chiave per poterlo decifrare. Crea un testo cifrato. Decifratura: usare la chiave per poter decifrare il messaggio. Si ottiene il testo in chiaro. Permette di cifrare e decifrare messaggi secondo un determinato algoritmo, in modo che tali informazioni che viaggiano su un mezzo altamente insicuro come il web possano essere lette solo dal legittimo destinatario

Diversi tipi di crittografia simmetrica Chiave pubblica Misto (gpg)

Chiave Simmetrica Mittente e destinatario usano la stessa chiave. Una volta che i due soggetti si sono accordati, sulla chiave, il mittente cifra il messaggio usando la chiave, la manda al ricevente e il ricevente decifra il messaggio usando la chiave inviata dal ricevente. La macchina Enigma usava una chiave simmetrica e giornalmente venivano distribuite chiavi. L’algoritmo di Cesare è un altro esempio di chiave Simmetrica Si cifra il messaggio sostituendo ogni lettera con la lettera posizionata n posizioni (n si può sostituire) successive nell’alfabeto. AB chiave 3 diventa DF DF diventa AB

Chiave Pubblica Risolve il problema nella distribuzione della chiave. Si usa una coppia di chiavi per mandare messaggi. Le due chiavi appartengono alla persona che riceve il messaggio. Una chiave è pubblica e può essere mandata a tutti L’altra chiave è segreta e deve essere tenuta custodita dal proprietario. Chi invia un messaggio cifra il messaggio usando la chiave pubblica e una volta cifrato, solo la chiave privata del destinatario può essere usata per decifrare il messaggio.

Sistemi ibridi (come GPG) GPG è un sistema di crittografia "ibrido", che combina algoritmi a chiave simmetrica a causa della loro velocità e algoritmi a chiave pubblica per la facilità di scambio delle chiavi: ogni volta che si deve cifrare un messaggio viene generata una chiave di sessione (utilizzata un'unica volta, per l'algoritmo simmetrico) che viene a sua volta cifrata con la chiave pubblica del destinatario. Si noti come questo passaggio renda impossibile la lettura del messaggio anche al mittente (a meno che questo non cifri la chiave di sessione anche con la propria chiave pubblica, opzione che è possibile abilitare). Il destinatario pertanto userà la propria chiave privata per recuperare la session key, che a sua volta verrà utilizzata da PGP per decifrare il testo. In sintesi https://it.wikipedia.org/wiki/GNU_Privacy_Guard

Che cos’è PGP E GPG E’ stata creata Phil Zimmermann nel 1991 Pretty Good Privacy Oggi è un software proprietario detenuto dalla Symantec OpenPGP è lo standard libero per l’invio di email crittografate GPG è uno dei software che implementa lo standard OPENPGP. GNU Privacy Guard. E’ software libero. E’ utilizzato anche dai package manager per la verifica della correttezza dei pacchetti software (vedremo più avanti in apt tale verifica) Si può usare sia per cifrare i messaggi sia per firmarli, in modo da garantire che un certo file o messaggio provenga da una fonte affidabile Pgp funziona in questo modo. E’ necessario avere a disposizione una coppia di chiavi (una chiave pubblica per cifrare il messaggio e una chiave privata per poter decifrare il messaggio. La chiave pubblica pertanto deve essere mandata a tutti quelli che ci devono scrivere, in modo che possano cifrare il messaggio che solo il destinatario potrà leggere. Una volta ricevuto il messaggio, solo il ricevente potrà poi decrittare il messaggio usando la sua chiave privata Le chiave pubbliche sono contenute in certificati che specificano informazioni sull’utente che ha creato la chiave o la firma della stessa (ID UTENTE, email, nome, cognome, altre informazioni). All’interno della chiave pubblica ci sono anche sottochiavi indipendenti che consentono di utilizzare chiavi diverse per la firma e la crittografia.

Prime configurazioni di GPG Creiamo un nuovo utente sulla nostra distro linux per avere un ambiente pulito sudo useradd -m alice //creiamo il nuovo utente alice sudo -i -u alice //apriamo una nuova shell come utente alice Il tool gpg è preinstallato nelle distro linux e gestisce tutte le preferenze, impostazioni e chiavi (private e pubbliche) nella cartella nascosta .gnupg all’interna della home dell’utente. In questo caso /home/alice Tale cartella è installata in automatico la prima volta che l’utente esegue questo tool, ma si può anche creare manualmente in modo da specificarne i permessi mkdir -m 700 .gnupg usando 700 specifichiamo che i permessi di scrittura, lettura ed esecuzione appartengono solo al proprietario (fate riferimento ai video precedenti sui permessi in Linux). Per generare la chiave è necessario che il sistema abbia a disposizione dei byte casuali, altrimenti impiegherà troppo tempo nella generazione della chiave e l’operazione di generazione della chiave potrebbe andare in timeout. Installiamo pertanto rng-tools Apt install rng-tools E poi runniamo sudo rngd -r /dev/urandom prima di generare la chiave

La chiave Una chiave è il value che lavora con uno specifico algoritmo di crittografia per ottenere un particolare testo cifrato Le chiavi sono di solito grandi numeri. Sono misurate in bit, per esempio 2048 bit , 4096 bit. Più grande è la chiave, più sicuro è il testo cifrato Le chiavi sono cifrate GPG mantiene le chiavi in due file, uno per le chiavi pubbliche e uno per le chiavi private. Questi file sono chiamati keyrings.

Generare una nuova coppia di chiavi gpg –gen-key Il sistema chiederà varie informazioni Il tipo di algoritmo da utilizzare La lunghezza della chiave l’uso della chiave e della sottochiave (per firmare o per crittografare o entrambe) Nome Email Passphrase per proteggere il portachiavi La data di scadenza Queste impostazioni possiamo specificarle anche tramite un file Usando gpg –verbose –gen-key –batch alice.keyparams

File per generare una chiave Key-Type: RSA Key-Length: 4096 Key-Usage: sign Subkey-Type: RSA Subkey-Length: 4096 Subkey-Usage: encrypt Name-Real: Alice Name-Email: prova@prova.it Passphrase: provaprova Expire-Date: 1y gpg --verbose --gen-key --batch alice.keyparams

Scambiarsi le chiave Gpg –list-keys Vediamo tutte le chiavi pubbliche in nostro possesso Per inviarla un’altra persona in modo che ci possa scrivere, Dobbiamo esportarla gpg -output alice.gpg -export alice@cyb.org La chiave viene esportata nel file alice.gpg in formato binario. Se la vogliamo in formato ascii, leggibile con un editor di testo Aggiungiamo al comando l’opzione –armor ---BEGIN PGP PUBLIC KEY BLOCK--- Version: GnuPG v0.9.7 (GNU/Linux) Comment: For info see http://www.gnupg.org [...] ---END PGP PUBLIC KEY BLOCK--- Noi per comunicare con un altra persona dobbiamo importare la sua chiave pubblica in questo modo gpg -import blake.gpg Parleremo nel prossimo video in dettaglio su come accertarsi che sia la chiave pubblica corretta della persona cui dobbiamo scrivere o non sia una chiave pubblica che finge di essere quella del nostro destinatario (Web of Trust)

Cifrare e decifrare documento (chiave pubblica) Per cifrare un messaggio e inviarlo ad Alice, dobbiamo avere la sua chiave pubblica. Alice poi decifrerà il messaggio con la propria chiave privata. Per cifrare un documento usiamo l’opzione –encrypt. Il documento viene anche compresso in modo da garantire maggiore sicurezza gpg -output doc.gpg -encrypt -recipient blake@cyb.org doc Per decifrare un documento dobbiamo avere la chiave privata gpg -output doc -decrypt doc.gpg

Cifrare e decifrare un documento (chiave simmetrica) gpg -output doc.gpg -symmetric doc Ci chiederà il passphrase per decifrare il documento Il destinatario decifrà il messaggio nello stesso modo di prima gpg -output doc -decrypt doc.gpg