corso di reti di calcolatori a.a. 2005-2006 prof. d. rosaci capitolo sei: il livello delle...

32
Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

Upload: umberto-motta

Post on 02-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

Corso di Reti di CalcolatoriA.A. 2005-2006Prof. D. Rosaci

Capitolo Sei:

Il livello delle Applicazioni

Page 2: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Il livello delle applicazioni

Nessuno dei livelli visti in precedenza effettuano compiti realmente utili per l’utente, ma forniscono soltanto un supporto di comunicazione affidabile Tuttavia, anche a livello delle applicazioni vi è la necessità di protocolli di supporto per le applicazioni reali Analizzeremo tre classi di protocolli

– Sicurezza– DNS– Gestione della Rete

Inoltre analizzeremo due applicazioni reali:– Il World Wide Web– La posta elettronica

Page 3: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

La Sicurezza nelle reti

Nei primi decenni di esistenza, le reti venivano usate solo dai ricercatori universitari per inviare messaggi o dai dipendenti delle industrie per condividere stampanti: scarse le necessità di sicurezza

Oggni milioni di cittadini usano Internet per effettuare operazioni che coinvolgono flussi di denaro e dati personali

Page 4: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Le problematiche

Nessuno dovrebbe poter leggere o modificare messaggi destinati ad altri

Nessuno dovrebbe poter accedere senza autorizzazione a servizi remoti

Dovrebbe esser certa la provenienza di ogni messaggio

Dovrebbe essere impossibile intercettare e riprodurre messaggi autografi

Dovrebbe essere impossibile negare di aver inviato messaggi invece effettivamente spediti

Page 5: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Gli avversari

Avversario Scopo

Studente Divertirsi a curiosare nella posta altrui

Hacker Verificare i sistemi di sicurezza di altri; rubare dati

Venditore Pretendere di rappresentare tutta Europa

Uomo d’affari Scoprire il piano di mercato di un concorrente

Ex dipendente Vendicarsi per essere stato licenziato

Cassiere Appropriarsi del denaro di una società

Agente di cambio Negare una promessa fatta ad un cliente via e-mail

Truffatore Rubare numeri di carte di credito

Spia Scoprire la forza militare di un nemico

terrorista Rubare segreti per una guerra batteriologica

Page 6: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Quattro aree di problemi

Segretezza: riservatezza delle informazioni Autenticazione: determinare con chi si sta

parlando prima di rivelare informazioni Non disconoscimento: provare che una

persona abbia inviato un certo messaggio Controllo di integrità: essere sicuri che un

messaggio sia davvero uguale a quello spedito e non sia stato modificato

Page 7: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Dove si trova la sicurezza?

Ogni livello contribuisce in qualche modo A livello fisico, si possono racchiudere le linee di trasmissione

in tubi sigillati pieni di gas argo ad alta pressione che, se fuoriesce, fa scattare un allarme

A livello data-link è possibile codificare i pacchetti appena lasciano la macchina sorgente e decodificarli sulla macchina destinazione

A livello rete è possibile installare firewall per accettare o non accettare pacchetti

A livello trasporto è possibile codificare l’intera connessione Nessuna di queste soluzioni risolve efficacemente i problemi di

autenticazione e di non disconoscimento: occorre operare a livello delle applicazioni per affrontare tali problemi

Page 8: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

La crittografia

Storia lunga e pittoresca Quattro gruppi di persone hanno contribuito

a svilupparla:– Militari– Diplomatici– Scrittori di diari– amanti

I militari hanno avuto il ruolo più importante

Page 9: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Limiti della crittografia tradizionale

Difficoltà del codificatore nell’eseguire le trasformazioni necessarie

Difficoltà di poter passare da un metodo crittografico ad un altro, quando il primo fosse stato scoperto

Page 10: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Modello crittografico

Intrusi passivi: ascoltano semplicemente

Testo

in chiaro

Intruso

Metodo di cifratura, E

Testo cifrato, C=EK(P)

Chiave di decifratura, K

Chiave di cifratura, K

Metodo di decifratura, D

Testo

in chiaro

Intrusi attivi: possono modificare i messaggi

Page 11: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Testi, chiavi, codifiche

Testo in chiaro P: messaggio da codificare E: funzione di codifica, parametrizzata attraverso

una chiave K C=EK(P): codifica del messaggio P D: funzione di decodifica, parametrizzata attraverso

la chiave K (la stessa utilizzata per la codifica) P=DK(C): codifica di C

Ovviamente P=DK(EK(P): ):

Page 12: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Crittografia, Crittanalisi e Crittologia

Crittografia: arte di progettare cifrari Crittanalisi: arte di violare cifrari Crittologia= crittografia+crittanalisi

Page 13: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Crittografia: regole generali

Si deve assumere che il crittanalista conosca il metodo di codifica E

Inventare un metodo di codifica è cosa difficile: inutile pensare di tenerlo segreto, reinventandolo ogni volta che qualcuno lo scopre

La forza della codifica deve stare nel parametro (la chiave) La chiave deve essere lunga: esempio della serratura a

combinazione (una chiave con 3 cifre significa 1000 combinazioni possibili, una con 6 cifre genera 1.000.000 di combinazioni)

Per evitare che qualcuno vi legga la posta possono bastare chiavi a 64 bit, per messaggi che coinvolgono la politica internazionale ne occorrono almeno 256

Page 14: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Crittanalisi: 3 varianti principali

Problema del testo cifrato semplice: a disposizione una grande quantità di testo cifrato e nessun testo in chiaro (tipo giochi nei giornali)

Problema del testo in chiaro conosciuto: a disposizione del testo cifrato e il corrispondente testo in chiaro.

Problema del testo in chiaro selezionato: si è in grado di codificare parti del testo in chiaro di propria scelta

Page 15: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Metodi di codifica

Cifrari a sostituzione Cifrari a trasposizione

Page 16: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Cifrari a sostituzione

Ogni lettera o gruppo di lettere vengono rimpiazzati da un’altra lettera o gruppo di lettere in modo da mascherarli

Cifrario di Cesare: Es: A diventa D, B diventa E, C diventa F,…,e Z diventa C

Generalizzazione del cifrario di Cesare: ogni lettera invece di essere trasposta di 3 posti è trasposta di k posti. K è la chiave del metodo

Dai galli in poi, questo cifrario non ha più fatto impazzire nessuno

Page 17: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Sostituzione monoalfabetica

Miglioramento nella cifratura per sostituzione: ogni lettera è mappata in una qualunque altra lettera. La chiave è quindi lunga quanto l’intero alfabeto

Nell’esempio, esistono 21! chiavi

a b c d e f g h i l m n o p q r s t u v z

g h u a c b v r p s l e z n q o t c f d i

Page 18: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Violare la sostituzione monoalfabetica

Basta una quantità sorprendentemente piccola di testo in chiaro per violarla

L’attacco sfrutta le proprietà statistiche dei linguaggi naturali Ad es., in inglese la “e” è la lettera più comune, seguita da “t”, “o”, “a”,

“n”, ecc. I bigrammi più comuni sono “th”, “in”, “er”, “re” e “an”. I trigrammi più comuni sono “the”, “ing” e “and”.

Basta che il crittanalista conti le frequenze relative di ogni lettera del cifrato. Quindi potrebbe assegnare la lettera più frequente alla “e”, quella con seconda maggior frequenza alla “t” e così via. Quindi potrebbe fare ragionamenti analoghi con trigrammi e bigrammi

Si potrebbero anche cercare nel testo parole che si sa che dovrebbero essere frequenti: ad es. “finanziamento” in un testo finanziario (si cercherebbero due “i” separate da quattro occorrenze)

Page 19: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Cifrari a trasposizione

I cifrari a sostituzione conservano l’ordine dei simboli del testo in chiaro, ma li trasformano

I cifrari a trasposizione riordinano le lettere senza trasformarle

Cifrario comune: trasposizione per colonne Parola chiave: MEGABYTE Lo scopo della chiave è di numerare le colonne, con

la colonna 1 sotto la lettera della chiave più vicina all’inizio dell’alfabeto. Il testo in chiaro è scritto orizzontalmente per righe, quello cifrato viene letto per colonne, iniziando dalla colonna numero 1.

Page 20: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Esempio di cifratura a trasposizione

M E G A B Y T E

6 3 5 1 2 8 7 4

l’ a t t a c c o

e’ f i s s a t o

p e r l e c i n

q u e d i d o m

a n i g h t u v

Testo in chiaro: lattaccoefissatoperlecinquedidomanightuv

Testo cifrato: tsldgaseihafeunoonmvtireilepqa

Page 21: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Violare un cifrario a trasposizione

1. Ipotizzare un numero di colonne

2. Ordinare le colonne: l’ordinamento migliore corrisponde alla migliore adesione che le frequenze delle parole nel cifrato manifestano rispetto al testo in chiaro

Page 22: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Algoritmi a chiave segreta

Tradizionalmente i crittografi si affidavano ad algoritmi semplici ed a chiavi molto lunghe

Ai nostri giorni si cerca di rendere l’algoritmo di codifica così complesso che anche se il crittanalista riuscisse a possedere una grande mole di testo cifrato, non riuscirebbe a dare ad esso nessun senso (nessuna possibilità di usare le proprietà statistiche dei linguaggi naturali)

Page 23: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Dispositivi a blocco P e a blocco S

Un dispositivo a blocco P è usato per effettuare una trasposizione su un ingresso di 8 bit. E’ possibile creare un blocco P che effettui qualunque trasposizione, praticamente alla velocità della luce

Un dispositivo a blocco S accetta un ingresso a n bit e produce un’uscita ad n bit, effettuando una cifratura per sostituzione

Mettendo in cascata un’intera seriue di blocchi P ed S, possiamo ottenere un’uscita che è una funzione estremamente complicata dell’ingresso

Page 24: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Il DES

E’ un cifrario composto sviluppato dall’IBM e adottato nel 1977 dal governo statunitense

Il testo in chairo viene codificato in blocchi di 64 bit L’algoritmo, parametrizzato da una chiave di 56 bit, ha 19 passi

distinti Il primo passo è una tarsposizione indipendente dalla chiave

sui 64 bit del testo in chiaro L’ultimo passo è l’esatto contrario di questa trasposizione Il penultimo passo scambia i 32 bit più a sinistra con i 32 bit più

a destra I rimanenti 16 passi sono funzionalmente identici, ma

parametrizzati da differenti funzioni della chiave

Page 25: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Violare il DES

Alla fine, per quanto complicato, il DES è essenzialmente un cifrario a sostituzione monoalfabetico che utilizza una chiave a 64 bit

Ogni volta che viene dato in pasto al DES un testo in chiaro di 64 bit, si produce lo stesso testo cifrato di 64 bit

Un crittoanalista può sfruttare questa proprietà per violarlo

Page 26: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Esempio di violazione del DES

• Leslie può accedere al file codificato. Può cambiarlo per ovviare alla situazione a lei sfavorevole?

• Basta copiare il blocco 11 (quello relativo al premio di una collega che Leslie sa essere la favorita del capo) nel blocco 3

•Esistono dei metodi per ovviare a questa debolezza del DES, quali il DES concatenato

Page 27: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Macchine per violare il DES

Molte proposte sono state avanzate per violare il DES

Nel 1977, venne progettata una macchina da Diffie ed Helmann che poteva effettuare una ricerca nello spazio delle chiavi in meno di un giorno (la macchina sarebbe però costata 20 milioni di dollari)

Esiste il metodo proposto da Quisquater e Girault nel 1991, detto della Lotteria Cinese, che propone di utilizzare congiuntamente milioni di processori per esplorare lo spazio delle chiavi. 256 è uno spazio che può essere così violato in pochi minuti

Page 28: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Ancora sul DES

Sono state fatte varie proposte per migliorare il DES (es., eseguire due volte il DES con due diverse chiavi da 56 bit), ma sono state trovate soluzioni per violare ognuna di tali proposte in tempi ragionevoli

Eppure DES è ancora largamente utilizzato per applicazioni di sicurezza importanti, quali quelle bancarie tipo bancomat

Page 29: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Un problema fondamentale: la segretezza della chiave

Tutti i metodi finora passati in rassegna sono affetti dalla medesima problematica: la chiave deve essere conservata con grande attenzione

Ma la chiave deve pure essere distribuita dal cifratore a chi deve decrittare: la distribuzione è un punto di estrema debolezza del processo crittografico

Nel 1976 due ricercatori della Stanford University, Diffie ed Helmann proposero un crittosistema radicalmente nuovo, nel quale la chiave di decifratura era diversa da quella di cifratura, e non poteva essere derivata da quest’ultima. Nella loro proposta, l’algoritmo di cifratura E e quello di decifratura D devono rispettare i seguenti requisiti:

1. D(E(P))=P2. E’ estremamente difficile dedurre D da E3. E non può venir violato da un attacco con testo in chiaro selezionato

Page 30: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Algoritmi a chiave pubblica

Una persona (es. Alice) che vuole ricevere messaggi segreti dapprima inventa due algoritmi, EA e DA che rispettano i requisiti suddetti

L’algoritmo, con la relativa chiave di cifratura, EA è reso pubblico. DA è invece mantenuto privato

Se adesso un utente (es. Bob) vuole inviare un messaggio ad Alice, basta che cripti il messaggio usando l’algoritmo a chiave pubblica EA.

Alice sarà in grado di leggere il messaggio decriptandolo con la sua chiave segreta DA.

Un intruso che intercettasse il messaggio non conoscerebbe la chiave segreta di Alice e non potrebbe decriptare il messaggio

Alice ha risolto il problema di non dover distribuire la sua chiave segreta

Page 31: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

L’algoritmo RSA

E’ stato ideato da un gruppo del MIT (Rivest, Shamir e Adleman) nel 1978

1. Scegliere due grandi numeri primi, p e q (tipicamente più grandi di 10100)

2. Calcolare n=pxq e z=(p-1)x(q-1)3. Scegliere un numero che sia primo rispetto a z e chiamarlo d4. Trovare e tale che exd=1 mod z Quindi si divide il testo in blocchi di k bit, con 2K<n. Per cifrare il blocco P, si calcola C=Pe(mod n) Per decifrare C, si calcola P=Cd (mod n) E’ possibile provare che per ogni P le funzioni di cifratura e

decifratura sono inverse La chiave pubblica consiste nella coppia (e,n) La chiave privata è la coppia (d,n)

Page 32: Corso di Reti di Calcolatori A.A. 2005-2006 Prof. D. Rosaci Capitolo Sei: Il livello delle Applicazioni

D. RosaciCorso di Reti di Calcolatori Capitolo Sesto

Sicurezza di RSA

Si basa sulla difficoltà di fattorizzare numeri grandi Se il crittanalista riuscisse a fattorizzare n (pubblico)

potrebbe trovare p e q e da questi z. Attraverso z ed e si può trovare d Ma fattorizzare un numero grande richiede tempi

epocali. Ad esempio, se il numero è di 500 cifre, occorrerebbero 1025 anni usando una macchina che impienga 1 microsecondo per istruzione.