La sicurezza nelle reti di calcolatori
La sicurezza nelle La sicurezza nelle
reti di calcolatori
reti di calcolatori
Contenuti del corso Contenuti del corso
Æ La progettazione delle reti Æ La progettazione delle reti
Æ Il routing nelle reti IP Æ Il routing nelle reti IP
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Analisi di traffico e dei protocolli applicativi
Æ Analisi di traffico e dei protocolli applicativi
Æ Multimedialità in rete Æ Multimedialità in rete
Æ Tecnologie per le reti future Æ Tecnologie per le reti future
Contenuti del corso Contenuti del corso
Æ La progettazione delle reti Æ La progettazione delle reti
Æ Il routing nelle reti IP Æ Il routing nelle reti IP
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Analisi di traffico e dei protocolli applicativi
Æ Analisi di traffico e dei protocolli applicativi
Æ Multimedialità in rete Æ Multimedialità in rete
Æ Tecnologie per le reti future Æ Tecnologie per le reti future
Argomenti della lezione Argomenti della lezione
Î Autenticazione Î Autenticazione
Î Integrità dei messaggi Î Integrità dei messaggi
Î Sicurezza nell’infrastruttura di rete: VPN, IPsec
Î Sicurezza nell’infrastruttura di rete: VPN, IPsec
Î Sicurezza nel livello di trasporto: SSL
Î Sicurezza nel livello di trasporto: SSL
Î Sicurezza a livello applicativo:
SSH, SHTTP, secure copy, SET Î Sicurezza a livello applicativo:
SSH, SHTTP, secure copy, SET
Autenticazione Autenticazione
Esempi di possibili attacchi:
Esempi di possibili attacchi:
Î IP spoofing Î IP spoofing
Alice Alice
IP di Trudy:
158.110.253.254 IP di Trudy:
158.110.253.254 IP di Bob:
158.110.254.1 IP di Bob:
158.110.254.1
IP mittente:
158.110.254.1
HELLO, BOB
Autenticazione Autenticazione
Esempi di possibili attacchi:
Esempi di possibili attacchi:
Î Lettura delle password in chiaro Î Lettura delle password in chiaro
PWD:
5XY7ZW HELLO,
BOB
Alice Alice BobBob
Trudy Trudy
Autenticazione Autenticazione
Esempi di possibili attacchi:
Esempi di possibili attacchi:
Î Lettura delle password in chiaro Î Lettura delle password in chiaro
PWD:
5XY7ZW
HELLO, BOB
Alice Alice BobBob
Trudy Trudy
Autenticazione Autenticazione
Î Lettura e riutilizzo di password cifrate (attacco di replica)
Î Lettura e riutilizzo di password cifrate (attacco di replica)
PWD:lovealice
? ?
PWD:
%&$#*@
Esempi di possibili attacchi:
Esempi di possibili attacchi:
Alice Alice BobBob
Trudy Trudy
HELLO, BOB
Autenticazione Autenticazione
Alice Alice BobBob
PWD:
%&$#*@
HELLO, BOB
Trudy Trudy
Î Lettura e riutilizzo di password cifrate (attacco di replica)
Î Lettura e riutilizzo di password cifrate (attacco di replica)
Esempi di possibili attacchi:
Esempi di possibili attacchi:
Protocollo di autenticazione a chiave simmetrica basato
su nonce
Protocollo di autenticazione a chiave simmetrica basato
su nonce
Bob Alice
sono Alice!
sono Alice!
KAB (R) KAB (R)
RR
Protocollo di autenticazione a chiave pubblica
Protocollo di autenticazione a chiave pubblica
sono Alice!
sono Alice!
dA (R) dA (R)
RR
chiave pubblica?
chiave pubblica?
eA
eA Bob
Alice
Protocollo di autenticazione a chiave pubblica Protocollo di autenticazione
(fallimento)a chiave pubblica
(fallimento)Trudy Bob
dT (R) dT (R)
RR
chiave pubblica?
chiave pubblica?
eT eT
sono Alice!
sono Alice!
Man in the middle Man in the middle
BobBob dT (R)
dT (R) RR
chiave pubblica?
chiave pubblica?
eT eT Trudy
Trudy Alice
Alice
sono Alice!
sono Alice! sono Alice!sono Alice!
dA (R) dA (R)
RR
chiave pubblica?
chiave pubblica?
eA eA
Man in the middle Man in the middle
dati cifrati con eT dati cifrati con eT dati cifrati con eA
dati cifrati con eA
BobBob Trudy
Trudy Alice
Alice
Trudy riceve e decifra tutti i dati trasmessi
Trudy riceve e decifra tutti i dati trasmessi
Alice e Bob non si accorgono di nulla!
Alice e Bob non si accorgono di nulla!
Autenticazione basata su crittografia
Autenticazione basata su crittografia
Richiede distribuzione sicura delle chiavi
Richiede distribuzione sicura Richiede distribuzione sicura
delle chiavi delle chiavi
Î Crittografia a chiavi simmetriche:
serve intermediario di fiducia (KDC, Key Distribution Center)
ÎÎ Crittografia a chiavi simmetriche: Crittografia a chiavi simmetriche:
serve intermediario di fiducia serve intermediario di fiducia
(KDC,
(KDC, Key DistributionKey Distribution Center)Center) Î Crittografia a chiave pubblica:
CA (Certification Authority)
ÎÎ Crittografia a chiave pubblica:Crittografia a chiave pubblica:
CA (CA (Certification AuthorityCertification Authority))
Key Distribution Center Key Distribution Center
Chiave simmetrica condivisa tra ogni utente registrato e il KDC
Chiave simmetrica condivisa tra ogni utente registrato e il KDC
ÎÎ
Il KDC genera ed invia una chiave simmetrica per singola sessione
Il KDC genera ed invia una chiave simmetrica per singola sessione
ÎÎ
Key Distribution Center Key Distribution Center
Il KDC invia anche ad Alice la chiave di sessione e
l’identificativo di Alice cifrati con la chiave di Bob, che serviranno ad Alice per farsi autenticare da
Bob e per trasmettergli la chiave di sessione
Il KDC invia anche ad Alice ÎÎ
la chiave di sessione e
l’identificativo di Alice cifrati con la chiave di Bob, che serviranno ad Alice per farsi autenticare da
Bob e per trasmettergli la chiave di sessione
Key Distribution Center Key Distribution Center
KB-KDC(“Alice”, R1) KB-KDC(“Alice”, R1)
Dati cifrati con R1 Dati cifrati con R1 KA-KDC (“Alice”, “Bob”) KA-KDC (“Alice”, “Bob”)
KDCKDC
BobBob Alice
Alice
KA-KDC (R1, KB-KDC(“Alice”, R1)) KA-KDC (R1, KB-KDC(“Alice”, R1))
Certification Authority Certification Authority
Î Garantisce la corrispondenza entità - chiave pubblica
Î Garantisce la corrispondenza entità - chiave pubblica
Î Crea un certificato per ogni entità registrata
(standard X.509 e RFC 1422)
Î Crea un certificato per ogni entità registrata
(standard X.509 e RFC 1422) Î Pubblica i certificati in siti
noti senza possibilità di contraffazione
Î Pubblica i certificati in siti noti senza possibilità di
contraffazione
Integrità Integrità
Cifratura del messaggio con chiave pubblica del destinatario
Cifratura del messaggio con chiave pubblica del destinatario
ABCD
testo in chiaro testo in
chiaro
%&*#
testo cifratotesto cifrato chiave
pubblica di Bob chiave pubblica
di Bob
BobBob Alice
Alice
tempi di cifratura/decifratura troppo lunghi
tempi di cifratura/decifratura troppo lunghi
Cifratura del solo digest (riassunto)
Cifratura del solo digest (riassunto)
Problema:
Problema:
Integrità Integrità
Cifratura del messaggio con chiave pubblica del destinatario
Cifratura del messaggio con chiave pubblica del destinatario
Digest del messaggio Digest del messaggio
Stringa di lunghezza fissa Stringa di lunghezza fissa
Generata con funzione di hash H(m)
Generata con funzione di hash H(m)
Proprietà:
Proprietà:
Î Non si può trovare y tale che H(y)=x Î Non si può trovare y tale che H(y)=x
Î Non si possono trovare due
messaggi x e y tali che H(x)=H(y) Î Non si possono trovare due
messaggi x e y tali che H(x)=H(y)
Algoritmo MD5 Algoritmo MD5
Î Attualmente molto usato Î Attualmente molto usato
Î RFC 1321 Î RFC 1321
Produce un digest di 128 bit Produce un digest di 128 bit ÎÎ
Î Processo a 4 fasi Î Processo a 4 fasi
Digest del messaggio Digest del messaggio
messaggio messaggio
digest in chiarodigest in chiaro
chiave
privata del mittente
chiave
privata del mittente
digest cifratodigest cifrato spedizione
spedizione
Digest del messaggio Digest del messaggio
chiave
pubblica del mittente
chiave
pubblica del mittente digest
cifratodigest
cifrato digest
in chiarodigest in chiaro
messaggio
messaggio digest
in chiarodigest in chiaro
confrontoconfronto
Può essere usato come firma digitalePuò essere usato come firma digitale
Estensioni di TCP/IP per la sicurezza
Estensioni di TCP/IP per la sicurezza
HTTPHTTP FTPFTP SMTPSMTP
AHAH IPsecIPsec ESPESP TCPTCP
Nell’infrastruttura di rete Nell’infrastruttura di rete
Nel livello di trasportoNel livello di trasporto
Estensioni di TCP/IP per la sicurezza
Estensioni di TCP/IP per la sicurezza
HTTPHTTP FTPFTP SMTPSMTP
TCPTCP SSLSSL
IPIP
Estensioni di TCP/IP per la sicurezza
Estensioni di TCP/IP per la sicurezza
TCPTCP
HTTPHTTP SMTPSMTP
IPIP
SETSET PGPPGP SS--HTTPHTTP
S/MIME S/MIME
Nelle applicazioni Nelle applicazioni
VPN (Virtual Private Network) VPN (Virtual Private Network)
Traffico privato su parte di infrastruttura pubblica
(tipicamente IP)
Traffico privato su parte di infrastruttura pubblica
(tipicamente IP)
VPN (Virtual Private Network) VPN (Virtual Private Network)
Î Trasparenza alle applicazioni Î Trasparenza alle applicazioni
Î Riservatezza Î Riservatezza
Î Sicurezza (non accessibile a chiunque) Î Sicurezza (non accessibile a chiunque)
Requisiti:
Requisiti:
Esempio: Extranet Esempio: Extranet
Modelli di VPN Modelli di VPN
Î Overlay Î Overlay
Î Peers Î Peers
Overlay Overlay
Î I router della rete non sono a conoscenza dell’esistenza della VPN
Î I router della rete non sono a conoscenza dell’esistenza della VPN
Realizzazione mediante tunneling Realizzazione mediante tunneling ÎÎ
Î Overhead di imbustamento
(può richiedere frammentazione) Î Perdita della QoS
Î Overhead di imbustamento
(può richiedere frammentazione) Î Perdita della QoS
Problemi:
Problemi:
Overlay Overlay
Î Routing potenzialmente non efficiente
Î Routing potenzialmente non efficiente
Problemi:
Problemi:
tunneling tunneling
non utilizzato non utilizzato
tunneling tunneling
Peers Peers
Î Tutti i router della rete
conoscono e gestiscono la VPN Î Tutti i router della rete
conoscono e gestiscono la VPN Routing classico
Routing classico ÎÎ
Î Incompatibilità con piano di indirizzamento privato
Î Più difficile garantire la sicurezza Î Incompatibilità con piano di
indirizzamento privato
Î Più difficile garantire la sicurezza
Problemi:
Problemi:
IPsec IPsec
Famiglia di protocolli per la sicurezza al livello 3 (RFC 2401 e RFC 2411)
Famiglia di protocolli per la sicurezza al livello 3 (RFC 2401 e RFC 2411)
IPsec IPsec
AH
(Authentication Header) AH
(Authentication Header)
Protocolli principali:
Protocolli principali:
Autenticazione della sorgente e integrità dei messaggi
Autenticazione della sorgente e integrità dei messaggi
IPsec IPsec
ESP
(Encapsulation Security Payload) ESP
(Encapsulation Security Payload)
Autenticazione, integrità e segretezza
Autenticazione, integrità e segretezza
Protocolli principali:
Protocolli principali:
IPsec IPsec
(Security Association)SA canale unidirezionale (Security Association)SA
canale unidirezionale
Costruisce una connessione logica a livello 3:
Costruisce una connessione logica a livello 3:
Security Association Security Association
Î Identificatore a 32 bit della connessione (SPI: Security Parameter Index)
Î Identificatore a 32 bit della connessione (SPI: Security Parameter Index)
Î Indirizzo IP del mittente Î Indirizzo IP del mittente
Î Identificatore del protocollo di sicurezza (AH o ESP)
Î Identificatore del protocollo di sicurezza (AH o ESP)
Identificata da:
Identificata da:
Authentication Header (AH) Authentication Header (AH)
protocollo = 51 protocollo = 51
header header
IPIP AHAH segmento TCP/UDPsegmento TCP/UDP
contiene l’informazione originale di protocollo e
le informazioni SA
contiene l’informazione originale di protocollo e
le informazioni SA
Authentication Header (AH) Authentication Header (AH)
header header
IPIP AHAH segmento TCP/UDPsegmento TCP/UDP
contiene un digest del datagram IP originale
firmato con DES, MD5 o SHA contiene un digest del
datagram IP originale
firmato con DES, MD5 o SHA
Authentication Header (AH) Authentication Header (AH)
header header
IPIP AHAH segmento TCP/UDPsegmento TCP/UDP
contiene un numero di sequenza su 32 bit per ciascun datagram
(difesa da attacchi di replica e man-in-the-middle)
contiene un numero di sequenza su 32 bit per ciascun datagram
(difesa da attacchi di replica e man-in-the-middle)
Encapsulation Security Payload (ESP)
Encapsulation Security Payload (ESP)
protocollo = 50
protocollo = 50 digestdigest
header header
IPIP headerheader
ESPESP segmentosegmento TCP/UDP
TCP/UDP trailertrailer
ESPESP autent.autent.
ESPESP
cifrato cifrato autenticato autenticato
Protocolli di gestione di IPsec Protocolli di gestione di IPsec
Î Scambio di chiavi Î Scambio di chiavi
Protocollo IKE: Internet Key Exchange (RFC 2409)
Protocollo IKE: Internet Key Exchange (RFC 2409)
Protocolli di gestione di IPsec Protocolli di gestione di IPsec
Î Procedure per stabilire e interrompere le SA
Î Procedure per stabilire e interrompere le SA
Protocollo ISKMP: Internet
Security Association and Key Management Protocol (RFC 2407 e RFC 2408)
Protocollo ISKMP: Internet
Security Association and Key Management Protocol (RFC 2407 e RFC 2408)
Tunneling con IPsec Tunneling con IPsec
AHAH AH
nuovo nuovo header header
IPIP AHAH segmentosegmento TCP/UDP TCP/UDP header
header IPIP
originale originale
Tunneling con IPsec Tunneling con IPsec
ESPESP ESP
nuovo nuovo header header
IPIP
header
ESP segmentosegmento TCP/UDP TCP/UDP header
header IPIP
originale originale
trailer
ESP autent.
ESP
cifrato cifrato autenticato autenticato
SSL e TSL SSL e TSL
Î SSL (Secure Socket Layer):
cifratura e autenticazione fra client e server Web (Netscape) Î SSL (Secure Socket Layer):
cifratura e autenticazione fra client e server Web (Netscape)
TSL (Transport Layer Security):
RFC 2246 basato su SSL
TSL (Transport Layer Security):
RFC 2246 basato su SSL ÎÎ
Applicazione tipica:
commercio elettronico
Applicazione tipica:
commercio elettronico ÎÎ
Autenticazione SSL Autenticazione SSL
Il browser contiene lista di
Certification Authorities fidate Il browser contiene lista di
Certification Authorities fidate ÎÎ
Î Il browser autentica il server prima dell’invio dei dati
(es. numero di carta di credito) Î Il browser autentica il server
prima dell’invio dei dati
(es. numero di carta di credito)
Î È anche possibile l’autenticazione del client da parte del server
Î È anche possibile l’autenticazione del client da parte del server
SSL e TSL SSL e TSL
Î Le informazioni scambiate
all’interno di una sessione SSL sono cifrate
Î Le informazioni scambiate
all’interno di una sessione SSL sono cifrate
Î Utilizzo di chiavi simmetriche scambiate con chiavi pubbliche RSA
Î Utilizzo di chiavi simmetriche scambiate con chiavi pubbliche RSA
Secure Electronic Transaction (SET)
Secure Electronic Transaction (SET)
Sviluppato in origine da Visa International e MasterCard International
Sviluppato in origine da Visa International e MasterCard International
ÎÎ
Limitato a messaggi inerenti a transazioni commerciali
Limitato a messaggi inerenti ÎÎ
a transazioni commerciali
Coinvolge (e certifica) acquirente, venditore e banca del venditore
Coinvolge (e certifica) acquirente, venditore e banca del venditore
ÎÎ