esercitazione 03 - plone sitebabaoglu/courses/security10-11/...marchi registrati da pgp corporation,...

5
ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA Esercitazione 03 Angelo Di Iorio © Babaoglu 2001-2010 Sicurezza Sommario Gnu Privacy Guard (GPG) Principali funzionalità Descrizione esercitazione Scopo Interazione con il sistema © Babaoglu 2001-2010 Sicurezza Gnu Privacy Guard (GPG) PGP è un programma basato su crittografia simmetrica e asimmetrica, usato per proteggere informazioni digitali permette anche firma digitale ed uso di certificati 'PGP', 'Pretty Good Privacy' e 'Pretty Good' sono tutti marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP Nel 1997 viene lanciato il Working Group IETF che standardizza OpenPGP (RFC 2440 e 4880) GPG è l’implementazione di OpenPGP della Free Software Foundation, rilasciato con licenza GPL http://www.gnupg.org/ © Babaoglu 2001-2010 Sicurezza Chiavi GPG (1/2) Comando per generare le chiavi gpg --gen-key Che cosa viene richiesto Tipo delle chiavi Default, DSA (firmare) ELG-E (cifrare/decifrare) Lunghezza delle chiavi 1024 per DSA 2048 per ELG-E Informazioni personali Nome completo Indirizzo email Passphrase Per proteggere le chiavi private NON DEVE ESSERE DIMENTICATA

Upload: others

Post on 22-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Esercitazione 03 - Plone sitebabaoglu/courses/security10-11/...marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP Nel 1997 viene

ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA !

Esercitazione 03

Angelo Di Iorio

© Babaoglu 2001-2010 Sicurezza

Sommario

■  Gnu Privacy Guard (GPG) ●  Principali funzionalità

■  Descrizione esercitazione ●  Scopo ●  Interazione con il sistema

© Babaoglu 2001-2010 Sicurezza

Gnu Privacy Guard (GPG)

■  PGP è un programma basato su crittografia simmetrica e asimmetrica, usato per proteggere informazioni digitali ●  permette anche firma digitale ed uso di certificati

■  'PGP', 'Pretty Good Privacy' e 'Pretty Good' sono tutti marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP

■  Nel 1997 viene lanciato il Working Group IETF che standardizza OpenPGP (RFC 2440 e 4880)

■  GPG è l’implementazione di OpenPGP della Free Software Foundation, rilasciato con licenza GPL

http://www.gnupg.org/

© Babaoglu 2001-2010 Sicurezza

Chiavi GPG (1/2) ■  Comando per generare le chiavi ●  gpg --gen-key

■  Che cosa viene richiesto ●  Tipo delle chiavi

▴  Default, DSA (firmare) ELG-E (cifrare/decifrare)

●  Lunghezza delle chiavi ▴  1024 per DSA ▴  2048 per ELG-E

●  Informazioni personali ▴  Nome completo ▴  Indirizzo email

●  Passphrase ▴  Per proteggere le chiavi private ▴  NON DEVE ESSERE DIMENTICATA

Page 2: Esercitazione 03 - Plone sitebabaoglu/courses/security10-11/...marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP Nel 1997 viene

© Babaoglu 2001-2010 Sicurezza

Chiavi GPG (2/2)

■  Due coppie di chiavi: ●  DSA (Digital Signature Algorithm)

▴  Cifrario a chiave pubblica , basato sulla difficoltà di calcolo del logaritmo discreto

▴  Usato per le firme digitali

●  ELG-E (Elgamal) ▴  Cifrario a chiave pubblica, basato sulla difficoltà di calcolo del logaritmo

discreto ▴  Usato per cifrare e decifrare i messaggi

■  Si parla di chiave primaria (usata per firmare) e di chiavi subordinate

■  Ogni coppia di chiavi ha un suo Key ID

© Babaoglu 2001-2010 Sicurezza

GPG - Keyring locali

■  Pubring.gpg ●  Informazioni sulle chiavi pubbliche (anche degli altri)

■  Secring.gpg ●  Informazioni sulle (proprie) chiavi segrete

■  Memorizzati sulla propria macchina (di solito nella subdirectory .gnupg/ della home)

■  Lista di tutte le chiavi disponibili ●  gpg --list-keys

© Babaoglu 2001-2010 Sicurezza

GPG - Certificato di revoca

■  Comando ●  gpg --output revoke.asc --gen-revoke primary key ID

■  A cosa serve ●  Per dichiarare che quella chiave non è più utilizzabile

■  Quando lo si genera ●  Non appena si crea la chiave

■  Quando lo si rende pubblico ●  Nel caso in cui la chiave privata è compromessa ●  gpg --import revoke.asc ●  gpg --keyserver server --send-keys user ID

© Babaoglu 2001-2010 Sicurezza

GPG - Comunicare le chiavi

■  Via file ●  Export

▴  gpg --armor --export --output pubkey.asc Key ID ▴  Consegnare il file al destinatario

●  Import ▴  Ottenere il file dal mittente ▴  gpg --import file

■  Via Keyserver ●  Export

▴  gpg --keyserver server --send-key User ID

●  Import ▴  gpg --keyserver server --recv-key Key ID

Page 3: Esercitazione 03 - Plone sitebabaoglu/courses/security10-11/...marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP Nel 1997 viene

© Babaoglu 2001-2010 Sicurezza

GPG - Cifrare e decifrare messaggi

!  gpg --encrypt --recipient user ID --output file out file in ●  Cifra utilizzando la chiave pubblica dell’utente user ID il

contenuto del file file in, e salva il risultato in file out

!  gpg --decrypt --output file out file in ●  Decifra utilizzando la chiava privata dell’utente di default il

contenuto del file file in e salva il risultato in file out

© Babaoglu 2001-2010 Sicurezza

GPG - Firmare e verificare messaggi

!  gpg --sign --output file out file in ●  Firma il contenuto di file in utilizzando la propria chiave privata

(utente di default)

!  gpg --verify file in ●  Verifica la firma. Risultato “booleano”

!  gpg --decrypt --output file out file in ●  Verifica la firma, decifra e salva il messaggio originale

© Babaoglu 2001-2010 Sicurezza

GPG - Firmare e cifrare

!  gpg --sign --encrypt --recipient user ID --output file out file in ●  Cifra e firma il file di input

■  Il comando che si usa solitamente

© Babaoglu 2001-2010 Sicurezza

Esercitazione - Scopo

■  Creare chiavi GPG

■  Decifrare messaggi cifrati (e firmati) con chiavi GPG

Page 4: Esercitazione 03 - Plone sitebabaoglu/courses/security10-11/...marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP Nel 1997 viene

© Babaoglu 2001-2010 Sicurezza

Esercitazione - Breve descrizione

■  Creare una chiave GPG (se la avete già potete usare quella – purchè associata ad un indirizzo del dominio cs.unibo.it oppure studio.unibo.it)

■  Uploadare la chiave GPG sul sistema: http://labsicurezza.nws.cs.unibo.it/cgi-bin/esercitazione03/index.php ■  Ricevere via mail (in allegato) la chiave pubblica del

tutor ed un file di testo firmato e cifrato. ■  Decifrare il contenuto del file di testo

© Babaoglu 2001-2010 Sicurezza

Esercitazione – Creazione delle chiavi

■  Tra le sottochiavi deve essere presente una chiave per cifrare ●  E.g., ELG-E

© Babaoglu 2001-2010 Sicurezza

Esercitazione - Scambio delle chiavi (1/2)

■  Collegarsi all’interfaccia web ●  http://labsicurezza.nws.cs.unibo.it/cgi-bin/esercitazione03/

index.php ■  Riempire la form specificando ●  Nome ●  Cognome ●  Matricola ●  Indirizzo mail (del dominio cs.unibo.it oppure studio.unibo.it)

●  Chiave pubblica dello studente (in formato “armor”)

© Babaoglu 2001-2010 Sicurezza

Esercitazione – Scambio delle chiavi (2/2) + Messaggio firmato e cifrato

■  Il sistema spedisce automaticamente una mail: ●  Dall’indirizzo [email protected] ●  All’indirizzo di posta appena specificato dallo studente ●  Subject: [Laboratorio Sicurezza 2010/11: Esercitazione 03]:

Messaggio firmato e cifrato per Cognome Nome Matricola

■  La mail contiene: ●  Riassunto dei dati personali dello studente ●  Gli allegati necessari a completare l’esercitazione

Page 5: Esercitazione 03 - Plone sitebabaoglu/courses/security10-11/...marchi registrati da PGP Corporation, la software house per cui lavora Phil Zimmermann, autore di PGP Nel 1997 viene

© Babaoglu 2001-2010 Sicurezza

Esercitazione – Gli allegati della mail

■  Chiave dello studente appena uploadata (che in realtà è superflua)

■  Chiave pubblica GPG del tutor (ASCII-armored)

■  Un file di testo firmato (con la chiave privata GPG del tutor) e cifrato (usando la chiave pubblica GPG dello studente)

© Babaoglu 2001-2010 Sicurezza

Esercitazione - Cosa inserire nel report

■  L’esercitazione si completa decifrando il messaggio

■  Nel report va inserito il messaggio decifrato

(anche se non richiesto vi consiglio di importare la chiave del tutor nel vostro keyring per provare altre funzionalità GPG)

© Babaoglu 2001-2010 Sicurezza

Esercitazione - Nota

■  Il messaggio di posta viene spedito automaticamente dal sistema

■  Se non si riceve il messaggio contattare il tutor all’indirizzo [email protected]

© Babaoglu 2001-2010 Sicurezza

Riferimenti

■  Gnu Privacy Guard ●  http://www.gnupg.org/

■  GPG Handbook ●  http://www.gnupg.org/gph/en/manual.html