Antonio Ruggiero

 

(Consulente Informatico e Telematico)

Chi traccia nuove piste accumula

tesori di conoscenza

(Anonimo)

Ruggiero Antonio - Ditta Individuale - CCIAA di Salerno - REA 368200 - Partita IVA: 04454980659

Via Casa Sasso, 7 - Loc. Vescovado - 84014 Nocera Inferiore - Salerno - Italia

Email: antrug@gmail.com - Email PEC: antonioruggiero@gigapec.it - Telefono 3473636294 - Fax 08119309811 - Skype: antonio_ruggiero

> Home Page

> Attività

> Curriculum

> Corsi a Domicilio

> Firma Digitale

 

 

Rapporto di Ricerca sulla Firma Digitale

a cura di Antonio Ruggiero e Rosanna De Rosa

 

Progetto "Telelavoro e sviluppo locale" - Comune di Napoli - 1998-1999

"Il documento elettronico e la firma digitale nella Pubblica Amministrazione"

Capitolo 2 - Crittografia, Chiavi asimmetriche e Certificazione

2.1.1 I sistemi di crittografia asimmetrica, lo standard PGP

I sistemi di crittografia che si basano su algoritmi simmetrici, o a chiave segreta, pur essendo dei veloci e sicuri sistemi di crittografia, non si sono rivelati di comoda applicazione per la trasmissione di messaggi per via telematica, in quanto, essendo il mezzo telematico estremamente insicuro in fatto di riservatezza dei messaggi trasmessi, questo sistema presenta il problema di dover comunicare, almeno una volta, al proprio interlocutore la chiave, di codifica e decodifica, con un sistema tradizionale, diverso da quello telematico (ad esempio: incontrarsi di persona). Questo sistema di crittografia viene anche detto convenzionale, in quanto prevede una convenzione, appunto, tra due interlocutori prima che questi possano comunicare in modo riservato e sicuro per via telematica.

Il sistema di crittografia a doppia chiave (asimmetrico), anche se meno veloce di un sistema a singola chiave segreta, non presenta gli svantaggi di quest'ultimo. Per i motivi che diremo questo sistema di crittografia ha trovato, nelle comunicazioni telematiche, ampie applicazioni ed ulteriori ne troverà in futuro.

Il sistema di crittografia a doppia chiave permette di rendere pubblica la chiave di codifica, senza compromettere in alcun modo la riservatezza della comunicazione, cosicché chiunque può essere in grado di codificare i messaggi diretti al titolare di quella chiave pubblica, ma solo quest'ultimo, che conosce la corrispondente chiave privata (o segreta) può decodificare, e quindi leggere, il messaggio.

Un altro vantaggio della crittografia a doppia chiave è quello di permettere di autenticare il mittente del messaggio stesso. Cioè permette all'estensore di firmare il messaggio ed al destinatario di avere la certezza della provenienza e quindi della paternità di quel messaggio.

Dopo una battaglia combattuta presso l'Internet Engineering Task Force (IETF), l'Ente responsabile della definizione di nuovi standard su Internet, lo standard S/MIME proposto dalla RSA Data Security è stato respinto. Quello, invece, che è alla base del software di criptazione asimmetrica PGP (Pretty Good Privacy) e proposto dalla Casa che ha il suo nome (RSA) è diventato lo standard ufficiale.

PGP è un software ideato e prodotto da Philip Zimmermann che viene distribuito gratuitamente attraverso la Rete, ed i cui sorgenti sono accessibili a chiunque. E' disponibile per ambienti DOS, Windows, UNIX, MAC, etc., sul sito web di PGP International: Le leggi statunitensi non permettono ancora che lo si possa prelevare direttamente dal sito della PGP: www.pgp.com (per ora è possibile solo agli utenti statunitensi e Canadesi).

Attualmente il software più utilizzato, nel mondo (ed anche in Italia), per codificare i messaggi che devono essere trasmessi per via telematica, è, appunto, il PGP. Esso utilizza una intera collezione di algoritmi sia simmetrici che asimmetrici, tra i più sicuri ed internazionalmente conosciuti nel campo della crittografia. In effetti PGP è una sintesi dei vantaggi offerti dalla crittografia a doppia chiave (sicurezza) e dalla crittografia convenzionale o a chiave singola (velocità).

Come già detto, il codice sorgente della crittografia utilizzata da PGP è di libero accesso, il che assicura un controllo ed una revisione continua da parte del pubblico. Senza scendere troppo in dettagli tecnici esporremo molto sinteticamente i processi messi in atto da PGP.

Supponiamo di dover codificare e firmare un messaggio, la sequenza delle operazioni è la seguente:

a) PGP applica l'algoritmo di hashing MD5 al messaggio, che genera un hash, cioè una stringa di caratteri esadecimali pari a 128 bit che viene attaccato in coda al messaggio stesso. Questa operazione ha essenzialmente lo scopo di garantire l'integrità del messaggio;

b) PGP applica l'algoritmo di compressione ZIP per comprimere il messaggio, hash compreso;
c)PGP applica al messaggio ZIPpato un algoritmo di generazione di numeri casuali per generare una sequenza di 128 bit casuali;

d) PGP applica l'algoritmo di crittografia convenzionale (simmetrico) IDEA per codificare il messaggio compresso ottenuto in b), usando come chiave la sequenza di 128 bit casuali ottenuta in c);

e) PGP applica l'algoritmo di crittografia a doppia chiave (asimmetrico) RSA per codificare la sequenza di 128 bit casuali ottenuta in c) utilizzando come chiavi: la chiave pubblica del destinatario del messaggio per la cifratura; la chiave privata del mittente per firmare il messaggio; il risultato viene attaccato al messaggio codificato ottenuto in d);

f) PGP applica l'algoritmo di ASCII Armor Radix-64 per trasformare il messaggio ottenuto in e) in modo che esso contenga solo caratteri ASCII bassi, cioè da 0 a 127 bit. Quest'ultimo operazione è necessaria in quanto alcuni sistemi operativi utilizzati su computers di Rete (es. UNIX) non riconoscono la parte alta del codice ASCII.

Il messaggio ottenuto in f) è quello finale, che può essere trasmesso, in modo assolutamente sicuro via e-mail. Il destinatario effettuerà, sempre utilizzando PGP, tutta la sequenza in senso inverso per trasformare in chiaro il messaggio ricevuto.

Detto così, il modo di operare di PGP può sembrare ostico e farraginoso al grande pubblico, ma tutte le operazioni descritte sopra vengono eseguite in modo del tutto "trasparente" all'Utente. Quasi tutti i produttori di programmi client di posta elettronica (mailer) hanno integrato le funzioni di PGP all'interno dei loro prodotti, quindi all'Utente basta un semplice "click" su un pulsante per decidere se il messaggio che sta per spedire deve essere:

a) solo cifrato: ovvero codificato con la chiave pubblica del destinatario, il quale, però, potrà solo decifrare il messaggio ma non sarà sicuro della paternità del messaggio.

b) firmato e cifrato: ovvero il messaggio viene prima codificato con la chiave pubblica del destinatario e poi firmato, cioè cifrato con la chiave segreta del mittente. In questo caso il destinatario potrà decifrare il messaggio e verificarne anche la paternità.

c) solo firmato: ovvero il messaggio non viene codificato, resta quindi in chiaro e leggibile da chiunque, ma viene firmato, cioè cifrato con la chiave segreta del mittente. Il destinatario riceverà il messaggio in chiaro (non dovrà quindi decodificarlo) e potrà verificarne la paternità.

<<< Paragrafo precedente                                                           Paragrafo successivo >>>