• Non ci sono risultati.

Elementi di crittografia Elementi di Elementi di

N/A
N/A
Protected

Academic year: 2021

Condividi "Elementi di crittografia Elementi di Elementi di "

Copied!
42
0
0

Testo completo

(1)

RETI DI CALCOLATORI II

Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI

Facoltà di Ingegneria

Università degli Studi di Udine

(2)

Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in

Nota di Copyright

(3)

Elementi di crittografia Elementi di Elementi di

crittografia

crittografia

(4)

Argomenti della lezione Argomenti della lezione

Î Proprietà necessarie alla

sicurezza della comunicazione

Î

Proprietà necessarie alla

sicurezza della comunicazione

Î Elementi di crittografia

Î

Elementi di crittografia

(5)

Sicurezza della comunicazione Sicurezza della comunicazione

Autenticazione Autenticazione Autenticazione

Segretezza Segretezza Segretezza

Integrità del messaggio Integrit

Integritàà del messaggiodel messaggio

Proprietà desiderabili Propriet

Propriet à à desiderabili desiderabili

(6)

Può anche essere desiderabile

la segretezza del fatto stesso che sia avvenuta una comunicazione tra due persone (proprietà meno ovvia)

Può anche essere desiderabile

la segretezza del fatto stesso che sia avvenuta una comunicazione tra due persone (proprietà meno ovvia)

Segretezza Segretezza

Il contenuto del messaggio può essere letto soltanto dal destinatario (proprietà banale) Il contenuto del messaggio

può essere letto soltanto dal destinatario (proprietà banale)

(7)

Autenticazione Autenticazione

Come faccio ad essere certo dell’identità della persona

con cui comunico?

Come faccio ad essere certo dell’identità della persona

con cui comunico?

Î Autenticazione del mittente

Î Autenticazione del destinatario Î Autenticazione del mittente

Î Autenticazione del destinatario

Servono:

Servono:

(8)

Integrità del messaggio Integrità del messaggio

Come posso garantire che il messaggio ricevuto sia esattamente quello

inviato (e non sia stato modificato da qualcuno?)

Come posso garantire che il messaggio ricevuto sia esattamente quello

inviato (e non sia stato modificato da qualcuno?)

titi amoamo

BobBob AliceAlice

(9)

Integrità del messaggio Integrità del messaggio

Come posso garantire che il messaggio ricevuto sia esattamente quello

inviato (e non sia stato modificato da qualcuno?)

Come posso garantire che il messaggio ricevuto sia esattamente quello

inviato (e non sia stato modificato da qualcuno?)

Alice Alice BobBob

titi amoamo BobBob

titi odioodio

BobBob

(10)

Sicurezza per chi?

Sicurezza per chi?

Î Apparati dell’infrastruttura di rete (es. server DNS, router, ecc.)

Î Apparati dell’infrastruttura di rete (es. server DNS, router, ecc.)

Î Utenti (persone) Î Utenti (persone)

Î Falle nella sicurezza

dell’infrastruttura possono essere veicolo di attacchi alle attività

degli utenti

Î Falle nella sicurezza

dell’infrastruttura possono essere veicolo di attacchi alle attività

degli utenti

(11)

Vulnerabilità della rete Vulnerabilità della rete

Î Violazione della segretezza mediante sniffer

Î Violazione della segretezza mediante sniffer

Broadcast di livello 2 Broadcast di livello 2

Î Incertezza del mittente (IP spoofing)

Î Incertezza del mittente (IP spoofing)

Indirizzi IP non autenticati

Indirizzi IP non autenticati

(12)

Vulnerabilità della rete Vulnerabilità della rete

Î Possibile alterazione dei messaggi Î Possibile alterazione dei messaggi

Informazioni trasmesse in chiaro

Informazioni trasmesse in chiaro

(13)

DoS: Denial of Service DoS:

DoS: Denial Denial of of Service Service

Attacchi orientati ad impedire il normale

funzionamento dei sistemi Attacchi orientati ad

Attacchi orientati ad

impedire il normale

impedire il normale

funzionamento dei sistemi

funzionamento dei sistemi

Esempi: SYN flooding (apertura connessioni TCP), smurf (ICMP echo

con falsi IP sorgenti) Esempi: SYN

Esempi: SYN floodingflooding (apertura (apertura connessioni TCP),

connessioni TCP), smurfsmurf (ICMP (ICMP echoecho con falsi IP sorgenti)

con falsi IP sorgenti)

Vulnerabilità della rete

Vulnerabilità della rete

(14)

Principi di crittografia Principi di crittografia

Permette di ottenere:

Permette di ottenere:

Permette di ottenere:

Autenticazione Autenticazione Autenticazione

Segretezza Segretezza Segretezza

Integrità del messaggio Integrit

Integritàà del messaggiodel messaggio

(15)

Definizioni Definizioni

ABCD

testo in chiaro testo in

chiaro

algoritmo di cifratura

algoritmo di cifratura

#^$&

testo cifratotesto cifrato

(16)

Definizioni Definizioni

algoritmo di cifratura

algoritmo di

cifratura ABCD

testo in chiaro testo in

chiaro

#^$&

testo testo

(17)

“Scambia ogni lettera in posizione i con quella in posizione (i

3+3) mod m”

“Scambia ogni lettera in posizione i con quella in posizione (i

3+3) mod m”

Algoritmo segreto Algoritmo segreto

Esempio:

Esempio:

(18)

void crypto (char s[]) void crypto (char s[]) {{

intint i, m = i, m = strlenstrlen (s);(s);

for (i = 0; i < m; i++) for (i = 0; i < m; i++) {{

char t;

char t; intint j;j;

j = (i*i*i + 3) % m;

j = (i*i*i + 3) % m;

t = s[i];

t = s[i];

s[i] = s[j];

s[i] = s[j];

s[j] = t;

s[j] = t;

}}

Cifratura

Cifratura

(19)

void decrypto (char s[]) {

int i, m = strlen (s);

for (i = m-1; i >= 0; i--) {

char t; int j;

j = (i*i*i + 3) % m;

t = s[i];

s[i] = s[j];

s[j] = t;

}

Decifratura

Decifratura

(20)

Esempio:

Esempio:

"Cara Alice, credo

"Cara Alice, credo cheche Trudy Trudy cici stiastia spiando"spiando"

"

"arTarT sausAsausA eieeie aioCnodcrdaaioCnodcrda y cc,e y cc,e trlidchiptrlidchip""

(21)

NO: è necessario permettere lo sviluppo del software

necessario

NO: è necessario permettere lo sviluppo del software

necessario

Algoritmo segreto per Internet?

Algoritmo segreto per Internet?

algoritmi pubblici + CHIAVI

algoritmi pubblici

+ CHIAVI

(22)

Definizioni Definizioni

ABCD

testo in chiaro testo in

chiaro

algoritmo di cifraturaalgoritmo di cifratura

#^$&

testo testo chiave

KA chiave

KA

(23)

Definizioni Definizioni

algoritmo di decifratura algoritmo di

decifratura ABCD

testo in chiaro testo in

chiaro

%&*#

testo cifratotesto cifrato chiave

KB chiave

KB

(24)

Definizioni Definizioni

KH#4

testo

incomprensibiletesto incomprensibile algoritmo di

decifratura algoritmo di

decifratura

%&*#

testo testo

?

? ?

(25)

Chiavi simmetriche Chiavi simmetriche

Stessa chiave per crittografia e decrittografia

Stessa chiave

per crittografia

e decrittografia

(26)

Come scambiarsi le chiavi?

Come scambiarsi le chiavi?

Problema:

Problema:

Chiavi simmetriche Chiavi simmetriche

len (chiave) > len (messaggio) chiavi sempre diverse

len (chiave) > len (messaggio) chiavi sempre diverse

Massima sicurezza:

Massima sicurezza:

(27)

Algoritmi per chiavi simmetriche

Algoritmi per chiavi simmetriche

Î Schema di sostituzione fissa di ogni lettera con un’altra

Î Schema di sostituzione fissa di ogni lettera con un’altra

Cifrature monoalfabetiche (cifrario di Cesare)

Cifrature monoalfabetiche (cifrario di Cesare)

Î Forzatura tramite analisi statistica delle ricorrenze Î Forzatura tramite analisi

statistica delle ricorrenze

(28)

a b c d e f g h i j k l m n o ...

f g e s j y z k r q p i t a v ...

a b c d e f g h i j k l m n o ...

f g e s j y z k r q p i t a v ...

“ciao”

“ciao” “erfv” “erfv”

Esempio: cifrario di Cesare

Esempio: cifrario di Cesare

(29)

Algoritmi per chiavi simmetriche

Algoritmi per chiavi simmetriche

n cifrari di Cesare usati ciclicamente

n cifrari di Cesare usati ciclicamente

Cifrature polialfabetiche (cifrari di Vigenere)

Cifrature polialfabetiche

(cifrari di Vigenere)

(30)

a b c d e f g h i j k l m n o ...

k l m n o p q r s t u v w x y ...

e f g h i j k l m n o p q r s ...

y z a b c d e f g h i j k l m ...

k l m n o p q r s t u v w x y ...

e f g ...

...

a b c d e f g h i j k l m n o ...

k l m n o p q r s t u v w x y ...

e f g h i j k l m n o p q r s ...

y z a b c d e f g h i j k l m ...

k l m n o p q r s t u v w x y ...

e f g ...

...

chiave: “key” chiave: “key”

Esempio: cifrario di Vigenere

Esempio: cifrario di Vigenere

(31)

Tipologie di attacco Tipologie di attacco

Î Forza bruta (tutte le possibili chiavi)

Î Forza bruta (tutte le possibili chiavi)

Î Analisi statistica (ricorrenze delle lettere, delle sillabe, ecc.)

Î Analisi statistica (ricorrenze delle lettere, delle sillabe, ecc.)

Î Analisi con testo in chiaro scelto Î Analisi con testo in chiaro scelto

Î Analisi del crittogramma di cui è nota una parte del testo

(es. intestazione standard)

Î Analisi del crittogramma di cui è nota una parte del testo

(es. intestazione standard)

(32)

Algoritmi per chiavi simmetriche

Algoritmi per chiavi simmetriche

Î Chiave a 56 bit Î Chiave a 56 bit

Î 16 fasi di manipolazione ed EXOR con i bit della chiave

Î 16 fasi di manipolazione ed EXOR con i bit della chiave

DES: Data Encryption Standard DES: Data Encryption Standard

Î Due fasi di permutazione Î Due fasi di permutazione

(33)

Algoritmi per chiavi simmetriche

Algoritmi per chiavi simmetriche

Forzato nel 1997 Forzato nel 1997

Evoluzione: DES triplo (3DES)

Evoluzione: DES triplo (3DES)

(34)

Chiavi pubbliche Chiavi pubbliche

Due chiavi Due chiavi

Chiave pubblica Chiave pubblica

Chiave privata (segreta) Chiave privata (segreta)

(35)

d

B

(e

B

(m)) = m = e

B

(d

B

(m)) d

B

(e

B

(m)) = m = e

B

(d

B

(m))

Chiavi pubbliche Chiavi pubbliche

Chiavi e algoritmo di cifratura

devono soddisfare la proprietà: Chiavi e algoritmo di cifratura

devono soddisfare la proprietà:

(36)

Chiavi pubbliche Chiavi pubbliche

Dove:

Dove:

Dove:

dB chiave privata di Bob, tipicamente usata per la

dB chiave privata di Bob, tipicamente usata per la

eB chiave pubblica di Bob, tipicamente usata per la

cifratura

eB chiave pubblica di Bob, tipicamente usata per la

cifratura

d

B

(e

B

(m)) = m = e

B

(d

B

(m))

d

B

(e

B

(m)) = m = e

B

(d

B

(m))

(37)

Crittografia a chiave pubblica Crittografia a chiave pubblica

%&*#

testo cifrato

eB(m) testo cifrato

eB(m) chiave

pubblica di Bob

eB chiave pubblica

di Bob eB

ABCD

testo in chiaro testo in

chiaro

algoritmo di cifraturaalgoritmo di cifratura

(38)

Crittografia a chiave pubblica Crittografia a chiave pubblica

%&*# testo cifrato e (m)

testo cifrato e (m)

chiave privata

di Bob chiave privata

di Bob

ABCD

testo in chiaro dB(eB(m))=m testo in chiaro

dB(eB(m))=m algoritmo di

decifratura algoritmo di

decifratura

(39)

Î RSA (Ron Rivest, Adi Shamir, Leonard Adleman)

Î RSA (Ron Rivest, Adi Shamir, Leonard Adleman)

Î Chiavi generate a partire da due

numeri primi p e q molto grandi:

p ·q dell’ordine di 1024 bit

(difficile scomposizione in fattori)

Î Chiavi generate a partire da due

numeri primi p e q molto grandi:

p ·q dell’ordine di 1024 bit

(difficile scomposizione in fattori)

Descrizione dell’algoritmo a pag. 603 Descrizione dell’algoritmo a pag. 603

Algoritmo RSA per

cifratura a chiave pubblica Algoritmo RSA per

cifratura a chiave pubblica

(40)

Algoritmo RSA per

cifratura a chiave pubblica Algoritmo RSA per

cifratura a chiave pubblica

richiede calcolo di elevamento a potenza con numeri molto grandi richiede calcolo di elevamento a potenza con numeri molto grandi

Lungo tempo di elaborazione Lungo tempo di elaborazione

Problema:

Problema:

(41)

Algoritmo RSA per

cifratura a chiave pubblica Algoritmo RSA per

cifratura a chiave pubblica

scambio di chiavi simmetriche di sessione

scambio di chiavi simmetriche di sessione

RSA → chiavi di sessione

DES → contenuto dei messaggi RSA → chiavi di sessione

DES → contenuto dei messaggi

Possibile impiego:

Possibile impiego:

(42)

Elementi di crittografia Elementi di Elementi di

crittografia

crittografia

Riferimenti

Documenti correlati

 I ricavi da vendita di beni sono riconosciuti nel momento della consegna al cliente (nel caso in cui il cliente abbia il diritto alla restituzione il riconoscimento del ricavo

Supponiamo di essere arrivati a un certo passo della costruzione e di saper costruire tutti i punti del piano che hanno coordinate appartenenti a un certo campo di numeri F..

H ed E sono valori dell'energia dello stesso corpo riferiti a due sistemi di coordinate che sono in moto l'uno relativamente all'altro, mentre il corpo in questione è in quiete in

La proprietà non è responsabile per quanto pubblicato dai lettori nei commenti ad ogni post. Verranno cancellati i commenti ritenuti offensivi o lesivi

© 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei

2 E che, a sua volta, costituisce il cuore pulsante di una concezione (che Brigaglia chiama) pragmatica del potere, che si ritroverebbe, appunto, solo nelle opere anni ’80:

Per fortuna l’informatore decide di aiutare ancora l’ispettore fornendogli indizi proprio attraverso il computer. Il numero

Finalmente arrivano informazioni sul complice della Signora Violet, l’abilissima ladra arrestata da Numerik.. Gli indizi sono contenuti in una busta chiusa: l’ispettore Numerik la