Sicurezza della comunicazione ... - Politecnico di...
Transcript of Sicurezza della comunicazione ... - Politecnico di...
1
09CDUdcReti di Calcolatori
Sicurezza nelle Reti
Sicurezza della comunicazione
Autenticazione
Segretezza
Integrità del messaggio
Proprietà desiderabili
Segretezza
Può anche essere desiderabilela segretezza del fatto stesso che sia avvenuta una comunicazionetra due persone (proprietà menoovvia)
Il contenuto del messaggiopuò essere letto soltanto dal destinatario (proprietà banale)
Autenticazione
Come faccio ad essere certodell’identità della persona
con cui comunico?
! Autenticazione del mittente
! Autenticazione del destinatario
Servono:
Integrità del messaggio
Come posso garantire che il messaggio ricevuto sia esattamente quello
inviato (e non sia stato modificatoda qualcuno?)
Alice
Trudy
Bob
ti amoBob
ti odioBob
Sicurezza per chi?
! Apparati dell’infrastruttura di rete (es. server DNS, router, ecc.)
! Utenti (persone)
! Falle nella sicurezza dell’infrastruttura possono essere veicolo di attacchi alle attivitàdegli utenti
2
Vulnerabilità della rete
! Possibile alterazione dei messaggi
! Indirizzi IP non autenticati
! Broadcast di livello 2DoS: Denial of Service
Attacchi orientati ad impedire il normale
funzionamento dei sistemi
Esempi: SYN flooding (apertura connessioni TCP), smurf (ICMP echo
con falsi IP sorgenti)
Vulnerabilità della rete
Principi di crittografia
Permette di ottenere:
Autenticazione
Segretezza
Integrità del messaggio
Cifratura
ABCD
testo in chiaro
algoritmosegreto
di cifratura
#^$&testocifrato
Decifratura
Algoritmosegreto didecifratura
ABCD
testo in chiaro
#^$&testocifrato
NO: è necessario permetterelo sviluppo del software
necessario
Algoritmo segreto per Internet?
algoritmi pubblici+ CHIAVI
3
Definizioni
ABCD
testo in chiaro
algoritmodi cifratura
#^$&testocifrato
chiaveKA
Alice
Definizioni
algoritmo didecifratura
ABCD
testo in chiaro
%&*#testocifrato
chiaveKB
Bob
Definizioni
KH#4
testoincomprensibile
algoritmo didecifratura
%&*#testocifrato
?
Trudy
Chiavi simmetriche
Stessa chiaveper crittografiae decrittografia
Come scambiarsi le chiavi?
Problema:
Chiavi simmetriche
len (chiave) > len (messaggio)chiavi sempre diverse
Massima sicurezza:
Algoritmi per chiavi simmetriche
Cifrature monoalfabetiche(cifrario di Cesare)
! Schema di sostituzione fissa di ogni lettera con un’altra
! Forzatura tramite analisi statistica delle ricorrenze
Cifrature polialfabetiche(cifrari di Vigenere)
n cifrari di Cesare usati ciclicamente
4
Tipologie di attacco
! Forza bruta (tutte le possibili chiavi)
! Analisi statistica (ricorrenze dellelettere, delle sillabe, ecc.)
! Analisi con testo in chiaro scelto
! Analisi del crittogramma di cui ènota una parte del testo(es. intestazione standard)
Algoritmi per chiavisimmetriche
! Chiave a 56 bit
! 16 fasi di manipolazione ed EXOR con i bit della chiave
DES: Data Encryption Standard
! Due fasi di permutazione
! Forzato nel 1997! Evoluzione: DES Triplo (3DES)
Chiavi pubbliche
Due chiavi
Chiave pubblica
Chiave privata (segreta)
Chiavi pubbliche
Dove:
dB chiave privata di Bob, usata per la decifratura
eB chiave pubblica di Bob, usata per la cifratura
m messaggio
dB (eB (m)) = m = eB (dB (m))
Crittografia a chiave pubblica
%&*#
testocifratoeB(m)
chiavepubblicadi Bob
eB
Alice
ABCD
testo in chiaro
algoritmodi cifratura
Crittografia a chiave pubblica
%&*#testo cifrato
eB(m)
chiaveprivatadi Bob
eBBob
ABCD
testo in chiarodB(eB(m))=m
algoritmo didecifratura
5
! RSA (Ron Rivest, Adi Shamir, Leonard Adleman)
! Chiavi generate a partire da due numeri primi p e q molto grandi: p ·q dell’ordine di 1024 bit(difficile scomposizione in fattori)
Descrizione dell’algoritmo a pag. 570 e seguenti del libro di testo
Algoritmo RSA per cifratura a chiave pubblica
Algoritmo RSA per cifratura a chiave pubblica
richiede calcolo di elevamento apotenza con numeri molto grandi
Lungo tempo di elaborazione
Problema:
Algoritmo RSA per cifratura a chiave pubblica
scambio di chiavi simmetriche di sessione
RSA → chiavi di sessioneDES → contenuto dei messaggi
Possibile impiego:
BobAlice
sono Alice!
KAB (R)
R
Protocollo di autenticazionea chiave simmetrica basato
su nonce
dA (R)
R
chiave pubblica?
eA
Protocollo di autenticazionea chiave pubblica
BobAlice
sono Alice!
Protocollo di autenticazionea chiave pubblica (fallimento)
Trudy Bob
dT (R)
R
chiave pubblica?
eT
sono Alice!
6
Man in the middle
Bob
dT (R)R
chiave pubblica?
eT
Trudy
Alice
sono Alice! sono Alice!
dA (R)R
chiave pubblica?
eA
dati cifrati con eTdati cifrati con eA
Alice e Bob non si accorgonodi nulla!
Man in the middle
BobTrudyAlice
Trudy riceve e decifra tuttii dati trasmessi
Richiede distribuzione sicura delle chiavi
Autenticazione basatasu crittografia
! Crittografia a chiavi simmetriche: serve intermediario di fiducia (KDC, Key Distribution Center)
! Crittografia a chiave pubblica:CA (Certification Authority)
Key Distribution Center
! Chiave simmetrica condivisa tra ogni utente registrato e il KDC
! Il KDC genera ed invia una chiave simmetrica per singola sessione
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
Key Distribution Center
KB-KDC(“Alice”, R1)
Dati cifrati con R1
KA-KDC (“Alice”, “Bob”)KDC
Bob
Alice
KA-KDC (R1), KB-KDC(“Alice”, R1)
7
! Garantisce la corrispondenza entità - chiave pubblica
! Crea un certificato per ogni entità registrata (standard X.509 e RFC 1422)
Certification Authority
! Pubblica i certificati in siti noti senza possibilità di contraffazione
Cifratura del messaggio con chiave pubblica del destinatario
Integrità
ABCD
testo in chiaro
%&*#
testocifratochiave
pubblicadi Bob
BobAlice
tempi di cifratura/decifraturatroppo lunghi
Cifratura del solo digest (riassunto)
Problema:
Integrità
Cifratura del messaggio con chiave pubblica del destinatario
Digest del messaggio
Proprietà:
! Non si può trovare y tale che H(y)=x
! Non si possono trovare duemessaggi x e y tali che H(x)=H(y)
Generata con funzione di hashH(m)
Stringa di lunghezza fissa
Algoritmo MD5
! Attualmente molto usato
! RFC 1321
! Produce un digest di 128 bit
! Processo a 4 fasi
Digest del messaggio
messaggiodigest
in chiaro
chiaveprivata del mittente
digestcifratospedizione
8
Può essere usatocome firma digitale
chiavepubblica del
mittentedigestcifrato
digestin chiaro
messaggiodigest
in chiaro
con
fron
to
Digest del messaggio
Nell’infrastruttura di rete
Estensioni di TCP/IP per la sicurezza
HTTP FTP SMTP
AH ESPIPsec
TCP
Nel livellodi trasporto
Estensioni di TCP/IP per la sicurezza
HTTP FTP SMTP
TCP
SSL
IP
Nelle applicazioni
Estensioni di TCP/IP per la sicurezza
TCP
HTTP SMTP
IP
SET PGPS-HTTPS/MIME
VPN (Virtual Private Network)
! Trasparenza alle applicazioni
! Riservatezza
! Sicurezza (non accessibile a chiunque)
Requisiti:
1. Overlay2. Peers
Traffico privato su partedi infrastruttura pubblica
(tipicamente IP)
! Overhead di imbustamento(può richiedere frammentazione)
! Perdita della QoS
Overlay
! I router della rete non sono a conoscenza dell’esistenza dellaVPN
! Realizzazione mediante tunneling
Problemi:
9
! Routing potenzialmente non efficiente
Overlay
Problemi:
tunneling
non utilizzato
tunneling! Incompatibilità con piano di
indirizzamento privato
! Più difficile garantire la sicurezza
Peers
! Tutti i router della reteconoscono e gestiscono la VPN
! Routing classico
Problemi:
IPsec: Protocolli Principali
! AH (Authentication Header)Autenticazione della sorgente e integrità dei messaggi
! ESP (Encapsulation Security Payload)Autenticazione, integrità e segretezza
! SA (Security Association) canale unidirezionale. Costruisce unaconnessione logica a livello 3
Protocolli di gestione di IPsec
! Scambio di chiavi
Protocollo IKE: Internet Key Exchange (RFC 2409)
! Procedure per stabilire einterrompere le SA
Protocollo ISKMP: Internet Security Association and Key Management Protocol (RFC 2407 e RFC 2408)
Tunneling con IPsec
AH
nuovoheader
IPAH segmento
TCP/UDP
headerIP
originale
cifrato
autenticato
Tunneling con IPsec
nuovoheader
IP
headerESP
segmentoTCP/UDP
headerIP
originale
trailerESP
autent.ESP
ESP
10
! SSL (Secure Socket Layer): cifratura e autenticazione fraclient e server Web (Netscape)
! TSL (Transport Layer Security): RFC 2246 basato su SSL
SSL e TSL
! Applicazione tipica: commercio elettronico
! Il browser autentica il server prima dell’invio dei dati(es. numero di carta di credito)
! Il browser contiene lista diCertification Authorities fidate
! È anche possibile l’autenticazionedel client da parte del server
Autenticazione SSL
! Le informazioni scambiateall’interno di una sessione SSL sono cifrate
SSL e TSL
! Utilizzo di chiavi simmetrichescambiate con chiavi pubblicheRSA
! Sviluppato in origine da Visa International e MasterCard International
! Limitato a messaggi inerentia transazioni commerciali
Secure Electronic Transaction (SET)
! Coinvolge (e certifica) acquirente, venditore e banca del venditore
Firewall
! Combina dispositivi hardware e funzionalità software
! Effettua il controllo costante del traffico in entrata e in uscita dalla rete da proteggere
! Collega una rete fidata a una rete considerata non sicura
Internet ed intranet
intranet
Internet
firewall
Trusted network
Untrusted network
11
Firewall: obiettivi
! Bloccare il traffico indesiderato proveniente dall’esterno
! Lasciare passare solo i flussi fidati, strettamente necessari ai servizi aziendali
! Impedire eventi maligni che possono celarsi all’internodei flussi fidati
I firewall in pratica…
Internet
firewallintranet
I firewall in pratica…
Internet
firewallintranet
Packet filter
! Analizza l’header di livello 3 (IP)e di livello 4 (TCP/UDP) di ciascun pacchetto
Firewall: funzionalità
! Blocca i pacchetti in base a regoledefinite a priori dall’amministratoredi rete
! È disponibile su alcuni router
Stateful inspection
! Effettua un’analisi dei flussiin tempo reale
Firewall: funzionalità
! Intercetta violazioni dei parametridi protocollo ai vari livelli
! Ispeziona anche le informazioniscambiate a livello di applicazione
NAT e firewall
! Spesso i router integrano NAT e funzioni di filtraggio dei pacchetti
Firewall: esempio
! Blocco dei pacchetti in base a regoledefinite a priori dall’amministratoredi rete mediante Access Control List
! Il filtraggio avviene in modo bidirezionale
12
L’host 192.168.1.1 (client) deve contattare un server web su Internet
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Firewall
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Il client invia al default router un pacchetto IP avente:SIP 192.168.1.1 SPort 30231/TCPDIP 62.41.244.2 DPort 80/TCP
Firewall
Il router/firewall, prima diinoltrarlo, consulta la tabelladelle ACL (Access Control List)
Firewall
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
B = BLOCK
F = FORWARD
ACL table
Rule
F
F
B
Dest address
62.41.244.2
Any
Any
Dest port
80/TCP
Any/TCP
Any
Src address
Any
Any
62.41.244.2
Src port
Any/TCP
Any
80/TCP
ACL
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Il router/firewall accettail pacchetto ! NAT e inoltroal destinatario
Firewall
Il server risponde allarichiesta di connessionedel client
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Firewall
13
Il server risponde al client con un pacchetto avente:SIP 62.41.244.2 SPort 80/TCPDIP 158.109.1.253 DPort 1024/TCP
Firewall
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Il router/firewall, prima diinoltrarlo, consulta la tabelladelle ACL (Access Control List)
Firewall
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
B = BLOCK
F = FORWARD
ACL table
Rule
F
F
B
Dest address
62.41.244.2
Any
Any
Dest port
80/TCP
Any/TCP
Any
Src address
Any
Any
62.41.244.2
Src port
Any/TCP
Any
80/TCP
ACL
Il router/firewall applicala traduzione (NAT) e il client riceve correttamente il pacchetto
62.41.244.2
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Firewall
Il client invia al default router unpacchetto IP avente:SIP 192.168.1.1 SPort 30232/TCPDIP 212.15.15.26 DPort 80/TCP
Firewall
212.15.15.26
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Il router/firewall, prima diinoltrarlo, consulta la tabelladelle ACL (Access Control List)
Filtraggio
212.15.15.26
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
14
B = BLOCK
F = FORWARD
ACL table
Rule
F
F
B
Dest address
62.41.244.2
Any
Any
Dest port
80/TCP
Any/TCP
Any
Src address
Any
Any
62.41.244.2
Src port
Any/TCP
Any
80/TCP
ACL
212.15.15.26
Internetfirewall192.168.1.1
192.168.1.254
158.109.1.253intranet
Il router/firewall blocca ilpacchetto e invia al client un pacchetto ICMP Destination Unreachable
Filtraggio
Un client esterno invia unarichiesta al server protetto
212.14.15.26
Internetfirewall192.168.1.100
192.168.1.254
158.109.1.253intranet
Servizi protetti
Il pacchetto possiede:SIP 212.14.15.26 SPort 3200/TCPDIP 158.109.1.253 DPort 80/TCP
Servizi protetti
212.14.15.26
Internetfirewall192.168.1.100
192.168.1.254
158.109.1.253intranet
B = BLOCK
F = FORWARD
ACL table
Rule
F
F
B
Dest address
158.109.1.253
Any
Any
Dest port
80/TCP
Any/TCP
Any
Src address
Any
Any
192.168.1.100
Src port
Any/TCP
Any
80/TCP
ACL
Il router/firewall applicala traduzione (NAT) e inoltrail pacchetto al server interno
212.14.15.26
Internetfirewall192.168.1.100
192.168.1.254
158.109.1.253intranet
Servizi protetti
15
! Riguarda il traffico uscente dalla rete aziendale
! Fa da intermediario (o proxy) al flusso di dati tra i clientinterni e i server esterni
Application gateway
! Collega due segmenti di rete a livello di applicazione
Application gateway
! Il sistema maschera l’originedel collegamento iniziale
! I client della rete interna accedono ai servizi su Internet soltanto attraverso il gateway
! Il gateway può autorizzaregli utenti in base a specifiche policy di accesso
Application gateway e servizi
! HTTP! FTP! Telnet
Servizi che possono essere filtrati mediante application gateway:
! Posta elettronica(SMTP, POP3/IMAP)
! …
Policy di accesso
! IP black list: lista dei server riconosciuti come maliziosi
! A fasce orarie
! Keyword list: elenco di termini vietati o non conformi
! Tipo di informazioni scambiate (file eseguibili, immagini…)
! Personalizzate per utente
Application gateway
proxy.azienda.net
www.ieee.comintranet
Internet
Application gateway
proxy.azienda.net
www.ieee.comintranet
Internet
MI SERVEWWW.IEEE.COM/802.HTML
16
Application gateway
proxy.azienda.net
www.ieee.comintranet
InternetIEEE.COM E’ UN SITO FIDATO!
Application gateway
proxy.azienda.net
www.ieee.comintranet
Internet
802.html
Application gateway
proxy.azienda.net
www.ieee.comintranet
Internet
802.htmlECCOLO!
Application gateway
proxy.azienda.net
www.ieee.comintranet
InternetMI SERVEWWW.CASINOONLINE.COM
802.html
proxy.azienda.net
www.ieee.comintranet
Internet
Application gateway
802.html
VIETATO!