54
Cifratura Simmetrica

Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

Cifratura Simmetrica

Page 2: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 1

ALGORITMO DI CIFRATURA E( )

c = E(k, m) — Il messaggio cifrato c è ottenuto cifrando il messaggio in chiaro m con la chiave k

ALGORITMO DI DECIFRATURA D()

m = D(k, c) = D(k, E(k, m)) — Il messaggio in chiaro m è ottenuto decifrando il messaggio cifrato c con la chiave k

PROPRIETÀ di E() e D()

I. Dato c è molto difficile ricavare m se non si conosce k e viceversa

II. Dati m e c è molto difficile ricavare k (a meno che k non sia utilizzata una sola volta)

Algoritmi e Proprietà

Page 3: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 2

Metafora: cassaforte

cm

k

Chiunque vuole aprire la cassaforte, per mettere o togliere valori, deve conoscere la combinazione

E() Network m

k

D()c

Page 4: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 3

Comunicazione Confidenziale

E()m

k

cD()

k

mc

Alice e Bob vogliono comunicare in segreto

Ipotesi:Alice e Bob si fidano l’uno dell’altroAlice e Bob concordano E() e D()La chiave k è un segreto condiviso tra Alice e Bob

network

Page 5: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 4

Considerazioni

...come fa ad essere sicura che m = D(k,c) è buono?

Alice conosce m in anticipo

Alice conosce in anticipo parte di m (Es.: email)

Alice sa che m ha certe ridondanze strutturali (Es.: documentoASCII)

Quando Alice riceve c...c = DES(k, m) = f3 9e 8a 73 fc 76 2d 0f 59 43 bd 85 c3 c9 89 d2

bf 96 b6 4f 34 b8 51 dd (multiplo di 8)lo decifra con k = 0x3dd04b6d14a437a9 (56 bit)ed ottiene m = DES(k, c) = “Ci vediamo alle 20!”

Page 6: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 5

l Qual è l’effetto di una “piccola” modifica al testo cifrato?

– Modifica di un bit del testo cifratoSia c[0]7 = ~c[0]7, ⇒M′=“e8¢biö=}o alle 20:00!”

– Modifica di un byte del testo cifratoSia c[CipherTextLenght-1] = 0x00, ⇒m´ = “Ci vediamo alle "}2gÀlõ”

È molto difficile per un avversario determinare c*, modificandoc, in modo tale che c* produca un testo in chiaro m* scelto dall’avversario

Una “piccola” modifica al testo cifrato

Page 7: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 6

Considerazioni

Quando Alice riceve m è portata a credere che:

Solo Bob ha visto il messaggio m (confidenzialità)

Il messaggio m proviene da Bob (provenienza)

Il messaggio non è stato modificato (integrità)

Cosa vuol dire che Alice e Bob si fidano l’uno dell’altro?

• Alice (Bob) non rivela m

• Alice (Bob) tiene segreta la chiave k

•Alice (Bob) è competente per quanto riguarda l’amministrazione di sistema

•Alice (Bob) non rivela la chiave: Alice (Bob) non “imbroglia”

Page 8: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 7

Chiave compromessa

Se l’avversario viene a conoscenza della chiave k, allora lachiave si dice compromessa

Se k è compromessa, allora

• L’avversario può intercettare e leggere tutte le comunicazioni traAlice e Bob (rilascio del contenuto dei messaggi)

• L’avversario può inviare messaggi ad Alice fingendo di essere Bob e viceversa (masquerade)

• L’avversario può intercettare e modificare i messaggi spediti daAlice a Bob e viceversa (modifica dei messaggi)

Page 9: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 8

Chiave non compromessa

l L’avversario inserisce messaggi…ma Alice se ne accorge e li scarta

l L’avversario modifica messaggi…ma Alice se ne accorge e li scarta (idem)

l L’avversario può eliminare messaggi. – La crittografia non aiuta; ci vuole ridondanza.

l L’avversario può replicare messaggi– La crittografia non aiuta; va previsto nel protocollo.– Esempio: si inserisce un contatore cnt nel messaggio: E(k, (m,

cnt))

l L’avversario tenta di crittanalizzare i messaggi

Page 10: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 9

Crittanalisi

l Crittanalisi è la disciplina che si occupa di ricavare il testo in chiaro senza conoscere la chiave, oppure lachiave stessa

l Ipotesi1. Il crittanalista ha accesso a tutti i dati cifrati2. Il crittanalista conosce i dettagli dell’algoritmo (Principio di

Kerckhoff)

l Tecniche di crittanalisi1. Ciphertext-only Attack2. Known-Plaintext Attack3. Chosen-Plaintext Attack4. Chosen-Ciphertext Attack

Page 11: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 10

Ciphertext-only attack

l Il crittanalista dispone solo di testo cifrato ottenuto conl’algoritmo E() e la chiave k

– Dato Ci = E(k, Ti), 1≤ i ≤n, determinareil testo in chiaro T1, T2,…,Tn oppurela chiave k, oppureun algoritmo per inferire Tn+1 da Cn+1 = E(k, Tn+1)

l È l’attacco più semplice da cui difendersi perché il crittanalista dispone della minima quantità di informazione

l Solamente algoritmi poco robusti non resistono ad unciphertext-only attack

Page 12: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 11

Known-plaintext attack

l Il crittanalista dispone non solo di testo cifrato maanche del corrispondente testo in chiaro

– Dati Ti e Ci = E(k, Ti), 1≤ i ≤n, determinarela chiave k, oppureun algoritmo per inferire Tn+1 da Cn+1 = E(k, Tn+1)

Page 13: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 12

Chosen-plaintext attack

l Il crittanalista dispone non solo del testo cifrato e delcorrispondente testo in chiaro, ma è anche in grado di scegliere il testo in chiaro

– Dati Pi e Ci = E(k, Ti), 1≤ i ≤n, dove i Pi sono scelti dal crittanalista, determinarela chiave k, oppureun algoritmo per inferire Tn+1 da Cn+1 = E(k, Tn+1)

l Attacco è molto potente: il crittanalista può scegliere“ad arte” dei testi in chiaro che, molto probabilmente,rivelino la struttura della chiave

l Gli algoritmi più diffusi sono stati progettati perresistere a questo attacco

Page 14: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 13

Chosen-ciphertext attack

l Il crittanalista sceglie il testo cifrato da crittanalizzareed ha anche accesso al testo in chiaro corrispondente

– Dati Ci e Ti = D(k, Ci), 1≤ i ≤n, dove i Ci sono scelti dal crittanalista, determinarela chiave k

l Questo attacco è applicato principalmente ai crittosistemi a chiave pubblica

l Nei sistemi simmetrici, questo attacco ha la stessa complessità del chosen-plaintext attack

Page 15: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 14

Brute-force attack (I)

l La sicurezza di un algoritmo simmetrico dipende da:– La forza dell’algoritmo– La lunghezza della chiave

l Brute-force attack: ricerca esaustiva nello spazio delle chiavi

– Se la chiave è su n bit, allora l ci sono 2n chiavi possibilil sono necessari, in media, 2n-1 tentativi

l Si ricorre ad un brute-force attack quando non c’è altro modo per violare l’algoritmo (algoritmo “perfetto”)

– Brute-force attack è il limite superiore alla sicurezza di unalgoritmo di cifratura

Page 16: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 15

Un esempio: sostituzione monoalfabetica

l La chiave è una permutazione dell’alfabetol Cifratura: Ogni carattere in chiaro è sostituito dal

carattere della chiave che ha la stessa posizione nell’alfabeto

l Numero delle chiavi– 26! – 1 ≈ 4 × 1026 (maggiore del numero di secondi che è

trascorso dalla nascita dell’universo)

Alfabeto in

chiaro A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Chiave

J U L I S C A E R T V W X Y Z B D F G H K M N O P Q

Page 17: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 16

Un esempio (2)

l Esempio– T = “TWO HOUSEHOLDS, BOTH ALIKE IN DIGNITY,

IN FAIR VERONA, WHERE WE LAY OUR SCENE”(“Romeo and Juliet”, Shakespeare)

– T′ = “TWOHO USEHO LDSBO THALI KEIND IGNIT YINFAIRVER ONAWH EREWE LAYOU RSCEN E”

– C = “HNZEZ KGSEZ WIGUZ HEJWR VSRYI RAYRH PRYCJRFMSF ZYJNE SFSNS WJPZK FGLSY S”

Page 18: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 17

Un esempio (3)

l Il cifrario a sostituzione monoalfabetica ha un grosso difetto: mantiene la distribuzione delle frequenze delle lettere

l La crittanalisi si può fare “a mano”– Metodo di al-Kindi (~secolo X)– Ciphertext-only attack, Lingua nota (statistiche), Testo

“abbondante” di argomento “generale”– Costò la testa a Maria Stuart (Congiura di Babington, 1587)

Page 19: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 18

Brute-force attack (II)

T1: Tempo necessario per brute-force a 106 decifrature/s (ragionevole con gli elaboratori odierni)

T2: Tempo necessario per brute-force a 1012 decifrature/s (elaboratori a parallelismo massiccio)

Key size (bit)

Numero di chiavi T1 T2

32 232 = 4.3×109 231µs = 35.8 ′ 2.15 ms

56 256

= 7.2×1016 255µs =

1142 anni 10 ore

128 2128

= 3.4×1038 2127 µs =

5.4×1024 anni 5.4×10

18 anni

Page 20: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 19

Brute-force attack (III)

3,9×1027

830000

1 Day

5,6×10261,3×10261,1×1025128

12000028000230056

1 Week1 Month1 YearKey size (bit)

Numero di processori necessari per un brute-force attack

Ogni processore è capace di eseguire 106 cifrature/s

Page 21: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 20

Brute-force attack (IV)

1028$

1 m$

1 Day

1027 $1027 $1025$128

1 m$100 k$10 k$56

1 Week1 Month1 YearKey size

Stima del costo medio di un elaboratore multiprocessore capace di eseguire un brute-force attack nei tempi dati

I costi relativi a 56 bit sono alla portata dei budget dei militari

Page 22: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 21

Brute-force attack (V)

l Software Crackers: 1000 volte più lenti di un hardware cracker, ma gratis!

– Con 512 workstations si ha – 1 probabilità su 200000 di violare una chiave di 56 bit in un

giorno – 1 probabilità su 64000 di violarla in un weekend.

l Sono probabilità migliori di quelle offerte da una lotteria!

l Chinese lottery

Page 23: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 22

PRINCIPALI ALGORITMI

20128CAST

18128Blowfish

50128IDEA

108112Triple-DES

4556DES

CLOCKS/BYTE (PENTIUM)

CHIAVE (bit)ALGORITMO

Page 24: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 23

Cifrario simmetrico

A = alfabeto di definizione

M= insieme dei messaggi in chiaro;

m = m1m2m3..., con mi ΠAM

C = insieme dei messaggi cifrati

c = c1c2c3..., con ci ΠAC

K = insieme delle chiavi

cm

k

E() m

k

D()c

stessa chiave

Page 25: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 24

Tipi di cifrari simmetrici

l Cifrario a blocchi (block cipher)– Un cifrario a blocchi frammenta il messaggio in chiaro in

ingresso in stringhe (blocchi) di lunghezza t fissa, e cifra unblocco alla voltal Tipicamente t ≥ 64

l Cifrario a carattere (stream cipher)– Un cifrario a carattere è sostanzialmente un cifrario a (blocchi)

a sostituzione in cui t = 1 in cui però la funzione di cifratura può cambiare per ogni carattere in in chiaro

Page 26: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 25

Cifrari a blocchi

l Cifrari semplici– Cifrario a sostituzione: sostituisce simboli di un blocco (gruppi

di simboli) con altri simboli (gruppi di simboli)l Cifrario a sostituzione monoalfabeticol Cifrario a sostituzione omofonicol Cifrario a sostituzione polialfabetica

– Cifrario a trasposizione: permuta i simboli in un blocco– I cifrari semplici non forniscono un livello di sicurezza molto

elevato.

l Cifrari composti– Ottenuti combinando insieme cifrari semplici

Page 27: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 26

SP-network

S…

…S…

…S…

…S…

……

P… … … …

S…

…S…

…S…

…S…

……

P… … … …

M M M M

plaintext

ciphertext

S: sostituzione; P: permutazione, trasposizione

round

Page 28: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 27

Proprietà di un cifrario

l Le principali proprietà di un cifrario sono (Shannon 1940):

– Confusione: Proprietà di rendere la relazione tra chiave etesto cifrato la più complessa possibile

– Diffusione: Proprietà di riorganizzare o distribuire i bit delmessaggio in chiaro in modo che la ridondanza nel testo sia inchiaro sia distribuita su tutto il testo cifrato

l Un round dovrebbe aggiungere confusione e diffusione– Sostituzione aggiunge confusione– Trasposizione aggiunge diffusione

Page 29: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 28

Data Encryption Standard (DES)

Initial Permutation (IP)

Round 1

Round 2

M

Round 16

Scambio a 32 bit

Final Permutation (IP-1)

Testo in chiaro (64 bit)

Testo cifrato (64 bit)

key scheduler

Chiave K (64 bit)

K16

K2

K1

M

K in realtà è su 56 bit: i bit di posizione 8, 16,..., sono di parità

Page 30: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 29

IP

Data Encryption Standard (DES)

Round 1

M

IP-1

Testo in chiaro (64 bit)

Testo cifrato (64 bit)

key scheduler

Chiave K (64 bit)

Round 2

Round 16

L0 R0

L1 R1

L16R16

K16

K2

K1

M

32 32

48

Page 31: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 30

DES: round i-esimo

ki

FF⊕

Li-1Li-1 Ri-1Ri-1

RiRi LiLi

32 32

32 32

32

32

48

Li = Ri-1;

Ri = Li-1 ⊕ F(Ri-1, Ki)

F: round function

Page 32: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 31

Decifratura in DES

l L’algoritmo di decifratura con chiave K è uguale all’algoritmo di cifratura con chiave K, ma con le chiavi di round Ki applicate in ordine inverso

l Dimostrazione (solo round 1)– La permutazione IP-1 della cifratura è cancellata da IP della

decifratura, si ottiene quindi (L0d, R0

d) ≡ (R16, L16)– Round 1 con chiave di round K16

l L1d = L16; R1

d = R16 ⊕ F(L16, K16)

essendo L16 = R15 e R16 = L15 ⊕ F(R15, K16) ⇒l L1

d = L16= R15

l R1d = R16 ⊕ F(L16, K16) = L15 ⊕ F(R15, K16) ⊕ F(R15, K16) = L15

– Il primo round della decifratura produce (L1d, R1

d) ≡ (R15, L15),inverte cioè il round 16

– L’inversione non dipende né da F né da Ki

Page 33: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 32

Round function F

Ri-1 Ki

E

S1 S2 S3 S4 S5 S6 S7 S8

P

32 48

48

8 × 6 bit

Sostituzione(S-box)

8 × 4 bit

Permutazione

Espansione

6

4

F(Ri-1, Ki) = P(S(E(Ri-1) ⊕ Ki )

32

32

Page 34: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 33

DATA ENCRYPTION STANDARD (DES)

l Permutazioni iniziale IP e finale IP-1

– Sono l’una l’inversa dell’altra – Non sono rilevanti ai fini della sicurezza– Alcune implementazioni SW le omettono

l Espansione E– Effetto valanga

l Sostituzione S– È una funzione non-lineare, che maggiormente contribuisce

alla sicurezza di DES. È difficile da analizzare– È progettata per massimizzare la diffusione

l Permutazione P– Aggiunge diffusione

Page 35: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 34

Ki: Chiave al round i

K

R R

PC1

PC2

64

2828

Ki

56

48

i

Permutazione e selezione

Permutazione e selezione

Rotazione sinistra (1 o 2 bit in funzione del round)

28 28

56

Page 36: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 35

DES: chiavi deboli e semi-deboli

l Chiavi deboli– Una chiave K è debole se, ∀ x, E(K, E(K, x)) = x– Una chiave debole K genera Ki tutte uguali

l Chiavi semi-deboli– Un paio di chiavi (K1, K2) sono semi-deboli se, ∀ x, E(K1, E(K2,

x)) = x

l DES ha 4 chiavi deboli e 12 chiavi semi-debolil Le chiavi deboli e semi-deboli sono ben note, e

possono essere scartate in fase di generazione

Page 37: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 36

Chiavi deboli

FFFFFFF 0000000E0E0 E0E0 E0E0 E0E0

0000000 FFFFFFF1F1F 1F1F 1F1F 1F1F

FFFFFFF FFFFFFFFEFE FEFE FEFE FEFE

0000000 00000000101 0101 0101 0101

CHIAVE EFFETTIVACHIAVE DEBOLE

Page 38: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 37

Modalità d’impiego

l Un cifrario a blocchi cifra un blocco di t-bitl Se un messaggio è costituito da due o più blocchi, il

cifrario viene impiegato secondo opportune modalità: FElectronic Codebook (ECB)FCipher block chaining (CBC)– Cipher feedback (CFB)– Output Feedback (OFB)

Page 39: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 38

Electronic Codebook (ECB)

Messaggio in chiaro di n blocchi: m = m1m2...mnMessaggio cifrato di n blocchi: c = c1c2...cn

ci = E(K, mi), 1 ≤ i ≤ n

mi = D(K, ci), 1 ≤ i ≤ n

Un errore in un blocco ci incide solo sul blocco mi

Ogni blocco mi è cifrato indipendentemente dagli altri

Due blocchi in chiaro uguali producono, a parità di chiave, dueblocchi cifrati uguali

ECB è soggetto a due attacchi: dictionary attack e block replay attack

E

K

mi ci

D

K

ci mi

Page 40: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 39

Dictionary Attack

l L’avversario può decifrare (parti di) un messaggio senza conoscere la chiave

l Known-plaintext attack– Chiave k– L’avversario costruisce una tabella Tk con le coppie (ci, mi)– Quando l’avversario legge ck, cerca in T se esiste il mk

corrispondente

l Questo attacco è efficace se l la dimensione del blocco è piccolal i messaggi contengono ridondanzal la stessa chiave è utilizzata per cifrare grosse quantità di dati

Page 41: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 40

Block Replay

l L’avversario può modificare un messaggio cifrato senza conoscere la chiave

l ESEMPIO:– Transazione bancaria: utente U sposta denaro D da una

banca B1 ad un’altra B2– La Banca B1 addebita D all’utente ed invia un messaggio di

accredito, di parì entità, alla banca B2.– Formato del messaggio

l Nome Banca Mittente: M (12 byte)l Nome Banca Ricevente: R (12 byte)l Nome Cliente: C (48 byte)l Numero Conto: N (16 byte)l Ammontare Deposito: D (8 byte)

– Block size = 64 bit

Page 42: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 41

Block Replay

l ESEMPIO– Avversario esegue

l un pagamento di 100$ ⇒ c1

l un pagamento di 100$ ⇒ c2

l ...l un pagamento di 100$ ⇒ ck

– Avversario cerca in rete i “suoi” messaggi: k messaggi cifrati uguali (k = 2÷3)

– Una volta trovati, ne replica uno a suo piacimento

Banca 1 Banca 2

Page 43: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 42

Block Replay

l ESEMPIO (...continua)– La banca previene la replicazione dei messaggi aggiungendo

un campo timestamp T (8 byte) in testa al messaggio...– Tuttavia l’avversario può eseguire un block replay attack– L’avversario

l identifica i suoi messaggi come primal intercetta un qualunque messaggio in transito e sostituisce i

blocchi 5−12 con quelli di un suo messaggo

l La modalità CBC evita questo tipo di problemi

1 2 3 4 5 6 7 8 9 10 11 12 13

T M R C N D

Numero Blocco

Campo messaggio

Page 44: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 43

Cipher Block Chaining (CBC)

P1 ⊕ E C1 = E(K, P1 ⊕ IV)

P2 ⊕ E C2 = E(K, P2 ⊕ C1)

Pn ⊕ E Cn = E(K, Pn ⊕ Cn-1)

M

IV

Pi = D(K, Ci) ⊕ Ci-1 2 ≤ i ≤ n

P1 = D(K, C1) ⊕ IV

Page 45: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 44

CBC: osservazioni

l Testi in chiaro identici producono testi cifrati identici se e solo se cifrati con la stessa chiave K e lo stesso IV

l Si deve garantire l’integrità di IVl Pi influsice su Ci e tutti i blocchi cifrati successivi

– CBC non è adatto ad applicazioni che accedono dati cifrati in lettura/scrittura in modo random

l Propagazione dell’errore– Sia Ci′ = (Ci con un bit errato), allora

l Pi′ completamente randoml Pi+1′ ha un solo bit errato nella stessa posizione del bit errato di Ci

l Pi+2 è corretto (se Ci+1 è corretto): CBC è self-synchronizing

– CBC non è in grado di recuperare da errori dovuti a bit “persi”(Framing error)

Page 46: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 45

Cifratura multipla: 3DES

l Se si cifra più volte un messaggio, la sicurezza aumenta?

– E(K1, E(K2, m)) è meglio di E(K3, m)?

l Si, perché DES non è un gruppo (dimostrato nel 1992)– Se DES fosse un gruppo allora:

∀ m ∈M, ∀ K1, K2 ∈K, ∃ K3 ∈K tale che E(K1,E(K2, m)) = E(K3, m)

l Triplo DES (3DES)

DES DES-1 DEST C

K1 K2 K1

Brute-force attackrichiede 2112 tentativi

Page 47: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 46

Cifrario a caratteri (stream cipher)

l Un cifrario a carattere è sostanzialmente un cifrario (ablocchi) a sostituzione in cui t = 1 in cui però lafunzione di cifratura può cambiare per ogni carattere in in chiaro

Page 48: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 47

Cifrario di Vernam (One-time Padding)

l Sia m un messaggio di t bit

l Sia la chiave k una sequenza di t bit scelti a random

l Cifratura: ci = mi ⊕ ki, 0≤ i ≤ t

l Decifratura: mi = ci ⊕ ki, 0≤ i ≤ t

l One-time corrisponde alla definizione

– Ci sono due funzioni di cifratura

l E0(mi) = mi se ki = 0

l E1(mi) = (mi+1) mod 2 se ki = 1

Page 49: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 48

One-Time Padding

l La chiave k deve essere utilizzata una sola volta (one-time)

– k può essere ricavata da m e c: k = m ⊕ c

l Se la chiave è riutilizzata...

– Siano c = m ⊕ k e c´= m´ ⊕ k, allora

c ⊕ c´ = m ⊕ m´

La ridondanza in m ⊕ m´ può facilitare la crittanalisi

Page 50: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 49

Sicurezza di One-time Padding

l One-time padding è “perfettamente” sicuro

– Se il crittanalista dispone solo di c e la chiave è stata usata una sola volta, allora il crittanalista può solo dedurre che il messaggio in chiaro m è costituito da t bit

– Qualunque messaggio m di t bit può essere generato a partire da c

– ESEMPIO. Per generare m* a partire da c, si può utilizzare lachiave k*= m* ⊕ c

l Shannon ha provato che un sistema è perfettamente sicuro se:

– Ci sono tante chiavi quanti i testi in chiaro

– Ciascuna chiave è equiprobabile

Page 51: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 50

Esempio

l Algoritmo di Cifratura: c[i] = m[i] + k[i] mod 26l m = “SUPPORT JAMES BOND”

m = S U P P O R T J A M E S B O N Dk = W C L N B T D E F J A Z G U I Rc = O W A C P K W N F V E R H I V U

c = O W A C P K W N F V E R H I V Uk' = M W L J V T S E F J A Z G U I Rm = C A P T U R E J A M E S B O N D

Page 52: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 51

One-Time Padding: considerazioni pratiche

l La chiave k deve avere la stessa lunghezza del messaggio m:

– problemi di memorizzazione

– problemi di sincronizzazione nelle comunicazioni

…ma sono realmente un problema con la tecnologia corrente?

l Sembra che la linea Mosca-Washington fosse cifratacon one-time pad

– La chiave era trasportata da un corriere fidato

Page 53: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 52

Sistemi insicuri con componenti sicure

m = D A R E C E N T O E U R O A B O Bk = W C L N B T D E F J A Z G U I R Xc = Z C C R D X Q X T N U Q U U J F Y

ZCCRD... ZCCRN...

c' = Z C C R N B O P J N U Q U U J F Yk = W C L N B T D E F J A Z G U I R Xm = D A R E M I L L E E U R O A B O B

Page 54: Cifratura Simmetrica - Libero.itspazioinwind.libero.it/fanciullimassimiliano/files/...27-Nov-01 Cifratura simmetrica 12 Chosen-plaintext attack lIl crittanalista disponenon solo deltesto

27-Nov-01 Cifratura simmetrica 53

Sistemi insicuri con componenti sicure (II)

l L’algoritmo di cifratura non è stato violato...l ...tuttavia il protocollo falliscel L’algoritmo One-Time Pad garantisce sicurezza...l ...ma non garantisce integrità

l Perché un protocollo fallisce– Le proprietà di una primitiva crittografica non sono state capite

o sono state sopravvalutate– La primitiva ha delle debolezze ed il protocollo le amplifica