Laboratorio di Crittografia I - PGP/GPG



Documenti analoghi
! Gnu Privacy Guard (GPG) " Principali funzionalità. ! Descrizione esercitazione. " Scopo " Interazione con il sistema

Esercitazione 03. Sommario. Gnu Privacy Guard (GPG) Chiavi GPG (1/2) Andrea Nuzzolese. Gnu Privacy Guard (GPG) Descrizione esercitazione

Esercitazione 3 Gnu Privacy Guard

Alessandro Reina, Aristide Fattori. Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2010/2011

GNU Privacy Guard - GnuPG/GPG

Firma Digitale RSA con GnuPG

La privacy e le comunicazioni digitali

Gnu Privacy Guard. Andrea Lanzi. 21 Aprile 2015

Crittografia e OpenSource

Introduzione a GPG. GNU Privacy Guard: proteggere le proprie comunicazioni da sguardi indiscreti. giomba. 24 Ottobre 2015.

La Sicurezza (Vista dal pinguino e non solo) Percorso tra i vari aspetti della Sicurezza (principalmente in GNU/Linux )

PGP / GnuPG. Concetti di base e prime operazioni. Enrico Bassetti 13 gennaio Latina Linux User Group

Elementi di Sicurezza e Privatezza Lezione 20 PGP cont d - Esercizi

Gnu Privacy Guard (GnuPG) Introduzione PGP GnuPG Web of Trust Cifratura, Decifratura e Firma GnuPG vs PGP Installazione ed Uso

Comunicazioni e identità sicure: LE CHIAVI PGP E GPG uso e abuso. By Martino Colucci Linux Night 14 Aprile 2010 martyn at ultrapowersystem dot it

Piccolo manuale PGP pubblica privata chiave pubblica chiave privata non firewall personale

GNU Privacy Guard (GPG)

PGP Desktop 9.0 per Win

Firme digitali con OpenSSL

Sicurezza nelle applicazioni multimediali: lezione 6, posta elettronica e sicurezza. Posta elettronica e sicurezza

Introduzione alla Crittografia e a GnuPG. mario di raimondo

Gnu Privacy Guard (GnuPG) Mini Howto (italiano)

Sicurezza. Ingegneria del Software e sicurezza. Alice, Bob, e Trudy. Sicurezza non si caratterizza in modo semplice

Prettygoodprivacy (PGP)

PGP: Pretty Good Pricvacy

Elementi di Sicurezza e Privatezza Lezione 15 Sicurezza della posta elettronica

Anonymous r ers e pseudonym servers...in breve

Cifratura Asimmetrica

Manuale GNU sulla privacy. Mike Ashley, versione originale inglese Lorenzo Cappelletti, traduzione italiana

RSA in OpenSSL. Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno.

Pretty Good Privacy. PGP: cos è. PGP: cos è. Corso di Sicurezza su reti Barbara Masucci

Crittografia a chiave pubblica

GNU/Linux e firma elettronica. Fabrizio Tarizzo - fabrizio@fabriziotarizzo.org 67FE D A0 23F A45 F1E8 E6E4

Gestione della configurazione Input/Output PLC Cosa c'è di nuovo?

49.1 Introduzione ai problemi legati alla crittografia e alla firma elettronica. 297 Capitolo 49 Riservatezza e certificazione delle comunicazioni

Silvano Tuccella docente Informatica ITC R. De Sterlich certificazioni: Cisco CCNA ECDL Advanced 29/05/06 1 dst

Privacy e firma digitale

da chi proviene un messaggio?

Pretty Good Privacy. PGP fornisce crittografia ed autenticazione. creato da Phil Zimmermann nel in origine è un'applicazione per

Sicurezza della posta elettronica

Introduzione alla crittografia con OpenPGP

Programmazione avanzata Java e C. Crittografia

Crittografia per la sicurezza dei dati

La sicurezza informatica nello studio del professionista Riservatezza e integrità dei dati giuridici alla luce delle nuove tecnologie

Istruzioni per cifrare i file

Riservatezza e certificazione delle comunicazioni

ALGORITMI DI GENERAZIONE DI GRAFI CASUALI PER MODELLARE IL WEB OF TRUST - 1 -

Capitolo 44 Riservatezza e certificazione delle comunicazioni

Crittografia a chiave pubblica

Esercitazione 1 Crittografia Simmetrica

[PRETTY GOOD PRIVACY]

testo Saveris Web Access Software Istruzioni per l'uso

GPG E LA SICUREZZA NELLA POSTA ELETTRONICA

schema di firma definizione formale

Stream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: !

bla bla Guard Manuale utente

Esercitazione su PGP

I Firewall. Metodi e strumenti per la Sicurezza informatica. Claudio Telmon

Introduzione all'informatica

RINNOVO CONSIGLIO CAMERALE 2014

GNU/Linux e la firma elettronica. Paolo Garbin 02503CBF - 0CFF 04DF 17CD E3D 8DFC 28A7 43D CBF

bla bla Guard Manuale utente

Domande di verifica su crittografia e Firma Digitale Esercitazione 15 Novembre per esame 2014 IC DAC 1 / 15

PROCEDIMENTO DEL COSTITUZIONE DEL CONSIGLIO DELLA CAMERA DI COMMERCIO I.A.A DI BIELLA E VERCELLI

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

Addendum al Manuale Operativo di. Cipro32. Plug-In Pegasus 2004/2005. Lato fornitore

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

AWN. Manuale utente Web Mail. Rev AWN ArchiWorld Network. Pag. 1 / 49. v Manuale utente della Web Mail

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

Le bollette le voglio in busta chiusa. E la cassetta delle lettere deve avere una serratura.

SHAREPOINT CONNECTOR PLUG-IN - short guide-

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

FIRMA DIGITALE E CIFRATURA

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

Il tuo manuale d'uso. SONY ERICSSON W200I

Manuale LiveBox APPLICAZIONE ANDROID (V )

Guida rapida. Versione 9.0. Moving expertise - not people

Protocolli di Rete. Sabrina De Capitani di Vimercati. DEA - Università di Brescia. c Sabrina De Capitani di Vimercati p.

Esercitazione 2 Certificati

Esercitazione 2 Certificati

Server di posta con criptate per garantire la confidenzialità

2016 PostFinance. Usa il vostro conto PostFinance

2016 PostFinance. Usa il vostro conto PostFinance

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Protezione della posta elettronica mediante crittografia

Guida per i sistemi Windows (Compatibile con altri sistemi)

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

PROCEDIMENTO DI COSTITUZIONE DEL CONSIGLIO DELLA CAMERA DI COMMERCIO del GRAN SASSO D ITALIA Istruzioni per la cifratura di un documento

PROCEDIMENTO DI RINNOVO DEL CONSIGLIO CAMERALE QUINQUENNIO Istruzioni tecniche per la compilazione degli elenchi contenuti nell Allegato D

Infor LN Vendite Guida utente per Fatturazione retroattiva

Struttura di un applicazione Instant Developer

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1)

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015

PROCEDURA OPERATIVA FASE PREPARATORIA SCRUTINI

Transcript:

Laboratorio di Crittografia I - PGP/GPG Stefano Cristalli 2 dicembre 2015 a.a. 2015/2016 Corso di Crittografia I Docente: dott. Andrea Visconti

GNU Privacy Guard Risponde alla necessità di utilizzare la crittografia per proteggere la privacy in una varietà di contesti - Cifratura di file - Firma di contenuti (file, email, Git commit) Aderisce allo standard OpenPGP

GPG - Caratteristiche Utilizza una modalità ibrida per cifrare - Crittografia simmetrica con chiave di sessione per cifrare il messaggio - Crittografia asimmetrica con chiavi pubbliche e private degli utenti per cifrare la chiave di sessione Software a linea di comando, non è stato inizialmente progettato come una API Esistono API wrapper e interfacce grafiche

GPG - Generazione di un keypair gpg --gen-key numbers@diamond:~$ gpg gen key gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Selezionare il tipo di chiave: (1) RSA e RSA (predefinito) (2) DSA e ElGamal (3) DSA (solo firma) (4) RSA (solo firma) Selezione?

GPG - Generazione di un keypair Viene richiesto il tipo della chiave. RSA e RSA (l'opzione predefinita) significa che verrà creata una master key per la firma e una subordinate key solo per la cifratura La lunghezza della chiave può essere decisa dall'utente. Essa influenza sia la sicurezza, sia la complessità delle operazioni di cifratura. Se non si hanno particolari motivi per fare altrimenti, si dovrebbe optare per la massima sicurezza (4096).

GPG - Generazione di un keypair La validità temporale della chiave può essere o meno limitata. È obbligatorio specificare un'opzione in fase di creazione, ma è possibile modificare il parametro successivamente. Il keypair generato conterrà i seguenti dati pubblici del proprietario: - Nome - Email - Un commento

GPG - Generazione di un keypair La chiave è protetta da una passphrase, che sarà obbligatorio inserire per effettuare certe operazioni (come la firma) È molto importante scegliere una passphrase robusta, in quanto costituisce una protezione da utilizzi indesiderati della chiave La chiave stessa è cifrata con uno schema simmetrico con la passphrase come chiave

GPG - Generazione di un keypair GPG legge dati casuali da /dev/random per ragioni di sicurezza. Questo comporta la possibilità di finire i byte nel pool e dover generare nuova entropia. Non ci sono abbastanza byte casuali disponibili. Svolgere qualche altro lavoro per dare al SO la possibilità di raccogliere altra entropia (sono necessari altri 164 byte)

GPG - Dettagli delle chiavi gpg --list-keys numbers@diamond:~$ gpg list keys /home/numbers/.gnupg/pubring.gpg pub 2048R/983A023F 2014 11 24 uid Stefano Cristalli (Chiave di prova) <stefano.cristalli@studenti.unimi.it> sub 2048R/E5A1967B 2014 11 24

GPG - Dettagli delle chiavi gpg --list-keys numbers@diamond:~$ gpg list keys /home/numbers/.gnupg/pubring.gpg pub 2048R/983A023F 2014 11 24 uid Stefano Cristalli (Chiave di prova) <stefano.cristalli@studenti.unimi.it> sub 2048R/E5A1967B 2014 11 24 Fingerprint: identificazione di una chiave (utile per la verifica con il proprietario, ad esempio al telefono)

GPG - Esportazione di una chiave (pubblica) gpg --export [uid] Esporta una chiave pubblica dato l'uid (specificato con il nome o con l'email) L'output di default è stdout, ma può essere reindirizzato con l'opzione --output [file] Il formato di default è binario, ma è possibile fare un wrapping con caratteri ASCII tramite l'opzione --armor

GPG - Esportazione di una chiave (pubblica) numbers@diamond:~$ gpg armor export "Stefano Cristalli" BEGIN PGP PUBLIC KEY BLOCK Version: GnuPG v1 mqenbfrzb0cbcacokpiywktsmzqgwjq8w5kug4mbynguqqm7fqi4apjcpfbdk4qd... =TrUW END PGP PUBLIC KEY BLOCK numbers@diamond:~$ ls numbers@diamond:~$ gpg output scristalli.gpg export numbers@diamond:~$ ls scristalli.gpg

GPG - Importazione di una chiave (pubblica) gpg --import [file] Dopo aver importato una chiave pubblica è buona norma controllarne la validità e impostarne la fiducia La fiducia che si dà alla chiave va da 1 (sconosciuto) a 5 (fiducia completa), e misura quanto si ritiene affidabile la firma del proprietario sulle altre chiavi GPG Il meccanismo della validità si basa sul web of trust

GPG - Web of trust Meccanismo di GPG per controllare la validità delle chiavi Una chiave K è considerata valida se soddisfa le condizioni: 1) La chiave soddisfa almeno una delle seguenti proprietà: a] È stata firmata personalmente b] È stata firmata da un utente con fiducia completa c] È stata firmata da tre utenti con fiducia marginale 2) La lunghezza della sequenza di firme da K alla propria chiave è inferiore a 6 È possibile modificare i valori di default per questi parametri

GPG - Verifica di una chiave importata gpg --edit-key [fingerprint] Questo comando apre il menu di modifica di una chiave Si possono effettuare diverse operazioni, terminando con save per aggiornare effettivamente la chiave

GPG - Verifica di una chiave importata gpg> trust Modifica il livello di fiducia per la chiave corrente gpg> fpr Visualizza il fingerprint della chiave corrente gpg> sign Firma la chiave corrente

GPG - Verifica di una chiave importata gpg> check Verifica le firme sulla chiave corrente N.B. GPG non rende la comunicazione sicura in sé. Una gestione accurata delle chiavi è fondamentale (verifica della loro validità, firma SOLO in casi opportuni)

GPG - Distribuzione della chiave Per distribuire la propria chiave pubblica, solitamente si utilizzano due meccanismi: la distribuzione personale e i keyserver Per distribuire personalmente la chiave, si può caricare la stessa sul proprio spazio web, oppure la si può spedire via email I keyserver sono dei repository di chiavi creati allo scopo di facilitare la distribuzione - Il download di una chiave da un keyserver non ne certifica l'autenticità

GPG - Distribuzione della chiave gpg --keyserver [keyserver_address] --recv-key [fingerprint] Recupera la chiave con il fingerprint in input dal server specificato Per vedere e inviare chiavi pubbliche è esposta solitamente anche un'interfaccia web Eventuali modifiche alla chiave pubblica vanno propagate tempestivamente ai keyserver

GPG - Certificati di revoca gpg --gen-revoke [fingerprint] Genera un certificato di revoca per la chiave specificata Nel caso in cui la chiave in questione sia compromessa, questo è lo strumento da utilizzare per invalidarla Resta necessario diffondere l'informazione che la chiave è stata compromessa! Il comando accetta le opzioni --output e --armor

GPG - Cifratura asimmetrica gpg --encrypt [file] --recipient [uid] Cifra un file con la chiave pubblica del destinatario Accetta le opzioni --output e --armor gpg --decrypt [file] Decifra un file Necessaria la chiave privata Necessaria la passphrase corretta

GPG - Cifratura asimmetrica numbers@diamond:~$ echo "Top Secret" > plaintext.txt numbers@diamond:~$ gpg output encrypted.gpg recipient "Barack Obama" encrypt plaintext.txt numbers@diamond:~$ gpg decrypt encrypted.gpg È necessaria una passphrase per sbloccare la chiave segreta dell'utente: "Barack Obama (I'm the real president!)... Top Secret

GPG - Firma e verifica gpg --sign [file] Firma (e comprime) un file gpg --clearsign [file] Crea un file contenente il plaintext e la firma ASCII-armored gpg --detach-sign [file] Crea un file separato contenente la firma Ove opportuni, sono accettati i parametri --output e --armor

GPG - Firma e verifica gpg --verify [file] gpg --verify [firma] [file] Verifica una firma numbers@diamond:~$ echo "CryptoLab" > plaintext.txt numbers@diamond:~$ gpg output plaintext.sig detach sign plaintext.txt... numbers@diamond:~$ gpg verify plaintext.sig plaintext.txt gpg: Firma eseguita in data lun 24 nov 2014 23:16:43 CET usando RSA, ID chiave 983A023F gpg: Firma valida da "Stefano Cristalli (Chiave di prova) <stefano.cristalli@studenti.unimi.it>"

Esercizi Esercizi e homework disponibili sul wiki: https://crypto.club.di.unimi.it