Cap1


Home
Su
Presentazione
Cap1
Cap2
Cap3
Cap4
Cap5
Cap6
Cap7
Cap8
Appendice

PARTE I

STUDIO E PROGETTAZIONE DI UNA PUBLIC KEY INFRASTRUCTURE UNIVERSITARIA

 

1 - INTRODUZIONE ALLA CRITTOGRAFIA

La crittografia moderna si divide in due categorie: sistemi crittografici a chiave segreta (detti anche “sistemi crittografici simmetrici”) e sistemi crittografici a chiave pubblica (detti anche “sistemi crittografici asimmetrici”).

 

I sistemi crittografici a chiave segreta consentono lo scambio di messaggi cifrati tra due interlocutori, in modo che il contenuto dei messaggi risulti incomprensibile a chiunque tenti di intercettarli.

 

I sistemi crittografici a chiave pubblica aggiungono alla tradizionale funzione di cifratura dei messaggi una serie di nuovi servizi quali: la verifica dell’identità di un interlocutore, la firma digitale dei messaggi e la verifica dell’integrità dei documenti elettronici.

 

Vediamo separatamente i due sistemi e confrontiamoli.

 

1.1 - CRITTOGRAFIA A CHIAVE SEGRETA

La crittografia a chiave segreta prevede l’utilizzo di un’unica chiave segreta che consente sia la cifratura che la decifratura dei messaggi.

La chiave segreta va dunque condivisa dagli interlocutori per lo scambio di informazioni riservate.

 

Al momento dello scambio della chiave o dell’accordo sulla chiave da usare, la chiave segreta è esposta al rischio di possibili intercettazioni che ne comprometterebbero la sicurezza.

Una volta avvenuto lo scambio, la riservatezza della chiave stessa è responsabilità di entrambi gli interlocutori; se anche uno solo dei due interlocutori compromette la sicurezza della chiave, l’altra persona è esposta ad un rischio, a volte a sua stessa insaputa.

Inoltre, in un gruppo di n utenti, la necessità di scambiare informazioni riservate tra due interlocutori qualunque, senza che gli altri utenti possano decifrare la conversazione, porta alla necessità di gestire chiavi private (tante quante sono le coppie di interlocutori possibili in un gruppo di n persone), già per un gruppo di 10 persone ci sarebbe dunque bisogno di utilizzare =45 chiavi segrete distinte.

 

Tutto ciò rende impraticabile l’utilizzo della crittografia a chiave privata in ambienti aperti, o in situazioni in cui il numero di potenziali interlocutori sia superiore a poche decine di persone.

 

 

1.2 - CRITTOGRAFIA A CHIAVE PUBBLICA

La crittografia a chiave pubblica prevede l’utilizzo di due chiavi: una chiave pubblica e una chiave privata. Le due chiavi sono profondamente legate tra loro e sono complementari: ciò che viene cifrato con una chiave potrà essere decifrato solo con l’altra.

Si sceglie dunque di rendere una chiave pubblica e l’altra privata. Ciò che viene cifrato con la chiave pubblica di una persona potrà essere decifrato solo dalla chiave privata corrispondente, che è in possesso della persona titolare della chiave pubblica.

Allo stesso modo, ciò che viene cifrato con la chiave privata di una persona potrà essere decifrato solamente con la chiave pubblica corrispondente di quella stessa persona: è così possibile per chiunque verificare se chi ha cifrato il documento sia in possesso della chiave privata associata a quella chiave pubblica, e dunque stabilire l’autenticità del messaggio in questione. Questo è il meccanismo alla base della firma elettronica.

I dettagli sugli algoritmi matematici che consentono queste funzioni sono dettagliatamente esposti in Appendice, a cui si rimanda per qualunque chiarimento tecnico.

 

Uno dei vantaggi principali della crittografia a chiave pubblica è che non c’è mai bisogno di rendere nota a nessuno la propria chiave privata.

Dunque la chiave non è esposta al rischio di intercettazioni, e la riservatezza della chiave privata è responsabilità esclusiva del suo legittimo proprietario.

 

La crittografia a chiave pubblica ha dunque rappresentato una vera e propria rivoluzione nel mondo della crittografia tradizionale: non solo semplifica notevolmente la gestione delle chiavi e della loro segretezza, ma consente una nuova gamma di servizi di autenticazione che non erano disponibili con la crittografia a chiave segreta.

 

Si analizzeranno ora più nel dettaglio le tecniche di cifratura e firma digitale dei sistemi a chiave pubblica.

 

1.2.1 - Cifratura di documenti

Per cifrare un documento e renderlo incomprensibile a chiunque, tranne che al destinatario del messaggio è sufficiente conoscere la chiave pubblica del destinatario e cifrare il messaggio con quella chiave. Solamente il destinatario potrà decifrare il messaggio attraverso la chiave privata corrispondente di cui è in possesso.

 

Esempio

 

 

1.2.2 - Firma elettronica e Integrità dei documenti

La firma elettronica di un documento si basa su un processo speculare a quello della cifratura: se qualcosa è stato cifrato con una chiave privata, solo la chiave pubblica corrispondente potrà effettuare la corretta decodifica.

 

In linea di principio, per verificare la firma elettronica apposta ad un documento sarà sufficiente procurarsi la chiave pubblica della persona che ha firmato quel documento, e verificare che la firma sia stata effettuata usando la chiave privata corrispondente. Questo ci garantisce che chi ha firmato il documento è in possesso della chiave privata corrispondente alla chiave pubblica intestata ad una certa persona, e cioè con ragionevole certezza che egli è proprio la persona che ci aspettiamo.

 

Esempio

 

La firma elettronica di un documento, oltre ad accertare la provenienza del documento fornisce anche delle informazioni sulla integrità del contenuto. Per capire meglio come questo sia possibile analizzeremo più nel dettaglio il funzionamento del processo di firma.

Impronta digitale di un documento

Partendo da un qualunque documento elettronico è possibile tramite opportune funzioni ricavare una stringa che è detta impronta digitale del documento. Questa impronta è dunque una stringa molto più breve del documento, ed unica per ogni documento; ossia documenti diversi hanno impronte diverse.

Le funzioni che calcolano le impronte dei documenti elettronici sono dette funzioni di hash. Le particolari funzioni di hash che si usano nel campo della crittografia hanno le seguenti proprietà:

· Il documento di partenza può avere qualunque lunghezza

· La stringa rappresentante l’impronta del documento ha lunghezza fissa

· L’impronta è semplice da calcolare

· L’impronta di un documento è unica e nessun altro documento ha quella stessa impronta

· Non è possibile risalire dall’impronta al messaggio originale

 

Il processo di firma

Supponiamo di voler firmare un documento, e che per il momento non ci interessi di nasconderne il contenuto. Lo schema di firma elettronica procederà così:

1) Si calcola l’impronta del documento

2) Si cifra l’impronta, molto più breve del documento, con la propria chiave privata

3) Si invia il documento insieme al risultato dell’operazione precedente.

 

In fase di verifica

1) Si calcola l’impronta del documento

2) Si decifra la “firma” allegata al documento con la chiave pubblica di colui che ha firmato

3) Si ottiene così l’impronta del documento firmata dal mittente

4) Si confrontano l’impronta calcolata e quella decifrata: se sono uguali avremo la certezza che il messaggio inviato è lo stesso, non è stato alterato, il mittente è il titolare della chiave pubblica che abbiamo usato per la verifica

 

Verifica dell’integrità dei documenti

Il meccanismo di firma così implementato dunque di verificare l’integrità del messaggio firmato. Se il documento viene modificato, la firma apposta al documento non corrisponde più: infatti il nuovo documento avrà un’impronta diversa dal precedente; quando il destinarlo confronterà l’impronta da lui calcolata, con quella cifrata ed allegata vedrà che non c’è più corrispondenza e dunque il documento ha subito delle alterazioni.

 

 

1.3 - Quale sistema di crittografia usare

E’ evidente che per i nostri scopi dovremo servirci delle tecniche di crittografia a chiave pubblica, essendo quelle a chiave segreta impraticabili in questo contesto.

Il principale svantaggio delle crittografia a chiave pubblica nei confronti di quella a chiave segreta è il maggior carico computazionale che essa richiede. Questo significa che, a parità di potenza elaborativi, i sistemi a chiave pubblica sono più lenti, ed anche che in un sistema di trasmissione cifrata i sistemi a chiave segreta consentono throughput più elevati.

 

Per questi motivi vengono spesso implementati dei sistemi ibridi, che combinano i vantaggi di entrambe le soluzioni: la semplicità e i servizi dei sistemi a chiave pubblica, e la velocità dei sistemi a chiave segreta.