La crittografia moderna

Guzzo Antonio 12/03/09
Scarica PDF Stampa
Le basi teoriche della crittografia moderna risalgono a circa 30 anni fa a partire dal 1969 con le prime ricerche di James Ellis del quartier generale governativo delle comunicazioni britanniche (GCHQ). Sviluppata ed affinata nel 1976 in America grazie al contributo di Whitfield Diffie e Martin Hellman con la nascita del termine crittografia a chiave pubblica. Nasce nel 1977 il cifrario a chiave pubblica RSA da tre ricercatori del MIT (Massachusetts Institute of Technology), Ronald Rivest, Adi Shamir e Leonard Adelman. Nel 1991 viene rilasciata la prima versione del software PGP (Pretty Good Privacy) di Phil Zimmermann, la crittografia diventa una realtà quotidiana.
Per crittografia intendiamo il processo di creare e decifrare comunicazioni segrete. Dati personali “crittati” sono trasformati in codici non interpretabili senza una chiave segreta. L’informazione personale crittata è dunque protetta sia che viaggi su Internet, che risieda nel computer del soggetto, o che sia conservata in una banca dati commerciale. La crittografia viene utilizzata principalmente per implementare le seguenti operazioni: autenticazione, riservatezza, integrità, anonimato.
L’autenticazione è l’operazione che consente di assicurare l’identità di un utente in un processo di comunicazione. La riservatezza è l’operazione più nota della crittografia perché è quella che storicamente è nata per prima e che consiste nel proteggere le informazioni da occhi indiscreti.
L’integrità è l’operazione che consente di certificare l’originalità di un messaggio o di un documento. In pratica si certifica che il messaggio non è stato modificato in nessun modo.
L’anonimato è l’operazione che consente di non rendere rintracciabile una comunicazione, è una delle operazioni più complesse da realizzare. Alcuni esempi d’utilizzo della crittografia che possono sollevare problematiche di privacy sono i seguenti:
1) Nei bancomat come sistema di protezione delle comunicazioni tra POS (Point Of Sale, punto di vendita) e banca;
2) Nella telefonia mobile, ad esempio nel protocollo GSM tramite l’algoritmo A5/{1,2} o nel protocollo UMTS, per la protezione delle comunicazioni vocali;
3) Nelle comunicazioni satellitari per l’autenticazione e la protezione delle trasmissioni dati satellitari, ad esempio con lo standard SECA2 impiegato dalla maggior parte delle Tv Digitali;
4) Su Internet per la protezione del commercio elettronico e delle comunicazioni riservate (protocollo SSL);
5) Nelle applicazioni di firma dei documenti digitali (firma digitale)
Il mero atto di crittare dati personali, però, non risolve ogni problema di privacy. In primo luogo, l’utilizzo di dati crittati non può essere unilaterale: un individuo non può mandare ad un venditore dati personali protetti tramite crittografia a meno che il venditore non li accetti in tale forma. In secondo luogo, una volta decifrati da parti terze autorizzate, i dati non sono più protetti e sfuggono nuovamente al controllo del soggetto. In terzo luogo, la crittazione dei dati personali non protegge la privacy di individui le cui attività possono essere desunte da altre fonti.
Per risolvere alcuni di questi problemi attualmente è in voga l’utilizzo di funzioni di hash, nello specifico funzioni di hash cosiddette sicure. Una funzione di hash (H) trasforma un testo qualsiasi (m) in una sequenza alfanumerica di lunghezza prestabilita (h), molto inferiore a quella del testo di partenza. Questa stringa, una specie di impronta, viene definita valore di hash o digest, e non può essere riconvertita nel messaggio di provenienza. Pertanto, una funzione di hash h=H(m) deve soddisfare le seguenti proprietà:
a) il messaggio in entrata deve poter essere di qualsiasi dimensione;
b) il valore di hash deve essere di lunghezza fissa;
c) H(m) deve essere relativamente semplice da eseguire per ogni m;
d) H(m) deve essere a senso unico;
e) H(m) deve essere senza “collisioni”, ovvero deve evitare di dare lo stesso h per due m
diversi
Le funzioni di hash svolgono due funzioni molto importanti nella crittografia:
1) verifica dell’integrità: se il valore di hash di un certo messaggio è uguale prima e dopo la trasmissione, allora molto probabilmente il messaggio ricevuto è rimasto invariato. Inoltre si può  fare un digest per quei file di sistema che potrebbero essere modificati o sostituiti dagli hackers,  rendendo molto più semplice scoprire eventuali intrusioni;
2) aumento della velocità dei calcoli matematici dato che per i calcolatori è più facile lavorare su un’impronta a 128 bit al posto del testo originario, decisamente più voluminoso. Perciò le funzioni di hash vengono usate spesso nelle firme digitali, per snellire i calcoli.
 
 
a cura del Dottor Antonio Guzzo
Responsabile CED – Sistemi Informativi del Comune di Praia a Mare

Guzzo Antonio

Scrivi un commento

Accedi per poter inserire un commento