La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni.

Presentazioni simili


Presentazione sul tema: "CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni."— Transcript della presentazione:

1 CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni di crittanalisi A.A. 2004/2005

2 PARTE I (Carpenè) Struttura e funzionamento-bilanciamento del carico-prima implementazione

3 La crittanalisi: 2 parole La Crittologia è la scienza che studia come difendere linformazione da attacchi intenzionali due distinte discipline: Crittografia: gli algoritmi e i protocolli che occorrono a fronteggiare gli attacchi degli intrusi Crittanalisi: valuta la robustezza esaminando come, in quanto tempo e con quali risorse è possibile rompere le difese

4 Il sistema sistema distribuito per effettuare attacchi con forza bruta: proviamo tutte le combinazioni possibili di chiave per giungere comunque a una soluzione del problema, anche in un periodo di tempo lungo. Obiettivi: comprendere come il calcolo parallelo sia uno strumento efficace per risolvere problemi di calcolo in tempi ragionevoli e cimentarci con una caso pratico

5 Possibili architetture (1) server centrale con funzione di manager

6 manager replicato su tutti i nodi clienti Possibili architetture (2)

7 simmetrico Possibili architetture (3)

8 Architettura del Manager Listener: Allocazione statica RequestManager, Esecutor: Allocazione dinamica

9 Il bilanciamento del carico carico = coefficiente prestazione macchina + numero chiavi + lunghezza file Se aumentiamo i processori lefficienza tende a zero Necessità di stimare un lowerbound

10 Caso due processori Ipotesi: caso peggioreI due processi partono insieme

11 tmono > trandevouztot + tmono /N tmono *(N-1)/N > trandevouztot tmono > N/(N-1)*trandevouztot Dove: trandevouztot = trandevouzcliente +tloadbalancing +N*(trandevouzhost+tallocazioneprocessi) Caso generale di N processori : tmono > trandevouztot + tricercalocale

12 Caso generale di N processori : tcontrollofile*nchiavi > N/(N-1)*trandevouztot nchiavi > N*trandevouztot /[(N-1)*tcontrollofile] L > log 2 (N*trandevouztot /[(N-1)*tcontrollofile]) Lowerbound nchiavi = 2^L (L lunghezza chiave) Attenzione!!! gli host potrebbero essere già carichi!

13 È interessante notare come nel caso di un numero elevato di processori la funzione di lower-bound possa essere approssimata: Infatti per N tendente a un numero elevato diventa nchiavi > trandevouztot /tcontrollofile e quindi: Lowerbound log 2 (trandevouztot/tcontrollofile)

14 prova con un file di 16 righe cifrato con una chiave TriploDes a 168 bit, con tre slave attivi. nettamente inferiore a 2^168 Usando valori temporali indicativi è risultato in queste condizioni un lower bound minimo di 375468 chiavi.

15 Ripartizione del carico per ogni slave viene calcolato il carico corrispondente in base al carico di cui è già gravato e in base al carico totale. Per ognuno di essi è: NKey = (K/N)*(1-CaricoSlave/CaricoTotale) Nkey=0 nessun carico assegnato

16 Esempio di esecuzione (1)

17 Esempio di Esecuzione (2)

18 E se il carico totale è inferiore al lwb??? si è previsto di assegnare ugualmente il compito ripartendolo su un sottoinsieme degli host attivi. Necessarie due procedure: La prima ricalcola il lwb La seconda determina le n macchine meno cariche

19 Nel caso in cui sia presente un unico host attivo la soluzione è semplice: il carico viene assegnato interamente a quellhost.

20 Il client e lo slave (1) Il processo client si occupa di fornire una semplice interfaccia grafica che permetta allutente di inserire i dati (nome del file, lunghezza della chiave e algoritmo di codifica), quindi il client invia la richiesta al processo Listener che si occuperà di servirla e rimane in attesa del risultato.

21 Il client e lo slave (2) Lo slave invia costantemente un messaggio di disponibilità ad effettuare il servizio al Listener e si occupa di istanziare un oggetto GestoreRichiesta che fa fisicamente loperazione di ricerca Invia il nome del gestore al ServerManger

22 Se non ci sono slave attivi il sistema risponde: Spiacente nessuno slave presente Impossibile effettuare loperazione

23 Il client e lo slave (3) Il formato del pacchetto richiesta è questo: mentre il pacchetto dello slave è semplicemente questo:

24 La comunicazione

25 Il risultato

26 Implementazione Implementazione in java 20 classi Uso della libreria matematica BigInteger Per la comunicazione inter-processo: java- RMI

27 Conclusioni Dipendenza dello speed-up dalla probabilità di trovare la chiave subito La sequenza del rande-vouz limita lo speed- up del sistema Sviluppi futuri Prevenzione di fenomeni di congestione Eventuale gestione dinamica del bilanciamento

28 Bibliografia [1] R.Laschi, R.Montanari: Appunti di Tecnologie per la sicurezza (Progetto Leonardo Bologna). [2] Dispense di reti di calcolatori LA (Docente: Antonio Corradi, università di Bologna). [3] Dispense di reti di calcolatori LS (Antonio Corradi)


Scaricare ppt "CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni."

Presentazioni simili


Annunci Google