Gnu Privacy Guard. Andrea Lanzi. 21 Aprile 2015

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

Laboratorio di Crittografia I - PGP/GPG

! 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

Firma Digitale RSA con GnuPG

GNU Privacy Guard - GnuPG/GPG

Crittografia e OpenSource

La privacy e le comunicazioni digitali

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

schema di firma definizione formale

File Encryption: Come e Perché

da chi proviene un messaggio?

Prettygoodprivacy (PGP)

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

da chi proviene un messaggio?

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

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

Esercitazione 1 Crittografia Simmetrica

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

Esercitazione 2 Certificati

Esercitazione 2 Certificati

GNU Privacy Guard (GPG)

da chi proviene un messaggio?

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

logaritmo discreto come funzione unidirezionale

sia G un gruppo ciclico di ordine n, sia g un generatore di G

PGP Desktop 9.0 per Win

Elementi di Sicurezza e Privatezza Lezione 15 Sicurezza della posta elettronica

Crittografia per la sicurezza dei dati

Firme digitali con OpenSSL

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

Le firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza

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

Capitolo 44 Riservatezza e certificazione delle comunicazioni

Guida all'uso di OpenPGP Card

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

Riservatezza e certificazione delle comunicazioni

problema del logaritmo discreto

Cifratura Asimmetrica

PRIVACY E SISTEMI DI CRITTOGRAFIA FORTE: RIMANERE ANONIMI ONLINE

Secure Socket Layer (SSL) Transport Layer Security (TLS)

Anonymous r ers e pseudonym servers...in breve

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

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

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

Esercitazione su PGP

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

UNIVERSITÀ DEGLI STUDI DI TORINO

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

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

DOWNLOAD DI MATLAB. (a cura di Studenti Democratici)

PGP. Pretty Good Privacy PGP. Un pò di storia. Un pò di storia. Ozalp Babaoglu

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

Crittografia a chiave pubblica

Reti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

Sicurezza ai vari livelli

RETI DI CALCOLATORI II

Introduzione alla crittografia con OpenPGP

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

Introduzione all'informatica

crittografia a chiave pubblica

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

Privacy e firma digitale

[PRETTY GOOD PRIVACY]

PGP: Pretty Good Pricvacy

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

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

Introduzione alla Crittografia e a GnuPG. mario di raimondo

Sicurezza della posta elettronica

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

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

crittografia a chiave pubblica

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Autenticazione, firme digitali e certificati digitali

FIRMA ELETTRONICA. Il sistema di garanzia è stato individuato nella crittografia in quanto è in grado di assicurare:

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Sicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash

Crittografia da Whatsapp a Wikileakes, tra spie e segreti di stato

General info on using shopping carts with Ingenico epayments

Trusted Intermediaries

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai?

WELCOME UNIPA REGISTRATION:

crittografia a chiave pubblica

Firme elettroniche. Traccia. Aspetti tecnologici delle firme elettroniche Aspetti giuridici delle firme elettroniche.

RINNOVO CONSIGLIO CAMERALE 2014

Crittografia. Crittografia Definizione. Sicurezza e qualità dei servizi su internet Università degli Studi di Pavia, C.

Http e Https. http usa la porta 80. Perciò è nato https - usa la porta 443

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro...

29/02/2016. How to Access MyEconLab. Getting started: XL2A-41W1-901Z-4NT2. (included with your textbook) (Scienze e tecn. Ristorazione) 1.

Crittografia e firma digitale. Prof. Giuseppe Chiumeo

Crittografia a chiave pubblica

idea della crittografia a chiave pubblica

Sicurezza nelle reti: protezione della comunicazione

Transcript:

Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2014/2015 21 Aprile 2015

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Esempio: download di un applicazione Installazione dell applicazione CORRETTO MD5(software.exe) == 79054025255fb1a26e4bc422aef54eb4 SBAGLIATO Nuovo tentativo di download dell applicazione...

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Esempio: download di un applicazione Installazione dell applicazione CORRETTO MD5(software.exe) == 79054025255fb1a26e4bc422aef54eb4 SBAGLIATO Nuovo tentativo di download dell applicazione...

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Esempio: download di un applicazione Installazione dell applicazione CORRETTO Ma in questo modo MD5(software.exe) siamo 100% sicuri == 79054025255fb1a26e4bc422aef54eb4 di quello che stiamo installando??? SBAGLIATO Nuovo tentativo di download dell applicazione...

Cifrari simmetrici Richiami di crittografia: cenni Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi usano la stessa chiave per effettuare le operazioni di cifratura/decifratura; cifrari simmetrici attuali : DES, 3DES, Blowfish, IDEA, AES; un buon cifrario pone tutta la sicurezza nella chiave e mai nell algoritmo; l insieme di tutte le chiavi possibili, il key space, dev essere grande ; scambio e gestione delle chiavi problematico (n n(n 1) 2 )

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari simmetrici - Funzionamento Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari simmetrici - Funzionamento key? Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari simmetrici - Funzionamento key? OK! Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari simmetrici - Funzionamento key? OK! Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. TmVsIG1lenpvIGRlbCBj YW1taW4gZGkgbm9zdHJ hihzpdgencm1pihj pdhjvdmfpihblcib1 bmegc2vsdmegb3njd XJhLA0KY2jpIGxhIG Rpcml0dGEgdmlhIGV yysbzbwfycml0ys4g

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari simmetrici - Funzionamento key? OK! Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. TmVsIG1lenpvIGRlbCBj YW1taW4gZGkgbm9zdHJ hihzpdgencm1pihj pdhjvdmfpihblcib1 bmegc2vsdmegb3njd XJhLA0KY2jpIGxhIG Rpcml0dGEgdmlhIGV yysbzbwfycml0ys4g

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari simmetrici - Funzionamento key? OK! Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. TmVsIG1lenpvIGRlbCBj YW1taW4gZGkgbm9zdHJ hihzpdgencm1pihj pdhjvdmfpihblcib1 bmegc2vsdmegb3njd XJhLA0KY2jpIGxhIG Rpcml0dGEgdmlhIGV yysbzbwfycml0ys4g Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Cifrari a chiave pubblica Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi chiavi generate a coppie: chiave pubblica usata per cifrare/verificare la firma dei documenti; chiave privata usata per decifrare/firmare i documenti; si elimina il problema dello scambio delle chiavi e il numero di chiavi necessarie per comunicare con un utente; cifrari basati sul concetto di funzione one-way trapdoor, e.g. RSA; funzione facile da computare in un senso ; funzione inversa difficile da computare; trapdoor: funzione inversa facile da computare con le dovute ipotesi, e.g. un fattore del modulo di una chiave RSA;

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari a chiave pubblica - Funzionamento Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari a chiave pubblica - Funzionamento Bob PubKey? Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari a chiave pubblica - Funzionamento Bob PubKey? B pub Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita.

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari a chiave pubblica - Funzionamento Bob PubKey? B pub Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. chviicaymdq4zy83mzv ODE0OCAyMDA4LTAxLT IEFsZXNzYW5kcm8gUmVp bmegpgfszxnzyw5kcm8u cmvpbm- FAZ21haWwuY29t PgogUHJpbWFyeSBrZXkg ZmluZ2VycHJpbnQ6IEZC MTMgQzFEO- SA1RjAzIEFC MkMgOEU2MiAgQ0FCMiAy N0I5IDBEMTcgRUVCQyB B pub

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari a chiave pubblica - Funzionamento Bob PubKey? B pub Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. chviicaymdq4zy83mzv ODE0OCAyMDA4LTAxLT IEFsZXNzYW5kcm8gUmVp bmegpgfszxnzyw5kcm8u cmvpbm- FAZ21haWwuY29t PgogUHJpbWFyeSBrZXkg ZmluZ2VycHJpbnQ6IEZC MTMgQzFEO- SA1RjAzIEFC MkMgOEU2MiAgQ0FCMiAy N0I5IDBEMTcgRUVCQyB B pub

Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi Cifrari a chiave pubblica - Funzionamento Bob PubKey? B pub Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. chviicaymdq4zy83mzv ODE0OCAyMDA4LTAxLT IEFsZXNzYW5kcm8gUmVp bmegpgfszxnzyw5kcm8u cmvpbm- FAZ21haWwuY29t PgogUHJpbWFyeSBrZXkg ZmluZ2VycHJpbnQ6IEZC MTMgQzFEO- SA1RjAzIEFC MkMgOEU2MiAgQ0FCMiAy N0I5IDBEMTcgRUVCQyB Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura chè la diritta via era smarrita. B pub B priv

Cifrari ibridi Richiami di crittografia: cenni Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi % molti cifrari simmetrici sono più forti da un punto di vista della sicurezza; % cifratura/decifratura effettuata con algoritmi a chiave pubblica sono più dispendiosi in termini di tempo; " cifrari asimmetrici sono comunque migliori per quanto riguarda lo scambio e la gestione delle chiavi; cifrari ibridi usano sia cifrari simmetrici che asimmetrici; la chiave pubblica viene usata per cifrare una chiave di sessione, scelta in modo casuale, con la quale si cifra il documento; soltanto il giusto ricevente sarà in grado di decifrare la chiave di sessione, usando la sua chiave privata, per poi decifrare il messaggio ricevuto; sia PGP che usando cifrari ibridi.

Cifrari ibridi Richiami di crittografia: cenni Perchè cifrare? Cifrari simmetrici Cifrari asimmetrici Cifrari ibridi % molti cifrari simmetrici sono più forti da un punto di vista della sicurezza; % cifratura/decifratura effettuata con algoritmi a chiave pubblica sono più dispendiosi in termini di tempo; " cifrari asimmetrici sono comunque migliori per quanto riguarda lo scambio e la gestione delle chiavi; cifrari ibridi usano sia cifrari simmetrici che asimmetrici; la chiave pubblica viene usata per cifrare una chiave di sessione, scelta in modo casuale, con la quale si cifra il documento; soltanto il giusto ricevente sarà in grado di decifrare la chiave di sessione, usando la sua chiave privata, per poi decifrare il messaggio ricevuto; sia PGP che usando cifrari ibridi.

GNU Privacy Guard Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Introduzione : strumento per cifrare e firmare dati, usato prevalentemente nella comunicazione tramite email Utilizza la crittografia ibrida; La chiave privata, considerata segreta, non deve mai essere divulgata; protetta tramite una passphrase; La chiave pubblica deve essere comunicata a tutti coloro con i quali l utente vuole comunicare; Chiave privata usata per decifrare o firmare a i dati (messaggi); Chiave pubblica usata per cifrare b o verificare la firma di dati (messaggi). a in realtà usata insieme a funzioni di hash crittografiche. b in realtà viene cifrata asimmetricamente una chiave di sessione che cifra in modo simmetrico i dati.

GNU Privacy Guard Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Obiettivi crittografia PGP 1 confidenzialità 2 integrità 3 non-repudiabilità Se valgono 1 && 2 && 3 = autenticità.

GNU Privacy Guard Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Obiettivi crittografia PGP 1 confidenzialità 2 integrità 3 non-repudiabilità Se valgono 1 && 2 && 3 = autenticità.

Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Chiavi primarie e chiavi subordinate (1) Tipo di chiavi e dimensione Creazione di due chiavi: una per la firma digitale (solitamente la primaria); una per la cifratura. $ gpg --quiet --gen-key gpg () 1.2.4; Copyright (C) 2003 Free Software Foundation, Inc.... Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (3) RSA (sign only) Your selection? 1 DSA keypair will have 1024 bits. About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)

Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Chiavi primarie e chiavi subordinate (2) Durata delle chiavi e User-ID Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct (y/n)? y You need a User-ID to identify your key; the software constructs... Real name: Foo Bar Email address: foobar@domain.org Comment: You selected this USER-ID: "Foo Bar <foobar@domain.org>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Chiavi primarie e chiavi subordinate (3) Passphrase, coppia di chiavi e fingerprint You need a Passphrase to protect your secret key. Enter passphrase: Repeat passphrase:... public and secret key created and signed. key marked as ultimately trusted. pub 1024D/8EE5C69A 2004-11-01 Foo Bar <foobar@domain.org> Key fingerprint = CA1B 8A00 8EB7 D051 4DCE 376C 1075 81A3 8EE5 C69A sub 1024g/C01C49FA 2004-11-01 $

Scelta di una passprhase *sicura* Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali La passprhase: può contenere caratteri di spaziatura no vincoli sulla lunghezza possibilità di utilizzare caratteri, numeri, caratteri speciali [es., $,., >,...] mix di caratteri (ed anche lingue diverse) Esempio conseguenze passphrase debole: Real name: Danilo Bruschi Email address: prof.bruschi@docenti.di.unimi.it Comment: profilo e keypair fittizi del prof PASSWORD:??? = [a-z0-9]{3}

Scelta di una passprhase *sicura* Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali La passprhase: può contenere caratteri di spaziatura no vincoli sulla lunghezza possibilità di utilizzare caratteri, numeri, caratteri speciali [es., $,., >,...] mix di caratteri (ed anche lingue diverse) Esempio conseguenze passphrase debole: Real name: Danilo Bruschi Email address: prof.bruschi@docenti.di.unimi.it Comment: profilo e keypair fittizi del prof PASSWORD:??? = [a-z0-9]{3}

Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Generazione del certificato di revoca (1) Il certificato di revoca è l unico strumento che può essere usato per invalidare la chiave primaria: in caso di perdita della passphrase; in caso di compromissione della chiave. $ gpg --output revoke.gpg --gen-revoke 8EE5C69A # <- id della chiave sec 1024D/8EE5C69A 2004-11-01 Foo Bar <foobar@domain.org> Create a revocation certificate for this key? yes Please select the reason for the revocation: 0 = No reason specified 1 = Key has been compromised 2 = Key is superseded 3 = Key in no longer used Q = Cancel (Probably you want to select 1 here) Your decision? 0

Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Generazione del certificato di revoca (2) Enter an optional description; end it with an empty line: > Reason for revocation: No reason specified (No description given) Is this okay? yes You need a passphrase to unlock the secret key for user: "Foor Bar <foobar@domain.org>" 1024-bit DSA key, ID 8EE5C69A, created 2004-11-01 Enter passphrase: ASCII armored output forced. Revocation certificate created. Please move it to a medium which you can hide away;... $

Vedere ed esportare chiavi pubbliche Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Per poter vedere le chiavi presenti nel proprio keyring: $ gpg --list-keys /home/foobar/.gnupg/pubring.gpg ------------------------------- pub 1024D/8EE5C69A 2004-11-01 Foo Bar <foobar@domain.org> sub 1024g/C01C49FA 2004-11-01 $ Per esportare la propria chiave pubblica: $ gpg --armor --export 8EE5C69A -----BEGIN PGP PUBLIC KEY BLOCK----- Version: v1.2.4 (GNU/Linux) mqgi...rvra... =LTlS -----END PGP PUBLIC KEY BLOCK----- $

Keyservers Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Meccanismo per favorire lo scambio di chiavi Keyserver disponibili: Example hkp://subkeys.pgp.net hkp://pgp.mit.edu hkp://pool.sks-keyservers.net hkp://zimmermann.mayfirst.org http://keyserver.linux.it/ gpg search-keys Aristide Fattori gpg recv-keys 291D712D

Importare chiavi pubbliche Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Per poter importare una chiave nel proprio keyring: $ gpg --import blake.gpg gpg: key 9E98BC16: public key imported gpg: Total number processed: 1 gpg: imported: 1 $ gpg --list-keys /home/foobar/.gnupg/pubring.gpg ------------------------------- pub 1024D/8EE5C69A 2004-11-01 Foo Bar <foobar@domain.org> sub 1024g/C01C49FA 2004-11-01 pub 1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org> sub 1024g/5C8CBD41 1999-06-04 $ Una volta importata, la chiave dovrebbe essere validata: fingerprint della chiave firma della chiave

Validazione classica delle chiavi (1) Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Fingerprint di una chiave pubblica: $ gpg --edit-key blake@cyb.org pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q sub 1024g/5C8CBD41 created: 1999-06-04 expires: never (1) Blake (Executioner) <blake@cyb.org> Command> fpr pub 1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org> Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16 $ prima di firmare una chiave pubblica, è necessario verificare la correttezza del fingerprint associato ad essa di persona, telefonicamente,... ; firmando la chiave si attesta la sua appartenenza all utente corretto, ma NON si da fiducia a questo utente.

Validazione classica delle chiavi (2) Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Firma di una chiave pubblica: Command> sign pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16 Blake (Executioner) <blake@cyb.org> Are you really sure that you want to sign this key with your key: "Foo Bar <foobar@domain.org>" Really sign? yes Verifica della firma effettuata sulla chiave: Command> check uid Blake (Executioner) <blake@cyb.org> sig! 9E98BC16 1999-06-04 [self-signature] sig! 8EE5C69A 2004-11-01 Foo Bar <foobar@domain.org>

Chiave pubblica e chiave privata (1) Cifratura Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali la cifratura avviene usando la chiave pubblica del destinatario del messaggio; il destinatario decifra il messaggio ricevuto, usando la sua chiave privata, corrispondente alla chiave pubblica usata dal mittente; l opzione --encrypt di viene usata per cifrare un messaggio; l opzione --decrypt di viene usata per decifrare un messaggio. $ gpg --output doc.gpg --encrypt --recipient foobar@domain.org doc

Chiave pubblica e chiave privata (2) Decifratura e cifratura simmetrica Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Decifrare un documento: $ gpg --output doc --decrypt doc.gpg Cifrare un documento in modo simmetrico: chiave fornita dall utente al momento della cifratura; rappresenta la passphrase, condivisa tra le parti; problema dello scambio delle chiavi condivise in modo sicuro, su canali insicuri. $ gpg --output doc.gpg --symmetric doc.gpg Enter passphrase:

La firma digitale Firmare e comprimere il documento Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali una firma digitale certifica un documento; successive modifiche al documento fanno fallire la verifica della firma la firma avviene usando la chiave privata dell utente che firma il documento; la verifica della firma viene effettuata usando la chiave pubblica corrispondente alla chiave privata usata nella firma; l opzione --sign è usata per firmare un documento. $ gpg --output doc.sign --sign doc You need a passphrase to unlock the private key for user: "Foo Bar <foobar@domain.org>" 1024-bit DSA key, ID 8EE5C69A, created 2004-11-01 Enter passphrase:

La firma digitale Firma in chiaro: clearsigned document Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali l opzione --sign firma e comprime anche il documento; generalmente si vuole mantenere leggibile il documento; l opzione --clearsign serve a questo proposito, per firmare in chiaro, mantenendo leggibile il documento. $ gpg --clearsign doc You need a passphrase to unlock the private key for user: "Foo Bar <foobar@domain.org>"... ---BEGIN PGP SIGNED MESSAGE--- Hash: SHA1 [...] <document is here> ---BEGIN PGP SIGNATURE--- Version: v0.9.7 (GNU/Linux) Comment: For info see http://www.gnupg.org iey\leftecaayfajdycqoacgkqj9s6ult1dqz6iwcfq7wp6i/i8hhbcoskf4elyqb1... ---END PGP SIGNATURE---

La firma digitale Firma separata: detached signature Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali il documento firmato con --clearsign dev essere modificato per poter recuperare il documento originale; per ovviare a questo inconveniente esiste un terzo modo per firmare i documenti, detached signature. $ gpg [--armor] --output doc.sig --detach-sig doc You need a passphrase to unlock the secret key for user: "Foo Bar <foobar@domain.org>"... 1024-bit DSA key, ID 8EE5C69A, created 2004-11-01 Enter passphrase: $

Web of trust (1) Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Grazie al modello web of trust, la responsabilitá di validare chiavi pubbliche degli utenti viene delegata a persone in cui si ha fiducia. Esistono 4 differenti trust levels : unknown none marginal full

Web of trust (2) Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali Algoritmo per stabilire se una chiave K è valida: 1 è stata firmata da un numero sufficiente di chiavi valide io ho firmato personalmente la chiave la chiave è stata firmata da un utente in cui io ripongo totale fiducia [full] la chiave è stata firmata da 3 utenti in cui ho fidicia marginal && 2 il percorso di chiavi firmate da K fino alla propria chiave consiste di al più 5 passi

GPG for Dummies Enigmail Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali

GPG for Dummies FireGPG Richiami di crittografia: cenni Generare una coppia di chiavi Keyring Cifrare e decifrare documenti Effettuare e verificare firme digitali

0xA0 Richiami di crittografia: cenni Creare il file clear.txt [il contenuto è irrilevante]. Usando GPG, cifrare tale file con crittografia simmetrica utilizzando gli algoritmi: AES, TRIPLE DES & BLOWFISH. I file così cifrati devono essere salvati come cipher-[algoname].gpg (Es: cipher-3des.gpg).

0xA1 Richiami di crittografia: cenni Decifrare i file cifrati creati al punto precedente.

0xB0 Richiami di crittografia: cenni Sul sistema sono presenti due utenti alice e bob. Per entrambi questi utenti generare una coppia di chiavi da 1024 bit.

0xB1 Dall utente alice, esportare la chiave pubblica appena creata. Fare lo stesso dall utente bob. Dall utente alice, importare la chiave pubblica di bob, controllarne il fingerprint e firmarla con la chiave pubblica di alice. Effettuare le stesse operazioni invertendo gli utenti. Hint Usare due shell per evitare i continui login/logout (Ctrl+F2)

0xB2 Richiami di crittografia: cenni Dall utente alice creare il file sign-test.txt [il contenuto è irrilevante]. Firmare il file con tutti e tre i metodi citati [sign, clearsign, detached] salvando l output rispettivamente nei file sign.gpg, clear.gpg, detached.gpg. Dall utente bob verificare le firme di alice sui tre file.

0xB3 Richiami di crittografia: cenni Dall utente alice creare il file encrypt-test.txt [il contenuto è irrilevante]. Crittare il file con la chiave pubblica di bob salvando l output nel file encrypt-test.txt.gpg. Dall utente bob decifrare il file.

0xB4 Richiami di crittografia: cenni Dall utente alice creare il file sign-encrypt-test.txt [il contenuto è irrilevante]. Crittare il file con la chiave pubblica di bob e firmarlo, salvando l output nel file sign-encrypt-test.txt.gpg. Dall utente bob decifrare il file e verificare la firma.

0xC0 Richiami di crittografia: cenni Utilizzando l account studente, generare la propria coppia di chiavi da 2048 bit ed il rispettivo certificato di revoca.

0xC1 Richiami di crittografia: cenni Risalire al fingerprint della propria chiave pubblica generata durante l esercizio precedente. Inviare via mail la propria chiave al compagno di banco e ricevere la sua. Utilizzare il fingerprint verificare la chiave ricevuta. Importare la chiave pubblica nel proprio keyring e firma di quest ultima.

0xC2 Richiami di crittografia: cenni Inviare al proprio compagno di banco la sua chiave pubblica firmata in modo che possa importarla nel proprio keyring. Controllare tutte le firme presenti nella propria chiave pubblica. Ripetere l esercizio precedente (scambio chiave pubblica e verifica di quest ultima tramite fingerprint) con un secondo compagno di banco; ulteriore firma della chiave e re-invio al mittente; verifica che ora la propria chiave pubblica abbia almeno 3 firme.

0xC3 Richiami di crittografia: cenni Utilizzare l opzione comando --edit-key per generare una seconda chiave subordinata.

0xC4 Richiami di crittografia: cenni Esportare la propria chiave pubblica, in formato ASCII-armored, in un file denominato my new key.gpg.

0xD0 Richiami di crittografia: cenni Trovare la chiave pubblica (Srdjan Matic) sul keyserver http://zimmermann.mayfirst.org/. Dopo avere verificato che il fingerprint della chiave scaricata corrisponda a quello reperibile alla pagina http://security.di.unimi.it/~andrew/srdjan.pub, importare la chiave nel proprio keyring.

0xD1 Dall url http://security.di.unimi.it/~andrew scaricare il file root password.zip.gpg. estrarre l archivio utilizzando la cifratura simmetrica e password I learned to decrypt! individuare la password per l utente root verificando la firma di ciascun messaggio (la firma da verificare è quella associata alla chiave srdjan@security.di.unimi.it)

0xD1 Dall url http://security.di.unimi.it/~andrew scaricare il file root password.zip.gpg. estrarre l archivio utilizzando la cifratura simmetrica e password I learned to decrypt! individuare la password per l utente root verificando la firma di ciascun messaggio (la firma da verificare è quella associata alla chiave srdjan@security.di.unimi.it)

0xD2 Richiami di crittografia: cenni Oltre ad essere appassionato di crittografia, Bob adora la musica. Egli ha inviato ad Alice, una mail dal titolo Vengo anch io? No tu no ; tale mail conteneva un allegato con il nome song.gpg. Si sospetta che tale file possa *nascondere informazioni* preziose riguardo alla chiave che i due intendono utilizzare per scambiarsi futuri messaggi segreti. Trovare la chiave di 4 caratteri con cui il messaggio è stato crittato. ASSUNZIONE: ASCII lower + digits Durante un successivo scambio di mail, Bob ha inviato ad alice un messaggio contenente un file denominato meeting at.gpg; decifrare tale file utilizzando la password trovata al punto precedente. Hint COMANDI: cat, grep, for FILE-1: http://security.dico.unimi.it/~andrew/song.gpg FILE-2: http://security.dico.unimi.it/~andrew/meeting_at.gpg

0xD3 Richiami di crittografia: cenni TESTO ESERCIZIO: http://security.dico.unimi.it/~andrew/0xd3.txt.gpg