Distribuzione chiavi pubbliche Distribuzione chiavi pubbliche

• Elementi di Crittografia
• 31-05-2016
Certificati, Infrastrutture a
Chiave Pubblica, SSL/TLS
Barbara Masucci
Dipartimento di Informatica
Università di Salerno
[email protected]
http://www.di.unisa.it/professori/masucci
Distribuzione
chiavi pubbliche
§  Come vengono distribuite le chiavi
pubbliche?
§  Chi ci assicura che una chiave pubblica è
quella di un prefissato utente?
Barbara Masucci - DI – Università di Salerno
1
Distribuzione
chiavi pubbliche
Alcune tecniche:
§ Annuncio pubblico
§ Directory pubblica
§ Autorità per le chiavi pubbliche
§ Certificati per le chiavi pubbliche
Barbara Masucci - DI – Università di Salerno
2
• 1
• Elementi di Crittografia
• 31-05-2016
Annuncio pubblico
Pubblicizzare la propria chiave pubblica
§  Scambio diretto con la controparte
§  Sul sito web
§  In allegato alle e-mail
§  Bacheche elettroniche
Problema
§  Possiamo fidarci dell’annuncio?
3
Barbara Masucci - DI – Università di Salerno
Directory pubblica
Entità fidata:
§  Gestisce la directory di chiavi pubbliche
Public-key
directory
Ogni partecipante:
§  Registra la propria chiave pubblica
§  Di persona o in modo autenticato
PKAlice
PKBob
§  Può aggiornare la propria chiave
§  Se usata da troppo tempo o compromessa
Alice
Problema:
§  Se viene violata l’entità fidata…
Bob
Barbara Masucci - DI – Università di Salerno
4
Autorità per le
chiavi pubbliche
§  Gestisce directory di chiavi pubbliche
§  Ha una chiave pubblica nota a tutti gli utenti
§  Ogni utente chiede la chiave pubblica
desiderata, l’autorità la invia
§  Svantaggi:
§  server on-line
§  collo di bottiglia
Barbara Masucci - DI – Università di Salerno
5
• 2
• Elementi di Crittografia
• 31-05-2016
Certificati
§  Mondo fisico
§  Carta di identità
§  Un’autorità riconosciuta lega un nome
ad una foto
§  Mondo digitale
§  Certificato digitale
§  Un’autorità riconosciuta lega un nome ad una
chiave pubblica
Questa chiave
è di Alice
A.C.
Barbara Masucci - DI – Università di Salerno
6
Certificati
PKA è la chiave pubblica
di Alice
Firmato
Autorità di Certificazione
Autorità di Certificazione:
Terza parte fidata la cui firma
garantisce il legame tra chiave
ed identità
Alcune proprietà dei certificati:
§  Ognuno può leggerli e determinare nome e chiave pubblica
§  Ognuno può verificarli ed assicurarsi dell’autenticità
§  Solo l’Autorità può crearli ed aggiornarli
Barbara Masucci - DI – Università di Salerno
7
Certificati
§  Esempi di altri dati in un certificato:
§  periodo di validità chiave pubblica
§  numero seriale o identificatore chiave
§  info addizionali su chiave (ad es., algoritmi ed
utilizzo)
§  info addizionali su utente
§  stato della chiave pubblica
§  Formato più diffuso: definito dallo standard
internazionale ITU-T X.509
Barbara Masucci - DI – Università di Salerno
8
• 3
• Elementi di Crittografia
• 31-05-2016
Public Key Infrastructure
(PKI)
Una PKI o infrastruttura a chiave pubblica è
l’insieme di
§  hardware, software, personale, procedure e
politiche
Necessari per
§  creare, gestire, memorizzare, distribuire e
revocare Certificati Digitali
9
Barbara Masucci - DI – Università di Salerno
Entità coinvolte in una PKI
§  Certification Authority (CA) che rilascia e
gestisce i certificati
§  Certificate holder che utilizzano i certificati
per firmare, cifrare e identificarsi
§  Client che verificano firme digitali e
certification paths
§  Repositories che forniscono certificati e
Certificate Revocation List (CRL)
10
Barbara Masucci - DI – Università di Salerno
Richiesta Certificati
Ri
i
ch
t
es
a
r
ce
tif
a
ic
,
to
tim
r
Ce
t
es
tif
am
p
Autorità di
Certificazione
oA
at
ic
Alice
Barbara Masucci - DI – Università di Salerno
Ri
Ce
rt
if
ch
ie
ic
at
o
B
st
a
ce
rt
if
ic
at
o,
tim
es
ta
mp
Bob
11
• 4
• Elementi di Crittografia
• 31-05-2016
Scambio Certificati
Autorità di
Certificazione
CertificatoA
Alice
CertificatoB
Bob
Barbara Masucci - DI – Università di Salerno
12
Revoca di certificati
§  Che succede se la chiave privata viene
compromessa?
§  L’utente può richiedere la revoca
del certificato
Barbara Masucci - DI – Università di Salerno
13
Revoca Certificati: Metodi
§  Data scadenza dentro un certificato
§  Certificati “a breve scadenza”
§  Notifica manuale
§  Informazione tramite canali speciali
§  Solo per sistemi piccoli o chiusi
§  File pubblico di chiavi revocate
§  Certificate Revocation List (CRL)
§  Certificato di revoca
§  Sostituisce certificato revocato nella directory
Barbara Masucci - DI – Università di Salerno
14
• 5
• Elementi di Crittografia
• 31-05-2016
Certificate Revocation List
(CRL)
§  Lista firmata dalla CA contenente:
§  numeri seriali dei certificati emessi revocati
§  ma non ancora scaduti
§  quando è avvenuta la revoca
§  altro (per es., motivi)
§  La data della CRL indica quanto sia aggiornata
15
Barbara Masucci - DI – Università di Salerno
Diverse CA
CA1
CA2
A
B
B
Alice
Non so la chiave
pubblica di CA2
Non posso verificare il
certificato di Bob
Bob
16
Barbara Masucci - DI – Università di Salerno
Diverse CA
CA1
CA2
A
B
A
Alice
Non so la chiave
pubblica di CA1
Non posso verificare il
certificato di Alice
Barbara Masucci - DI – Università di Salerno
Bob
17
• 6
• Elementi di Crittografia
• 31-05-2016
Diverse CA
CA1 <<CA2>>
CA2 <<CA1>>
CA1
X<<Y>> certificato per
utente Y creato dalla
Autorità X
CA2
A
B
B
Alice
Non so la chiave
pubblica di CA2
Non posso verificare il
certificato di Bob
Bob
18
Barbara Masucci - DI – Università di Salerno
Diverse CA
CA1 <<CA2>>
CA2 <<CA1>>
CA1
CA2
A
B
CA1 <<CA2>>
B
Alice
CA1 <<CA2>> CA2 <<B>>
Bob
Posso verificare il
certificato di Bob
19
Barbara Masucci - DI – Università di Salerno
Diverse CA
CA1
CA1 <<CA2>>
CA2 <<CA1>>
A
CA2
CA2 <<CA1>>
B
A
Alice
CA2 <<CA1>> CA1 <<A>>
Posso verificare il
certificato di Alice
Barbara Masucci - DI – Università di Salerno
Bob
20
• 7
• Elementi di Crittografia
• 31-05-2016
Vulnerabilità di TCP/IP
Internet
Alice
Bob
Problema:
§  I dati transitano “in chiaro” sulla rete e sono
Barbaravisibili
Masucci - da
DI – tutti
Università di Salerno
21
Secure Socket Layer (SSL)
Internet
SSL
S
SS
SL
L
?
Alice
Soluzione:
Bob
§  I dati transitano in forma “protetta”
Barbara Masucci - DI – Università di Salerno
22
Motivazioni
§  TCP/IP permette di leggere ed alterare i
dati che vengono inviati in rete
§  Le informazioni scambiate tra due
applicazioni su Internet passano attraverso
vari nodi
§  Molti servizi richiedono il supporto delle
stesse proprietà
§  Autenticazione, Integrità, Confidenzialità
Barbara Masucci - DI – Università di Salerno
23
• 8
• Elementi di Crittografia
• 31-05-2016
Il protocollo SSL
§  SSL = Secure Socket Layer
§  Socket = Network API
§  Fornisce strumenti di sicurezza alle
applicazioni che usano il protocollo TCP/IP
§  Molti altri protocolli basano la propria
sicurezza su SSL
§  HTTP, IMAP, SMTP, etc
Barbara Masucci - DI – Università di Salerno
24
Caratteristiche di SSL
§  Garantisce l’autenticazione di entrambi gli
endpoint di una comunicazione
§  Ad es., Server e Client
§  Cifra i dati prima di inviarli su un canale
pubblico
§  Garantisce l’integrità dell’informazione
§  È stato progettato per essere efficiente
§  I principali algoritmi crittografici utilizzati
vengono negoziati tra le parti
Barbara Masucci - DI – Università di Salerno
25
Diffusione di SSL
§  Commercio elettronico
§  Ordinazioni: le form con cui si ordina un prodotto
vengono inviate usando SSL
§  Pagamenti: quando viene inserito un numero di
carta di credito, l’invio dei dati avviene usando
SSL
§  Accesso ad informazioni sicure
§  Consultazione di informazioni accessibili solo da
utenti qualificati
§  Invio di password o altri dati riservati
Barbara Masucci - DI – Università di Salerno
26
• 9
• Elementi di Crittografia
• 31-05-2016
Funzionalità di SSL
§  Cifratura simmetrica/asimmetrica
§  Firme digitali
§  Certificati digitali (X.509)
§  Negoziazione dei parametri al momento
della connessione
§  Riutilizzo dei parametri negoziati in
precedenza
27
Barbara Masucci - DI – Università di Salerno
SSL e TCP/IP
SSL e TCP/IP
Barbara Masucci - DI – Università di Salerno
SSL, TLS ed OpenSSL
28
11
Componenti di SSL
§  Alert protocol
§  Notifica situazioni anomale o segnala eventuali problemi
§  Handshake protocol
§  Permette alle parti di negoziare gli algoritmi necessari per
la sicurezza delle transazioni
§  Consente l’eventuale autenticazione tra le parti
§  Change Cipher Spec protocol
§  Impone l’esecuzione di un nuovo handshake per rinegoziare
i parametri di sicurezza e ripetere l’autenticazione
§  Record protocol
§  Si occupa della compressione, del MAC e della cifratura
Barbara Masucci - DI – Università di Salerno
29
• 10
• Elementi di Crittografia
• 31-05-2016
Ciphersuite di SSL
§  Algoritmo per lo scambio di chiavi
§  Algoritmo per l’autenticazione
§  Algoritmo per la cifratura simmetrica
§  Algoritmo per il message authentication
code (MAC)
§  Esempio
§  KeyEx=RSA, Auth=RSA, Enc=3DES, MAC=SHA1
Barbara Masucci - DI – Università di Salerno
30
Sessione Sicura
§  Una sessione sicura è data da un insieme di
valori che possono essere usati da SSL
§  Valori segreti calcolati durante l’handshake
§  Ciphersuite stabilita durante l’handshake
§  Stabilire tutti i parametri ad ogni
connessione può essere inefficiente
§  Una sessione può essere attiva tra più connessioni
Barbara Masucci - DI – Università di Salerno
31
OpenSSL
§  È uno strumento Open Source
§  Contiene
§  Librerie libssl e libcrypto per utilizzare il
protocollo SSL e per implementare
funzionalità di crittografia in C
§  Programmi di utilità per la crittografia
§  PKI
Barbara Masucci - DI – Università di Salerno
32
• 11
• Elementi di Crittografia
• 31-05-2016
Bibliografia
§  Introduction to Modern Cryptography
by J. Katz e Y. Lindell (2nd ed.)
§  cap. 12
§  SSL and TLS: Designing and Building
Secure Systems
by E. Rescorla (1st ed.)
Barbara Masucci - DI – Università di Salerno
33
• 12