Crittografia a chiave pubblica

Limiti dalla crittografia a chiave segreta convenzionale

La soluzione a problemi di identificazione, autenticazione e privacy nei sistemi basati su computer è fondata su sistemi di crittografia. In considerazione della natura non fisica del supporto, i metodi tradizionali tramite i quali contrassegnare fisicamente il supporto con sigilli o firme (per business di vario genere e per scopo legale) si rivelano impraticabili. Alcuni contrassegni, pertanto, devono essere codificati nell'informazione stessa, in modo da consentire l'identificazione dell'origine, autenticare i contenuti e garantire la privacy contro eventuali casi di spionaggio.

La protezione della privacy mediante un algoritmo simmetrico, quale quello dal DES (lo standard per la crittografia dei dati fornito dagli enti pubblici, Data Encryption Standard) è relativamente semplice da implementare nelle reti di piccole dimensioni poiché richiede lo scambio tra le parti di chiavi di crittografia segrete. Man mano che una rete cresce, lo scambio sicuro di chiavi segrete diventa sempre più costoso e inefficace. Di conseguenza, per reti di dimensioni moderatamente grandi, questa soluzione non è idonea se applicata da sola.

Lo standard DES, inoltre, ha un ulteriore svantaggio: richiede la condivisione di una chiave segreta. È indispensabile, quindi, un certo livello di fiducia tra gli utenti, che devono proteggere la chiave segreta scambiata e impegnarsi a non rivelarla a terzi. Poiché ogni utente deve disporre di una chiave diversa per ogni persona con cui comunica, è necessario fidarsi di ogni utente a cui viene rivelato la propria chiave segreta. Nella pratica dell'implementazione di tale sistema, pertanto, le comunicazioni sicure sono possibili solo tra utenti con un tipo di rapporto già esistente, che sia di natura personale o professionale.

Tra i problemi fondamentali che non possono essere risolti dallo standard DES ci sono i processi di autenticazione e di non ripudio. Le chiavi segrete condivise impediscono di comprendere chi è l'autore di un'operazione. Entrambe le parti, infatti, possono modificare clandestinamente i dati senza che un terzo utente sia in grado di stabilire quale delle due parti in causa abbia determinato il problema. La stessa chiave che consente di comunicare in modo sicuro, quindi, può essere utilizzata per falsificare l'identità di un altro utente.

Una soluzione più sicura: la crittografia a chiave pubblica

I problemi di autenticazione e protezione della privacy di reti di grandi dimensioni sono stati affrontati in modo teoretico nel 1976 da Whitfield Diffie e Martin Hellman, in una pubblicazione relativa ad un metodo di scambio di messaggi riservati senza l'utilizzo di chiavi segrete. Tale idea è divenuta realtà nel 1977 con l'invenzione del sistema di crittografia a chiave pubblica RSA Public Key Cryptosystem da parte di Ronald Rivest, Adi Shamir e Len Adleman, divenuti in seguito professori presso il Massachusetts Institute of Technology.

Invece che l'utilizzo della stessa chiave per crittografare e decrittografare i dati, il sistema RSA prevede l'utilizzo di una coppia di chiavi per l'esecuzione dei due processi. Ogni chiave consente di eseguire una sola trasformazione dei dati e ad ogni chiave corrisponde la funzione inversa rispetto all'altra: un'operazione eseguita con una chiave può essere annullata solo con l'altra.

La chiave pubblica RSA viene resa pubblica dal proprietario, mentre la chiave privata RSA viene mantenuta segreta. Per inviare un messaggio privato, un autore crittografa il messaggio con la chiave pubblica del destinatario. Una volta eseguito questo processo, il messaggio può essere decodificato solo con la chiave privata del destinatario.

Vice versa, l'utente può anche crittografare i dati utilizzando la chiave privata. In altre parole, le chiavi RSA possono funzionare in entrambe le direzioni. Ciò getta le basi per la "firma digitale": se un utente può decrittografare un messaggio con una chiave pubblica, l'altro utente deve aver utilizzato la chiave privata per crittografare tale messaggio in precedenza. Poiché solo il proprietario può utilizzare la chiave privata, il messaggio crittografato diventa una sorta di firma digitare, ovvero un documento che non può essere prodotto da nessun altro.

Torna all'inizio della pagina

Autenticazione e non ripudio: il certificato digitale di Verisign

Una firma digitale viene creata mediante l'esecuzione del testo di un messaggio tramite un algoritmo di hash. Ciò genera un digest del messaggio. Il digest del messaggio viene quindi crittografato mediante la chiave privata dell'utente che invia il messaggio stesso, trasformandolo in una firma digitale. La firma digitale può essere decrittografata solo dalla chiave pubblica dello stesso utente. Il destinatario del messaggio può decrittografare la firma digitale, quindi ricalcolare il digest del messaggio. Il valore del nuovo digest del messaggio calcolato viene confrontato con il valore del digest del messaggio della firma. Se corrisponde, il messaggio non è stato manomesso. Poiché la chiave pubblica del mittente è stata utilizzata per verificare la firma, il testo deve essere stato firmato con la chiave privata nota solo al mittente. L'intero processo di autenticazione verrà incluso in ogni applicazione sicura.

Torna all'inizio della pagina

Cos'è un certificato digitale?

Gli utenti della tecnologia RSA solitamente allegano l'esclusiva chiave pubblica ad un documento in uscita, in modo che il destinatario non debba cercare tale chiave pubblica in un archivio di chiavi pubbliche. In che modo il destinatario può sapere con certezza che tale chiave pubblica, o una chiave inclusa in una directory pubblica, appartiene realmente alla persona indicata? È possibile che un intruso riesca ad entrare abusivamente nella rete del computer come utente legittimo e resti letteralmente a guardare mentre gli altri utenti ignari inviano documenti sensibili e riservati ad un falso account creato appositamente dall'intruso?

La soluzione è costituita dal certificato digitale, una sorta di "passaporto" o "credenziale". Il certificato digitale è la chiave pubblica dell'utente che è stata "firmata in modo digitale" da un utente di fiducia designato, come un responsabile della sicurezza di rete, il servizio di supporto MIS o da VeriSign, Inc. L'immagine di seguito mostra una descrizione di un certificato digitale.

Ogni volta che un utente invia un messaggio, viene allegato un certificato digitale. Il destinatario del messaggio utilizza per prima cosa il certificato digitale per verificare l'autenticità della chiave pubblica dell'autore. Quindi, utilizza tale chiave pubblica per verificare il messaggio stesso. In questo modo, solo una chiave pubblica (ovvero quella dell'autorità di certificazione) deve essere archiviata o diffusa pubblicamente. A questo punto, altri utenti possono semplicemente trasmettere le proprie chiavi pubbliche e un valido certificato digitale insieme al messaggio.

Utilizzando i certificati digitali, è possibile stabilire una catena di autenticazione che corrisponda a una gerarchia dell'organizzazione e che permetta la registrazione di chiavi pubbliche efficaci e registrazioni anche in ambienti distribuiti.

Torna all'inizio della pagina

Gerarchie di certificazione

Dopo aver ottenuto un certificato digitale, cosa deve farne un utente? I certificati digitali hanno una vasta gamma di utilizzi, dalle comunicazioni tramite posta elettronica tra uffici fino ai trasferimenti EFT (Electronic Funds Transfer) a livello globale. Per utilizzare i certificati digitali, è indispensabile un certo grado di fiducia nell'associare un certificato a un determinato utente o organizzazione. Tale fiducia è ottenuta mediante la creazione di gerarchie di certificati digitali, in cui tutti i membri rientrano nel medesimo set di policy. I certificati digitali verranno emessi solo per utenti o entità, come membri potenziali di una gerarchia, dopo aver ottenuto prove della loro identità. Diverse gerarchie possono avere diverse policy per confermare l'identità ed emettere certificati digitali.

Verisign elabora numerose gerarchie di certificati digitali. Commercial CA ha il livello di affidabilità necessario per associare il certificato digitale dell'utente finale all'utente finale stesso. I membri del Commercial CA di RSA, pertanto, avranno le garanzie necessarie, in base alle policy di adesione, in merito alle entità con cui comunicano. Ciò non si applica quando i due utenti finali, membri di gerarchie poco sicure, comunicano con certificati digitali. Senza una garanzia in merito alla gerarchia del certificato digitale gestito, l'uso di certificati digitali ha un valore limitato.

Torna all'inizio della pagina