Esercitazione 01

Download Report

Transcript Esercitazione 01

Esercitazione 01
Laboratorio di Sicurezza 2014/2015
Andrea Nuzzolese
■  Chiavi asimmetriche
Argomenti toccati
●  Firma digitale
●  RSA
■  Digest
●  SHA1
ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA
© Nuzzolese 2011-2013
Sicurezza
Brevemente - In cosa consiste
■  Lo studente
● 
● 
● 
● 
● 
Crea una coppia di chiavi RSA
Crea un file PDF
Calcola il digest del file
Firma il digest (in realtà firma un file di testo che contiene il digest)
Fa upload dei file originale, del digest e della chiave pubblica
■  Il sistema
●  Verifica il digest firmato
© Nuzzolese 2011-2013
Sicurezza
Il laboratorio virtuale
■  L’esercitazione va svolta utilizzando il Laboratorio
Virtuale
■  Occorre scaricare ed istallare il pacchetto
babaoglu-security-lab1
●  How-to: http://www.virtlab.unibo.it/howto/installSoftware.html
●  Importante: dopo la prima installazione occorre aggiornare gli
indici dell’ Advanced Packaging Tool (APT) con i seguenti
comandi:
● $> sudo apt-get update
● $> sudo update-apt-xapian-index
© Nuzzolese 2011-2013
Sicurezza
Come fare l’esercitazione
Creazione delle chiavi
■  Una volta istallato il pacchetto occorre:
●  Decomprimere l’archivio Esercitazione1 disponibile nella
directory !/usr/share/unibo/babaoglu-security-lab1 nella vostra
home;
●  Copiare la cartella estratta (!esercitazione01) in /var/www
●  Avviare il server apache
▴  $> sudo /etc/init.d/apache2 start
●  Svolgere l’esercitazione disponibile su
http://localhost/esercitazione01
© Nuzzolese 2011-2013
Sicurezza
■  Coppia di chiavi RSA
■  Lunghezza
●  512
●  1024
●  2048
■  Formato delle chiavi
●  PEM
© Nuzzolese 2011-2013
File di input e Digest
Interazione con il sistema – 1/2
http://localhost/esercitazione01/index.php
■  File di input
●  PDF
●  <numero di matricola>.pdf
●  Contiene le seguenti informazioni
▴  Nome,
▴  Cognome
▴  Numero di matricola
■  Dati personali
●  Nome e Cognome
●  Numero di matricola
●  Username del dominio studio.unibo.it
■  Upload dei file
▴  Indirizzo email del dominio studio.unibo.it
■  Digest
●  SHA1
●  Firmato usando la chiave privata RSA
●  In realtà ciò che va firmato è un file di testo contenente il solo
digest (dettagli nella pagina di sottomissione)
© Nuzzolese 2011-2013
Sicurezza
Sicurezza
●  PDF <numero di matricola>.pdf
●  Digest SHA1 firmato
●  Chiave pubblica
■  CAPTCHA
© Nuzzolese 2011-2013
Sicurezza
Interazione con il sistema 2/2
Cosa inserire nel report
■  Il sistema verifica il digest utilizzando i file forniti
■  In caso negativo
■  Copia della mail di notifica comprensiva di header
●  Messaggio di errore
●  Dovete ripetere la prova
■  Il contenuto (binario!) degli allegati NON è necessario
■  In caso positivo
●  “Ok, digest verificato”
●  Mail di notifica allo studente e al tutor
●  Se la mail non arriva, contattare il tutor
■  Se non presente, l’esercitazione non si considera
superata
▴  [email protected]
© Nuzzolese 2011-2013
Sicurezza
© Nuzzolese 2011-2013
Sicurezza
openSSL (1/2)
■  openSSL
● 
● 
● 
● 
● 
● 
● 
● 
http://www.openssl.org/
Linux e Windows
Open source
Linea di comando
Presente nelle macchine dei lab
Generazioni di chiavi
Digest (MD5/SHA1/…)
Certificati
© Nuzzolese 2011-2013
Sicurezza
openSSL (2/2)
■  openssl command [command_opts] [command_args]
■  Differenti comandi
● 
● 
● 
● 
● 
base64: codifica in base64
genrsa/rsa: per la generazione e gestione di chiavi RSA
gendsa/dsa: per la generazione e gestione di chiavi DSA
dgst: creazione firma e verifica di digest
rsautl: firmare/verificare dati con RSA
© Nuzzolese 2011-2013
Sicurezza
Attenzione!
Domande?
■  Questo comando NON va bene per firmare un digest
creato precedentemente e chiamato digest.txt:
openssl dgst –sha1 –sign rsa-private.pem
–out digest.txt.sha1 digest.txt
■  La verifica del sistema fallisce. Perchè?
© Nuzzolese 2011-2013
Sicurezza
© Nuzzolese 2011-2013
Sicurezza