Concetti base di sicurezza informatica -...
Transcript of Concetti base di sicurezza informatica -...
Concetti base di sicurezza (basics - nov'02)
1© Antonio Lioy - Politecnico di Torino (1995-2002)
Concetti base disicurezza informatica
Concetti base disicurezza informatica
Antonio Lioy< lioy @ polito.it >
Politecnico di TorinoDip. Automatica e Informatica
Sicurezza di canaleautenticazione (singola o mutua), integrità esegretezza solo durante il transito nel canalenessuna possibilità di non ripudionon richiede modifica alle applicazioni
. . . 01 00 11 . . .
01 00 01 00
01 00
Concetti base di sicurezza (basics - nov'02)
2© Antonio Lioy - Politecnico di Torino (1995-2002)
Sicurezza di messaggioautenticazione (singola), integrità esegretezza auto-contenute nel messaggiopossibilità di non ripudiorichiede modifica alle applicazioni
01
01 00
00 11
01 00
Crittografia
crittografia
messaggio (cifrato)
chiave-1 chiave-2
mittente
messaggio(in chiaro)
destinatario
messaggio(in chiaro)
decrittografia
Concetti base di sicurezza (basics - nov'02)
3© Antonio Lioy - Politecnico di Torino (1995-2002)
Forza della crittografia(principio di Kerchoffs)
se le chiavi:sono tenute segretesono gestite solo da sistemi fidatisono di lunghezza adeguata
allora ...... non ha alcuna importanza che gli algoritmi di crittografia e decrittografiasiano tenuti segreti... anzi è bene che siano pubblici affinché siano studiati ampiamente e siano rivelate eventuali debolezze
Security trough obscurity (STO)
Security trough obscurityis a thing as bad
with computer systemsas it is with women
Security trough obscurityis a thing as bad
with computer systemsas it is with women
Concetti base di sicurezza (basics - nov'02)
4© Antonio Lioy - Politecnico di Torino (1995-2002)
Crittografia a chiave segreta
chiave-1 = chiave-2algoritmi simmetricibasso carico di elaborazioneusata per crittografia dei datiprincipali algoritmi:
DES, triplo-DESIDEARC2, RC5RC4AES
Crittografia simmetricachiave unicachiave comune a mittente e destinatario
ciao! q #%3& ciao!E D
KK
Concetti base di sicurezza (basics - nov'02)
5© Antonio Lioy - Politecnico di Torino (1995-2002)
DES
Data Encryption Standardstandard FIPS 46/2modalità di applicazione standard FIPS 81chiave a 56 bit (+ 8 bit di parità = 64 bit)blocco dati da 64 bitpensato per essere efficiente in hardwareperché richiede:
permutazionishiftXOR
Triplo DES (3DES)
applicazione ripetuta di DESusa due o tre chiavi a 56 bitsolitamente usato in modo EDE (compatibilità con DES se K1 = K2 = K3)encrypt(K1) + decrypt(K2) + encrypt(K1)equivale a K di 56 bit se si hanno 2**59B,altrimenti equivale a K di 112 bitencrypt(K1) + decrypt(K2) + encrypt(K3)equivale ad avere K di 112 bitstandard FIPS 46/3 e ANSI X9.52
Concetti base di sicurezza (basics - nov'02)
6© Antonio Lioy - Politecnico di Torino (1995-2002)
Doppio DES ?
l’applicazione doppia di algoritmi di cifraturaè soggetta ad un attacco di tipo known-plaintext chiamato meet-in-the-middle che permette di decifrare i dati con al più 2N+1
tentativiquindi solitamente non si usa mai la versione doppia degli algoritmi di cifratura
nota: se l’algoritmo simmetrico di base fosse un gruppo allora esisterebbe K3 tale che
enc (K2 , enc (K1 , P) ) = enc (K3 , P)
Attacco meet-in-the-middle
ipotesi:chiavi da N bitsono noti P e C tali che C = enc (K2, enc (K1, P) )
nota:esiste M tale che M = enc(K1,P) e C = enc(K2,M)
azioni:calcolo 2N valori Xi = enc (Ki, P)calcolo 2N valori Yj = dec (Kj, C)cerco quei valori Ki e Kj tali che Xi = Yj
“falsi positivi” eliminabili se ho più coppie P,C
Concetti base di sicurezza (basics - nov'02)
7© Antonio Lioy - Politecnico di Torino (1995-2002)
IDEA
International Data Encryption Algorithmbrevettato ma con basse royalty (solo per uso commerciale)chiave a 128 bitblocco dati da 64 bitgrande notorietà perché usato in PGPoperazioni usate:
XORaddizione modulo 16moltiplicazione modulo 216+1
RC2, RC4
sviluppati da Ron RivestRC = Ron’s Codealgoritmi proprietari di RSA ma non brevettati3 e 10 volte più veloci di DESRC2 è a blocchi, RC4 è streamchiave a lunghezza variabileRC2:
pubblicato come RFC-2268 (mar 1998)chiave da 8 a 1024 bit (solitamente 64 bit)blocchi da 64 bit
Concetti base di sicurezza (basics - nov'02)
8© Antonio Lioy - Politecnico di Torino (1995-2002)
RC5
RFC-2040blocco dati da B bit (0 < B < 257)chiave (fissa/variabile) da b byte(0 ≤ b < 256) ossia tra 0 e 2048 bitlavora al meglio con B = 2 Woperazioni usate:
shift, rotateaddizione modulare
usato nel WAP
Applicazione degli algoritmi a blocchi
per cifrare dati in quantità superioreECB (Electronic Code Book)CBC (Cipher Block Chaining)
per cifrare dati in quantità inferiorepaddingCFB (Cipher FeedBack)OFB (Output FeedBack)
Come si applica un algoritmo a blocchia dati in quantità diversa
da quella del blocco base?
Come si applica un algoritmo a blocchia dati in quantità diversa
da quella del blocco base?
Concetti base di sicurezza (basics - nov'02)
9© Antonio Lioy - Politecnico di Torino (1995-2002)
ECB (Electronic Code Book)
formula per il blocco i-esimo:ci = E (di, k)
fortemente sconsigliato perché si presta adattacchi known-plaintext
d1d1
c1c1
d2d2
c2c2
d3d3
c3c3
d4d4
c4c4
k k k k
ECB - decifratura
formula per il blocco i-esimo:di = E-1 (ci, k)
d1d1
c1c1
d2d2
c2c2
d3d3
c3c3
d4d4
c4c4
k k k k
Concetti base di sicurezza (basics - nov'02)
10© Antonio Lioy - Politecnico di Torino (1995-2002)
CBC (Cipher Block Chaining)formula per il blocco i-esimo:
ci = E (di ⊕ ci-1, k)richiede c0 = IV (Initialization Vector)non attaccabile banalmente
d1d1
c1c1
⊕IVIV
d2d2
c2c2
⊕
d3d3
c3c3
⊕
d4d4
c4c4
⊕
k k k k
CBC - decifraturaformula per il blocco i-esimo:
di = E-1 (ci, k) ⊕ ci-1richiede che c0 (ossia l’ IV) sia noto anche al ricevente del messaggio
d1d1
c1c1
⊕IVIV
d2d2
c2c2
⊕
d3d3
c3c3
⊕
d4d4
c4c4
⊕
k k k k
Concetti base di sicurezza (basics - nov'02)
11© Antonio Lioy - Politecnico di Torino (1995-2002)
Padding (allineamento)
dimensione del blocco Bquantità di dati da elaborare D < Baggiungo bit sino a raggiungere la quantità B
problemi:quantità di bit di padding? ( D ~0.5 B)valore dei bit di padding? (random!)trasmetto più dati (B) del minimo necessario (D)
dati padding
CFB (Cipher FeedBack)permette di cifrare N-bit alla volta (gruppo)richiede un IV (per inizializzare lo shift register)un errore in trasmissione provoca errore nella decifratura di un intero blocco
dbidbi cbicbi⊕
left shift register (1 blocco)left shift register (1 blocco)
leftmost byte
k
Concetti base di sicurezza (basics - nov'02)
12© Antonio Lioy - Politecnico di Torino (1995-2002)
OFB (Output FeedBack)permette di cifrare N-bit alla volta (gruppo)richiede un IV (per inizializzare lo shift register)un errore in trasmissione provoca errore solo in un gruppo
dbidbi cbicbi⊕
left shift register (1 blocco)left shift register (1 blocco)
leftmost byte
k
Algoritmi di tipo stream
operano su un flusso di dati senza richiederne la divisione in blocchi, tipicamente su un bit o un byte alla voltaalgoritmo ideale:
one-time padalgoritmi reali:
usano generatori pseudo-casuali di chiavi, sincronizzati tra mittente e riceventeesempi: RC4 e SEAL
Concetti base di sicurezza (basics - nov'02)
13© Antonio Lioy - Politecnico di Torino (1995-2002)
Algoritmi di tipo stream
encryption decryption
plaintextdata stream
plaintextdata stream
ciphertextdata stream
.
.01001
10010..
key stream00011010…
Crittografia simmetricachiave singola e segretauna chiave per ogni coppia / gruppo di utenti
Kxy KxyX Y
Kxz Kxz
messaggioprivato X-Y
messaggioprivato X-Z Z
Concetti base di sicurezza (basics - nov'02)
14© Antonio Lioy - Politecnico di Torino (1995-2002)
Distribuzione delle chiaviper crittografia simmetrica
Per una comunicazione privata completa tra Npersone occorrono N x (N-1) / 2 chiavi:
distribuzione OOB (Out-Of-Band)distribuzione tramite algoritmi per scambio chiavi
AntonioAntonio
BarbaraBarbara
DanieleDaniele
CarlaCarla
K3
K4
K1 K6K2 K5
Lunghezza delle chiavi segrete
se l’algoritmo di crittografia è stato ben progettato ...e le chiavi - lunghe Nbit - sono tenute segrete …allora l’unico attacco possibile èl’attacco esaustivo che richiede unnumero di tentativi pari a
2Nbit
Concetti base di sicurezza (basics - nov'02)
15© Antonio Lioy - Politecnico di Torino (1995-2002)
Lunghezza delle chiavi crittografiche
alta sicurezza
simm. 40 64 128 ...
asimm. 256 512 1024 ...
bassa sicurezza
Sfide DES
256 = 72.057.594 miliardi di chiavi possibiliDES challenge I
inizio=18-feb-1997, fine=17-giu-199717.731.000 miliardi di chiavi provate (25%)circa 15.000 computer in rete
DES challenge IIinizio=13-gen-98, fine=23-feb-9863.686.000 miliardi di chiavi provate (87%)circa 20.000 computer in rete
Concetti base di sicurezza (basics - nov'02)
16© Antonio Lioy - Politecnico di Torino (1995-2002)
La fine (?) del DESDES challenge III
inizio=13-lug-98, fine=15-lug-9817.903.000 miliardi di chiavi provate (25%)1 sistema special-purpose (DEEP CRACK)sviluppato dalla EFF col costo di 250.000 $
è quindi possibile costruire una macchina che decifri un generico messaggio DES, ma:
bisogna conoscere il tipo di dati (es. ASCII)la macchina non riesce a decifrare messaggi3DESil DES non è intrinsecamente debole, ha solouna chiave corta!
Sempre più in basso
DES challenge IVinizio=18-gen-1999, fine=dopo 22h 15m16.017.000 miliardi di chiavi provate (22%)1 sistema di elaborazione special-purposesviluppato dalla EFF (costo=250.000 $) più alcune migliaia di workstation di vario generepotenza di picco: 250 Gkey/spotenza media: 199 Gkey/s
Concetti base di sicurezza (basics - nov'02)
17© Antonio Lioy - Politecnico di Torino (1995-2002)
Cosa c’è dopo il DES?
IETF cambia tutti gli RFC sconsigliando l’uso del DES e suggerendo l’uso del triplo DESbanca tedesca condannata per una truffa fatta tramite un sistema basato su DESil 15-gen-1999 il FIPS ha ritirato il DES (46/2) e l’ha rimpiazzato col 3DES (46/3)il governo USA ha iniziato la procedura di selezione per un nuovo algoritmo simmetrico: AES (Advanced Encryption Standard)
chiave da almeno 256 bitblocchi da almeno 128 bit
AES (Advanced Encryption Standard)
15 candidati5 finalisti (9 agosto 1999):
MARS (IBM)RC6 (RSA, ossia Ron Rivest)Rijndael (Joan Daemen, Vincent Rijmen)Serpent (Ross Anderson, Eli Biham, Lars Knudsen)Twofish (Bruce Schneier ed altri)
informazioni circa il processo di selezione:http://www.nist.gov/aes
Concetti base di sicurezza (basics - nov'02)
18© Antonio Lioy - Politecnico di Torino (1995-2002)
AES = RIJNDAEL
2 ottobre 2000RIJNDAEL scelto come vincitorepubblicato nel novembre 2001 come FIPS-197
Crittografia a chiave pubblica
chiave-1 ≠ chiave-2algoritmi asimmetricicoppie di chiavi ( pubblica e privata )chiavi con funzionalità reciprocaalto carico di elaborazioneusato per distribuire chiavi segrete e per la firma elettronica (con hashing)principali algoritmi:
Diffie-Hellman, RSA, DSA, El Gamal, …
Concetti base di sicurezza (basics - nov'02)
19© Antonio Lioy - Politecnico di Torino (1995-2002)
Crittografia asimmetricachiavi generate a coppie:chiave privata (Kpri) + chiave pubblica (Kpub)chiavi con funzionalità reciproca: i dati cifraticon una chiave possono essere decifrati solo con l’altra
ciao! ciao!Y?2gs3
ciao! q #%3& ciao!E
Kpri
D
Kpub
D
Kpri
E
Kpub
Firma digitalefirma digitale = cifratura asimmetrica dei daticon la chiave privata dell’autoresolitamente non si cifrano direttamente i datima un loro riassunto ( digest )fornisce autenticazione e integrità dei dati
KXpri KXpubX chiunque
messaggiopubblico
firmato da X
Concetti base di sicurezza (basics - nov'02)
20© Antonio Lioy - Politecnico di Torino (1995-2002)
Riservatezza senza segreti condivisiè possibile generare un messaggio segretoper uno specifico destinatario conoscendonesolo la chiave pubblica
X chiunqueKXpri KXpub
messaggioprivato per X
Algoritmi a chiave pubblica
RSA (Rivest - Shamir - Adleman)prodotto di numeri primi, fattorizzazione delrisultatosegretezza e firma digitalebrevettato - solo in USA - da RSA; scaduto il20-set-2000
DSA (Digital Signature Algorithm)elevamento a potenza, logaritmo del risultatosolo per firma digitalestandard NIST per DSS (FIPS-186)
Concetti base di sicurezza (basics - nov'02)
21© Antonio Lioy - Politecnico di Torino (1995-2002)
RSA - l’algoritmo
base N = P × Q nota a tuttiP e Q sono primi, grandi e segretichiave pubblica E scelta a caso purchè relativamente prima rispetto a P-1 e Q-1chiave privata D = E-1 mod (P-1) × (Q-1)
testo da cifrare: t < Ncrittografia: c = tE mod Ndecrittografia: t = cD mod Nruolo di E e D interscambiabile perchè(xD )E mod N = (xE )D mod N
Aritmetica modulare
X = A mod Nse X è il resto della divisione intera di A per Nesempi:
7 mod 5 = 213 mod 5 = 3
ottima per applicazioni di sicurezza perché non invertibile in modo univoco:
datoY mod 5 = 2
qual è Y?risposte: 7, 12, 17, 22, 27, ...
Concetti base di sicurezza (basics - nov'02)
22© Antonio Lioy - Politecnico di Torino (1995-2002)
Inversione nell’aritmetica modulare
nell’aritmetica normale:X = 5 implica X-1 = 1/5
perché5 x 1/5 = 1
nell’aritmetica modulare (es. modulo 4):X = 5 implica X-1 mod 4 = { 5, 9, 13, ... }
perché5 x 5 mod 4 = 25 mod 4 = 15 x 9 mod 4 = 45 mod 4 = 1...
Si definisce inverso di un numero X quel numero X-1
che moltiplicato per X fornisce come risultato 1Si definisce inverso di un numero X quel numero X-1
che moltiplicato per X fornisce come risultato 1
RSA - un esempioscelti P=3, Q=5 si ha N = 15E (primo rispetto a 2 e 4) = 7D = 7-1 mod 8 = {7, 15, 23, 31, …} = 23
testo da cifrare: 1 2 3c1 = 17 mod 15 = 1c2 = 27 mod 15 = 128 mod 15 = 8c3 = 37 mod 15 = 2187 mod 15 = 12t1 = 123 mod 15 = 1t2 = 823 mod 15 = 2t3 = 1223 mod 15 = 3
Concetti base di sicurezza (basics - nov'02)
23© Antonio Lioy - Politecnico di Torino (1995-2002)
Lunghezza delle chiavi pubbliche
256 bit sono attaccabili in alcune settimane512 bit sono attaccabili in alcuni mesi1024 bit offrono una sicurezza ragionevoleper vari secoliesempio di sfide risolte:
10-apr-1996, risolta sfida RSA-130 con 1000 MIPS-years2-feb-1999, risolta sfida RSA-140 (circa 465 bit) con 2000 MIPS-yearscon nuove tecniche sarebbero risolvibili in 500 e 1500 MIPS-years
Distribuzione delle chiaviper crittografia asimmetrica
chiave privata mai divulgata!chiave pubblica distribuita il più ampiamente possibileproblema: chi garantisce la corrispondenza tra chiave pubblica ed identità della persona?soluzione #1: scambio di chiavi OOBsoluzione #2: distribuzione della chiave pubblica all’interno di un certificato a chiave pubblica (= certificato d’identità digitale)
formato del certificato?fiducia nell’emettitore del certificato?
Concetti base di sicurezza (basics - nov'02)
24© Antonio Lioy - Politecnico di Torino (1995-2002)
Scambio chiave segretamediante algoritmi asimmetrici
la riservatezza senza segreti condivisi viene spesso usata per comunicare la chiave crittografica scelta per un algoritmo simmetrico
q #%3& D
E Y?2gs3
KYpub
K
ciao!
D K
KYpri
ciao! E
X Y
Diffie-HellmanA e B scelgono due interi grandi n e g taliche 1 < g < nA, scelto un numero a caso x, calcola:
X = gx mod nB, scelto un numero a caso y, calcola:
Y = gy mod nA e B si scambiano (pubblicano) X e YA calcola k = Yx mod nB calcola k’ = Xy mod nma k = k’ = gxy mod n
Concetti base di sicurezza (basics - nov'02)
25© Antonio Lioy - Politecnico di Torino (1995-2002)
Diffie-Hellman (DH)
A = gX mod n
KA = BX mod n
KA = KB = gXY mod n = KAB
B = gY mod n
KB = AY mod n
AB
X Y
n > g > 1
Diffie-Hellman
primo algoritmo a chiave pubblica inventatosolitamente usato per concordare su una chiave segreta ( key agreement )brevettato negli USA ma il brevetto è scaduto il 29 aprile 1997resistente allo sniffingse l’attaccante può manipolare i dati allora èpossibile un attacco man-in-the-middle; inquesto caso richiede pre-autenticazione
Concetti base di sicurezza (basics - nov'02)
26© Antonio Lioy - Politecnico di Torino (1995-2002)
DH: attacco man-in-the-middle
A = gX mod n
KA = MX mod n
B = gY mod n
KB = MY mod n
AB
X Y
MM
Z
KAM = gXZ mod n KBM = gYZ mod n≠
M = gZ mod n
Integrità dei messaggi
una persona che intercetti una comunicazione cifrata non può leggerla ...... ma può modificarla in modo imprevedibile!
ci vediamoalle 19:30
ci vediamoa?kfi3+s7#
Concetti base di sicurezza (basics - nov'02)
27© Antonio Lioy - Politecnico di Torino (1995-2002)
Digest
dati inviati dati ricevuti???
digest OK?
messagedigest
messagedigest
Message digest e funzioni di hash
è un riassunto del messaggio da proteggeredeve essere:
veloce da calcolaredifficile da invertire
spesso usato per evitare di lavorare sul messaggio completo quando questo è molto grosso (es. perché la crittografia a chiave pubblica è molto lenta)digest calcolabili in molti modi, ma solitamente tramite una funzione di hash
Concetti base di sicurezza (basics - nov'02)
28© Antonio Lioy - Politecnico di Torino (1995-2002)
Algoritmi di hashnome blocco digest definizione noteMD2 8 bit 128 bit RFC-1319 obsoletoMD4 512 bit 128 bit RFC-1320 obsoletoMD5 512 bit 128 bit RFC-1321 buono
RIPEMD 512 bit 160 bit ISO/IEC 10118-3 ottimoSHA-1 512 bit 160 bit FIPS 180-1 ottimo
RFC-3174
Lunghezza del digest
importante per evitare aliasing (=collisioni):md1 = H(m1)md2 = H(m2)se m1 ≠ m2 si vorrebbe md1 ≠ md2
se l’algoritmo è ben ideato e genera un digest di N bit, allora la probabilità di aliasing è:
PA ∝ 1 / 2Nbit
occorrono quindi digest con molti bit (perché si tratta di eventi statistici)
Concetti base di sicurezza (basics - nov'02)
29© Antonio Lioy - Politecnico di Torino (1995-2002)
Il paradosso del compleanno
un algoritmo di digest a N bit è insicuro quando vengono generati più di 2**(N/2) digest perché si ha PA~50%in corso di sviluppo SHA-256 e SHA-512 (SHA-354 sarà il troncamento di SHA-512) da usarsi rispettivamente con AES-128 e AES-256nota: SHA-1 (ossia SHA-160) era stato pensato per Skipjack-80esempio di uso di SHA-256: key generation per AES-256 a partire da una passphrase
MAC, MIC, MIDper garantire l’integrità dei messaggi si aggiunge agli stessi un codice:
MIC (Message Integrity Code)spesso l’integrità non è utile senza l’autenticazione e quindi il codice (condoppia funzione) è anche detto:
MAC (Message Authentication Code)per evitare attacchi di tipo replay si usa anche aggiungere ai messaggi unidentificatore univoco:
MID (Message IDentifier)
Concetti base di sicurezza (basics - nov'02)
30© Antonio Lioy - Politecnico di Torino (1995-2002)
Autenticazione tramitecifratura simmetrica
si invia anche una copia (cifrata) dei datisolo chi conosce la chiave può confrontare lacopia con l’originalesvantaggio: raddoppio dei dati trasmessi
msg
msg
???
msg
Digest + cifratura simmetrica
md
algoritmosimmetrico
message digest
Mittentedati inviati
algoritmosimmetrico
mdR
mdF
message digest
Destinatariodati ricevuti
= ?
digest cifrato
???
chiavesegreta
condivisa
Concetti base di sicurezza (basics - nov'02)
31© Antonio Lioy - Politecnico di Torino (1995-2002)
Keyed-digest
message digest
Mittentedati inviati
message digest
Destinatariodati ricevuti
chiavesegreta
condivisa
???
keyed-digest
kdR
kdF= ?
Firma digitale
md
algoritmoasimmetrico
message digest
Mittentedati inviati
algoritmoasimmetrico
mdR
mdF
message digest
Destinatariodati ricevuti
= ?PRI PUB
digital signature
chiave delmittente
???
Concetti base di sicurezza (basics - nov'02)
32© Antonio Lioy - Politecnico di Torino (1995-2002)
Firma e verifica
D
firmatario verificatore
DR
DF= ?
chiave privatadel firmatario
chiave pubblicadel firmatario
datifirma
dati dati
digest
cifraturaasimmetrica
digest
decifraturaasimmetrica
Autenticazione e integrità: analisi
tramite segreto condiviso:utile solo per il riceventenon usabile come prova senza rivelare lachiave segretanon usabile per il non ripudio
tramite crittografia asimmetrica:essendo lenta la si applica al digestusabile come prova formaleusabile per il non ripudio= firma digitale (digital signature)
Concetti base di sicurezza (basics - nov'02)
33© Antonio Lioy - Politecnico di Torino (1995-2002)
Firma digitale o firma autografa?
firma digitale = autenticazione + integrità
firma autografa = autenticazione
meglio quindi la firma digitale, perché indissolubilmente legata ai dati
nota bene: ogni utente non è dotato di una firma digitale ma di una chiave privata con cui può generare infinite firme digitali (una per ogni documento diverso)
Certificato a chiave pubblica
“Una struttura dati per legare in modo sicuro una chiave pubblica ad alcuni attributi”
tipicamente lega chiave a identità ... ma sono possibili altre associazioni (es. indirizzo IP)firmato in modo elettronico dall’emettitore:l’autorità di certificazione ( CA )con scadenza temporalerevocabile sia dall’utente sia dall’emettitore
Concetti base di sicurezza (basics - nov'02)
34© Antonio Lioy - Politecnico di Torino (1995-2002)
PKI (Public-Key Infrastructure)
è l’infrastruttura ...tecnica ed organizzativa ...preposta alla creazione, distribuzione e revoca dei certificati a chiave pubblica
Struttura di un certificato X.509
version 2serial number 1231signature algorithm RSA with MD5, 1024issuer C=IT, O=Polito, OU=CAvalidity 1/1/97 - 31/12/97subject C=IT, O=Polito,
CN=Antonio [email protected]
subjectpublickeyinfo RSA, 1024, xx...xCA digital signature yy...y
Concetti base di sicurezza (basics - nov'02)
35© Antonio Lioy - Politecnico di Torino (1995-2002)
Revoca dei certificati
un certificato può essere revocato prima della sua scadenza naturale
dal soggettodall’emettitore
quando si riceve un messaggio si deve verificare che il certificato sia ancora validoverifica a carico del ricevente (relying party, RP)
Meccanismi di revoca
CRL (Certificate Revocation List)elenco di certificati revocatifirmato dalla CA o da un delegato
OCSP (On-line Certificate Status Protocol)risposta puntuale su un singolo certificatofirmata dal server
Concetti base di sicurezza (basics - nov'02)
36© Antonio Lioy - Politecnico di Torino (1995-2002)
Struttura di una CRL X.509
version 1signature algorithm RSA with MD5, 1024issuer C=IT, O=Polito, OU=CAthisUpdate 15/10/2000 17:30:00userCertificate 1496revocationDate 13/10/2000 15:56:00userCertificate 1574revocationDate 4/6/1999 23:58:00CA digital signature yy...y
Verifica di una firma / certificato
come verificare che un certificato achiave pubblica (firmato da CA1) sia autentico?… occorre il certificato della chiave di CA1 (che sarà firmato da CA2)e come si verifica quest’ultimo?… occorre il certificato della chiave di CA2 (che sarà firmato da CA3)… e così via …occorre un’infrastruttura (gerarchia?) dicertificazione e distribuzione
Concetti base di sicurezza (basics - nov'02)
37© Antonio Lioy - Politecnico di Torino (1995-2002)
Verifica di una firma / certificato
dati
firma (di X)
certificatosubject: X
key: KPUB(X)
firma (della CA)
decrypt
hash= ?
KPUB(X)
digest (estrattodalla firma)
digest (dati)
Gerarchia di certificazioneCA EUds (EU)
firma
CA ITds (EU)
firma
CA Tods (IT)
CA Mids (IT)
firmafirma
Concetti base di sicurezza (basics - nov'02)
38© Antonio Lioy - Politecnico di Torino (1995-2002)
Certification Authority (CA)
“Un’autoritàaccreditata da un insieme di utenti
per creare ed assegnarecertificati a chiave pubblica”
X.509 non specifica la relazione tra CA,emettitore e soggetto del certificatoad esempio, PEM richiedeva una gerarchia rigida:
CA PCA (Policy Certification Authorities)IPRA (Internet PCA Registry Authority)
I progetti ICE-TEL, ICE-CAR e NASTECICE = Interworking public-key Certification for Europefinanziamento EC DG-XIII (1996-97, 1998-2000)infrastruttura a chiave pubblica in 12 nazioni europee: AT, DK, DE, UK, GR, IE, IT, NO, PT, SI, ES, SEtoolkit di sicurezza europei ed applicazioni sicure di base (gestione delle CA, posta elettronica, WWW)fornitore della sicurezza a tutti gli altri progettidel 4o programma quadro + estensione a NASper l’Italia partecipa il Politecnico di Torino
Concetti base di sicurezza (basics - nov'02)
39© Antonio Lioy - Politecnico di Torino (1995-2002)
EuroPKI
EuroPKI TLCA
Politecnico diTorino CA
Comune diModena CA
persone server
EETIC CA
EuroPKISlovenia
EuroPKIItaly
EuroPKINorway
Perchè non compriamo tutto dagli USA?
esportazione di materiale crittografico soggetta alle medesime restrizioni delmateriale nucleare (!)… a meno che il livello di protezione sia molto basso:
chiave simmetrica limitata a 40 bit(240 tentativi = poche ore di CPU)chiave asimmetrica limitata a 512 bit
esempio: Netscape, Internet Explorer, …(versione esportazione)
Concetti base di sicurezza (basics - nov'02)
40© Antonio Lioy - Politecnico di Torino (1995-2002)
Key escrow: una novità?dicembre 1996: l’amministrazione USAautorizza l’esportazione di prodotti dicrittografia semi-robusti (56 bit) seincorporano funzioni di key-escrownon si applica ai prodotti interni USAkey escrow = possibilità di recuperare una chiave anche senza il consenso delproprietarioesempio: Lotus Notes usa chiavi simmetriche da 64 bit ma ne cifra 24 bit con la chiave pubblica della NSAproblema: chi decide quando è necessario recuperare una chiave?
Cambiamenti della politicacrittografica USA
giugno 1997:permesso di esportare client e server Websicuri purchè usati da filiali estere di aziendeUSA oppure in ambito finanziarioper verificare il reale uso si ricorre a speciali certificati rilasciati solo da VeriSign
settembre 1998:permesso esteso ad assicurazioni edistituzioni sanitarienessun permesso per chiavi sino a 56 bit
Concetti base di sicurezza (basics - nov'02)
41© Antonio Lioy - Politecnico di Torino (1995-2002)
Step-up (gated) cryptography
browser web
weak crypto
user
strong crypto
server web
weak + strongcrypto
bank
Verisign cert
Key recovery: un’altra novità?
è permessa l’esportazione dagli USA diprodotti con crittografia forte (es. 128 bit per le chiavi simmetriche) se:
incorporano funzioni di key-recoverycon un centro di recovery autorizzato dal governo USA
le chiavi simmetriche usate dagli utenti sono cifrate con la chiave pubblica del centro di recoverycosì diventa una problematica politica ma inrealtà il key-recovery è un problema reale
Concetti base di sicurezza (basics - nov'02)
42© Antonio Lioy - Politecnico di Torino (1995-2002)
Step-up (o gated) cryptography
dal dicembre ‘98 è possibile esportare prodotti ad alta sicurezza di canale purché destinati a:
filiali estere di aziende U.S.A.organizzazioni finanziarieorganizzazioni sanitariesiti di commercio elettronico
il fiduciario del governo U.S.A. è VeriSign equindi non si possono usare questi prodottise non si acquistano i relativi certificati X.509da VeriSign
Politica di esportazione crittografica USA(dicembre 1999)
algoritmi simmetrici con chiavi a 56 bitalgoritmi asimmetrici con chiavi a:
1024 bit se usate solo per autenticazione512 bit se usate anche per scambio di chiavi
non tutti i prodotti hanno recepito questa normativa:
Netscape ha chiavi a 56 bit dalla versione 4.6IE 5.0 ha chiavi a 56 bit solo nella versione per Win2000entrambi generano chiavi asimmetriche a 512 bit
Concetti base di sicurezza (basics - nov'02)
43© Antonio Lioy - Politecnico di Torino (1995-2002)
Novità nella politica di esportazione USA
gennaio 2000permesso di esportare ...
prodotti off-the-shelf ...che abbiano passato una “one-time review”
oppureprodotti il cui codice sorgente sia liberamente disponibile in Internet
disponibili upgrade per i principali prodottidubbi sull’esistenza di back-door
Bibliografia( http://security.polito.it/books.html )
B.Schneier: “Applied cryptography”W.Stallings:“Cryptography and network security”S.Garfinkel, G.Spafford:“Practical Unix and Internet security”W.R.Cheswick, S.M.Bellovin:“Firewalls and Internet security”W.Ford, M.S.Baum:“Secure electronic commerce”C.P.Pfleeger: “Security in computing”
Concetti base di sicurezza (basics - nov'02)
44© Antonio Lioy - Politecnico di Torino (1995-2002)
Bibliografia (in Italiano)
W.Stallings“Sicurezza delle reti - applicazioni e standard”Addison-Wesley Italia, 2001
Fugini, Maio, Plebani“Sicurezza dei sistemi informativi”Apogeo, 2001
S.Singh“Codici e segreti”BUR saggi, 2001