Telematica di Basegroups.di.unipi.it/~dipierro/Didattica/TdB06/Sicurezza1.pdf · – secure email...

Post on 18-Aug-2020

3 views 0 download

Transcript of Telematica di Basegroups.di.unipi.it/~dipierro/Didattica/TdB06/Sicurezza1.pdf · – secure email...

  1

Telematica di Base

Sicurezza nelle reti

  2

Cosa vuol dire sicurezza nelle reti?

Riservatezza: solo il sender e il receiver devono essere in grado di “capire” il messaggio– sender codifica i messaggio– receiver decritta il messaggio

Autenticazione: sender, receiver vogliono assicurarsi l’un l’altro della propria identita’ 

Integrita’ del messaggio: sender, receiver voglio assicurare che il messaggio non venga alterato (in transit, o dopo)

Disponibilita’ e controllo dell’accesso: servizi devono essere disponibili e accessibili agli utenti

  3

SommarioTechniche di base…...

– crittografia (simmetrica e publica)– autenticazione– message integrity– distribuzione delle chiavi

…. usate in diversi scenari– secure email– secure transport (SSL)– IP sec– 802.11

  4

Amici e nemici• well­known in network security world• Bob, Alice (lovers!) want to communicate “securely”• Trudy (intruder) may intercept, delete, add messages

securesender

securereceiver

channel data, control messages

data data

Alice Bob

Trudy

  5

Chi sono Bob e Alice?•  Web browser/server per transazioni 

elettroniche (e.g., acquisti on­line)• on­line banking client/server• DNS servers• routers che si scambiano gli aggiornamenti 

delle tabelle di routing• altri esempi?

  6

Bad guys (and girls)Q: Cosa puo’ fare “l’intruso”?A: molto!

– eavesdrop: intercettare messaggi– inserire attivamente messaggi nella connessione– impersonation: imitazione (spoofing) dell’indirizzo 

del mittente nei pacchetti– hijacking: “take over” ongoing connection by 

removing sender or receiver, inserting himself in place

– negazione di servizio (DoS): prevenire l’uso del servizio da parte di altri (e.g. sovraccaricando le risorse)

  7

Principi di crittografia

1. Crittografia a chiave simmetrica

2. Crittografia a chiave pubblica

  8

Il linguaggio della crittografia

critt. a chiave simmetrica: chiavi sender, receiver identiche

critt. a chiave pubblica: chiave per crittare pubblica, chiave per decrittare segreta  (privata)

plaintext plaintextciphertext

KA

encryptionalgorithm

decryption algorithm

Alice’ s encryptionkey

Bob’ s decryptionkey

KB

  9

Crittografia a chiave simmetrica

plaintext: abcdefghijklmnopqrstuvwxyz

ciphertext: mnbvcxzasdfghjklpoiuytrewq

Plaintext: bob. i love you. aliceciphertext: nkn. s gktc wky. mgsbc

E.g.:

Q: Quanto e’ difficile rompere questo semplice cifrario?:

forza bruta altro?

  10

Crittografia a chiave simmetrica

Bob e Alice condividono la stessa chiave (simmetrica): K

• e.g. conoscenza del pattern di sostituzione nel cifrario mono alfabetico

• Q: how do Bob and Alice agree on key value?

plaintextciphertext

KA-B

encryptionalgorithm

decryption algorithm

A-B

KA-B

plaintextmessage, m

K (m)A-B

K (m)A-Bm = K ( )

A-B

  11

DESDES: Data Encryption Standard• US encryption standard [NIST 1993]• 56­bit symmetric key, 64­bit plaintext input• Qual’e’ il grado di sicurezza di DES?

– DES Challenge: frase crittata con chiave di 56 bit (“Strong cryptography makes the world a safer place”) decrittata (brute force) in 4 mesi

– non si conoscono approcci “backdoor” alla decrittazione

• DES si puo’ rendere piu’ sicura:– applicae sequenzialmente di 3 chiavi su ciascun dato 

(3­DES) – uso di “cipher­block chaining”

  12

 DES

permutazione iniziale 16 applicazioni della 

funzione f, ognuna su 48 bits diversi della chiave

permutation finale

Operazioni DES

  13

Crittografia a chiave pubblica

critt. a chiave simmetrica

• richiede sender, receiver conoscano chiave segreta comune

• Q: ma come accordarsi sulla chiave?

critt. a chiave publica• approccio radicalmente 

diverso [Diffie­Hellman76, RSA78]

• sender, receiver non condividono chiave segreta

• chiave publica nota a tutti

• chiave private solo a  receiver

  14

Crittografia a chiave pubblica

plaintextmessage, m

ciphertextencryptionalgorithm

decryption algorithm

Bob’s public key

plaintextmessageK (m)

B+

K B+

Bob’s privatekey

K B-

m = K (K (m))B+

B-

  15

Algoritmi crittografici a chiave pubblica

 K  ( ) and K  ( ) devono essere t.c.B B

. .

data la chiave pub K  , doverbbe essere impossibile calcolare la chiave privata K  B

B

Requisiti:

1

2

RSA: Rivest, Shamir, Adelson algorithm

+ -

K (K (m)) = m BB

- +

+

-

  16

AutenticazioneObiettivo: Bob vuole stabilire l’identita’ di Alice

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

obiettivo raggiunto??“ I am Alice”

  17

Autenticazione

Obiettivo: Bob vuole stabilire l’identita’ di Alice

Protocol ap1.0: Alice dice “ I am Alice”

in a network,Bob can not “ see” Alice, so Trudy simply declaresherself to be

Alice

“ I am Alice”

  18

Autenticazione: altro tentativo

Protocol ap2.0: Alice dice “ I am Alice” in un pacchetto IP contenente il suo indirizzo IP

obiettivo raggiunto??

“ I am Alice”Alice’s IP address

  19

Autenticazione: altro tentativo

Protocol ap2.0: Alice dice “ I am Alice” in un pacchetto IP contenente il suo indirizzo IP

Trudy can createa packet

“ spoofing”Alice’ s address

“ I am Alice”Alice’s IP address

  20

Autenticazione: altro tentativoProtocollo ap3.0: Alice dice “ I am Alice” e manda la sua password secreta per “ dimostrarlo” .

???

“ I’m Alice”Alice’ s IP addr

Alice’ s password

OKAlice’ s IP addr

  21

Autenticazione: altro tentativoProtocollo ap3.0: Alice dice “ I am Alice” e manda la suapassword segreta per “ dimostrarlo”

playback attack: Trudy records Alice’ s packet

and laterplays it back to

Bob

“ I’m Alice”Alice’ s IP addr

Alice’ s password

OKAlice’ s IP addr

“ I’m Alice”Alice’ s IP addr

Alice’ s password

  22

Autenticazione: un altro tentativoProtocollo ap3.1: Alice dice “ I am Alice” e manda la sua password cifrata per “ dimostrarlo” .

???

“ I’m Alice”Alice’ s IP addr

encrypted password

OKAlice’ s IP addr

  23

Autenticazione: un altro tentativoProtocollo ap3.1: Alice dice “ I am Alice” e manda la sua password cifrata per “ dimostrarlo” .

playbackfunziona ancora!

“ I’m Alice”Alice’ s IP addr

encryptedpassword

OKAlice’ s IP addr

“ I’m Alice”Alice’ s IP addr

encryptedpassword

  24

Autenticazione: un altro tentativoObiettivo: evitare “ playback attack”

Problemi, limiti?

Nonce: numero (R) usato solo una volta

ap4.0: Bob manda ad Alice nonce, R. Alice deve restituire R, crittato con la chiave segreta comune

“ I am Alice”

R

K (R)A-BAlice is live, and only Alice knows key to encrypt nonce, so it must be

Alice!

  25

Autenticazione: ap5.0ap4.0 richiede chiave simmetrica condivisa• possiamo autenticare usando tecniche a chiave 

pubblica?ap5.0: usa nonce, critt. a chiave pubblica

“ I am Alice”

RBob computes

K (R)A-

“ send me your public key”

K A+

(K (R)) = RA

-K A+

and knows only Alice could have the private key, that encrypted R

such that(K (R)) = RA-

K A+

  26

ap5.0: security holeMan (woman) in the middle attack: Trudy si finge 

Alice con Bob e Bob con Alice

I am Alice I am AliceR

TK (R)

-

Send me your public key

TK +

AK (R)

-

Send me your public key

AK +

TK (m)+

Tm = K (K (m))+

T-

Trudy gets

sends m to Alice encrypted with Alice’s public key

AK (m)+

Am = K (K (m))+

A-

R

  27

ap5.0: security holeMan (woman) in the middle attack: Trudy si 

finge Alice con Bob e Bob con Alice

Difficile da individuare: Bob riceve tutto cio’ che manda Alice e vice versa. il problema e’ che Trudy riceve anche lei tutti i messaggi!

  28

Intermediari di fiduciaProblema chiavi 

simmetriche:• come fanno due entita’ a 

stabilire la chiave segreta condivisa attraverso la rete?

Soluzione:• un centro di distribuzione delle 

chiavi “fidato” (KDC) agisce da intermediario tra le entita’

Problema chiavi pubbliche:

• Quando Alice ottiene la c.p. di Bob (da sito web, e­mail, ecc.), come fa a sapere che e’ la c.p. di Bob e non di Trudy?

Soluzione:• trusted certification 

authority (CA)

  29

Key Distribution Center (KDC)• Alice, Bob devono trovare una chiave simmetrica.• KDC: server codivide c.s. differenti con ciascuno dei 

(molti) utenti registrati• Alice, Bob conoscono la propria c.s., KA­KDC KB­KDC , 

per comunicare con KDC. 

KB-KDC

KX-KDC

KY-KDC

KZ-KDC

KP-KDC

KB-KDC

KA-KDC

KA-KDC

KP-KDC

KDC

  30

Centro distribuzione chiavi (KDC)

Aliceknows R1

Bob knows to use R1

to communicate with AliceAlice e Bob comunicano usando R1

comechiave di sessione

KDC permette a Bob, Alice di determinare la chiave simmetrica per la loro comunicazione

KDC generates R1

KB-KDC(A,R1)

KA-KDC(A,B)

KA-KDC(R1, KB-KDC(A,R1) )

  31

Autorita’ di certificazione (CA)• CA: associa chiave pubblica a una data entita’ E.• E (persona, router) registra la sua c.p. con CA.

– E fornisce una “prova di identita’” alla CA. – CA crea un certificato che associa E alla sua c.p.– certificato riporta la firma digitale di CA– CA dice “questa e’ la c.p. di E”

Bob’ s publickey K B

+

Bob’ s identifyi

ng informati

on

digitalsignature(encrypt)

CA privat

ekey

K CA-

K B+

certificate for Bob’ s

public key, signed by CA

  32

Autrita’ di certificazione (CA)• Quando Alice vuole la chiave pubblica di Bob:

– ottiene il certificato di Bob.– applica la chiave pubblica della CA al 

certificato di Bob, ottiene la chiave pubblica di Bob

Bob’ s public

key K B+

digitalsignature(decrypt)

CA public

key K CA+

K B+

  33

Contenuto dei certificati• Serial number (unique to issuer)• info about certificate owner, including 

algorithm and key value itself (not shown)• info about 

certificate issuer

• valid dates• digital 

signature by issuer