prof. stefano bistarelli - sicurezza informatica1 sicurezza informatica prof. stefano bistarelli...

76
Prof. Stefano Bistarelli - Sicurezza Informatica 1 Sicurezza Informatica Prof. Stefano Bistarelli [email protected] http://www.sci.unich.it/ ~bista /

Upload: remo-marchetti

Post on 01-May-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

1

Sicurezza Informatica

Prof. Stefano Bistarelli [email protected] http://www.sci.unich.it/~bista/

Page 2: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

2

Crittografia Scienza antichissima: codificare e

decodificare informazione Tracce risalenti all’epoca di Sparta Seconda guerra mondiale: ENIGMA Antica: crittografia simmetrica Moderna: crittografia asimmetrica

(1977)

Page 3: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

3

Crittografia Codificare: testo in chiaro → testo

codificato Decodificare: testo codificato → testo in

chiaro Ambedue basate su: algoritmo e chiave

Es: “Shiftare” di k una stringa Algoritmo pubblico! Sicurezza data da:

1. segretezza della chiave2. robustezza dell’algoritmo

Page 4: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

4

Classical Cryptography Sender, receiver share common key

Keys may be the same, or trivial to derive from one another

Sometimes called symmetric cryptography Two basic types

Transposition ciphers Substitution ciphers Combinations are called product ciphers

Page 5: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

5

Transposition Cipher Rearrange letters in plaintext to

produce ciphertext Example (Rail-Fence Cipher)

Plaintext is HELLO WORLD Rearrange as

HLOOLELWRD

Ciphertext is HLOOL ELWRD

Page 6: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

6

Substitution Ciphers

Change characters in plaintext to produce ciphertext

Example (Cæsar cipher) Plaintext is HELLO WORLD Change each letter to the third letter

following it (X goes to A, Y to B, Z to C) Key is 3, usually written as letter ‘D’

Ciphertext is KHOOR ZRUOG

Page 7: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

7

Cæsar’s Problem

Key is too short Can be found by exhaustive search Statistical frequencies not concealed well

They look too much like regular English letters

So make it longer Multiple letters in key Idea is to smooth the statistical

frequencies to make cryptanalysis harder

Page 8: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

8

Vigènere Cipher Like Cæsar cipher, but use a phrase Example

Message THE BOY HAS THE BALL Key VIG Encipher using Cæsar cipher for each

letter:key VIGVIGVIGVIGVIGVplain THEBOYHASTHEBALLcipher OPKWWECIYOPKWIRG

Page 9: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

9

Relevant Parts of Tableau

G I VA G I VB H J WE L M ZH N P CL R T GO U W JS Y A NT Z B OY E H T

Tableau shown has relevant rows, columns only

Example encipherments:

key V, letter T: follow V column down to T row (giving “O”)

Key I, letter H: follow I column down to H row (giving “P”)

Page 10: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

10

Useful Terms period: length of key

In earlier example, period is 3 tableau: table used to encipher and

decipher Vigènere cipher has key letters on top,

plaintext letters on the left polyalphabetic: the key has several

different letters Cæsar cipher is monoalphabetic

Page 11: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

11

Codifica e decodificaMittente Destinatario

testo in

chiaro

testo in

chiaro

testo cifrato

codifica

Chiave di codifica

1

decodifica

Chiave di decodifica

32

Page 12: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

12

Crittografia simmetrica Medesima chiave per codifica e

decodifica Segretezza, autenticazione, integrità

dalla segretezza della chiave+ Di solito (DES) usano chiavi di 64-128

bit (17-34 cifre decimali) e sono molto veloci

- Distribuire chiave a coppie di utenti- Per n utenti servono n2 chiavi diverse

Page 13: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

13

Crittografia asimmetrica Una chiave per codifica, un’altra per

decodifica Ogni utente ha una coppia di chiavi

chiave privata: segreto da custodire chiave pubblica: informazione da diffondere

Entrambe usabili per codificare o decodificare

- Di solito (RSA) usano chiavi di 1024-2048 bit (circa 160-320 cifre decimali) e sono lenti

+ Segretezza, autenticazione, integrità…

Page 14: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

14

Segretezza Mittente Destinatario

testo in

chiaro

testo in

chiaro

testo codificato

codifica

Chiave pubblica del destinatario

12

decodifica

Chiave privatadel destinatario

3

Page 15: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

15

Autenticazione e integrità

Mittente Destinatariotesto

in chiaro

testo in

chiaro

testo codificatoChiave privata

del mittente

codifica

12

decodifica

Chiave pubblicadel mittente

3

Page 16: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

16

Le tre insiemeMittente Destinatario

testo in

chiaro

testo in

chiaro

4

Chiave privatadel destinatario

decodifica

3

2

codifica

Chiave pubblica del destinatario

codifica

Chiave privata del mittente

1

decodifica

Chiave pubblicadel mittente

5

Page 17: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

17

Attacchi crittografici (crittoanalisi)1. Cyphertext only: noto solo il testo

codificato2. Known plaintext: testo in chiaro noto3. Chosen plaintext: testo in chiaro

scelto4. Brute-force: attacco alla chiave

Page 18: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

18

Crittografia perfetta

Ideale: nessun tipo di crittoanalisi possibile Probabilità nulla di ricavare informazioni

supplementari da un testo codificato Crittografia in pratica quasi mai perfetta

Def. Nessun testo codificato rilascia informazione alcuna né sulla chiave usata per la codifica, né sul testo in chiaro, il quale può essere recuperato se e solo se la chiave è disponibile

Page 19: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

19

Funzioni hash irreversibili (digest) h : X → Y è hash se

1. H can be applied to a block of data at any size2. H produces a fixed length output3. Dato x X è computazionalmente facile (tempo

polinomiale nella dim. dell’input) calcolare h(x) …è irreversibile se

1. For any given block x, it is computationally infeasible to find x such that H(x) = h

2. For any given block x, it is computationally infeasible to find y≠x with H(y) = H(x).

3. It is computationally infeasible to find any pair (x, y) such that H(x) = H(y)

Integrità di un testo

Page 20: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

20

Codici di autenticazione dei messaggi (MAC)

Forma primitiva di crittografia Mittente e ricevente condividono una

chiave per calcolare il MAC Mittente manda x, MAC(x) Ricevente prende x e ne ricalcola

MAC(x) Si può usare una funzione hash come

MAC?

Page 21: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

21

Numeri (pseudo)casuali Generati mediante algoritmo

(pseudo)deterministico Sul rumore elettrico prodotto da un diodo Movimenti casuali richiesti all’utente

Servono ad ottenere freshness Genero x casuale e lo spedisco insieme a… Qualunque cosa riceva che citi x è posteriore

a…

Page 22: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

22

Firma digitale

Basata su crittografia asimmetrica Ottiene solo autenticazione e

integrità Firmare non è esattamente

codificare Verificare una firma non è

esattamente decodificare

Page 23: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

23

Creazione della firma1. Calcolare il DIGEST

del testo2. Codificare il digest

con la chiave privata del mittente (si ottiene la firma digitale vera e propria)

3. Creare coppia testo+firma e spedirla

Testo in chiaro

DigestHash

DigestChiave privata

mittente

Firma digitale

Testo in chiaro

Firma digitale+

Page 24: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

24

Verifica della firma

1. Separare il testo dalla firma

2. Decodificare la firma con la chiave pubblica del mittente

3. Calcolare il digest del testo4. Verificare che i due digest

coincidanosì: accetto (testo OK) no: rifiuto (testo alterato)

testo Firma digitale

Firma digitale

Digest 1Chiave pubblica

mittente

testo HashDigest 2

Digest 1 Digest 2?=

Accetto

Rifiutono

Page 25: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

25

Garanzie

Autenticità: Il messaggio arrivi proprio da chi dice di essere il mittente

Integrità: Il messaggio non abbia subito modifiche o manomissioni

La firma digitale garantisce che:

Page 26: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

26

Autorità di certificazione Chi garantisce che la chiave pubblica di

Bob, che otteniamo da un registro pubblico, sia stata rilasciata proprio a Bob?

Una terza parte fidata: l’autorità di certificazione (CA), che certifica il legame utente/chiave pubblica mediante apposito certificato digitale

Page 27: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

27

Certificato reale Cartaceo

Carta d’identità, etc. Emesso da un’autorità

riconosciuta Associa l’identità di una

persona (nome, cognome, data di nascita, …) al suo aspetto fisico (foto)

Page 28: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

28

Certificato digitale Elettronico Associa l’identità di una persona

ad una chiave pubblica Emesso da una CA riconosciuta Firmato con la chiave privata della

CA Formato tipico: X.509

Raccomandato dall’ITU (International Telecommunication Union)

Page 29: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

29

Certificato X.509 - struttura

Page 30: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

30

I 10 compiti di una CA1. Identificare con certezza la persona che fa

richiesta della certificazione della chiave pubblica

2. Rilasciare e rendere pubblico il certificato3. Garantire l'accesso telematico al registro

delle chiavi pubbliche4. Informare i richiedenti sulla procedura di

certificazione e sulle tecniche per accedervi

5. Dichiarare la propria politica di sicurezza

Page 31: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

31

I 10 compiti di una CA6. Attenersi alle norme sul trattamento di dati

personali7. Non rendersi depositario delle chiavi private8. Procedere alla revoca o alla sospensione dei

certificati in caso di richiesta dell'interessato o venendo a conoscenza di abusi o falsificazioni, ecc.

9. Rendere pubblica la revoca o la sospensione delle chiavi.

10. Assicurare la corretta manutenzione del sistema di certificazione

Page 32: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

32

Ottenere un certificato digitale

Local Validation Point Operator LVPO Certification Authority Server

Certificatodigitale

ID

Utente

1

2

3

4

Page 33: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

33

Ottenere un certificato digitale

1. L’utente genera sul proprio PC una coppia di chiavi I browser comuni offrono il servizio (Netscape, Explorer) La chiave privata è memorizzata localmente in un file

nascosto (o floppy disk) Maggiore sicurezza: generare la coppia di chiavi tramite

SmartCard collegata al PC - la chiave privata non esce mai dalla SmartCard (protetta da PIN)

2. L’utente invia alla CA una richiesta di certificato, insieme alla chiave pubblica generata (a meno che non sia la CA a generare la coppia di chiavi per l’utente)

Page 34: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

34

Ottenere un certificato digitale

3. La CA autentica il richiedente, di solito chiedendogli di recarsi di persona ad uno sportello di LVP (Local Validation Point) collegato con la CA

4. Verificata l’identità, la CA emette il certificato, lo invia al richiedente tramite posta elettronica ed inserisce la chiave certificata nel registro delle chiavi pubbliche

L’intera procedura accade nell’ambito di una PKI (Public Key Infrastructure)

Page 35: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

35

PKI (Public Key Infrastructure)

Struttura minima: CA+LVP. Ammesse più LVP LVP è lo sportello per l’autentica classica

dell’utente; LVPO il suo operatore Struttura gerarchica: alcune CA certificano

altre, ottenendo una “catena di fiducia” Struttura ad albero La Root CA certifica le CA di primo livello Le primo livello certificano le CA di secondo livello Le CA di ultimo livello certificano il singolo utente

Page 36: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

36

PKI a struttura gerarchica

......

.... .... .... ....

CA

CA1 CA2CA3

CAn

X.509X.509 X.509 X.509

X.509X.509 X.509

X.509X.509

X.509X.509 X.509

......

Page 37: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

37

Revoca del certificato

Varie ragioni Cambio dei dati personali (email, recapito, etc) Licenziamento, dimissioni Compromissione della chiave privata… …

Richiesta di revoca (cessazione di validità) Dall’utente Dall’emettitore (LVPO)

Revoca mediante CRL (Certificate Revocation List)

Page 38: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

38

CRL (Certificate Revocation List) Lista di certificati revocati prima della

loro naturale scadenza temporale Firmata digitalmente dalla stessa CA

che ha emesso il certificato ora revocato Un LVPO emette una CRR (Certificate

Revocation Request) per 1 particolare certificato

La CA relativa emetterà la nuova CRL

Page 39: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

39

CRL - struttura

Page 40: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

40

CRL - esempioCertificate Revocation List (CRL):

Version 1 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: /[email protected]/CN=IIT PKI-RA/OU=PKI-

RA STAFF/O=IIT/C=IT Last Update: Sep 2 07:25:49 2002 GMT Next Update: Sep 9 07:25:49 2002 GMTRevoked Certificates: Serial Number: 02 Revocation Date: Aug 27 08:26:46 2002 GMT Serial Number: 12 Revocation Date: Sep 2 07:25:18 2002 GMT Serial Number: 13 Revocation Date: Sep 2 07:25:31 2002 GMT Signature Algorithm: md5WithRSAEncryption 3f:13:45:5a:bc:fc:f4:e5:1b:e2:c1:4c:02:69:1c:43:02:e6: 11:84:68:64:6e:de:41:fa:45:58:4e:1d:44:a7:c5:91:7d:28:

……………………………………………. -----BEGIN X509 CRL-----

MIIB8zCB3DANBgkqhkiG9w0BAQQFADBvMSYwJAYJKoZIhvcNAQkBFhdwa2ktcmEt…………………………………………………

c3RhZmZAaWl0LmNuci5pdDETMBEGA1UEAxMKSKKxV4RCKffBP9zW5t1IKx5J7cdG

-----END X509 CRL-----

Page 41: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

41

Dalla crittografia alla sicurezza

Gli strumenti crittografici visti sono usati per risolvere vari problemi di sicurezza (ottenere le relative proprietà di sicurezza) Combinazioni di segretezza, autenticazione,

integrità: crittografia asimmetrica o firma digitale Sessione di comunicazione segreta: PKI + chiave di

sessione …

Si crea un protocollo di sicurezza, un preciso schema di eventi che possibilmente fanno uso di crittografia

Page 42: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

42

Protocollo – esempio 1 Protocollo 1 per acquistare un bene di

valore1. Il venditore consegna la merce al cliente2. Il cliente compila un assegno e lo consegna

al venditore3. Il venditore deposita l’assegno in banca

E se l’assegno fosse scoperto? Il protocollo non garantisce le sperate

proprietà di sicurezza

Page 43: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

43

Protocollo 2 per acquistare un bene di valore1. Il cliente si reca in banca e chiede il rilascio di un

assegno circolare2. La banca verifica la disponibilità sul conto

corrente del cliente e in caso affermativo rilascia l’assegno al cliente

3. Il venditore consegna la merce al cliente4. Il cliente consegna l’assegno circolare al

venditore5. Il venditore deposita (e incassa) l’assegno

Protocollo – esempio 2

Page 44: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

44

Un problema di sicurezza

L’Autenticazione di utenti remoti

Page 45: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

45

AutenticazioneObiettivo: Bob vuole che Alice sia in grado di

dimostrare la propria identità

Protocollo ap1.0: Alice says “I am Alice”

L’intruder è in grado diInserirsi nel protocollo

Page 46: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

46

AutenticazioneObiettivo: Bob vuole che Alice sia in grado di

dimostrare la propria identità

Protocollo ap1.0: Alice says “I am Alice”

Page 47: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

47

Autenticazione: proviamo nuovamente

Protocollo ap2.0: Alice says “I am Alice” and sends her IP address along to “prove” it.

Cosa può fare l’intruder?

Page 48: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

48

Autenticazione: proviamo nuovamente

Protocollo ap2.0: Alice says “I am Alice” and sends her IP address along to “prove” it.

Page 49: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

49

AutenticazioneProtocollo ap3.0: Alice says “I am Alice” and sends her

secret password to “prove” it.

Cosa può fare l’intruder

Page 50: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

50

AutenticazioneProtocollo ap3.0: Alice says “I am Alice” and sends her

secret password to “prove” it.

Page 51: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

51

AutenticazioneProtocollo ap3.1: Alice says “I am Alice” and sends her

encrypted secret password to “prove” it.

Intruder: attacco di replica

I am Aliceencrypt(password)

Page 52: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

52

AutenticazioneProtocollo ap3.1: Alice says “I am Alice” and sends her

encrypted secret password to “prove” it.

I am Aliceencrypt(password)

Page 53: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

53

Autenticazione

Figure 7.11 goes here

Nonce: numero (R) usato una sola volta (onlyonce)

ap4.0: to prove Alice “live”, Bob sends Alice nonce, R. Alice

must return R, encrypted with shared secret key

Page 54: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

54

Figure 7.12 goes here

Autenticazione: ap5.0

ap5.0: nonce e chiave pubblica

Page 55: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

55

Figure 7.14 goes here

ap5.0: violazioneMan (woman) in the middle attack:

Page 56: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

56

Un problema di sicurezza

L’Autenticazione di utenti remoti

Page 57: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

57

Capacità della spia DY1. Intercettare messaggi e prevenirne il recapito

2. Rimbalzare a piacere i messaggi intercettati

3. Imparare i testi in chiaro e i testi codificati

4. Tentare di decriptare con tutte le chiavi note

5. Utilizzare le proprie credenziali legali

6. Ottenere certe credenziali illegalm. (pagando)

7. Creare messaggi fasulli da componenti note

Tranne violare crittotesti!

Page 58: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

58

L’Autenticazione di utenti remoti

Soluzione: scambio di messaggi crittografici secondo un preciso protocollo di sicurezza

Un problema di sicurezza

Page 59: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

59

Messaggi

1. Concatenati: m,m’, …2. Criptati: mK, {m,m’}K,

1. Nomi di utenti: A, B, C, …2. Chiavi crittografiche

a lungo temine: Ka, Kb, …

a breve termine: Kab,… (chiavi di sessione)

3. Nonce: Na, Nb, …4. Timestamp: Ta, Tb, …5. Digest6. Label: “trasferisci

denaro”, “collegati alla porta xy”,…

Atomici Composti

Page 60: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

60

Dovuto a Needham-Schröder, 1978

Presuppone una PKI con crittografia perfetta

Protocollo di sicurezza – esempio 1

1. Alice→Bob : {Alice, Na}Kbob

2. Bob→Alice : {Na,Nb}Kalice

3. Alice→Bob : {Nb}Kbob

Page 61: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

61

1. Autenticazione reciproca degli utenti Etichette mittente e ricevente inaffidabili! Autenticazione garantita da segretezza delle

nonce

2. Segretezza delle nonce scambiate

Obiettivi di sicurezza del protocollo(goal)

1. Alice→Bob : {Alice, Na}Kbob

2. Bob→Alice : {Na,Nb}Kalice

3. Alice→Bob : {Nb}Kbob

Page 62: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

62

ivea}KN {Alice, 1.

Gli obiettivifalliscono!

boba}KN {Alice, 1'.

'.2 aliceba }KN,{N'.2 aliceba }KN,{Naliceba }KN,{N 2.

iveb}K{N 3.bobb}K{N 3'.

1. Alice→Bob : {Alice, Na}Kbob

2. Bob→Alice : {Na,Nb}Kalice

3. Alice→Bob : {Nb}Kbob

Page 63: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

63

Gli attacchi visti (attacco di Lowe, 1995)

2 sessioni interlacciate Nell’ipotesi che alice cominci con la

spia Attivi, da posizione intermedia

Segretezza di Nb fallisce col passo 3 Autenticazione di Alice con Bob fallisce

col passo 3’. Come?? Sicurezza (segretezza,

autenticazione) fallita anche nell’ipotesi di crittografia perfetta!!

Page 64: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

64

Conseguenze dell’attacco Se Bob fosse una

banca e gli altridue correntisti…

bobba }KIve" di conto al Alice di conto dal 10000 itrasferisc" ,N,{N 4'. €

boba}KN {Alice, 1'.

'.2 aliceba }KN,{N

bobb}K{N 3'.…

bobba }K"cancellato è domani di esamel'",N,{N 4'.

Se Alice fosse il docente e gli altri due studenti…

Page 65: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

65

ivea}KN {Alice, 1.

Lo stesso attacco studiato nella tassonomia BUG: perse due nonce

boba}KN {Alice, 1'.

'.2 aliceba }KN,{N'.2 aliceba }KN,{Naliceba }KN,{N 2.

iveb}K{N 3.bobb}K{N 3'.

Page 66: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

66

Vendetta nella tassonomia BUG

Ipotesi: Bob scopra l’importanza di Na

Se anche Alice è una banca, Bob può vendicarsi su Ive come segue

}KaliceBob" di conto al Ive di conto dal 20000 itrasferisc" ,N,{N 5'. ba €

Page 67: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

67

Dovuto a Woo-Lam, metà anni ’80 Usa crittografia simmetrica Usa un TTP (Trusted Third Party),

che possiede un database di tuttele chiavi

Goal: autentica diAlice con Bob

Protocollo di sicurezza – esempio 2

1.A → B : A

2.B → A : Nb

3.A → B : {Nb}Ka

4.B → TTP : {A, {Nb}Ka}Kb

5.TTP →B : {Nb}Kb

Page 68: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

68

Un attaccosu Woo-Lam

B vede indietro Nb

Pertanto autentica l’utente cui l’ha associata, ossia A

A potrebbe perfino essere off-line

B non distingue la sessione!

1.C → B : A

1’. C → B : C

2.B → A : Nb

2’. B → C : Nb’

3.C → B : {Nb}Kc

3’. C → B : {Nb}Kc

4.B → TTP : {A, {Nb}Kc}Kb

4’. B → TTP : {C, {Nb}Kc}Kb

5.TTP →B : {Nb’’}Kb

5’. TTP →B : {Nb}Kb

1. A → B : A

2. B → A : Nb

3. A → B : {Nb}Ka

4. B → TTP : {A, {Nb}Ka}Kb

5. TTP →B : {Nb}Kb

Page 69: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

69

Esempio con trusted third party (TTP)

Page 70: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

70

Symmetric Needham-Schröder

A che serve Na? Kab è chiave di sessione Mutua autentica mediante passi 4 e 5

1.A → TTP : A,B,Na

2.TTP → A : {Na,B,Kab,{Kab,A}Kb}Ka

3.A → B : {Kab,A}Kb

4.B → A : {Nb}Kab

5.A →B : {Nb-1}Kab

ticket

Page 71: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

71

Replay attack

Supponiamo che C abbia violato una vecchia chiave di sessione Kab che B condivise con A

B autenticherebbe A e quindi accetterebbe di usare Kab

Def. Spacciare informazione (chiavi,…) obsoleta, magari violata, come recente

3. C → B : {Kab,A}Kb (rispedito identico)

4. B → A : {Nb’}Kab (intercettato)

5. C →B : {Nb’-1}Kab

Page 72: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

72

I rischi di attacchi aumentano

1978: Needham-Schröder, 6 pagine

Metà anni ’90: SSL, 80 pagine Fine anni ’90: SET, 1000 pagine!

Quasi vent’anni per scoprire che un protocollo di 6 pagine celava un bug! Allora…

Page 73: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

73

Potenziali soluzioni?? Needham-Schröder asimmetrico:

? 1. Alice→Bob : {{Alice,Na}Kalice-1}Kbob

? 1. Alice→Bob : {{Alice,Na}Kalice-1}Kbob2. Bob→Alice : {{Na,Nb}Kbob-1}Kalice

? 2. Bob→Alice : {{Na,Nb}Kbob-1}Kalice

? 2. Bob→Alice : {Na,Nb,Bob}Kalice

? 1. Alice→Bob : {Alice,Bob,Na}Kbob

Page 74: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

74

Woo-Lam:

? 3. A → B : {A,Nb}Ka

? 5. TTP →B : {A,Nb}Kb

? 4. B → TTP : {A, {A,Nb}Ka}Kb

? 2. B → A : Nb,B

Potenziali soluzioni??

Page 75: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

75

Principi di disegno: explicitness

Def. Se le identità del mittente e del ricevente sono significative per il messaggio, allora è prudente menzionarle esplicitamente

Problema: quando sono “significative”??

Page 76: Prof. Stefano Bistarelli - Sicurezza Informatica1 Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it bista

Prof. Stefano Bistarelli - Sicurezza Informatica

76

Discussion: