Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Usare dei “mnemonici”! Usare le lettere iniziali delle parole di una frase ed
effettuare delle sostituzioni
O 0
i 1
s $
oggi sono in piena forma o almeno spero 0$1Pf0a$
Crittografia
La crittografia permette di mantenere e trasmettere, in modo
sicuro, tutte quelle informazioni che sono tutelate dal diritto alla
privacy, ma anche quelle che, per qualunque motivo, sono
ritenute “riservate”.
La crittografia nasce MOLTO tempo prima dei computer ed è
stata utilizzata, almeno in ambito militare, fin dall’antichità.
Vantaggi
semplicità e rapidità di
esecuzione degli algoritmi
crittografici
Svantaggi:
scambio della chiave segreta: la
comunicazione della chiave
condivisa deve avvenire
attraverso un canale sicuro;
è necessaria una chiave diversa
per ogni coppia di
interlocutori (per evitare che
l’interlocutore C possa
leggere i messaggi mandati a
B).
per n coppie di interlocutori
sono necessarie n(n-1)/2
chiavi simmetriche distinte
Vantaggi:
• Velocità di funzionamento, quindi è possibile utilizzare
chiavi molto lunghe, dato che gli algoritmi per cifrare o
decifrare sono molto veloci.
Ricevente (Bob)
Mittente (Alice)
Chiave pubblica
del mittente Chiave pubblica
Chiave privata del mittente
del mittente
Messaggio Messaggio
Messaggio in chiaro
in chiaro Algoritmo
Algoritmo cifrato
di
di codifica decodifica
Crittografia asimmetrica: integrità,
autenticazione, confidenzialità
Alice vuole essere sicura che il documento sia letto unicamente da Bob,
garantendo anche la paternità del documento
Si applica una doppia crittografia a chiave pubblica: Alice cifra il
documento prima con la propria chiave privata, successivamente con
la chiave pubblica di Bob
Autenticazione - Bob è sicuro che il documento sia stato spedito da
Alice: solo lei conosce la propria chiave privata e la sua chiave
pubblica è garantita dalla Certification Authority(CA)
Confidenzialità - Alice è sicura che il documento sia letto unicamente
da Bob: solo quest’ultimo conosce la propria chiave privata
Mittente (Elisa) E M Chiave pubblica Ricevente (Mario)
Chiave pubblica del ricevente
del mittente
Certification
Chiave privata E Chiave pubblica M authority
M E Chiave pubblica
del mittente del destinatario Chiave privata del mittente
del destinatario
Messaggio Messaggio Messaggio
in chiaro cifrato in chiaro
Algoritmo Algoritmo Algoritmo Algoritmo
di di
di codifica di codifica
decodifica decodifica
Crittografia simmetrica VS. asimmetrica
Simmetrica Asimmetrica
• La stessa chiave è • La chiave usata per
utilizzata sia per codificare è diversa
codificare che per dalla chiave usata per
decodificare decodificare
• Gli algoritmi sono più
• Gli algoritmi sono più lenti
veloci • La gestione delle
chiavi è più semplice
• La gestione delle (la chiave privata la
chiavi è problematica tengo solo io, l’altra
può essere “pubblica”
• Non offre servizi di per definizione)
non ripudio • n chiavi per n utenti
• Permette di avere
servizi di non ripudio
Risolve i problemi tipici della
crittografia a chiave simmetrica:
• lo scambio delle chiavi non è più critico
• non esistono problemi di scalabilità: n utenti n
chiavi
• il problema dell’autenticità del mittente viene
immediatamente risolto, in quanto solo il titolare
di quella chiave privata potrà aver generato il
messaggio corrispondente alla relativa chiave
pubblica;
Risolve i problemi tipici della
crittografia a chiave simmetrica:
- si risolve il problema della riservatezza: infatti, poiché
l’algoritmo è simmetrico dal punto di vista delle chiavi (ciò che
viene crittato con la chiave privata va decrittato con quella
pubblica, ma anche viceversa) è sufficiente crittare un
messaggio con la chiave pubblica affinché solo il titolare della
corrispondente chiave privata possa leggerlo;
- infine ogni soggetto dovrà detenere una sola coppia di chiavi
(la propria): le chiavi pubbliche verranno iscritte in appositi
registri, pubblicamente consultabili, dai quali potranno essere
scaricate al momento opportuno .
Concetti su cui si basa
crittografia a chiave pubblica
1. Un messaggio cifrato con una chiave può
essere decifrato solo con l’altra chiave.
2. È computazionalmente molto difficile
ricavare una chiave dall’altra, ovvero le
chiavi devono essere indipendenti; la
conoscenza di una non deve concedere
nessuna informazione utile alla
ricostruzione dell’altra.
Algoritmi a chiave pubblica
Algoritmi a chiave pubblica (asimmetrici):
• RSA Proposta da Rivest, Shamir &
Adleman nel 1977. Si basa sulla difficoltà
presunta della fattorizzazione. Standard
de facto. Cocks aveva già proposto un
sistema equivalente nel 1973, classificato.
• El Gamal (logaritmo discreto)
• Rabin (fattorizzazione)
Svantaggi:
• Creata manualmente
• Verificata manualmente (metodo sicuro?)
• Non falsificabile (perizia calligrafica, metodo
sicuro?)
• Non ripudiabile (perizia calligrafica, metodo
sicuro?)
• Apposizione sul documento (non trasferibile)
Firma digitale
DIGEST
Cifrato Se risultano uguali
Messaggio il msg risulta
in chiaro autenticato
Se non risultano
HASHING uguali il msg non
risulta autenticato
DIGEST in
chiaro DIGEST DIGEST in
Cifrato chiaro
Chiave
privata di
Bob
Chiave
pubblica
di Bob
Integrità, autenticità e non ripudio: Firma digitale (1)
• Le funzioni di hash consentono di ottenere un’ “impronta
digitale” del messaggio (message digest) basata sul suo
contenuto.
• Cambiando anche un solo bit del messaggio originale
cambia il valore del message digest
• Il message digest è quindi crittografato con la chiave
privata del mittente e aggiunto al messaggio originale (in
chiaro)
Messaggio
da firmare
Processo Messaggio
di Chiave
privata del firmato
Hashing digitalmente
mittente
Codifica
Message Firma
Digest digitale
Integrità, autenticità e non ripudio: Firma digitale (2)
Per verificare che il messaggio ricevuto non è stato modificato durante la
trasmissione e che il mittente è effettivamente chi dice di essere, il
destinatario compie le seguenti operazioni:
1. usando lo stesso algoritmo di hashing, calcola un message digest del
documento ricevuto
2. usando la chiave pubblica del mittente (prelevata dalla CA), decodifica la
firma digitale del mittente per ottenere il message digest del documento
originale
3. confronta i due message digest per verificare se coincidono: se i due
message digest risultano diversi significa che il messaggio è stato
modificato oppure il mittente non è chi dice di essere (ha firmato con una
chiave privata diversa)
Hashing
Messaggio Message
firmato Digest
digitalmente
Messaggio
Chiave
pubblica del =?
mittente Verifi
ca
Message
Decodifica Digest
40 Firma
CA digitale
Posta Elettronica Certificata
Combinazione di tecniche
• Firma digitale + crittografia
– Per assicurare non ripudiabilità, non modificabilità e
segretezza dei messaggi
• Crittografia mista
– L’uso della crittografia asimmetrica è poco pratico
– lentezza degli algoritmi
– possibili attacchi di tipo “plain text”
– Si usa la crittografia a chiave pubblica per scambiare
in modo sicuro chiavi simmetriche
– Le chiavi simmetriche (chiavi di sessione) sono usate
per cifrare il flusso di dati (vengono cambiate per ogni
messaggio)
Malware (Malicious software)
• Classificazione in base alla necessità di un programma
ospite
• Parassiti: Virus, bombe logiche, backdoors
• Indipendenti: worm
• Classificazione in base alla capacità di autoreplicarsi
• Programmi attivati da un trigger: bombe logiche,
backdoor
• Programmi che si autoreplicano: virus. worm
Virus, Worm e Trojan