Corso di Network Security a.a. 2012/2013. Soluzione dei quesiti sulla prima parte del corso



Documenti analoghi
Corso di Sicurezza nelle reti a.a. 2010/2011. Soluzione dei quesiti sulla prima parte del corso

Corso di Sicurezza nelle reti a.a. 2009/2010. Soluzione dei quesiti sulla prima parte del corso

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

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

Firma digitale Definizione

da chi proviene un messaggio?

RETI DI CALCOLATORI. Crittografia. La crittografia

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

La sicurezza nelle reti di calcolatori

Capitolo 8 La sicurezza nelle reti

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Crittografia e sicurezza informatica. Sistema di voto elettronico

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

un protocollo è costituito da una serie di passi (step) e coinvolge due o più persone (parti, entità) allo scopo di svolgere un incarico

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Introduzione alla Crittografia

Approfondimento di Marco Mulas

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I.

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)

Introduzione alla crittografia con OpenPGP

Analisi di programmi: Crittografia

Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale

Integrità dei messaggi. Funzioni di Hash e codici MAC. Message digest. Message digest e funzioni di hash

Scambio delle chiavi. mercoledì 7 dicembre 2011

Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec

LICEO STATALE ENRICO MEDI CON INDIRIZZI:

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Cenni di crittografia. Luca Anselma

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti

Sommario. Introduzione alla Sicurezza Web

metodi crittografici maurizio pizzonia sicurezza dei sistemi informatici e delle reti

Un po di teoria dei numeri

La sicurezza nelle reti di calcolatori

Autenticazione dei messaggi e funzioni hash

Firma digitale e PEC: facili e sicure

Sicurezza a livello IP: IPsec e le reti private virtuali

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Robustezza crittografica della PEC

Lezione 7 Sicurezza delle informazioni

Firma digitale e PEC: aspetti crittografici e sicurezza

Sicurezza nelle reti

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer)

Crittografia e Protocolli di Sicurezza

Programmazione in Rete

Sicurezza dei sistemi informatici Firma elettronica E-commerce

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it

Informatica per la comunicazione" - lezione 13 -

PRIMAVERA IN BICOCCA

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

La sicurezza nel Web

La firma digitale CHE COSA E'?

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

PROGETTO LAUREE SCIENTIFICHE -MATEMATICA 2006/2007 Modelli Matematici per la Società Incontro del

Aspetti Crittografici nel Cloud Computing

DOCUMENTO ELETTRONICO E FIRMA DIGITALE

Quasar Sistemi S.r.l.

FIRMA DIGITALE Cos'è e come funziona

Sicurezza: necessità. Roberto Cecchini Ottobre

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti

Crittografia a chiave pubblica

Crittografia con OpenSSL crittografia asimmetrica

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Sicurezza digitale. requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza. soddisfatti mediante

Vendere online. Andrea Marin. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO

La sicurezza nelle comunicazioni Internet

La somma. Esempio: Il prodotto. Esempio:

La privacy e il Web 2.0: una soluzione sicura per Google Documents e Mozilla Firefox

La firma digitale. Autore: Monica Mascia

Reti di Calcolatori:

ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE

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

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 20 febbraio Usa questa pagina per la brutta, staccala, non consegnarla.

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Aspetti crittografici dell online banking

Allegato A: Regole tecniche per la gestione dell identità.

Crittografia con OpenSSL crittografia asimmetrica

Corso di ARCHITETTURA DEI SISTEMI INFORMATIVI - Prof. Crescenzio Gallo. 114 Sistemi informativi in rete e sicurezza 4.6

Serve a garantire la nostra privacy nell era era della comunicazione digitale.

Firma digitale: aspetti tecnologici e normativi. Milano,

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

La matematica dell orologio

TRASMISSIONE DI DATI VIA INTERNET

Esercizi per il corso di Algoritmi e Strutture Dati

CHE COS E LA FIRMA DIGITALE

Crittografia in Java

Protezione della posta elettronica mediante crittografia

Corso di Network Security a.a. 2012/2013. Raccolta di alcuni quesiti sulla SECONDA parte del corso

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

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Sui concetti di definizione, teorema e dimostrazione in didattica della matematica

Metodi e Modelli Matematici di Probabilità per la Gestione

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno

Transcript:

Università degli Studi di Parma Dipartimento di Ingegneria dell Informazione Corso di Network Security a.a. 2012/2013 Soluzione dei quesiti sulla prima parte del corso 1) Si consideri un semplice cifrario a sostituzione monoalfabetico con shift (tipo cifrario di Cesare), con un alfabeto di N caratteri (con N=21 o 26 a scelta), con chiave K=4. Si cripti la stringa SEGRETO. Plain text: SEGRETO Nel caso si consideri un alfabeto di 21 caratteri: Cipher text: c = E k (m) = E 4 ("SEGRETO") = "ZIMVIAS" Nel caso si consideri invece un alfabeto di 26 caratteri: Cipher text: c = "WIKVIXS" 2) Sulla base di una funzione hash H() e di una chiave simmetrica K AB condivisa tra due entità A e B, si chiede: i) un possibile schema di autenticazione di A da parte di B (authenticator) ii) di inviare un messaggio m da A a B garantendo l autenticità/integrità dei dati inviati iii) di costruire una possibile funzione di criptaggio (e la corrispondente funzione di decriptaggio) per inviare un messaggio m da A a B i) Possibile schema di autenticazione di A da parte di B (authenticator): A B A R H(K AB R) ii) A invia messaggio m garantendo autenticità/integrità: A B m H(K AB m) iii) Costruzionie di una funzione di criptaggio: O 0 = IV O i = H(K AB O i-1 ) o = O 1 O 2 O 3.. O n.. c = E KAB,IV (m) = m o messaggio inviato:

A B : x= IV c decriptaggio: m = D KAB,IV (c) = c o 3) Si indichi lo schema generale della struttura di un cifrario di Feistel. E' sufficiente indicare lo schema di un singolo round. Input (2w bits) F K i Output (2w bits) 4) Dato un algoritmo E K (. ) di crittografia a blocchi di lunghezza q, si descriva lo schema di codifica di tipo CBC (Cipher Block Chaining) di un messaggio m di lunghezza L>q (si supponga per semplicità L=n q). m=m1 m2... m n c=iv c1 c2... c n con: c 0 =IV c i =Ek(m i c i-1 ) 5) Indicare la complessità di un attacco a forza bruta alla chiave segreta K di dimensione n bit utilizzata per criptare un messaggio m di dimensione pq bit tramite algoritmo di crittografia a blocchi E K () di dimensione q in modalità CBC, supponendo di conoscere: m, c=e-cbc(k,m), e le funzioni E K () e D K () utilizzate. Si riporti la complessità in termini di numero di operazioni di criptaggio E K () e/o decriptaggio D K () dei singoli blocchi, in funzione di n, p e q. Partendo dal messaggio m, il numero massimo di chiavi che si devono provare (caso peggiore) per trovare K tale che E- CBC(K,m) c è 2 n. Poiché ogni tentativo richiede l esecuzione di p operazioni di criptaggio, la complessità di tale attacco è: p 2 n. Stesso risultato si ottiene cercando K tale che D-CBC(K,c) m.

6) Si consideri un algoritmo E k (. ) di crittografia a blocchi di dimensione 4 bit. Supponendo che data una chiave segreta K la tabella di codifica di E k (. ) sia la quella riportata a lato, si chiede di criptare in modalità CBC con IV=0000 il seguente messaggio in chiaro: m= 1100 1010 0010 1101 c= 0101 0111 1111 1101 (iv=0000) plaintext 0000 ciphertext 1110 0001 0100 0010 1101 0011 0001 0100 0010 0101 1111 0110 1011 0111 1000 1000 0011 1001 1010 1010 0110 1011 1100 1100 0101 1101 1001 1110 0000 1111 0111 7) Si consideri il seguente messaggio in chiaro: m = 1100 0000 1100 0000 che viene inviato criptato utilizzando lo stesso algoritmo di crittografia simmetrica a blocchi di dimensione 4bit E k (. ) e stessa chiave K dell esercizio precedente (stessa tabella di sostituzione/codifica) in modalità OFB con IV=0001, ottenendo: c = 1000 0010 0001 1001 (IV=0001) Si chiede di: indicare come deve essere modificato tale messaggio cifrato in modo che decifrandolo si ottenga: m = 1100 0000 1001 0000 c'= 1000 0010 0100 1001 (iv=0001) 8) Si consideri un messaggio m=m1 M2 M3 M4, e si supponga di critparlo con un algoritmo di crittografia a blocchi E K () in modalità CBC (la dimensione dei blocchi di E K () è pari alla dimensione dei blocchi Mi), con iv=iv0, ottenendo il messaggio cifrato c= C1 C2 C3 C4. Se un attaccante modifica il messaggio cifrato riarrangiando i blocchi che lo compongono componendo il messaggio cifrato c = C1 C3 C2 C4, quale sarà il messaggio m =M 1 M 2 M 3 M 4 erroneamente decifrato a partire da c? Indicare il valore dei blocchi M i in funzione di Mi e Ci. Criptando in modalità CBC si ha: C i = E K (M i C i-1 ) e: M i = D K (C i ) C i-1 e quindi anche: D K (C i ) = M i C i-1 Indicando con: m = M 1 M 2 M 3 M 4 sapendo che c = C1 C3 C2 C4 si ricava che: M 1 = D K (C 1) IV0 = D K (C1) IV0 = M1 M 2 = D K (C 2) C 1 = D K (C3) C1 = (M3 C2) C1 M 3 = D K (C 3) C 2 = D K (C2) C3 = (M2 C1) C3 M 4 = D K (C 4) C 3 = D K (C4) C2 = (M4 C3) C2

9) Indicare lo schema del HMAC in funzione di un algoritmo di hash H(.), e calcolare il numero di passate che devono essere svolte con H durante il calcolo dell'hmac di un messaggio m lungo N. M dove M è la dimensione di blocco che H elabora in una singola passata (e.g. M=512bit nel caso di MD5 e SHA1). Schema dell'hmac: Numero di passate necessarie per calcolare l'hmac: N+3 10) Costruire uno schema di crittografia simmetrica per criptare messaggi m di qualsiasi lunghezza tramite chiave segreta K, basato su algoritmo di crittografia a blocchi E K () (e.g. AES) ma SENZA effetto valanga, cioè in modo che la modifica di un bit del testo cifrato abbia effetto su un solo bit del testo in chiaro (Suggerimento, nello schema utilizzare anche l operazione XOR). m=m1 m2... m n c=iv c1 c2... c n c i =m i o i con: o i = Ek(o i-1 )=AES(k,o i-1 ) o 0 =IV 11) Si supponga di voler inviare in modo sicuro un messaggio m da A a B, garantendo SOLO la confidenzialità dei dati inviati. Per la cifratura del messaggio si utilizzi un algoritmo di crittografia simmetrica. Indicare schematicamente quali funzioni possono essere svolte in fase di invio/ricezione, supponendo che A e B condividano tra loro solo le rispettive chiavi RSA pubbliche KU A e KU B (si indichino con KR A e KR B le corrispondenti chiavi private). Ricezione: m E ks (m) E E ks (m) {Ks} KUB RSA k s KU B

12) Si supponga di voler inviare in modo sicuro un messaggio m da A a B, garantendo SOLO l autenticità/integrità dei dati inviati. Indicare schematicamente quali funzioni possono essere svolte in fase di invio/ricezione, supponendo che A e B condividano una chiave segreta K AB, e che dispongano solo di un algoritmo di hash H(). Ricezione: m m H(m K AB ) H mac(k AB,m)=H(m K AB ) K AB 13) Si supponga di voler inviare un messaggio m da A a B, garantendo sia la confidenzialità dei dati inviati che la loro autenticità/integrità. Per la cifratura del messaggio si utilizzi un algoritmo di crittografia simmetrica. Indicare schematicamente quali funzioni possono essere svolte in fase di invio/ricezione, supponendo che A e B condividano tra loro solo le rispettive chiavi RSA pubbliche KU A e KU B (si indichino con KR A e KR B le corrispondenti chiavi private), e abbiano a disposizione i seguenti algoritmi di crittografia: RSA, AES, SHA1. Ricezione: dati inviati: x = AES Ks (m) RSA KUb (Ks) RSA KRa (H(m)) oppure: x = AES Ks (m RSA KRa (H(m))) RSA KUb (Ks) 14) Si supponga di voler inviare in modo sicuro un messaggio m da una sorgente A contemporaneamente a due destinazioni B e C, garantendo sia la confidenzialità dei dati inviati (tramite cifratura) che la loro integrità e autenticazione (tramite firma digitale). Per la cifratura del messaggio si utilizzi un algoritmo di crittografia simmetrica E k (). Si supponga che A, B e C possiedano le loro rispettive chiavi RSA private, K - A, K - B e K - C, e che condividano tra loro solo le chiavi pubbliche K + A, K + B e K + C. Indicare schematicamente quali funzioni sono svolte da A in fase di invio, e quale è il messaggio x effettivamente spedito da A a B e C. Inivio: A B C E Ks (m) {Ks}K + B {Ks}K+ C {H(m)}K- A Dati inviati: x = E Ks (m) {Ks}K + B {Ks}K + C {H(m)}K - A

15) Indicare un possibile schema sicuro di autenticazione tra Alice (supplicant) e Bob (authenticator), nell ipotesi che Alice e Bob condividano le rispettive chiavi RSA pubbliche KU A e KU B (si indichino con KR A e KR B le corrispondenti chiavi private). A l i c e B o b request R {R} KR_A oppure: request {R} KU_A R oppure: request {R} KU_A {R} KU_B 16) Indicare un possibile schema sicuro di mutua autenticazione tra due utenti Alice e Bob, basato sull uso di una funzione hash H(. ) e su un segreto condiviso K AB. A l i c e request R1 H(R1 K AB ), R2 H(R2 K AB ) B o b 17) Si consideri uno schema di scambio di chiavi tra A e B di tipo Diffie-Hellman, e si indichi come questo può essere attaccato con successo da una terza parte C. A C B y a =g xa y c1 =g xc1 K=K K=K ac =gxa xc2 y c2 =g xc2 K ac y b =g xb K bc bc =gxb xc1

18) Nell ipotesi che date tre entità A, B e C: i) A possieda una coppia di chiavi privata/pubblica KR A e KU A ; ii) C possieda la chiave pubblica di A, KU A ; iii) B e C condividano una chiave segreta K BC ; iv) B e C non dispongano di alcun canale di comunicazione tra loro. Si chiede di indicare un possibile schema di comunicazione tramite il quale sia possibile instaurare una associazione sicura tra A e B (ovvero una chiave segreta K AB ). Un possibile schema che permette ad A e B di ottenere una chiave condivisa K AB è il seguente: A B C E Kbc (K ab ) {Kab E Kbc(K ab )} KUa new K ab cioè: C A: A B: { Kab, {Kab} Kbc } KUa {Kab} Kbc Osservazione: Volendo proteggere lo scambio di chiave anche da attacchi di tipo replay e/o sostituzione si può ricorrere ad uno schema tipo Needham-Schroeder dove C agisce da trusted-third party (KDC) tra A e B, dove però viene usata tra A e C la chiave pubblica di A al posto di quella segreta simmetrica Kac: A C: C A: A B: B A: A B: IDa,IDb,Na {Kab,IDb,Na,{Kab,IDa} } Kbc {Kab,IDa} Kbc {Nb} Kab {Nb-1} Kab KUa 19) Nell'ipotesi che A possieda i seguenti certificati digitali: cert CA3 (A), cert CA2 (CA3), cert CA1 (CA2), e cert CA1 (CA1) (dove è indicato con cert Y (X) il certificato di X firmato da Y), indicare cosa è necessario che A invii a B in modo tale che B possa comunicare in modo sicuro con A, nei seguenti casi: B possiede: A deve inviare a B: cert CA1 (CA1) cert CA3 (A), cert CA2 (CA3), cert CA1 (CA2) cert CA3 (A) nulla (nessun certificato, solo l identità di A) cert CA1 (CA2) cert CA3 (A), cert CA2 (CA3) cert CA1 (CA1), cert CA3 (A) nulla (nessun certificato, solo l identità di A)

20) Se A possiede cert B (A) e cert C (B) (dove si è indicato con cert Y (X) il certificato di X firmato da Y), mentre D possiede cert E (D), indicare: a) cosa deve possedere A per autenticare D? indicare anche un possibile schema di autenticazione. b) cosa deve possedere D per autenticare A? indicare anche un possibile schema di autenticazione. a) La chiave pubblica di D (o un certificato di D), oppure la chiave pubblica di E (o un certificato di E) b) La chiave pubblica di A (o un certificato di A), oppure la chiave pubblica di B (o un certificato di B), oppure la chiave pubblica di C (o un certificato di C). 21) Si costruisca una coppia di chiavi privata/pubblica per RSA, utilizzando come coppia di numeri primi p e q i seguenti valori: p=3, q=11. Con tale chiavi si cripti il messaggio m=2. n=pq=33 φ(n)=(p-1)(q-1)=20 possibili candidati alla coppia e,d sono: 1,3,7,9,11,13,17,19 se si sceglie e=7, si trova che il moltiplicativo inverso di e modulo φ(n) è d=3; infatti ed=1 mod 20 e e d possono essere usate rispettivamente come chiave pubblica e privata per cifrare decifrare m; quidi: c=e(m)=2 7 mod 33=29 si può verificare che: m=d(c)=29 3 mod 33=((29x29) mod 33) mod 33)=16x29 mod 33=2 22) Si faccia un esempio di creazione di chiave condivisa tra A e B con Diffie-Hellman, utilizzando per il generatore g e il numero primo p i seguenti valori: g=2, p=11. Supponendo che A scelga il segreto x a =5, mentre B scelga il segreto x b =3, si ha: A invia a B ya=g xa mod p=10 B invia ad A ya=g xb mod p=8 dati ya e xb, B costruisce: Kba=ya xb mod p=10 3 =100x10=1x10=10 dati yb e xa, A costruisce Kab= yb xa mod p=8 5 =(8 2 ) 2 x8=2 2 x8=4x8=10 giustamente si ha Kab=Kba 23) Tramite l algoritmo di Euclide determinare il massimo comune divisore gcd(, ) tra: a) 36, 15 b) 47, 20 c) 43, 35 a) gcd(36,15)=(36,15)=(15,6)=(6,3)=3 b) gcd(47,20)=(20,7)=(7,6)=(6,1)=1 c) gcd(43,35)=(35,8)=(8,3)=(3,2) =(2,1)=1 24) Determinare λ, µ tali che25 λ + 32 µ = 1, per mezzo dell'algoritmo di Euclide esteso, ed utilizzare il risultato ottenuto per risolvere l'equazione 25 x 4 mod 32 Euclide esteso: r k = a k. 32 + b k. 25

con: r k =r k-2 r k-1 a k =a k-2 a k-1 b k =b k-2 b k-1 partendo da: 32=1. 32 + 0. 25 25=0. 32 + 1. 25 si ha (esecuzione dell'algoritmo di Euclide): rk ak bk 32 1 0 25 0 1 7 1-1 4-3 4 3 4-5 1-7 9 da cui si ottiene che: λ=9 e µ=-7, ovvero: 9. 25 7. 32 = 1 da cui: 9. 25 = 1 -µ. 32 ovvero: 9. 25 = 1 mod 32 che posso sfruttare per risolvere l equazione 25x=4 mod 32, infatti: 25x=4 mod 32 x=25-1. 4 mod 32 x =9. 4 mod 32=4 mod 32 25) Si costruisca una coppia di chiavi privata/pubblica per RSA, utilizzando come coppia di numeri primi p e q i seguenti valori: p=7, q=11 e come chiave pubblica KU=<e,n> con e=13. Con tale chiavi si decripti il messaggio c=2. n=77, Φ(n)=60 e=13 Con l'algoritmo di Euclide: rk ak bk 60 1 0 13 0 1 8 1-4 5-1 5 3 2-9 2-3 14 1 5-23 si ottiene: 1=5. 60-23. 13 quindi:: (-23). 13 = mod 60 d=e -1 =(-23)=37 m=2 37 mod 77=51 infatti: 51 13 mod 77=2=c