vai a portalino


CRITTOGRAFIA

La crittografia permette la totale segretezza, di qualsiasi tipo di dato che viaggi attraverso le reti pubbliche. Esistono due grandi campi d'azione in cui si può applicare la crittografia : i messaggi elettronici e la cosiddetta firma elettronica. Ognuna di queste aree d'utilizzo, deve sottostare a dei particolari requisiti:

Oltre a ciò, tutti i meccanismi che vengono usati in questi concetti dell'ambiente digitale, devono mostrare caratteristiche di utilizzo facile ed efficiente, per renderli disponibili anche agli utenti meno esperti.


TECNOLOGIE CRITTOGRAFICHE

I metodi per crittare un messaggio si dividono in due grandi famiglie: la tecnologia a chiave simmetrica o segreta e quella a chiave asimmetrica o a doppia chiave.

La crittazione dei messaggi è vecchia quanto il genere umano ma, solamente con la moderna tecnologia informatica, si è arrivati a scoprire metodi di crittazione con un'elevata sicurezza intrinseca. Il grande salto di qualità è stato compiuto con la tecnica crittografica a doppia chiave la quale è indubbiamente molto più sicura della tecnica simmetrica e offre molti vantaggi nella autenticazione del documento in arrivo.

Con il sistema a chiave simmetrica, un messaggio è crittato e decrittato usando la stessa chiave; questa deve essere conosciuta sia dal mittente che dal ricevente. La chiave passa dall'uno all'altro, attraverso una transazione separata, ma il sistema è vulnerabile perchè essa può venir rubata nel momento in cui attraversa la rete.

Il sistema a chiave pubblica invece, usa chiavi separate per crittare e decrittare il messaggio. Niente al di fuori del messaggio deve passare da una persona all'altra perché si abbia una transazione sicura.

Ogni persona coinvolta in questo tipo di transazione, ha bisogno di una Key Pair (coppia di chiavi). Una Key Pair consiste in due chiavi, con una relazione particolare fra di loro; ciò permette ad una, di crittare un messaggio che l'altra può decrittare. Una di queste chiavi può essere divulgata mentre l'altra deve rimanere strettamente privata: nessuna persona estranea deve conoscerla.

Un messaggio cifrato, con una chiave pubblica personale, non può essere decrittato con la stessa chiave; la funzione usata per crittare il messaggio è una funzione a senso unico e non può essere resa reversibile. In questo modo, solo la persona che ha la chiave privata corrispondente a quella pubblica, può decifrare il messaggio e leggerlo. Le chiavi private possono essere tenute nel disco fisso del PC, protette da una password, oppure possono essere disponibili, attraverso speciali lettori connessi al computer.

La crittografia viene utilizzata in ambito commerciale per raggiungere tre obiettivi principali:

Tutti questi metodi crittografici ad alta tecnologia, possono essere usati con i più diversi protocolli di trasmissione come il PEM o il PGP per E-Mail o i protocolli dei server WEB SSL e S-HTTP.

La possibilità della firma digitale per il cliente e per l'azienda, è considerata dall'ambiente del commercio elettronico, come una condizione indispensabile per l'effettivo decollo dei negozi virtuali. La firma digitale è necessaria per arrivare all'identificazione del cliente, per essere sicuri che l'azienda, facendo affari su Internet, conosca precisamente chi si trova all'altro capo del filo. In passato, molti negozi virtuali del WEB hanno trattato i loro affari senza sapere con precisione chi stava al terminale; il numero della carta di credito era per loro sufficiente. Le banche, tuttavia, vogliono un software crittografico che comprenda la firma digitale.

Con l'avvento della crittografia a chiave pubblica, la necessità di scambiare informazioni attraverso la posta elettronica diventa più sicura, ma anche più difficile da conseguire. Un'azienda che voglia mettersi in contatto con un cliente utilizzatore del metodo a doppia chiave, incontrerà difficoltà ad entrare in possesso della chiave pubblica dello stesso. Le regole non scritte del galateo informatico infatti, vietano di spedire ad un estraneo richieste di informazioni a scopo pubblicitario.

La creazione di una directory ad accesso libero via Internet, di tutte le chiavi pubbliche aggiornata in maniera puntuale, potrebbe risolvere questi problemi di comunicazione. L'azienda che voglia mettersi in contatto con qualche estraneo, non farebbe altro che scaricarsi sul proprio terminale la chiave pubblica corrispondente e tentare di instaurare un nuovo rapporto d'affari.


FIRMA E MESSAGGI DIGITALI

Un messaggio digitale, può essere creato dal mittente, attraverso la crittazione del messaggio; i dati con questo sistema viaggiano attraverso la rete in maniera del tutto sicura. Il ricevente poi potrà decrittarlo con la chiave che solo lui conosce. Questo processo soddisfa i requisiti di sicurezza, visti nel precedente capitolo, ma implica l'approntamento di alcune misure di sicurezza, per fornire un canale distributivo adeguato alla trasmissione delle chiavi segrete; un processo che deve avere, anche, un alto grado di efficienza.

Una firma digitale invece, può essere fatta dal mittente, attraverso la preparazione di un argomento crittografico di un messaggio. La spedizione assieme ai dati, avverrà in modo che il ricevente possa controllarne la provenienza. Quando l'argomento viene verificato e trovato simile al messaggio l'integrità dello stesso è sicura.

Se la chiave crittografica, usata per generare la firma, è conosciuta unicamente dal proprietario, come potrà il gruppo di persone che lavora con lui verificarne l'autenticità, e come potrà usare le chiavi crittografiche, senza perdere la necessaria sicurezza contro le contraffazioni?

Questa è una domanda, a cui la moderna tecnologia, ha dato una risposta sicura e molto efficiente, con le tecniche crittografiche asimmetriche o a doppia chiave. Una chiave rimane privata, mentre l'altra, essendo pubblica, può essere usata per verificare l'autenticità del messaggio elettronico.

L'azienda leader nel mondo in questo settore è la RSA, la quale ha sviluppato questa tecnica il cui sistema di trattamento è molto semplice. Tutte le chiavi pubbliche, possono essere rese disponibili su un file del sistema, mentre le chiavi private devono essere tenute al sicuro dai loro proprietari. Le chiavi non devono essere mai rinnovate, vista la complessità delle stesse che sono praticamente inattaccabili da qualsiasi elaboratore.

Il sistema a doppia chiave possiede alcuni punti deboli che devono essere risolti per evitare lo stallo del sistema trasmissivo. Un problema molto grave è la necessaria protezione contro le contraffazioni che possono avvenire nella fase di trasmissione delle chiavi pubbliche: un pirata elettronico infatti, potrebbe sostituire la chiave pubblica di un utente, intercettandola e sostituendola nel momento in cui il proprietario la spedisce alla directory pubblica. Avendo la chiave pubblica per decrittare i messaggi spediti al legittimo proprietario, il criminale potrà leggere tutti i messaggi spediti a questa persona. Potrà in questa maniera leggerli e spedirli alla legittima proprietaria usando la chiave pubblica originaria fugando ogni dubbio sulla sicurezza trasmissiva della rete. Ovviamente tutto questo potrebbe essere bloccato nel caso in cui tutti gli utenti controllassero la coincidenza fra la chiave pubblica messa in rete e quella in loro possesso. La soluzione a questo problema è la creazione di un organo di controllo sulle chiavi pubbliche che verificherà la spedizione delle stesse, obbligando i mittenti ad accompagnarle con una firma digitale creata con la chiave pubblica dell'autorità di controllo. Ogni coppia di chiave, con questo metodo, viene inserita nella directory pubblica insieme ad una speciale certificazione che è impossibile da contraffare.

Quando una chiave pubblica è usata da un utente essa è recuperata dalla directory pubblica insieme al suo certificato che contiene la firma elettronica del possessore ; ogni utente può verificare, in questa maniera, la provenienza della chiave.

Il processo di crittazione e decrittazione, attraverso questi metodi a chiave asimmetrica, ha però un difetto piuttosto evidente: non è adatto alla spedizione di messaggi molto lunghi. Tutti e due i processi infatti sono piuttosto lenti perché impegnano notevolmente la potenza matematica del microprocessore; proprio per questo motivo, molti usano le chiavi simmetriche quando devono spedire documenti particolarmente lunghi. Le chiavi segrete, per cifrare i messaggi, vengono generate con un processo casuale che mantiene un elevato grado di sicurezza. La singola chiave viene cambiata ad ogni spedizione.


ESEMPI DI TECNICHE A CHIAVE SIMMETRICA

Data la natura tecnica dell'argomento, si è pensato di entrare in profondità solamente con i metodi a chiave simmetrica che sono più semplici da capire e possono dare un'idea abbastanza chiara della complessità e del grado di sicurezza associato a questa tecnica.

Nella crittografia a chiave simmetrica, i dati che vengono usati per la chiave di crittazione sono gli stessi che servono per costruire quella di decrittazione.

Ci sono due categorie principali di algoritmi che lavorano con questo metodo: Block e Stream Ciphers. Come lo stesso nome suggerisce, il primo tratta i dati a blocchi, il secondo manipola i dati unità per unità(dove un'unità è generalmente un bit o un byte).

BLOCK CIPHERS

La tecnica a blocchi si divide in due metodi di lavoro: Electronic Code Book (ECB) e Cipher Block Chaining (CBC). Il primo critta ogni blocco del messaggio indipendentemente dagli altri blocchi; il testo cifrato del blocco in chiaro, sarà sempre lo stesso. Il secondo invece altera ogni blocco dell'input, con il precedente blocco dell'output prima della crittazione; in questa maniera cifrare lo stesso blocco in chiaro per due volte consecutive non produce mai lo stesso risultato.

Questo metodo richiede la presenza di un vettore di inizializzazione per alterare il primo blocco di dati. Generalmente questa alterazione è una operazione XOR.

Per cominciare il processo inverso (decrittazione), è necessario l'uso del vettore usato nel processo precedente. Il vettore in questione non ha un significato crittografico, esso altera solamente il primo blocco prima del processo, quindi, non c'è bisogno che sia segreto e può essere scelto con un processo casuale, cosicchè il primo blocco non può venir calcolato.

Questo metodo viene catalogato come un "Feedback mode" perché la crittazione viene alimentata dal blocco precedente. Esso ritorna in questa maniera all'interno del processo usato per gli altri blocchi.

Esistono parecchi standard che usano il metodo a blocchi, nel seguito ne presenteremo qualcuno:

STREAM CIPHERS

Un processo Stream Ciphers manipola i dati di input, un'unità alla volta. Un'unità è generalmente un byte o qualche volta un bit; con questo metodo, la lunghezza del messaggio non è importante come per il precedente. L'algoritmo non deve aspettare che la lunghezza dei dati sia quella giusta, prima di cominciare il suo lavoro, e nemmeno deve crittare bytes extra. Nel seguito descriveremo alcuni standard maggiormente usati.