Concetti base di sicurezza informatica -...

44
Concetti base di sicurezza (basics - nov'02) 1 © Antonio Lioy - Politecnico di Torino (1995-2002) Concetti base di sicurezza informatica Antonio Lioy < lioy @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Sicurezza di canale autenticazione (singola o mutua), integrità e segretezza solo durante il transito nel canale nessuna possibilità di non ripudio non richiede modifica alle applicazioni . . . 11 . . . 01 00 01 00 01 00

Transcript of Concetti base di sicurezza informatica -...

Page 1: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

1© Antonio Lioy - Politecnico di Torino (1995-2002)

Concetti base disicurezza informatica

Concetti base disicurezza informatica

Antonio Lioy< lioy @ polito.it >

Politecnico di TorinoDip. Automatica e Informatica

Sicurezza di canaleautenticazione (singola o mutua), integrità esegretezza solo durante il transito nel canalenessuna possibilità di non ripudionon richiede modifica alle applicazioni

. . . 01 00 11 . . .

01 00 01 00

01 00

Page 2: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

2© Antonio Lioy - Politecnico di Torino (1995-2002)

Sicurezza di messaggioautenticazione (singola), integrità esegretezza auto-contenute nel messaggiopossibilità di non ripudiorichiede modifica alle applicazioni

01

01 00

00 11

01 00

Crittografia

crittografia

messaggio (cifrato)

chiave-1 chiave-2

mittente

messaggio(in chiaro)

destinatario

messaggio(in chiaro)

decrittografia

Page 3: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

3© Antonio Lioy - Politecnico di Torino (1995-2002)

Forza della crittografia(principio di Kerchoffs)

se le chiavi:sono tenute segretesono gestite solo da sistemi fidatisono di lunghezza adeguata

allora ...... non ha alcuna importanza che gli algoritmi di crittografia e decrittografiasiano tenuti segreti... anzi è bene che siano pubblici affinché siano studiati ampiamente e siano rivelate eventuali debolezze

Security trough obscurity (STO)

Security trough obscurityis a thing as bad

with computer systemsas it is with women

Security trough obscurityis a thing as bad

with computer systemsas it is with women

Page 4: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

4© Antonio Lioy - Politecnico di Torino (1995-2002)

Crittografia a chiave segreta

chiave-1 = chiave-2algoritmi simmetricibasso carico di elaborazioneusata per crittografia dei datiprincipali algoritmi:

DES, triplo-DESIDEARC2, RC5RC4AES

Crittografia simmetricachiave unicachiave comune a mittente e destinatario

ciao! q #%3& ciao!E D

KK

Page 5: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

5© Antonio Lioy - Politecnico di Torino (1995-2002)

DES

Data Encryption Standardstandard FIPS 46/2modalità di applicazione standard FIPS 81chiave a 56 bit (+ 8 bit di parità = 64 bit)blocco dati da 64 bitpensato per essere efficiente in hardwareperché richiede:

permutazionishiftXOR

Triplo DES (3DES)

applicazione ripetuta di DESusa due o tre chiavi a 56 bitsolitamente usato in modo EDE (compatibilità con DES se K1 = K2 = K3)encrypt(K1) + decrypt(K2) + encrypt(K1)equivale a K di 56 bit se si hanno 2**59B,altrimenti equivale a K di 112 bitencrypt(K1) + decrypt(K2) + encrypt(K3)equivale ad avere K di 112 bitstandard FIPS 46/3 e ANSI X9.52

Page 6: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

6© Antonio Lioy - Politecnico di Torino (1995-2002)

Doppio DES ?

l’applicazione doppia di algoritmi di cifraturaè soggetta ad un attacco di tipo known-plaintext chiamato meet-in-the-middle che permette di decifrare i dati con al più 2N+1

tentativiquindi solitamente non si usa mai la versione doppia degli algoritmi di cifratura

nota: se l’algoritmo simmetrico di base fosse un gruppo allora esisterebbe K3 tale che

enc (K2 , enc (K1 , P) ) = enc (K3 , P)

Attacco meet-in-the-middle

ipotesi:chiavi da N bitsono noti P e C tali che C = enc (K2, enc (K1, P) )

nota:esiste M tale che M = enc(K1,P) e C = enc(K2,M)

azioni:calcolo 2N valori Xi = enc (Ki, P)calcolo 2N valori Yj = dec (Kj, C)cerco quei valori Ki e Kj tali che Xi = Yj

“falsi positivi” eliminabili se ho più coppie P,C

Page 7: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

7© Antonio Lioy - Politecnico di Torino (1995-2002)

IDEA

International Data Encryption Algorithmbrevettato ma con basse royalty (solo per uso commerciale)chiave a 128 bitblocco dati da 64 bitgrande notorietà perché usato in PGPoperazioni usate:

XORaddizione modulo 16moltiplicazione modulo 216+1

RC2, RC4

sviluppati da Ron RivestRC = Ron’s Codealgoritmi proprietari di RSA ma non brevettati3 e 10 volte più veloci di DESRC2 è a blocchi, RC4 è streamchiave a lunghezza variabileRC2:

pubblicato come RFC-2268 (mar 1998)chiave da 8 a 1024 bit (solitamente 64 bit)blocchi da 64 bit

Page 8: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

8© Antonio Lioy - Politecnico di Torino (1995-2002)

RC5

RFC-2040blocco dati da B bit (0 < B < 257)chiave (fissa/variabile) da b byte(0 ≤ b < 256) ossia tra 0 e 2048 bitlavora al meglio con B = 2 Woperazioni usate:

shift, rotateaddizione modulare

usato nel WAP

Applicazione degli algoritmi a blocchi

per cifrare dati in quantità superioreECB (Electronic Code Book)CBC (Cipher Block Chaining)

per cifrare dati in quantità inferiorepaddingCFB (Cipher FeedBack)OFB (Output FeedBack)

Come si applica un algoritmo a blocchia dati in quantità diversa

da quella del blocco base?

Come si applica un algoritmo a blocchia dati in quantità diversa

da quella del blocco base?

Page 9: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

9© Antonio Lioy - Politecnico di Torino (1995-2002)

ECB (Electronic Code Book)

formula per il blocco i-esimo:ci = E (di, k)

fortemente sconsigliato perché si presta adattacchi known-plaintext

d1d1

c1c1

d2d2

c2c2

d3d3

c3c3

d4d4

c4c4

k k k k

ECB - decifratura

formula per il blocco i-esimo:di = E-1 (ci, k)

d1d1

c1c1

d2d2

c2c2

d3d3

c3c3

d4d4

c4c4

k k k k

Page 10: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

10© Antonio Lioy - Politecnico di Torino (1995-2002)

CBC (Cipher Block Chaining)formula per il blocco i-esimo:

ci = E (di ⊕ ci-1, k)richiede c0 = IV (Initialization Vector)non attaccabile banalmente

d1d1

c1c1

⊕IVIV

d2d2

c2c2

d3d3

c3c3

d4d4

c4c4

k k k k

CBC - decifraturaformula per il blocco i-esimo:

di = E-1 (ci, k) ⊕ ci-1richiede che c0 (ossia l’ IV) sia noto anche al ricevente del messaggio

d1d1

c1c1

⊕IVIV

d2d2

c2c2

d3d3

c3c3

d4d4

c4c4

k k k k

Page 11: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

11© Antonio Lioy - Politecnico di Torino (1995-2002)

Padding (allineamento)

dimensione del blocco Bquantità di dati da elaborare D < Baggiungo bit sino a raggiungere la quantità B

problemi:quantità di bit di padding? ( D ~0.5 B)valore dei bit di padding? (random!)trasmetto più dati (B) del minimo necessario (D)

dati padding

CFB (Cipher FeedBack)permette di cifrare N-bit alla volta (gruppo)richiede un IV (per inizializzare lo shift register)un errore in trasmissione provoca errore nella decifratura di un intero blocco

dbidbi cbicbi⊕

left shift register (1 blocco)left shift register (1 blocco)

leftmost byte

k

Page 12: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

12© Antonio Lioy - Politecnico di Torino (1995-2002)

OFB (Output FeedBack)permette di cifrare N-bit alla volta (gruppo)richiede un IV (per inizializzare lo shift register)un errore in trasmissione provoca errore solo in un gruppo

dbidbi cbicbi⊕

left shift register (1 blocco)left shift register (1 blocco)

leftmost byte

k

Algoritmi di tipo stream

operano su un flusso di dati senza richiederne la divisione in blocchi, tipicamente su un bit o un byte alla voltaalgoritmo ideale:

one-time padalgoritmi reali:

usano generatori pseudo-casuali di chiavi, sincronizzati tra mittente e riceventeesempi: RC4 e SEAL

Page 13: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

13© Antonio Lioy - Politecnico di Torino (1995-2002)

Algoritmi di tipo stream

encryption decryption

plaintextdata stream

plaintextdata stream

ciphertextdata stream

.

.01001

10010..

key stream00011010…

Crittografia simmetricachiave singola e segretauna chiave per ogni coppia / gruppo di utenti

Kxy KxyX Y

Kxz Kxz

messaggioprivato X-Y

messaggioprivato X-Z Z

Page 14: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

14© Antonio Lioy - Politecnico di Torino (1995-2002)

Distribuzione delle chiaviper crittografia simmetrica

Per una comunicazione privata completa tra Npersone occorrono N x (N-1) / 2 chiavi:

distribuzione OOB (Out-Of-Band)distribuzione tramite algoritmi per scambio chiavi

AntonioAntonio

BarbaraBarbara

DanieleDaniele

CarlaCarla

K3

K4

K1 K6K2 K5

Lunghezza delle chiavi segrete

se l’algoritmo di crittografia è stato ben progettato ...e le chiavi - lunghe Nbit - sono tenute segrete …allora l’unico attacco possibile èl’attacco esaustivo che richiede unnumero di tentativi pari a

2Nbit

Page 15: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

15© Antonio Lioy - Politecnico di Torino (1995-2002)

Lunghezza delle chiavi crittografiche

alta sicurezza

simm. 40 64 128 ...

asimm. 256 512 1024 ...

bassa sicurezza

Sfide DES

256 = 72.057.594 miliardi di chiavi possibiliDES challenge I

inizio=18-feb-1997, fine=17-giu-199717.731.000 miliardi di chiavi provate (25%)circa 15.000 computer in rete

DES challenge IIinizio=13-gen-98, fine=23-feb-9863.686.000 miliardi di chiavi provate (87%)circa 20.000 computer in rete

Page 16: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

16© Antonio Lioy - Politecnico di Torino (1995-2002)

La fine (?) del DESDES challenge III

inizio=13-lug-98, fine=15-lug-9817.903.000 miliardi di chiavi provate (25%)1 sistema special-purpose (DEEP CRACK)sviluppato dalla EFF col costo di 250.000 $

è quindi possibile costruire una macchina che decifri un generico messaggio DES, ma:

bisogna conoscere il tipo di dati (es. ASCII)la macchina non riesce a decifrare messaggi3DESil DES non è intrinsecamente debole, ha solouna chiave corta!

Sempre più in basso

DES challenge IVinizio=18-gen-1999, fine=dopo 22h 15m16.017.000 miliardi di chiavi provate (22%)1 sistema di elaborazione special-purposesviluppato dalla EFF (costo=250.000 $) più alcune migliaia di workstation di vario generepotenza di picco: 250 Gkey/spotenza media: 199 Gkey/s

Page 17: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

17© Antonio Lioy - Politecnico di Torino (1995-2002)

Cosa c’è dopo il DES?

IETF cambia tutti gli RFC sconsigliando l’uso del DES e suggerendo l’uso del triplo DESbanca tedesca condannata per una truffa fatta tramite un sistema basato su DESil 15-gen-1999 il FIPS ha ritirato il DES (46/2) e l’ha rimpiazzato col 3DES (46/3)il governo USA ha iniziato la procedura di selezione per un nuovo algoritmo simmetrico: AES (Advanced Encryption Standard)

chiave da almeno 256 bitblocchi da almeno 128 bit

AES (Advanced Encryption Standard)

15 candidati5 finalisti (9 agosto 1999):

MARS (IBM)RC6 (RSA, ossia Ron Rivest)Rijndael (Joan Daemen, Vincent Rijmen)Serpent (Ross Anderson, Eli Biham, Lars Knudsen)Twofish (Bruce Schneier ed altri)

informazioni circa il processo di selezione:http://www.nist.gov/aes

Page 18: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

18© Antonio Lioy - Politecnico di Torino (1995-2002)

AES = RIJNDAEL

2 ottobre 2000RIJNDAEL scelto come vincitorepubblicato nel novembre 2001 come FIPS-197

Crittografia a chiave pubblica

chiave-1 ≠ chiave-2algoritmi asimmetricicoppie di chiavi ( pubblica e privata )chiavi con funzionalità reciprocaalto carico di elaborazioneusato per distribuire chiavi segrete e per la firma elettronica (con hashing)principali algoritmi:

Diffie-Hellman, RSA, DSA, El Gamal, …

Page 19: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

19© Antonio Lioy - Politecnico di Torino (1995-2002)

Crittografia asimmetricachiavi generate a coppie:chiave privata (Kpri) + chiave pubblica (Kpub)chiavi con funzionalità reciproca: i dati cifraticon una chiave possono essere decifrati solo con l’altra

ciao! ciao!Y?2gs3

ciao! q #%3& ciao!E

Kpri

D

Kpub

D

Kpri

E

Kpub

Firma digitalefirma digitale = cifratura asimmetrica dei daticon la chiave privata dell’autoresolitamente non si cifrano direttamente i datima un loro riassunto ( digest )fornisce autenticazione e integrità dei dati

KXpri KXpubX chiunque

messaggiopubblico

firmato da X

Page 20: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

20© Antonio Lioy - Politecnico di Torino (1995-2002)

Riservatezza senza segreti condivisiè possibile generare un messaggio segretoper uno specifico destinatario conoscendonesolo la chiave pubblica

X chiunqueKXpri KXpub

messaggioprivato per X

Algoritmi a chiave pubblica

RSA (Rivest - Shamir - Adleman)prodotto di numeri primi, fattorizzazione delrisultatosegretezza e firma digitalebrevettato - solo in USA - da RSA; scaduto il20-set-2000

DSA (Digital Signature Algorithm)elevamento a potenza, logaritmo del risultatosolo per firma digitalestandard NIST per DSS (FIPS-186)

Page 21: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

21© Antonio Lioy - Politecnico di Torino (1995-2002)

RSA - l’algoritmo

base N = P × Q nota a tuttiP e Q sono primi, grandi e segretichiave pubblica E scelta a caso purchè relativamente prima rispetto a P-1 e Q-1chiave privata D = E-1 mod (P-1) × (Q-1)

testo da cifrare: t < Ncrittografia: c = tE mod Ndecrittografia: t = cD mod Nruolo di E e D interscambiabile perchè(xD )E mod N = (xE )D mod N

Aritmetica modulare

X = A mod Nse X è il resto della divisione intera di A per Nesempi:

7 mod 5 = 213 mod 5 = 3

ottima per applicazioni di sicurezza perché non invertibile in modo univoco:

datoY mod 5 = 2

qual è Y?risposte: 7, 12, 17, 22, 27, ...

Page 22: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

22© Antonio Lioy - Politecnico di Torino (1995-2002)

Inversione nell’aritmetica modulare

nell’aritmetica normale:X = 5 implica X-1 = 1/5

perché5 x 1/5 = 1

nell’aritmetica modulare (es. modulo 4):X = 5 implica X-1 mod 4 = { 5, 9, 13, ... }

perché5 x 5 mod 4 = 25 mod 4 = 15 x 9 mod 4 = 45 mod 4 = 1...

Si definisce inverso di un numero X quel numero X-1

che moltiplicato per X fornisce come risultato 1Si definisce inverso di un numero X quel numero X-1

che moltiplicato per X fornisce come risultato 1

RSA - un esempioscelti P=3, Q=5 si ha N = 15E (primo rispetto a 2 e 4) = 7D = 7-1 mod 8 = {7, 15, 23, 31, …} = 23

testo da cifrare: 1 2 3c1 = 17 mod 15 = 1c2 = 27 mod 15 = 128 mod 15 = 8c3 = 37 mod 15 = 2187 mod 15 = 12t1 = 123 mod 15 = 1t2 = 823 mod 15 = 2t3 = 1223 mod 15 = 3

Page 23: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

23© Antonio Lioy - Politecnico di Torino (1995-2002)

Lunghezza delle chiavi pubbliche

256 bit sono attaccabili in alcune settimane512 bit sono attaccabili in alcuni mesi1024 bit offrono una sicurezza ragionevoleper vari secoliesempio di sfide risolte:

10-apr-1996, risolta sfida RSA-130 con 1000 MIPS-years2-feb-1999, risolta sfida RSA-140 (circa 465 bit) con 2000 MIPS-yearscon nuove tecniche sarebbero risolvibili in 500 e 1500 MIPS-years

Distribuzione delle chiaviper crittografia asimmetrica

chiave privata mai divulgata!chiave pubblica distribuita il più ampiamente possibileproblema: chi garantisce la corrispondenza tra chiave pubblica ed identità della persona?soluzione #1: scambio di chiavi OOBsoluzione #2: distribuzione della chiave pubblica all’interno di un certificato a chiave pubblica (= certificato d’identità digitale)

formato del certificato?fiducia nell’emettitore del certificato?

Page 24: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

24© Antonio Lioy - Politecnico di Torino (1995-2002)

Scambio chiave segretamediante algoritmi asimmetrici

la riservatezza senza segreti condivisi viene spesso usata per comunicare la chiave crittografica scelta per un algoritmo simmetrico

q #%3& D

E Y?2gs3

KYpub

K

ciao!

D K

KYpri

ciao! E

X Y

Diffie-HellmanA e B scelgono due interi grandi n e g taliche 1 < g < nA, scelto un numero a caso x, calcola:

X = gx mod nB, scelto un numero a caso y, calcola:

Y = gy mod nA e B si scambiano (pubblicano) X e YA calcola k = Yx mod nB calcola k’ = Xy mod nma k = k’ = gxy mod n

Page 25: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

25© Antonio Lioy - Politecnico di Torino (1995-2002)

Diffie-Hellman (DH)

A = gX mod n

KA = BX mod n

KA = KB = gXY mod n = KAB

B = gY mod n

KB = AY mod n

AB

X Y

n > g > 1

Diffie-Hellman

primo algoritmo a chiave pubblica inventatosolitamente usato per concordare su una chiave segreta ( key agreement )brevettato negli USA ma il brevetto è scaduto il 29 aprile 1997resistente allo sniffingse l’attaccante può manipolare i dati allora èpossibile un attacco man-in-the-middle; inquesto caso richiede pre-autenticazione

Page 26: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

26© Antonio Lioy - Politecnico di Torino (1995-2002)

DH: attacco man-in-the-middle

A = gX mod n

KA = MX mod n

B = gY mod n

KB = MY mod n

AB

X Y

MM

Z

KAM = gXZ mod n KBM = gYZ mod n≠

M = gZ mod n

Integrità dei messaggi

una persona che intercetti una comunicazione cifrata non può leggerla ...... ma può modificarla in modo imprevedibile!

ci vediamoalle 19:30

ci vediamoa?kfi3+s7#

Page 27: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

27© Antonio Lioy - Politecnico di Torino (1995-2002)

Digest

dati inviati dati ricevuti???

digest OK?

messagedigest

messagedigest

Message digest e funzioni di hash

è un riassunto del messaggio da proteggeredeve essere:

veloce da calcolaredifficile da invertire

spesso usato per evitare di lavorare sul messaggio completo quando questo è molto grosso (es. perché la crittografia a chiave pubblica è molto lenta)digest calcolabili in molti modi, ma solitamente tramite una funzione di hash

Page 28: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

28© Antonio Lioy - Politecnico di Torino (1995-2002)

Algoritmi di hashnome blocco digest definizione noteMD2 8 bit 128 bit RFC-1319 obsoletoMD4 512 bit 128 bit RFC-1320 obsoletoMD5 512 bit 128 bit RFC-1321 buono

RIPEMD 512 bit 160 bit ISO/IEC 10118-3 ottimoSHA-1 512 bit 160 bit FIPS 180-1 ottimo

RFC-3174

Lunghezza del digest

importante per evitare aliasing (=collisioni):md1 = H(m1)md2 = H(m2)se m1 ≠ m2 si vorrebbe md1 ≠ md2

se l’algoritmo è ben ideato e genera un digest di N bit, allora la probabilità di aliasing è:

PA ∝ 1 / 2Nbit

occorrono quindi digest con molti bit (perché si tratta di eventi statistici)

Page 29: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

29© Antonio Lioy - Politecnico di Torino (1995-2002)

Il paradosso del compleanno

un algoritmo di digest a N bit è insicuro quando vengono generati più di 2**(N/2) digest perché si ha PA~50%in corso di sviluppo SHA-256 e SHA-512 (SHA-354 sarà il troncamento di SHA-512) da usarsi rispettivamente con AES-128 e AES-256nota: SHA-1 (ossia SHA-160) era stato pensato per Skipjack-80esempio di uso di SHA-256: key generation per AES-256 a partire da una passphrase

MAC, MIC, MIDper garantire l’integrità dei messaggi si aggiunge agli stessi un codice:

MIC (Message Integrity Code)spesso l’integrità non è utile senza l’autenticazione e quindi il codice (condoppia funzione) è anche detto:

MAC (Message Authentication Code)per evitare attacchi di tipo replay si usa anche aggiungere ai messaggi unidentificatore univoco:

MID (Message IDentifier)

Page 30: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

30© Antonio Lioy - Politecnico di Torino (1995-2002)

Autenticazione tramitecifratura simmetrica

si invia anche una copia (cifrata) dei datisolo chi conosce la chiave può confrontare lacopia con l’originalesvantaggio: raddoppio dei dati trasmessi

msg

msg

???

msg

Digest + cifratura simmetrica

md

algoritmosimmetrico

message digest

Mittentedati inviati

algoritmosimmetrico

mdR

mdF

message digest

Destinatariodati ricevuti

= ?

digest cifrato

???

chiavesegreta

condivisa

Page 31: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

31© Antonio Lioy - Politecnico di Torino (1995-2002)

Keyed-digest

message digest

Mittentedati inviati

message digest

Destinatariodati ricevuti

chiavesegreta

condivisa

???

keyed-digest

kdR

kdF= ?

Firma digitale

md

algoritmoasimmetrico

message digest

Mittentedati inviati

algoritmoasimmetrico

mdR

mdF

message digest

Destinatariodati ricevuti

= ?PRI PUB

digital signature

chiave delmittente

???

Page 32: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

32© Antonio Lioy - Politecnico di Torino (1995-2002)

Firma e verifica

D

firmatario verificatore

DR

DF= ?

chiave privatadel firmatario

chiave pubblicadel firmatario

datifirma

dati dati

digest

cifraturaasimmetrica

digest

decifraturaasimmetrica

Autenticazione e integrità: analisi

tramite segreto condiviso:utile solo per il riceventenon usabile come prova senza rivelare lachiave segretanon usabile per il non ripudio

tramite crittografia asimmetrica:essendo lenta la si applica al digestusabile come prova formaleusabile per il non ripudio= firma digitale (digital signature)

Page 33: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

33© Antonio Lioy - Politecnico di Torino (1995-2002)

Firma digitale o firma autografa?

firma digitale = autenticazione + integrità

firma autografa = autenticazione

meglio quindi la firma digitale, perché indissolubilmente legata ai dati

nota bene: ogni utente non è dotato di una firma digitale ma di una chiave privata con cui può generare infinite firme digitali (una per ogni documento diverso)

Certificato a chiave pubblica

“Una struttura dati per legare in modo sicuro una chiave pubblica ad alcuni attributi”

tipicamente lega chiave a identità ... ma sono possibili altre associazioni (es. indirizzo IP)firmato in modo elettronico dall’emettitore:l’autorità di certificazione ( CA )con scadenza temporalerevocabile sia dall’utente sia dall’emettitore

Page 34: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

34© Antonio Lioy - Politecnico di Torino (1995-2002)

PKI (Public-Key Infrastructure)

è l’infrastruttura ...tecnica ed organizzativa ...preposta alla creazione, distribuzione e revoca dei certificati a chiave pubblica

Struttura di un certificato X.509

version 2serial number 1231signature algorithm RSA with MD5, 1024issuer C=IT, O=Polito, OU=CAvalidity 1/1/97 - 31/12/97subject C=IT, O=Polito,

CN=Antonio [email protected]

subjectpublickeyinfo RSA, 1024, xx...xCA digital signature yy...y

Page 35: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

35© Antonio Lioy - Politecnico di Torino (1995-2002)

Revoca dei certificati

un certificato può essere revocato prima della sua scadenza naturale

dal soggettodall’emettitore

quando si riceve un messaggio si deve verificare che il certificato sia ancora validoverifica a carico del ricevente (relying party, RP)

Meccanismi di revoca

CRL (Certificate Revocation List)elenco di certificati revocatifirmato dalla CA o da un delegato

OCSP (On-line Certificate Status Protocol)risposta puntuale su un singolo certificatofirmata dal server

Page 36: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

36© Antonio Lioy - Politecnico di Torino (1995-2002)

Struttura di una CRL X.509

version 1signature algorithm RSA with MD5, 1024issuer C=IT, O=Polito, OU=CAthisUpdate 15/10/2000 17:30:00userCertificate 1496revocationDate 13/10/2000 15:56:00userCertificate 1574revocationDate 4/6/1999 23:58:00CA digital signature yy...y

Verifica di una firma / certificato

come verificare che un certificato achiave pubblica (firmato da CA1) sia autentico?… occorre il certificato della chiave di CA1 (che sarà firmato da CA2)e come si verifica quest’ultimo?… occorre il certificato della chiave di CA2 (che sarà firmato da CA3)… e così via …occorre un’infrastruttura (gerarchia?) dicertificazione e distribuzione

Page 37: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

37© Antonio Lioy - Politecnico di Torino (1995-2002)

Verifica di una firma / certificato

dati

firma (di X)

certificatosubject: X

key: KPUB(X)

firma (della CA)

decrypt

hash= ?

KPUB(X)

digest (estrattodalla firma)

digest (dati)

Gerarchia di certificazioneCA EUds (EU)

firma

CA ITds (EU)

firma

CA Tods (IT)

CA Mids (IT)

firmafirma

Page 38: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

38© Antonio Lioy - Politecnico di Torino (1995-2002)

Certification Authority (CA)

“Un’autoritàaccreditata da un insieme di utenti

per creare ed assegnarecertificati a chiave pubblica”

X.509 non specifica la relazione tra CA,emettitore e soggetto del certificatoad esempio, PEM richiedeva una gerarchia rigida:

CA PCA (Policy Certification Authorities)IPRA (Internet PCA Registry Authority)

I progetti ICE-TEL, ICE-CAR e NASTECICE = Interworking public-key Certification for Europefinanziamento EC DG-XIII (1996-97, 1998-2000)infrastruttura a chiave pubblica in 12 nazioni europee: AT, DK, DE, UK, GR, IE, IT, NO, PT, SI, ES, SEtoolkit di sicurezza europei ed applicazioni sicure di base (gestione delle CA, posta elettronica, WWW)fornitore della sicurezza a tutti gli altri progettidel 4o programma quadro + estensione a NASper l’Italia partecipa il Politecnico di Torino

Page 39: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

39© Antonio Lioy - Politecnico di Torino (1995-2002)

EuroPKI

EuroPKI TLCA

Politecnico diTorino CA

Comune diModena CA

persone server

EETIC CA

EuroPKISlovenia

EuroPKIItaly

EuroPKINorway

Perchè non compriamo tutto dagli USA?

esportazione di materiale crittografico soggetta alle medesime restrizioni delmateriale nucleare (!)… a meno che il livello di protezione sia molto basso:

chiave simmetrica limitata a 40 bit(240 tentativi = poche ore di CPU)chiave asimmetrica limitata a 512 bit

esempio: Netscape, Internet Explorer, …(versione esportazione)

Page 40: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

40© Antonio Lioy - Politecnico di Torino (1995-2002)

Key escrow: una novità?dicembre 1996: l’amministrazione USAautorizza l’esportazione di prodotti dicrittografia semi-robusti (56 bit) seincorporano funzioni di key-escrownon si applica ai prodotti interni USAkey escrow = possibilità di recuperare una chiave anche senza il consenso delproprietarioesempio: Lotus Notes usa chiavi simmetriche da 64 bit ma ne cifra 24 bit con la chiave pubblica della NSAproblema: chi decide quando è necessario recuperare una chiave?

Cambiamenti della politicacrittografica USA

giugno 1997:permesso di esportare client e server Websicuri purchè usati da filiali estere di aziendeUSA oppure in ambito finanziarioper verificare il reale uso si ricorre a speciali certificati rilasciati solo da VeriSign

settembre 1998:permesso esteso ad assicurazioni edistituzioni sanitarienessun permesso per chiavi sino a 56 bit

Page 41: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

41© Antonio Lioy - Politecnico di Torino (1995-2002)

Step-up (gated) cryptography

browser web

weak crypto

user

strong crypto

server web

weak + strongcrypto

bank

Verisign cert

Key recovery: un’altra novità?

è permessa l’esportazione dagli USA diprodotti con crittografia forte (es. 128 bit per le chiavi simmetriche) se:

incorporano funzioni di key-recoverycon un centro di recovery autorizzato dal governo USA

le chiavi simmetriche usate dagli utenti sono cifrate con la chiave pubblica del centro di recoverycosì diventa una problematica politica ma inrealtà il key-recovery è un problema reale

Page 42: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

42© Antonio Lioy - Politecnico di Torino (1995-2002)

Step-up (o gated) cryptography

dal dicembre ‘98 è possibile esportare prodotti ad alta sicurezza di canale purché destinati a:

filiali estere di aziende U.S.A.organizzazioni finanziarieorganizzazioni sanitariesiti di commercio elettronico

il fiduciario del governo U.S.A. è VeriSign equindi non si possono usare questi prodottise non si acquistano i relativi certificati X.509da VeriSign

Politica di esportazione crittografica USA(dicembre 1999)

algoritmi simmetrici con chiavi a 56 bitalgoritmi asimmetrici con chiavi a:

1024 bit se usate solo per autenticazione512 bit se usate anche per scambio di chiavi

non tutti i prodotti hanno recepito questa normativa:

Netscape ha chiavi a 56 bit dalla versione 4.6IE 5.0 ha chiavi a 56 bit solo nella versione per Win2000entrambi generano chiavi asimmetriche a 512 bit

Page 43: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

43© Antonio Lioy - Politecnico di Torino (1995-2002)

Novità nella politica di esportazione USA

gennaio 2000permesso di esportare ...

prodotti off-the-shelf ...che abbiano passato una “one-time review”

oppureprodotti il cui codice sorgente sia liberamente disponibile in Internet

disponibili upgrade per i principali prodottidubbi sull’esistenza di back-door

Bibliografia( http://security.polito.it/books.html )

B.Schneier: “Applied cryptography”W.Stallings:“Cryptography and network security”S.Garfinkel, G.Spafford:“Practical Unix and Internet security”W.R.Cheswick, S.M.Bellovin:“Firewalls and Internet security”W.Ford, M.S.Baum:“Secure electronic commerce”C.P.Pfleeger: “Security in computing”

Page 44: Concetti base di sicurezza informatica - phd.dii.unisi.itphd.dii.unisi.it/corsi/corsi2002/Sicurezza/Basics.pdf · Concetti base di sicurezza informatica Concetti base di sicurezza

Concetti base di sicurezza (basics - nov'02)

44© Antonio Lioy - Politecnico di Torino (1995-2002)

Bibliografia (in Italiano)

W.Stallings“Sicurezza delle reti - applicazioni e standard”Addison-Wesley Italia, 2001

Fugini, Maio, Plebani“Sicurezza dei sistemi informativi”Apogeo, 2001

S.Singh“Codici e segreti”BUR saggi, 2001