LEZIONE 01 · FONDAMENTI
Prima dell’algoritmo: che cosa vuoi proteggere?
La crittografia studia tecniche matematiche per proteggere informazioni e comunicazioni in presenza di avversari. Cifrare è una delle sue operazioni; verificare una firma è un’altra.
- Chi?
- Un mittente, un destinatario e un possibile avversario. Qui si chiamano Alice, Bruno ed Eva.
- Che cosa?
- Il contenuto, l’integrità e la provenienza di dati digitali.
- Quando?
- Quando i dati sono memorizzati o attraversano un ambiente di cui non puoi fidarti completamente.
- Dove?
- Su un disco, in un backup, dentro un’applicazione o durante uno scambio in rete.
- Perché?
- Per ridurre ciò che un avversario può leggere, falsificare o attribuire a un altro soggetto.
Le parole, prima delle formule
- Crittologia, crittografia e crittoanalisi
- La crittologia comprende lo studio della costruzione dei sistemi crittografici, cioè la crittografia, e lo studio di come attaccarli o valutarne le debolezze, cioè la crittoanalisi.
- Algoritmo e protocollo
- Un algoritmo è una procedura definita per ottenere un risultato. Un protocollo stabilisce messaggi, ordine e verifiche tra più partecipanti. Un algoritmo corretto può essere inserito in un protocollo vulnerabile.
- Testo in chiaro e testo cifrato
- Il chiaro è il dato prima della cifratura: può essere testo, audio o un intero disco. Il cifrato è la rappresentazione prodotta dall’algoritmo di cifratura usando una chiave. Possedere il cifrato non significa poter ricavare il chiaro.
- Chiave
- Un parametro che seleziona una trasformazione all’interno di un algoritmo. In un sistema moderno è normalmente una sequenza di bit, non una parola scelta a memoria. Un bit vale 0 oppure 1; un byte contiene 8 bit.
- Cifratura e decifratura
- La cifratura trasforma il chiaro in cifrato; la decifratura autorizzata recupera il chiaro usando la chiave prevista. La crittoanalisi tenta di ottenere informazioni senza disporre legittimamente del segreto necessario.
Cinque obiettivi distinti
| Obiettivo | Significato | Nel contratto di Alice |
|---|---|---|
| Confidenzialità o riservatezza | Impedire la divulgazione del contenuto a soggetti non autorizzati. | Eva intercetta il file ma non legge il prezzo. |
| Integrità | Rilevare modifiche non autorizzate ai dati protetti. | Bruno rileva se il prezzo passa da 100 a 900. |
| Autenticazione | Verificare un’identità dichiarata o l’origine di dati, secondo un metodo preciso. | Bruno verifica quale chiave ha prodotto la firma. |
| Non ripudio | Disporre di evidenze attribuibili utili a contrastare il disconoscimento di un’azione. | Una firma e il suo contesto di validazione contribuiscono alla prova. Non eliminano ogni possibile contestazione. |
| Controllo degli accessi | Applicare regole che consentono o negano operazioni su risorse. | Il gestionale consente a Bruno di leggere il contratto ma non di cancellarlo. |
Autenticazione e autorizzazione rispondono a domande diverse. La prima chiede «chi sei?» o «quale credenziale possiedi?»; la seconda «puoi eseguire questa operazione?». Un accesso con password corretta non autorizza automaticamente a leggere ogni file. La disponibilità, cioè poter usare dati e servizi quando servono, richiede anche backup, ridondanza e protezione dai guasti: la sola cifratura non la assicura.
Il modello di minaccia
Un modello di minaccia descrive beni da proteggere, capacità dell’avversario, ipotesi di fiducia e conseguenze di un attacco. Eva può soltanto ascoltare? È un attaccante passivo. Può sostituire messaggi, impersonare un server o ripetere richieste registrate? È un attaccante attivo. Un replay è il riutilizzo di un messaggio autentico: non serve modificarlo per provocare un secondo pagamento.
- Alice prepara il contratto in chiaro.
- La cifratura ne protegge il contenuto durante il viaggio.
- Un controllo crittografico permette a Bruno di rilevare alterazioni.
- Il software decide se Bruno è autorizzato ad aprirlo.
Una busta chiusa è solo una metafora
Non leggere un cifrato non impedisce di modificarne i byte. Alcuni schemi permettono persino modifiche prevedibili al chiaro. Per rilevarle serve una protezione di integrità, per esempio la cifratura autenticata della lezione 06. Inoltre la cifratura può lasciare visibili metadati: lunghezza, orari e destinatari della comunicazione.
Il principio di Kerckhoffs
La sicurezza di un sistema crittografico deve resistere anche quando l’avversario conosce il funzionamento del sistema: il segreto essenziale è la chiave. Pubblicare un algoritmo permette di esaminarlo; non rende automaticamente sicura qualsiasi implementazione. Per implementazione intendiamo il codice e i componenti che realizzano il metodo.
Controlla la comprensione
Un dipendente entra nel gestionale con le proprie credenziali e legge il contratto di un altro reparto. HTTPS ha fallito?
Ragiona sulla garanzia mancante
Non necessariamente. HTTPS può avere protetto correttamente il collegamento. Se il gestionale ha concesso un file che il dipendente non doveva vedere, il problema è nell’autorizzazione. Bisogna verificare le regole di accesso e la loro applicazione lato server.
Origine: video 01. Approfondimenti: fonti sui principi e sulle garanzie. Lessico: modello di minaccia.