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• wellknown 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 online)• online 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]• 56bit symmetric key, 64bit 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
(3DES) – uso di “cipherblock 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 [DiffieHellman76, 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, email, 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., KAKDC KBKDC ,
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
Top Related