Confidenzialità ed Integrità - Intranet...
Transcript of Confidenzialità ed Integrità - Intranet...
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-1
ConfidenzialitConfidenzialitàà ed Integrited Integritàà
Cenni di crittografia, hashing, firma digitale, metodi di autenticazione informatica per sistemi distribuiti
12/05/0612/05/06
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-2
IndiceIndice
ConfidenzialitàConfidenzialitàCrittografia: algoritmi a chiave privataCrittografia: algoritmi a chiave pubblica
IntegritàIntegritàFunzioni di hash
Esempio di applicazione: la firma digitalela firma digitaleConfidenzialità: tecniche di autenticazioneConfidenzialità: tecniche di autenticazione
Nozioni baseTecniche e sistemi di autenticazione
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-3
Che cosChe cos’è’è la crittografia?la crittografia?
La crittografia (dal greco kryptos, nascosto, e graphein, scrivere) è la scienza che si occupa dello studio delle scritture “segrete”.
E’ nata come branca della matematica e dell’informatica grazie all’utilizzo di tecniche di teoria dei numeri e di teoria dell’informazione.
E’ entrata a far parte della nostra vita quotidiana per la protezione delle informazioni digitali. Dalle smart card, ai cellulari, alle trasmissioni via Internet, alle tv satellitari, etc.
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-4
Concetto di baseConcetto di base
Per sistema crittografico si intende un sistema in grado di cifrare e decifrare un messaggio attraverso l’uso di un algoritmo (metodo di calcolo) e di una chiave (una stringa segreta alfanumerica).Il messaggio che dovrà essere cifrato viene chiamato testo in chiaro (plaintextplaintext) mentre il risultato dell’algoritmo crittografico testo cifrato (ciphertextciphertext).
Testo in chiaro
Sistema crittografico
Testo cifrato
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-5
Principio di KerckhoffsPrincipio di Kerckhoffs
Un principio fondamentale della crittologia moderna afferma che:“La sicurezza di un crittosistema non deve dipendere dalla segretezza dell’algoritmo usato, ma solo dalla segretezza della chiave”
Pubblicato nel 1883 nel libro “La criptographie militarie”
Quasi tutti gli algoritmi crittografici moderni vengono rilasciati con i codici sorgenti
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-6
Crittografia simmetrica e asimmetricaCrittografia simmetrica e asimmetrica
Fondamentalmente i sistemi crittografici si dividono in due tipologie:
Sistemi crittografici
Sistemi simmetrici Sistemi asimmetriciSi utilizza una sola chiave per
cifrare e decifrare Si utilizzano una coppia di chiavi:
una per cifraree l’altra per decifrare
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-7
I cifrari simmetriciI cifrari simmetrici
Utilizzano la stessa chiave per cifrare (encryption) e decifrare (decryption) i messaggi
Per questo sono detti anche “a chiave singola” o “a chiave segreta”
Hanno il problema della trasmissione della chiave tra mittente e destinatario.
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-8
Crittografia Crittografia simmetricasimmetrica
mittentemittente destinatariodestinatario
testoin chiaro
testoin chiaro
decifraturacifratura
ChiaveChiavesegretasegretaPP KK
C=E (P)C=E (P)KK
E E KK D D KK
P= D (C)P= D (C)KK
rete insicurarete insicura
Testo Testo CifratoCifrato
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-9
Primo ingrediente: sostituzionePrimo ingrediente: sostituzione
Si rimpiazza ogni carattere del messaggio con un altro carattereEsempio (Cifrario di Cesare)Esempio (Cifrario di Cesare): ogni lettera viene sostituita con quella che la segue di nn posizioni
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Esempio: la parola “SICUREZZA” diventa “VLFXUHCCD”
La chiave, che deve essere tenuta segretasegreta, è nn=3=3
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-10
Secondo ingrediente: trasposizione o diffusioneSecondo ingrediente: trasposizione o diffusione
i caratteri del messaggio vengono cambiati di posizione in base all’algoritmo ed al valore della chiave
esempioesempio: invertendo righe e colonne della matrice contenente il testo in chiaro (chiavechiaveK=[3,5]K=[3,5])
CIAO A TUTTI (per righe)si trasmette per colonneCATI IAT OU T
IITT
TTUUTTAA
OOAAIICC
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-11
Keyspace, attacco a forza brutaKeyspace, attacco a forza bruta
Attacco “a forza bruta” o “bruteforcing”: provare tutte le chiavi possibili
È applicabile ad ogni algoritmo: un algoritmo non rotto è attaccabile solo con un attacco di bruteforcing
La praticabilità dell'attacco dipende dal numero di chiavi possibili (ovvero dalla dimensione del cosiddetto “keyspace”)
Per questo l'algoritmo di Cesare era più semplice di quello con la matrice !
Dimensione misurata generalmente in bit, tempo esponenziale sul numero dei bit: l’aumento della potenza di calcolo degli elaboratori e il possibile utilizzo di sistemi distribuiti rende necessario ingrandire il keyspace
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-12
Cifrari simmetrici moderniCifrari simmetrici moderni
Nella crittografia moderna vengono utilizzati cifrari che mescolano trasposizione e sostituzione !I più conosciuti ed utilizzati cifrari simmetrici:
Feistel (1973) DES (Data Encryption Standard, 1977), 3DESIDEA (1991)BlowFish (1993)RC5 (1994)CAST-128 (1997)Rijndael (nel 2000 diventa AES, Advanced Encryption Standard)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-13
Tipi di cifrari simmetriciTipi di cifrari simmetrici
Block cipher (cifrari a blocco)Processano il plaintext a blocchi di dimensione fissaPuò essere necessario aggiungere paddingEsempi: DES, RC2, Blowfish, AES
Stream cipher (cifrari a flusso)Processano il plaintext bit per bitUsano la chiave per generare un flusso pseudocasuale di dati che viene XORato con il plaintext
XOR (indicato con ⊕ ): 0⊕ 0 = 1⊕ 1 = 0 ; 1⊕ 0 = 0⊕ 1 = 1Somma modulo 2Lo XOR è invertibile: (x ⊕ y) ⊕ y = x
Esempi: RC4, SNOW 2.0
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-14
DES: Data Encryption Standard, NBS, USA, 77DES: Data Encryption Standard, NBS, USA, 77
blocco di testo in chiaro
cifraturachiavesegreta
plain text PP
K K (56 bit)(56 bit)
C=E (P)C=E (P)KK
E E KKblocco di
testo cifrato
blocchi da 64 bitblocchi da 64 bit
blocchi da 64 bitblocchi da 64 bit
Nato nel 1970, progetto IBM
S-Box ritoccate da NSA...
1977: standard del governo americano
Algoritmo simmetrico a blocco (blocchi di 64 bit, chiavi di 56 bit)Modo Cipher Block Chaining
16 iterazioni (round) su ogni blocco, con operazioni di permutazione, sostituzione e XOR
Si può implementare sia in sw che in hwcifratura a chiave segreta di 56 bit, 256 combinazioni
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-15
Cracking DESCracking DES
1
10
100
1000
10000
Tim
e (h
ours
)
1997 1998 1999
EFFDES
Cracker$250,000 DES Cracker
+ distributed.net(100,000 PCs)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-16
Key SecurityKey Security
0,0011000
1E+091E+151E+211E+271E+331E+391E+451E+511E+571E+63
0 50 100 150 200 250 300Key size (bits)
Year
s to
cra
ck(assumes 106 decryptions per µs)
age of theuniverse
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-17
triple DES: sequenza di 3 DEStriple DES: sequenza di 3 DES
blocco di testo in chiaro
cifraturachiaveKK11
plain text PPblocchi da 64 bitblocchi da 64 bit
testo cifrato
rete insicurarete insicura
decifratura
cifratura
chiaveKK22
chiaveKK11
decifratura
cifratura
decifratura
blocco di testo in chiaro
chiaveKK11
chiaveKK22
chiaveKK11
plain text PPblocchi da 64 bitblocchi da 64 bit
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-18
AES: Advanced Encryption Standard 1999AES: Advanced Encryption Standard 1999
1997: NIST, gara per sostituire il DES con un nuovo algoritmo
viene scelto Rijndael (di J.Daemen e V.Rijmen)
Input/output: blocchi da 128, 192 o 256 bit
Chiavi: 128, 192 o 256 bit (non necessariamente come il blocco)
Efficiente in hw e in sw, libero da brevetti, distribuibile liberamente in tutto il mondo
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-19
Crittografia simmetrica: come ?Crittografia simmetrica: come ?
Java2 package javax.crypto
DES, 3DES, Blowfish, AES
ECB, CBC, CFB, OFB
.NET Framework System.Security.Cryptography
Come il package Java (RC2 e non Blowfish)
OpenSSL (www.openssl.org)
Libreria crittografica in C
DES, 3DES, Blowfish, AES, CAST, IDEA, RC2, RC5
Include il tool openssl (command-line)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-20
Crittografia asimmetricaCrittografia asimmetrica
Di recente scoperta: 1976, da due ricercatori W.Diffie e M.Hellmann della Stanford University.
Ogni persona ha duedue chiavi corrispondenti: una privataprivata (nota solo a lui), una pubblicapubblica (nota a tutti)
Le due chiavi si corrispondono, ma non sono ricavabili l'una dall'altra
Asimmetrico significa che quanto cifrato con la chiave pubblica può essere decifrato soltanto con la corrispondentecorrispondente chiave privata, e viceversa
Detti anche “a doppia chiave”, “a chiave pubblica”, “a chiavi asimmetriche”
Per usare la crittografia a chiave pubblica nonnon è necessario scambiarsi una chiave in modo sicuro
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-21
Caratteristiche fondamentaliCaratteristiche fondamentali
Facile cifrare un testo P, data la chiave pubblica K+
Facile decifrare un testo cifrato C, data la chiave privata K−
Computazionalmente impossibile ricavare la chiave K−, data K+
Computazionalmente impossibile ricavare P, dati K+ e C
Concetto di base:Concetto di base: usiamo un problema facile da risolvere in un senso, ma difficile nel senso opposto (one-way trap door)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-22
I piI piùù usati cifrari asimmetriciusati cifrari asimmetrici
Attualmente i più utilizzati cifrari asimmetrici sono:
RSA (1977, Ron Rivest, Adi Shamir, Len Adleman)
Diffie-Hellman (1976)
DSS (1991, FIPS PUB 186)
ECC (IEEE P1363, Crittografia delle curve ellittiche)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-23
Scambio di chiaviScambio di chiavi
Poiché introduce molto overheadmolto overhead, la crittografia a chiave pubblica viene usata per concordare tra le due parti una chiave segreta su un canale di comunicazione non sicuro
Alcuni algoritmi a chiavi asimmetriche sono esclusivamente “di scambio di chiavi” (es. Diffie-Hellman)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-24
Diffie Hellman: scambio di chiaviDiffie Hellman: scambio di chiavi
usato per concordare tra due soggetti A e B una chiave segreta su un canale insicuro (spesso usata come chiave di sessione da algoritmi di livello superiore)
Problema-trappola: logaritmo modulare
In aritmetica ordinaria se y=axx il calcolo di x=logaay è banalebanale
Noti x, a, p è facilefacile calcolare y=axx mod p
N.B. p mod q è il resto della divisione p/q
In aritmetica modulare se è y = axx mod p il calcolo di x è molto difficilemolto difficile; cioè, noti y, a, p è moltomolto difficiledifficiletrovare x tale che sia y= axx mod p
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-25
Diffie Hellman: l'algoritmoDiffie Hellman: l'algoritmo
pp:num.primo, aa:radice primitiva di p, noti, pubblici
A --> B la sua chiave pubblica YAA (YAA= aXXAA mod p) ottenuta usando la sua chiave privata XA A segretasegreta
B --> A la sua chiave pubblica YBB (YBB= aXXBB mod p) ottenuta usando la sua chiave privata XB B segretasegreta
A calcola KAA = (YBB)XXAA mod p
B calcola KBB = (YAA)XXBB mod p
KKAA = (YBB)XXAA = (axxBB)XXAA = (aXXAA)XXBB = (YAA)XXBB = KKBB !!!!!
KK condivisa si ottiene (privrivA+pubbubbB) o (privrivB+pubbubbA)
noti YA A e YBB per ottenere la chiave K K bisogna conoscere XAA e XBB , cioè calcolare un log impossibile
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-26
Diffie Hellman: esempio didatticoDiffie Hellman: esempio didattico
pp = 7 = 7 : numero primo, pubblicopubblicoXX numero scelto nell’insieme (1, 2, ..., p-1), segretosegretoaa = 3 = 3 : radice primitiva di p,p, pubblica, pubblica, cioè
axx mod p = (1, 2, ..., p-1)3xx mod 7 = 1, 2, ..., 6 ∀X∈(1,2, ..., 6)
311mod7=3, 322mod7=2, 333mod7=6, 344mod7=4, 355mod7=5, 366mod7=1
AA: XXAA=3 segretosegreto, YAA= axxAA mod p = 333 mod 7 = 6
BB: XXBB=1 segretosegreto, YBB= axxBB mod p = 311 mod 7 = 3
AA invia a BB YAA=6, BB invia a AA YBB=3
AA calcola KK = (YBB)xxAA mod p = (3)33 mod 7 = 66
BB calcola KK = (YAA)xxBB mod p = (6)11 mod 7 = 66
uguali
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-27
chiave pubblica RSAchiave pubblica RSA
Cambia il problema-trappola
Dati due primi pp e qq è facile calcolare n=pqn=pq
Dato nn molto grande non esiste un algoritmo efficiente per (i.e. è praticamente impossibile) ottenere pp e qq
Si sfruttano alcune proprietà dell'aritmetica modulare e dell'esponenziazione
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-28
chiave pubblica (e privata): RSAchiave pubblica (e privata): RSA
scegliere due numeri primi (molto grandi) pp e qq(esempio didattico pp=3 e qq=11)calcolare nn = p x x q = 33 e zz = (p - 1) (q - 1) = 20zz si chiama “toziente di Eulero”scegliere dd relativamente primo con z (d=77)trovare ee tale che e xx d = 1 (mod z) e = 33
chiave pubblicapubblica (e,ne,n)(3,33)-chiave privata privata (d,nd,n)(7,33)C = P (mod 33) P = C (mod 33)3 7
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-29
RSA: esempioRSA: esempio
I caratteri usati devono essere meno di 33 (5 bit)
testo P
cod C = P mod(33)
C mod(33)
testo P
Z 26 17576 20 1280000000 26 Z A 1 1 1 1 1 A N 14 2744 5 78125 14 N N 14 2744 5 78125 14 N E 5 125 26 8031810176 5 E
3PP 7CC3 7
testo testo crittografatocrittografato
inviato in reteinviato in reteusa 3 usa 7
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-30
Come attaccare RSA ?Come attaccare RSA ?
Brute-force su tutte le possibili chiaviLe chiavi devono essere larghe a sufficienza da evitarlo, ma più grandi sono, più è lenta l'esponenziazione!
Determinare i fattori primi di nIn questo modo basta calcolare z per ottenere d da ePer n grande, questo problema è insolubile1994: Fattorizzazione di 129 cifre (428 bit) con 8 mesi di cicli CPU spare di 1600 PC1999: 155 cifre (512 bits) fattorizzateUna chiave sicura oggi è ≥ 1024 bit
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-31
IntegritIntegritàà
Cenni introduttivi alle funzioni di hashing
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-32
Message DigestMessage Digest
Per verificare l'integrità di un file (testo) si fa uso di un message digestIl digest è il prodotto di una funzione matematica deterministica applicata al testo (one-way hash function)Qualsiasi cambiamento, anche di un solo bit, nel documento produce un cambiamento nel digest
In media, cambiando 1 bit, cambia il 50% dei bit del digest
Due diversi messaggi generano due digest diversiNon è del tutto vero (i messaggi sono “di più” degli hash)La probabilità che due diversi messaggi generino lo stesso digest è trascurabile
Dal digest di una buona funzione di hashing èpraticamentepraticamente impossibile risalire al testo del documento che l’ha generato o, equivalentemente, generare un documento che abbia lo stesso hash
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-33
Message Digest: esempiMessage Digest: esempi
Esempio di digest MD5:
“Ciao” --> 16272a5dd83c63010e9f67977940e87116272a5dd83c63010e9f67977940e871
“ciao” --> 6e6bc4e49dd477ebc98ef4046c067b5f6e6bc4e49dd477ebc98ef4046c067b5f
“Yesterday, all my troubles seemed so far away” --> bc1cedea3dce3824659fa16c1178fc16bc1cedea3dce3824659fa16c1178fc16
Le funzioni di hashing sono deterministiche: lo stesso messaggio produce sempre lo stesso digest
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-34
Caratteristiche di una Hash FunctionCaratteristiche di una Hash Function
È una funzione H che produce un output di lunghezza fissa da un input di lunghezza arbitraria
Per ogni x, H(x) dev'essere facile da calcolare
È computazionalmente infattibile:Trovare x t.c. H(x) = h, uno specifico digestTrovare y t.c. y ≠ x e H(y) = H(x), con x datoDeterminare “facilmente” delle coppie {x,y} t.c. H(x) = H(y)Quest'ultima proprietà si chiama “collision-free property”
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-35
Secure Hash AlgorithmSecure Hash Algorithm
SHA-1 standard dal 1995
“migliora” MD4 e MD5, che non erano più considerate computazionalmente sicure
Input: messaggio fino a 264 bit di lunghezza, processato a blocchi da 512 bit
Output: un message digest di 160 bit, ma esistono versioni che generano output da 256, 384 e 512 bit
MD5MD5: processa il testo in blocchi da 512 bit, lunghezza del digest 128 bit
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-36
SHASHA--11
HSHA
B0 B1 Bi Bn-1
M (L bits in length)
HSHA
padding L
512n bits
512 bits
HSHA
HSHA
compressionfunction
160 bits160-bit
IV
message digest
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-37
Scenari d'usoScenari d'uso
Combinare queste tecniche per ottenere dei risultati
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-38
scenario 1: autenticazione mittente + integritscenario 1: autenticazione mittente + integritàà dei dei dati, no confidenzialitdati, no confidenzialitàà
mittentemittente destinatariodestinatario
testoin chiaro
testoin chiaro
decifraturacifratura
testo cifrato
chiave privatamittente
chiave pubblicamittente
rete insicurarete insicura
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-39
scenario 2: confidenzialitscenario 2: confidenzialitàà, no autenticazione , no autenticazione mittente, no integritmittente, no integritàà
mittentemittente destinatariodestinatario
testoin chiaro
testoin chiaro
decifraturacifratura
testo cifrato
chiave pubblicaricevente
chiave privataricevente
rete insicurarete insicura
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-40
Firma digitaleFirma digitale
La firma digitale di un documento garantisce:l’integrità del testol’identità del suo autore
documentodocumento
firmafirma
di lunghezza variabile
di lunghezza fissafissa
Si protegge il digest, operazione meno onerosa della protezione dell’intero messaggio
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-41
RiceventeRicevente
MittenteMittente
testomessaggio
hashfunction
digest crittaz.
crittazione
decrittazione
testomessaggio
firma digitale
testomessaggio
firma digitale
hashfunction
decrittaz.
digestAutenticazione mittenteIntegrità messaggioRiservatezza messaggioNon ripudio (mittente) digest
Uso della Firma DigitaleUso della Firma Digitale
Chiave PUBBLICA destinatario
Chiave PUBBLICA mittente
Chiave PRIVATA destinatario
Chiave PRIVATA mittente
confrontoconfronto
InternetInternet
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-42
Sistemi Ibridi: PGP (Pretty Good Privacy)Sistemi Ibridi: PGP (Pretty Good Privacy)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-43
Sistemi Ibridi: PGP (Pretty Good Privacy)Sistemi Ibridi: PGP (Pretty Good Privacy)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-44
BibliografiaBibliografia
“Applied Cryptography”, 2° ed., B. Schneier, Wiley editore
“Sicurezza delle reti - Applicazioni e standard” di William Stallings, Addison-Wesley Editore
“Crittografia” di Andrea Sgarro, Franco Muzzio Editore.
“Segreti, Spie e Codici Cifrati” di C.Giustozzi, A.Monti, E.Zimuel, Apogeo Editore.
“Codici & Segreti” di Simon Singh, Rizzoli Editore.
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-45
AutenticazioneAutenticazione
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-46
Nozioni di baseNozioni di base
Identificazione Identificazione –– ““Chi sei?Chi sei?””Usualmente dichiarativa (l'utente fornisce il proprio ID)
Autenticazione Autenticazione –– “Come verificare che la tua identità “Come verificare che la tua identità è vera?”è vera?”
Tecniche per verificare in modo affidabile l'ID dichiarato da un'entità
Autorizzazione Autorizzazione –– “Sei autorizzato ad effettuare “Sei autorizzato ad effettuare questa operazione?”questa operazione?”
Tecniche per concedere il diritto di effettuare alcune specifiche operazioni su particolari asset. Esempi:
Read, Write, Append, Lock, ExecuteCreare nuovi file, modificare file esistenti, rinominare file, …Stabilire lo scoperto massimo, effettuare ordini, approvare di pagamenti,…
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-47
Paradigmi di AutenticazioneParadigmi di Autenticazione
tre principali paradigmi utilizzati per autenticare
OneOne--wayway: il client autentica se stesso al server (che si assume avere un’identità valida)
È il paradigma più diffuso
TwoTwo--wayway: il client ed il server si autenticano reciprocamente
Trusted ThirdTrusted Third--PartyParty: si utilizza una terza entità esterna (anch’essa un server) considerata “affidabile” sia dal client che dal server affinchè autentichi entrambe
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-48
Tecnologie per lTecnologie per l’’AutenticazioneAutenticazione
Ciò che si saCiò che si saPasswordPIN
Ciò che si haCiò che si haSmart cardToken/One-time passwordCertificati digitali
Ciò che si èCiò che si èViso, iride, retina, impronte digitali, geometria della mano, voce
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-49
Password: problemiPassword: problemi
IntercettazioneIntercettazione di password trasmesse in reteFurto di password: un altro utente può usare le mie credenziali per compiere attività illecite o criminose
Condivisione di password fra più utentiPerdita del controllo di responsabilità
Scrivere le password e tenerle in vista (Post-It…)Semplifica enormemente il furto di password
Password guessingBrute forceBrute force: si cerca di individuare la password provando TUTTE le possibili combinazioni di caratteriDictionaryDictionary--basedbased: si cerca di individuare la password prendendola da un insieme di parole più probabili (dizionario)
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-50
Password: il Keyspace Password: il Keyspace (1)(1)
La robustezza crittografica di una pwd dipende dal keyspace
Una pwd è robusta (strong) se il tempo stimato per individuarla è maggiore del tempo di vita della password stessaLa robustezza di una pwd diminuisce col tempo perchè la velocitàdelle macchine usate per il crack aumenta…
Keyspace: numero di codici (crt) possibiliMaiuscoli → 26 possibilità per posizioneMaiuscoli e minuscoli (case-sensitive)→52 possibilità/posizioneNumeri: si aggiungono altre 10 possibili scelteCaratteri speciali |!”/$%?&*()_+#\@-=:;~{}[] l’aumento dipende da quanti sono ammessi
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-51
Password: il Keyspace Password: il Keyspace (2)(2)
Il Keyspace è una funzione della posizione (P) e delle possibili scelte per ogni posizione (Ci)
Se le ripetizioni sono permesse C è costante:P posizioni con C scelte per posizione → CP pwd possibili
Se le ripetizioni non sono ammesse, c’è una scelta in meno per ogni posizione successiva:C(C-1)(C-2). . . (C-P+1) or C!/P! possibilità
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-52
TokenToken
generatori di one-time passwordcreano una password ogni 1-3 minuti, in una sequenza cifrata basata sul token e sul tempoil software sul server verifica che la sequenza corrisponda con il momento, il token ID, e l’utente assegnato
Smart cardun microprocessore interagisce con il readersi stabilisce l’identità e l’autenticità della smart card mediante protocolli challenge-responsedelle tabelle correlano il token con l’utente
Impianti InformaticiG.Serazzi – S.Zanero aa 2005/06 CRITT-53
Indici biometriciIndici biometrici
Impronte digitali
Geometria della mano
Viso
Iride
Retina
Voce