Due barriere per difendere il Pc

In un mondo digitale e sempre più "in rete" le minacce alla sicurezza dei personal computer aumentano ogni giorno. Password robuste e i software di crittografia sono strumenti essenziali per difendere i dati dai potenziali aggressori

di
Maurizio Bergami

Una volta la parola sicurezza evocava muri di cinta invalicabili, porte blindate e guardie armate ai varchi. Ora che viviamo in un mondo interconnesso, dove le informazioni sono sempre più in formato digitale e viaggiano in rete, la sicurezza "logica" gioca probabilmente un ruolo addirittura più importante di quella fisica. Una cosa da sottolineare subito è che la sicurezza al 100 per cento è semplicemente irraggiungibile, proprio come nel mondo reale: anche i guidatori più prudenti possono essere coinvolti in un incidente, causato da altri o da un loro attimo di distrazione.

Come afferma il professor Eugene Spafford, uno dei principali esperti mondiali di sicurezza informatica, "L'unico computer davvero sicuro è un computer spento, chiuso in un blocco di cemento e sigillato in una stanza con le pareti schermate in piombo e guardie armate alla porta. E anche in questo caso ho i miei dubbi…".

Al di là delle battute, ci sono comunque molte cose che si possono fare per essere ragionevolmente protetti quando si usa un Pc. In questo speciale vedremo dunque quali sono le prime precauzioni da prendere; in particolare come difendere il proprio computer tramite il controllo degli accessi e la crittografia.

 

1 La prima difesa contro gli intrusi

2 Sindrome da password? Niente panico

3 I dispositivi biometrici: quando la password è il corpo

4 Da Cesare ai nazisti: storia della crittografia

5 Pretty Good Privacy: la crittografia per tutti

 

1 La prima difesa contro gli intrusi

Per proteggere un sistema il primo passo è naturalmente quello di consentire l'accesso solo alle persone autorizzate. Non stiamo parlando solo di accesso logico: la sicurezza fisica non ha ancora perso di importanza

Tutti i portatili moderni possono essere protetti tramite un meccanismo detto Kensington Lock. Se qualcuno entra in casa e vi ruba il computer, oltre al mero danno economico legato al valore dell'oggetto dovrete fare i conti con il rischio che il ladro possa leggere e sfruttare tutti i dati riservati presenti sul vostro Pc. Il problema è particolarmente sentito nel caso dei portatili, data la facilità con cui possono essere sottratti. Fortunatamente possono essere protetti con una certa facilità: tutti i portatili moderni dispongono di una minuscola feritoia in cui si può inserire un dispositivo a lucchetto collegato a un cavo di acciaio che consente di fissare solidamente il portatile a un oggetto inamovibile. Questo utile dispositivo, chiamato comunemente Kensington Lock dal nome del primo produttore, è facilmente reperibile nei negozi di informatica e costa poche decine di migliaia di lire: un investimento irrilevante se paragonato al costo del laptop. Meccanismi analoghi esistono anche per la protezione dei desktop.

- Per proteggere un laptop quando si è lontani dalla propria scrivania esistono poi dei veri e propri antifurti elettronici in miniatura, come il Defcon prodotto da Targus (www.targus.com), una società specializzata in accessori per portatili. Sono piccoli apparecchi che incorporano un sensore di movimento ed emettono un potente segnale di allarme se il laptop viene spostato. La versione più recente, Defcon 3, è grande poco più di una scatola di fiammiferi è può essere attivata e disattivata tramite un telecomando in dotazione.

L'utility BootSentry permette di proteggere con una password la fase di avvio di Windows 95 e 98.

- Veniamo ora al controllo dell'accesso al sistema operativo. In questo caso chi usa Windows NT o 2000 è significativamente avvantaggiato: purtroppo la sicurezza offerta da Windows 9x è di fatto pari a zero: anche se avete impostato una password, basta premere il tasto Esc per avere comunque accesso all'intero contenuto del disco rigido. In questo caso si può però ricorrere a un tool di terze parti, in grado di offrire una migliore protezione, ad esempio il programma BootSentry.

Windows NT o 2000 sono molto più robusti di Windows 9x per quanto riguarda il controllo dell'accesso, e in questo caso la protezione tramite password funziona a dovere: se i permessi su file e directory sono stati impostati in modo corretto, un utente collegato con un altro account non riuscirà a vedere i vostri dati. Tenete comunque presente che anche per NT e 2000 esistono tool che consentono di avviare il sistema da dischetto e di accedere ai file, anche se vanno acquistati appositamente.

Il file system di Windows 2000 permette di cifrare (e decifrare) automaticamente e in tempo reale il contenuto di una cartella. In questo caso Windows 2000 offre un vantaggio in più, dato che il file system di questo sistema operativo permette di cifrare automaticamente tutti i file contenuti in una cartella. Per attivare questa funzione basta fare clic sul pulsante Avanzate nella finestra delle proprietà della cartella stessa e fare nuovamente clic sulla casella "Crittografa contenuto per la sicurezza dei dati". Le operazioni di cifratura e decifratura successive avverranno in tempo reale e saranno del tutto trasparenti.

- Anche se il meccanismo di protezione tramite password di Windows NT e 2000 è robusto, a differenza di quello presente in Windows 9x, non può fare molto se la parola chiave è banale e quindi viene può essere indovinata da chiunque.


Sicurezza in sette mosse

    * Attivate la password del Bios; non è certo una protezione insuperabile, ma rallenta i tentativi di accesso non autorizzato.

    * Attivate la password sullo screen saver, eviterete che qualcuno riesca a utilizzare il vostro computer quando lo lasciate incustodito.

    * Disabilitate il boot da floppy intervenendo sulle impostazioni dei Bios. È utile anche come protezione contro i virus di boot e previene l'avvio con utility capaci di leggere il disco (esistono anche per il file system di Windows NT e 2000).

    * Proteggete il disco di emergenza di NT: contiene un database da cui si possono estrarre le password del computer.

    * Disabilitate l'autorun del Cd: l'autorun parte anche quando è attivato lo screen saver protetto da password, e può essere usato per impiantare sul Pc un programma dannoso.

    * Se siete collegati a una rete locale, tenete sotto controllo le condivisioni di file e cartelle. Se usate le funzioni di rete paritetica presenti in Windows 9x ricordatevi di impostare sempre una password per proteggere la condivisione.

    * Se usate NT o Windows 2000, scegliete come file system Ntfs e non la Fat. Il livello di protezione offerto dalla Fat è pressoché nullo mentre Ntfs permette di proteggere efficacemente cartelle e file. Il file di system di Windows 2000 incorpora poi funzioni di cifratura in tempo reale: approfittatene per proteggere senza fatica i vostri dati riservati.

 

2 Sindrome da password? Niente panico

Fortunatamente esistono alcuni trucchi per riuscire a impostare parole chiave "robuste", ovvero praticamente impossibili sia da indovinare sia da forzare con un attacco a forza bruta (un attacco, cioè, basato semplicemente sull'analisi di tutte le combinazioni possibili)

Una password per accedere al computer, una per la posta elettronica, una per l'home banking, una per cifrare i documenti… e non proviamo nemmeno a contare quelle per gli innumerevoli e utilissimi servizi Internet, dalle agenzie di aste on-line ai siti di aste, che richiedono anch'essi una parola chiave per l'accesso.

- Insomma, stiamo annegando nelle password. Ma le password hanno un grave difetto: per risultare davvero efficaci devono essere complicate, e quindi risultano difficili da ricordare. E, naturalmente, dovrebbero essere tutte diverse. La conseguenza? Per non rischiare di scordarle si finisce per usare password banali e spesso facili da indovinare in pochi tentativi. Magari la propria data di nascita o il nome del coniuge. Ancora peggio, c'è chi le annota dove chiunque può sbirciare: alzi la mano chi non ha mai visto, entrando in un ufficio, il classico fogliettino giallo sul lato di qualche monitor con appuntate una o più password...

- Fortunatamente esistono alcuni trucchi per riuscire a impostare parole chiave "robuste", ovvero praticamente impossibili sia da indovinare sia da forzare con un attacco a forza bruta (un attacco, cioè, basato semplicemente sull'analisi di tutte le combinazioni possibili). In alcuni casi ci si può affidare alla tecnologia: esistono infatti programmi ai quali si può delegare il compito di tenere traccia di tutte le proprie password. Si tratta a tutti gli effetti di piccoli database specializzati nella memorizzazione delle password, spesso dotati di funzioni che aiutano a generare parole chiave complicate. In questo caso la complicazione non è più un problema, dato che è il programma stesso a farsi carico di ricordarle (e normalmente anche di aiutare l'utente a inserirle quando vengono richieste da un applicativo). Com'è ovvio, questi tool sono a loro volta protetti da una parola chiave che dovrà essere piuttosto robusta; però è unica, quindi si può concentrare su di essa i propri sforzi di memorizzazione. Uno dei migliori programmi di questa categoria è Password Safe per Windows 9x, creato dal celebre crittologo Bruce Schneier, che potrete scaricare facilmente da Internet. Per localizzare un sito di download basta una ricerca con Google o un motore similare; la versione più recente è la 1.7.1. Un'alternativa è Critical Mass, di cui abbiamo parlato sul numero di Aprile di PC Professionale, nella rubrica Sicurezza.

Vediamo ora qualche semplice regola per scegliere e proteggere una password:

* usate almeno sette caratteri

* usate una combinazione di caratteri alfabetici e numerici (meglio ancora, inserite almeno un segno di interpunzione o un carattere speciale)

* sostituite alle lettere standard numeri o simboli che le ricordino (ad esempio usate 5 o $ al posto di S, 1 al posto di L e così via)

* non usate mai il vostro nome, in qualunque forma, o quello del consorte, di un figlio, di un animale domestico e così via

Una password robusta può essere generata usando le iniziali delle parole di qualche brano di testo che già conoscete a memoria; ad esempio, dal celebre inizio della Divina Commedia:

"Nel mezzo del cammin di nostra vita", potremmo ottenere la password: "nmdcdnv".

Per migliorarla ulteriormente possiamo inserire dopo i primi quattro caratteri un carattere speciale, ad esempio la chiocciola.

nmdc@dnv

È naturalmente solo un esempio: con un po' di immaginazione potrete trovare mille altri metodi analoghi; la cosa importante da notare è che una password di questo tipo, pur essendo ragionevolmente facile da memorizzare, resiste bene anche agli attacchi condotti con il metodo della forza bruta (ovvero basati sulla prova di tutte le combinazioni possibili).

 

3 I dispositivi biometrici: quando la password è il corpo

Le parole chiave hanno un grave difetto: sono difficili da ricordare e da gestire. Fortunatamente potrebbero avere i giorni contati

Tra non molto per ritirare denaro contante da un Bancomat oppure per collegarci al computer dell'ufficio potremmo non aver più bisogno di inserire complicate sequenze di caratteri: basterà pronunciare una frase, appoggiare un dito su un sensore, oppure farci inquadrare da una telecamera.

- Fantasie da film di James Bond? Tutt'altro. Già oggi alcune banche (come la Bank United negli Usa o Nationwide in Gran Bretagna) hanno installato dei bancomat che impiegano un sistema del tutto automatico di identificazione basato sul riconoscimento dell'iride, ovvero la porzione colorata dell'occhio. Ogni essere umano possiede caratteristiche fisiche del tutto uniche. Questa non è una novità: da oltre un secolo, ad esempio, il sistema di classificazione delle impronte digitali messo a punto dallo scienziato inglese Francis Galton viene usato con successo nella lotta alla criminalità. Ma le impronte digitali non sono l'unico tratto distintivo del nostro corpo: la voce, il palmo della mano, l'iride, la retina o l'aspetto del volto sono altre aree misurabili che possono svolgere un ruolo analogo.

- I dispositivi che misurano le caratteristiche di un corpo umano e le usano per consentire l'identificazione di una persona sono detti biometrici. I sistemi biometrici esistono ormai da diversi anni, ma è solo da poco tempo che se ne possono reperire modelli sufficientemente economici da poter essere impiegati al di fuori degli ambienti militari o governativi. Rispetto alle tradizionali password gli apparati biometrici offrono un livello di sicurezza notevolmente superiore, dato che permettono di accertare l'identità di un individuo e non soltanto la conoscenza di un determinato codice. Ma i vantaggi non si fermano qui. In molti casi, la loro comodità d'uso è altrettanto importante. Con un sistema biometrico, invece, non ci sono codici da ricordare: il sistema è automatico e la procedura d'accesso non provoca alcun fastidio.

- I campi di applicazione dei sistemi biometrici sono infiniti, e non solo in ufficio. Installare sul Pc di casa un sistema di riconoscimento permetterebbe ad esempio di caricare impostazioni personalizzate per ogni membro della famiglia all'accensione del computer, in modo che i figli non possano vedere o cancellare per sbaglio i dati dei genitori oppure visitare siti inadatti durante la navigazione sul Web. Tutte cose già possibili usando le parole chiave, ma chi può garantire che un adolescente non riesca a scoprire la password del papà o della mamma?

- Tutti i sistemi biometrici prevedono una fase iniziale di registrazione durante la quale vengono analizzate le caratteristiche fisiche degli utenti, in modo da generare e memorizzare per ognuno di essi un codice che verrà poi confrontato con quello ottenuto al momento del tentativo di accesso. I dispositivi oggi più comuni sono quelli di riconoscimento dell'impronta digitale, che utilizzano un minuscolo scanner per analizzare l'intricata trama di rilievi presente su un polpastrello. Le proprietà prese in considerazione sono molte: non solo la posizione dei rilievi ma anche la loro curvatura, i punti di biforcazione, lo spazio tra un rilievo e l'altro e così via. Per evitare che un taglio o una scottatura impediscano l'identificazione è sempre possibile memorizzare la mappa di più polpastrelli. Sul mercato sono reperibili sistemi di analisi dell'impronta digitale che costano intorno alle 200.000 lire, come il Compaq Fingerprint Identification Technology (www.compaq.it) per porta parallela o il MagicSecure di Eutron (www.eutron.it) disponibile anche per porta Usb come prodotto separato oppure integrato in un mouse.

- Anche i dispositivi di riconoscimento che si basano sull'esame del tono di voce e delle relative inflessioni per creare una vera e propria impronta vocale sono abbastanza diffusi. Per funzionare non richiedono sensori particolari ma solo il microfono ormai in dotazione alla maggioranza dei Pc quindi sono ancora più economici. Il loro difetto? Un mal di gola o un raffreddore possono distorcere la voce fino a rendere impossibile il riconoscimento. Per motivi come questi i sistemi biometrici prevedono quasi sempre anche la possibilità di accesso via password o, meglio ancora, tramite una serie di domande delle quali solo l'utente autorizzato può conoscere la risposta.

- Vi sono poi i software di riconoscimento del volto, che utilizzano una telecamera collegata al computer per memorizzare l'immagine di una faccia da cui estrapolano, con sofisticate tecniche di analisi, alcuni elementi fondamentali: posizione di occhi, naso, bocca e sopracciglia, contorno del viso, curvatura delle ossa e così via. Per evitare che il sistema di controllo possa essere aggirato semplicemente presentando alla telecamera la fotografia di un utente registrato, il software analizza anche i micromovimenti del volto, assicurandosi così che di fronte all'obiettivo vi sia davvero una persona.

- Il massimo della sicurezza oggi è ottenibile con i sistemi di controllo dell'iride, che si basano su una notevole proprietà di questo colorato componente del nostro corpo: la presenza di un numero di caratteristiche misurabili molto elevato, di gran lunga superiore a quello di un'impronta digitale. Per ricavare un'impronta oculare si registra con una telecamera l'immagine dell'iride, alla quale poi il software di analisi sovrappone una griglia circolare che permette di identificare le aree chiare e quelle scure la cui posizione è diversa da persona a persona. Il costo purtroppo è elevato: la soluzione più economica costa un paio di milioni di lire.

- La protezione definitiva forse arriverà con i dispositivi di analisi del complicatissimo codice genetico contenuto nel Dna. Ma ci vorranno ancora molti anni prima di poterli vedere all'opera in ufficio o a casa.

 

4 Da Cesare ai nazisti: storia della crittografia

La crittografia ha origini antichissime. Come riporta David Kahn nel suo libro "The Codebreakers", la storia più completa della crittografia classica mai pubblicata, il primo esempio di crittografia scritta risale a quasi 6.000 anni fa. Si tratta di un iscrizione egizia in cui furono usati geroglifici non standard

• Crittografia simmetrica

• Crittografia a chiave pubblica

• Firma digitale

Nell'antichità si possono trovare innumerevoli altri esempi di tecniche crittografiche impiegate per la protezione di segreti (soprattutto militari), quello più famoso è sicuramente il cosiddetto cifrario di Cesare. Per comunicare con i suoi generali, Giulio Cesare sostituiva a ogni lettera del messaggio un'altra lettera più avanti nell'alfabeto di un certo numero di posizioni. Supponiamo ad esempio che il numero di posizioni sia 3: in questo caso una A diventerà una D, una B diventerà una E e così via.

Provando a cifrare:"PC PROFESSIONALE", con il metodo impiegato da Cesare avremmo come risultato:"SF SURIHVVNRQDOH".

Il metodo è assolutamente elementare, ma in un epoca in cui ben poche persone sapevano leggere poteva bastare. Il cifrario di Cesare ci permette comunque di vedere all'opera gli elementi chiave della crittografia: abbiamo un testo in chiaro da proteggere (PC PROFESSIONALE), un algoritmo di cifratura - cioè il metodo generale con cui si elabora il testo in chiaro, in questo caso la sostituzione di ogni carattere con una lettera successiva - e una chiave, ovvero l'informazione che permette di far funzionare l'algoritmo crittografico. In questo caso la chiave è 3: il numero di posizioni di cui deve scorrere ciascuna lettera del testo in chiaro. Il risultato della trasformazione è il testo cifrato (SF SURIHVVNRQDOH).

- Si noti che la stessa chiave usata per cifrare permette anche di decifrare, tramite una trasformazione inversa: la sostituzione di ogni lettera con quella che si trova spostata più indietro nell'alfabeto dello stesso numero di posizioni. Un algoritmo che sfrutta la stessa chiave, sia per cifrare sia per decifrare, è detto simmetrico.

- La debolezza del metodo consiste - tra l'altro - nel fatto che il numero di chiavi possibili è davvero ridotto: dato che l'alfabeto italiano ha 21 caratteri, si possono usare al massimo 20 chiavi. Ammettendo infatti di ricominciare dall'inizio una volta raggiunta la fine dell'alfabeto, con la chiave 21 il testo cifrato sarebbe uguale al testo in chiaro (ogni lettera verrebbe trasformata in se stessa), con 22 si otterrebbe lo stesso risultato fornito dalla chiave 1 e via di questo passo. Insomma, visto il numero limitato delle chiavi, bastano pochi tentativi anche con carta e penna per scoprire quale dei venti numeri possibili è la chiave: una volta identificata quest'ultima, tutto il testo cifrato non presenterà più alcun segreto.

- Vale la pena di sottolineare subito che la robustezza di un sistema crittografico che si rispetti non deve dipendere dalla segretezza dell'algoritmo. Al contrario, è opportuno che l'algoritmo sia noto e sottoposto alla pubblica analisi, in modo che se ne possano scoprire eventuali punti deboli. La sicurezza del sistema deve dipendere unicamente dalla segretezza della chiave. Un principio enunciato da Auguste Kerckhoffs già nel 1883, di cui molti ancora oggi purtroppo si dimenticano. Il semplice cifrario utilizzato da Cesare diede origine a numerose varianti, largamente utilizzate nei secoli successivi, che - pur essendo più complicate da forzare - nel tempo si sono inevitabilmente rivelate inadeguate a offrire una protezione davvero efficace.

- Nel 1466 il grande architetto e letterato Leon Battista Alberti, che era anche un abile crittologo, pubblicò il trattato De Cifris in cui descriveva i principali metodi di cifratura conosciuti all'epoca e introduceva un nuovo cifrario, da lui stesso inventato, che prevedeva la modifica periodica della chiave. Supponiamo ad esempio di riprendere l'esempio fatto sopra (PC PROFESSIONALE) e di usare la chiave 3 solo per la prima parola. Per la parola successiva useremo un'altra chiave, ad esempio 4 (per cui A = E, B = F, C = G eccetera). Il testo cifrato, in questo caso, sarà quindi:

SF TVSLIZZOSREPI

Alberti creò anche un dispositivo di cifratura composto da due dischi sovrapposti, con quello superiore capace di ruotare, che permetteva di sveltire l'operazione di cifratura aiutando a trovare rapidamente le corrispondenze delle varie lettere per una data chiave.

- Era un'intuizione rivoluzionaria, ma l'Alberti non la sviluppò in pieno. Ci riuscì invece, oltre un secolo più tardi, Blaise de Vigenère che definì - a partire delle idee dell'Alberti e dalle successive elaborazioni di altri brillanti crittologi come l'abate Johannes Tritemius - un sistema di codifica così efficace che per molti anni venne definito le "chiffre indéchiffrable", il cifrario indecifrabile. Il sistema di de Vigenère prevedeva l'uso di una tabella contenente tutti gli alfabeti di cifratura (a 26 lettere) possibili:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

BCDEFGHIJKLMNOPQRSTUVWXYZA

CDEFGHIJKLMNOPQRSTUVWXYZAB

DEFGHIJKLMNOPQRSTUVWXYZABC

EFGHIJKLMNOPQRSTUVWXYZABCD

FGHIJKLMNOPQRSTUVWXYZABCDE

GHIJKLMNOPQRSTUVWXYZABCDEF

HIJKLMNOPQRSTUVWXYZABCDEFG

IJKLMNOPQRSTUVWXYZABCDEFGH

JKLMNOPQRSTUVWXYZABCDEFGHI

KLMNOPQRSTUVWXYZABCDEFGHIJ

LMNOPQRSTUVWXYZABCDEFGHIJK

MNOPQRSTUVWXYZABCDEFGHIJKL

NOPQRSTUVWXYZABCDEFGHIJKLM

OPQRSTUVWXYZABCDEFGHIJKLMN

PQRSTUVWXYZABCDEFGHIJKLMNO

QRSTUVWXYZABCDEFGHIJKLMNOP

RSTUVWXYZABCDEFGHIJKLMNOPQ

STUVWXYZABCDEFGHIJKLMNOPQR

TUVWXYZABCDEFGHIJKLMNOPQRS

UVWXYZABCDEFGHIJKLMNOPQRST

VWXYZABCDEFGHIJKLMNOPQRSTU

WXYZABCDEFGHIJKLMNOPQRSTUV

XYZABCDEFGHIJKLMNOPQRSTUVW

YZABCDEFGHIJKLMNOPQRSTUVWX

ZABCDEFGHIJKLMNOPQRSTUVWXY

Vediamo come si può usare questa tabella per cifrare un testo con il metodo di de Vigenère. Per prima cosa si sceglie una parola chiave, ad esempio:

PROF

si identificano le righe della tabella che iniziano con le lettere della parola chiave

PQRSTUVWXYZABCDEFGHIJKLMNO

RSTUVWXYZABCDEFGHIJKLMNOPQ

OPQRSTUVWXYZABCDEFGHIJKLMN

FGHIJKLMNOPQRSTUVWXYZABCDE

Infine si usano questi alfabeti, in un ciclo continuo, per cifrare il testo. Tornando al nostro esempio (PC PROFESSIONALE), alla prima lettera (P) corrisponde nel primo alfabeto cifrante la E; alla seconda nel secondo alfabeto cifrante corrisponde la T; alla terza (P) - nel terzo alfabeto - la C. E via di questo passo. Il risultato è:

ETDWDWSXHZCSPCS

La cosa importante da notare è che alla stessa lettera del testo in chiaro possono corrispondere lettere diverse nel testo cifrato. Alle due S consecutive di PC PROFESSIONALE, ad esempio, corrispondono la X e la H. Questo fatto rende il cifrario inattaccabile alle tecniche di analisi statistica, basate sulla considerazione che in tutte le lingue alcune lettere sono molto più frequenti di altre (in italiano la E ricorre di certo molto più spesso della Q). Ciò permette di provare a "indovinare" delle corrispondenze: basta trovarne alcune per poter comprendere qualche parola che a sua volta permette di identificare altre corrispondenze, come ben sanno gli appassionati di enigmistica.

- La forza di questo cifrario sta anche nel fatto che il numero di chiavi è enorme, quindi gli attacchi basati sulla forza bruta non sono praticabili. Per quasi trecento anni rimase infatti inviolato, ma cadde poi di fronte all'analisi di Friederich Kasiski che in un suo trattato del 1861 illustrò un metodo utilizzabile per attaccare con successo un cifrario polialfabetico con chiave ripetuta (un nome complicato per indicare proprio i cifrari come quello di de Vigenère).

- Gli anni successivi furono caratterizzati dall'arrivo di sofisticati dispositivi meccanici ed elettromeccanici di cifratura, il più famoso dei quali è di sicuro Enigma, un apparecchio utilizzato dall'esercito tedesco durante la seconda guerra mondiale e brillantemente attaccato dal matematico polacco Marin Rejewsky poco prima della caduta della Polonia. Il lavoro di Rejewsky permise a un gruppo di scienziati britannici, tra cui Alan Turing, di decifrare numerosissimi messaggi dell'esercito nemico durante la guerra, un fattore che probabilmente contribuì in modo decisivo alla vittoria finale da parte degli Alleati.

Nel dopoguerra, con l'avvento dell'informatica, iniziarono ad essere sviluppati algoritmi particolarmente adatti ad essere implementati tramite un computer. Il più noto, che è stato uno standard governativo Usa (anche se solo per i documenti non classificati) fino alla fine dello scorso anno, è il Des sviluppato da IBM nel 1970. L'arrivo dei computer consentì di usare chiavi dalle dimensioni davvero enormi, tali da rendere assolutamente impossibile un attacco manuale. Vista la rapida evoluzione in corso in questo settore, bisogna stare però attenti a che cosa si considera "troppo grande".

Il Des, ad esempio, usa una chiave di 56 bit; in altre parole, le chiavi possibili sono 256, una cifra da capogiro (circa 72 milioni di miliardi). Ebbene, nel 1998 è stato costruito un calcolatore - del costo di circa 250.000 dollari - capace di forzare un messaggio Des nell'arco di una sessantina di ore. La cifra in gioco (che in questi tre anni sarà senz'altro scesa di parecchio) non è certo bassa, ma è di sicuro alla portata non solo di un ente governativo, ma anche di innumerevoli società private interessate a scoprire i segreti di un concorrente… Fortunatamente, basta aggiungere un bit per raddoppiare il numero di chiavi possibili, e algoritmi come Aes (il successore di Des, scelto alla fine del 2000) o Idea (usato tra l'altro da Pgp, il più diffuso software di cifratura oggi esistente) hanno chiavi minime di 128 bit, che garantiscono la tranquillità per molti e molti anni.

- Tutti i sistemi di cifratura finora descritti hanno un tratto distintivo che li accomuna: usano la stessa chiave (che sia un numero, una parola o una particolare disposizione di rotori e connessioni come nel caso dell'enigma) sia per cifrare sia per decifrare. Ciò non rappresenta un ostacolo quando i dati non devono andare da nessuna parte, ma se quello che si vuole proteggere invece è una comunicazione, allora il problema di distribuzione delle chiavi può diventare davvero serio, senza contare che durante la distribuzione stessa esiste il rischio che una chiave venga compromessa, cioè arrivi a conoscenza di entità non autorizzate.

- Questo problema fu risolto nel 1975 da Whitfield Diffie e Martin Hellman, la cui invenzione rivoluzionò il mondo della crittografia. Diffie ed Hellman ipotizzarono uno schema di cifratura asimmetrico, basato sull'uso di due chiavi - generate insieme con un processo matematico e indissolubilmente legate - costruite in modo che sia impossibile ricavare l'una dall'altra e viceversa. Una delle due chiavi, detta pubblica, viene usata per cifrare. L'altra chiave, che invece rimane segreta e viene detta privata, viene usata per decifrare. La prima può dunque essere comunicata in anticipo a tutto il mondo senza rischi, dato che permette solo la cifratura ma non l'operazione inversa.

- Il meccanismo ideato da Diffie ed Helmann - chiamato crittografia a chiave pubblica - superava d'un tratto l'intero problema di distribuzione delle chiavi: non era più necessario comunicare nella massima segretezza la chiave prima di poter effettuare una comunicazione sicura. Si noti che con questo schema il mittente deve cifrare il messaggio con la chiave pubblica del destinatario, e non con la propria. L'idea era geniale, ma rimaneva un problema: non c'era la certezza che le funzioni matematiche necessarie per implementare praticamente questo splendido schema concettuale esistessero veramente. Ron Rivest, Adi Shamir e Len Adleman furono i primi a trovare una funzione adatta, e l'algoritmo battezzato con le iniziali dei loro cognomi, RSA, è ancora oggi il più diffuso algoritmo a chiave pubblica in uso.

- È interessante notare che la crittografia a chiave pubblica non si limita a risolvere il problema della segretezza. Immaginate ad esempio di ricevere un messaggio urgente via Internet: un parente che vi chiede di versare subito una certa somma di denaro sul suo conto corrente, di cui acclude i dati. Ammesso che siate disposti a concedergli il prestito, probabilmente vorrete essere sicuri che l'autore del messaggio sia proprio chi dice di essere, e non un truffatore. Non solo: risolto il primo dubbio, vorrete anche la certezza che il messaggio non sia stato modificato in transito. Chi assicura infatti che un malfattore non sia riuscito a intercettarlo, modificandolo in modo da indicare gli estremi del proprio conto corrente? Sono i problemi definiti rispettivamente di autenticazione e di integrità dei dati; entrambi possono essere risolti brillantemente grazie a un'altra possibilità offerta dalla crittografia a chiave pubblica: la firma digitale.

- Per firmare digitalmente un messaggio basta cifrarlo con la propria chiave privata. All'arrivo, il destinatario proverà a decifrarlo con la chiave pubblica del mittente: l'operazione ovviamente avrà successo soltanto se la cifratura sarà stata effettuata con la corrispondente chiave privata. Non solo: anche eventuali modifiche del messaggio impedirebbero di effettuare la decifrazione, quindi in un solo colpo si può avere la certezza che il messaggio è stato spedito proprio dal mittente dichiarato e che non è stato modificato in transito. Per semplicità abbiamo ipotizzato che il contenuto del messaggio non sia segreto (chiunque infatti potrebbe leggerlo usando la chiave pubblica del mittente). Se si desidera garantirne la segretezza sarà sufficiente firmare in via preliminare il contenuto con la chiave pubblica del destinatario. Quest'ultimo compirà quindi due operazioni di decodifica: la prima con la chiave pubblica del mittente, la seconda con la propria chiave privata. Confusi? Ne avete tutto il diritto: la crittografia a chiave pubblica (spesso detta asimmetrica) non è certo intuitiva come quella simmetrica, dove la chiave è una sola e vale per tutti i destinatari, che siano uno o un milione.

- Purtroppo non è finita: infatti firmare digitalmente un messaggio con il metodo appena illustrato genererebbe una quantità di dati eccessiva (più del doppio rispetto al messaggio originale) e sarebbe anche un processo assai lento. Di conseguenza, nella pratica si procede in questo modo:

    * con l'aiuto di speciali funzioni matematiche dette funzioni hash si genera un'impronta (detta in inglese message digest) molto compatta -alcune decine di byte- del messaggio che si vuole firmare;

    * si cifra l'impronta con la propria chiave privata;

    * si spediscono insieme il messaggio originale e il digest.

Il destinatario, per verificare l'identità del mittente e avere la certezza che il messaggio non sia stato manomesso, dovrà:

    * generare a sua volta l'impronta del messaggio originale;

    * decifrare l'impronta spedita assieme al messaggio usando la chiave pubblica del mittente;

    * paragonare l'impronta generata da lui con quella ricevuta

Se le due impronte combaciano si può essere certi che il mittente è proprio chi dice di essere e che il messaggio non è stato manomesso, dato che basta cambiare anche un solo bit del messaggio originale per ottenere un'impronta completamente diversa. Anche in questo caso abbiamo ipotizzato che il messaggio venga spedito in chiaro: per garantirne anche la riservatezza basterà cifrarlo con la chiave pubblica del destinatario; quest'ultimo naturalmente dovrà calcolarne l'impronta soltanto dopo averlo decifrato. Lo ripetiamo, tutto il processo non è propriamente intuitivo e ci vuole un po' per assimilarne il funzionamento.

Un elemento critico: il backup.

Per chiudere questa sezione vogliamo menzionare brevemente un argomento troppo spesso trascurato, che invece dovrebbe essere uno dei pilastri di un'accorta politica di sicurezza non solo in ambito aziendale ma anche personale. Stiamo parlando naturalmente del backup: non è raro vedere utenti che si danno grande pena per rendere i propri dati inaccessibili agli altri definendo password robuste, cifrando i documenti e proteggendo il proprio computer con antifurto inattaccabili, per poi rischiare di renderli inaccessibili a se stessi al primo crash del disco rigido.

- A dispetto dell'affidabilità raggiunta dalla moderna componentistica elettronica, i computer non sono indistruttibili: la possibilità di un guasto è rara, ma non inesistente. Effettuare una copia di sicurezza dei dati importanti poi è davvero facile, soprattutto oggi. Se una volta bisognava dotarsi di dispositivi scomodi e lenti come le unità a nastro, attualmente anche l'utente domestico trova nei masterizzatori un mezzo ideale ed economico per il backup.

- Si trovano facilmente ottimi masterizzatori 12X a circa 300.000 e i supporti costano intorno alle 1.000 lire l'uno. Anche i Cd riscrivibili, che possono essere ruotati proprio come i nastri, costano ormai meno di 5.000 lire. Insomma, si tratta solo di vincere l'inevitabile pigrizia per garantirsi una migliore tranquillità.

 

5 Pretty Good Privacy: la crittografia per tutti

Vediamo come installare e usare il programma di crittografia a chiave pubblica oggi sicuramente più diffuso: stiamo parlando di Pgp (Pretty Good Privacy). Vi spiegheremo come installarlo e usarlo per cifrare documenti locali

Pgp è stato sviluppato da Phil Zimmerman, che lo rese disponibile gratuitamente in Rete nel 1991. La mossa garantì a Pgp fama e diffusione universale, ma attirò su Zimmerman le ire del governo Usa. Per la legge americana, infatti, i sistemi di cifratura forte sono assimilati alle armi e fino a pochi mesi fa ne era quindi proibita l'esportazione.

- Copie di Pgp vennero scaricate all'estero poche ore dopo la messa on-line del programma; il risultato fu che nel 1993 Zimmerman fu messo sotto inchiesta, con la prospettiva di pesanti sanzioni penali. Dopo tre anni, fortunatamente, la vicenda si concluse con un nulla di fatto. Successivamente Zimmerman vendette i diritti di Pgp a Network Associates, che tutt'oggi lo commercializza in ambito aziendale; la versione per utenti finali è invece venduta da McAfee, una divisione di Network Associates. Il programma comunque rimane gratuito per uso personale e non commerciale.

- Una cosa che ancora non vi abbiamo detto sulla cifratura a chiave pubblica è che comporta calcoli molto più pesanti rispetto a quella simmetrica (quest'ultima è circa 1.000 volte più veloce). Con la velocità degli attuali computer ciò potrebbe non essere un problema grave, ma bisogna ricordare che nel 1991 il processore Intel 386 rappresentava lo stato dell'arte e i sistemi ben più lenti basati sul 286 (e persino sul vetusto 8086) erano ancora molto diffusi. L'uso della cifratura a chiave pubblica per applicazioni reali avrebbe comportato una lentezza inaccettabile, quindi Zimmerman implementò Pgp come un sistema "ibrido" in grado di offrire il meglio dei due mondi.

- I dati veri e propri vengono quindi cifrati con un algoritmo simmetrico (di solito Idea), usando una chiave generata appositamente - la cosiddetta chiave di sessione. Quest'ultima viene poi cifrata con la chiave pubblica del destinatario e inviata assieme al messaggio. Quest'ultimo userà poi la propria chiave privata per recuperare la chiave di sessione e decifrare infine il messaggio. La procedura sembra complicata, ma in realtà non lo è dato che tutte le operazioni vengono gestite automaticamente da Pgp. Anzi, non sono pochi gli utenti che sfruttano Pgp da anni del tutto ignari del fatto che cifratura dei loro dati avvenga con un algoritmo simmetrico. A dire il vero il funzionamento di Pgp è spiegato con grande chiarezza nel documento Introduction to Cryptography, fornito assieme al software, che però è in lingua inglese (e poi chi li legge i manuali?).

Installare Pgp

1. All'inizio dell'installazione il programma vi chiederà di selezionare i componenti che volete installare. Pgp riconosce automaticamente la presenza di Eudora, Outlook, Outlook Express e ICQ, e propone automaticamente l'installazione dei plug-in che gli permettono di integrarsi con questi pacchetti. Di default, l'installer propone anche l'installazione dei moduli Pgp Net, che comprendono un firewall personale, un tool di rilevamento dei tentativi di intrusioni via rete e un software per la realizzazione di una Virtual Private Network, per cifrare in tempo reale il traffico di rete. Se opterete per l'installazione di PgpNet il programma vi chiederà subito dopo di selezionare gli adattatori di rete che volete proteggere. Di default, i dispositivi non sono protetti: bisogna selezionarli individualmente.

2. È arrivato il momento di generare una coppia personale di chiavi. Il programma propone anche una modalità Expert, richiamabile con un clic sul pulsante omonimo, che dà accesso a una schermata nella quale si possono impostare le opzioni più avanzate del programma scegliendo ad esempio gli algoritmi usati sia per la cifratura asimmetrica che per quella asimmetrica (l'ultima versione di Pgp supporta anche il recentissimo Aes), la scadenza della chiave e così via. Le scelte effettuate automaticamente sono però quelle che garantiscono la migliore interoperabilità con le precedenti versioni del programma (non tutti adottano immediatamente l'ultima release di Pgp) e vanno senz'altro bene per un uso normale del programma, quindi il nostro consiglio è di procedere con l'installazione di base.

3. La coppia di chiavi deve essere associata a un nome e - preferibilmente - anche a un indirizzo di posta elettronica. Non è strettamente obbligatorio inserire l'indirizzo di e-mail, ma se pensate di usare Pgp per cifrare la vostra corrispondenza Internet è davvero opportuno farlo.

4. Ora bisogna definire una passphrase, che verrà richiesta quando vorrete usare la vostra chiave privata. Una passphrase è fondamentalmente una normale password. Il termine "frase chiave" sottolinea che una semplice parola non basta: sulla robustezza della passphrase si basa tutta la robustezza di Pgp, quindi è opportuno scegliere una impossibile da indovinare o da forzare. Mentre inserirete la passphrase, Pgp vi darà un'indicazione visiva della sua qualità. Al termine, scrivetela subito in un luogo sicuro. Ricordatevi anche che la robustezza di Pgp è un'arma a doppio taglio: se perderete la passphrase non riuscirete mai più a rileggere i documenti che avrete cifrato e i messaggi codificati che vi avranno inviato. La passphrase andrà inserita a mano ogni volta che dovrete usare la vostra chiave privata per decifrare un documento o per firmarlo digitalmente; per comodità dell'utente il sistema la memorizza per due minuti; questo valore può essere modificato a piacere e persino esteso a tutta la durata della sessione di lavoro (con gli ovvi rischi nel caso ci si allontani dal computer).

5. Ecco fatto: la vostra coppia di chiavi è pronta. Ora Pgp la aggiungerà ai cosiddetti keyring (letteralmente portachiavi). Si tratta dei file in cui il programma memorizza le chiavi. Ogni utente dispone di due keyring, uno per la propria chiave privata (o le chiavi, dato che se ne può generare più d'una) e uno per le chiavi pubbliche: la propria e quelle delle persone a cui si vogliono trasmettere documenti o messaggi cifrati. A dire il vero Pgp usa una terminologia leggermente fuorviante: una chiave Pgp, infatti, non è una semplice chiave di cifratura - come può fare credere il nome - ma un vero e proprio certificato digitale, che contiene una chiave pubblica di cifratura, il nome dell'utente associato e varie altre informazioni. Al termine, la routine di installazione riavvierà il computer e Pgp sarà pronto all'uso. Pgp offre una quantità notevole di funzioni, e non è certo possibile descriverle tutte in dettaglio in questa sede. Del resto, il manuale (ottimo ma soltanto in lingua inglese) comprende più di 200 pagine. Vediamo allora le prerogative principali del programma, del resto le più usate.

Usare Pgp

6. Per accedere alle funzioni di Pgp si può usare la pulsantiera Pgptools, richiamabile sia dall'icona di Pgp che viene inserita nel system tray di Windows sia dal menu Start. Pgp si integra anche molto bene con l'interfaccia di Windows, quindi molte operazioni possono essere richiamate semplicemente dal menu contestuale, premendo il tasto destro del mouse.

Pgptools contiene 7 pulsanti, che permettono, nell'ordine, di:

    * richiamare il modulo di gestione delle chiavi; PgPkeys

    * cifrare un documento

    * firmare digitalmente un documento

    * cifrare e firmare un documento in un unico passaggio

    * decifrare e verificare la firma di un documento

    * cancellare in modo sicuro un file

    * cancellare in modo sicuro lo spazio vuoto che si trova al termine dei file

7. PGPkeys è l'interfaccia che permette di gestire le chiavi Pgp. La prima cosa da fare è quella di salvare un backup delle proprie chiavi: in caso di perdita della chiave privata, infatti, non sarebbe più possibile accedere ai documenti cifrati in passato. L'operazione è molto semplice: basta evidenziare la propria chiave con un clic, selezionare l'opzione Export nel menu Keys, selezionare l'opzione "Include private keys" e premdere Salva. La copia viene salvata in un file .asc con lo stesso nome del titolare della chiave. Il file può essere poi trasferito su un supporto da conservare in un posto sicuro (vi consigliamo di usare un Cd-Rom anziché il solito floppy). A questo punto, se lo desiderate, potete pubblicare la vostra chiave su Internet, in modo che chiunque possa spedirvi facilmente, usando l'opzione Send To del menu Server.

Subito dopo l'installazione, PGPkeys contiene quattro chiavi: quella dell'utente che ha installato il programma e tre chiavi di PGP Security. Per importare una chiave pubblica di un altro utente basta caricare il relativo file .asc tramite la voce Import del menu Keys. Nella sezione dedicata alla sicurezza su Internet vedremo che ci sono altri modi, ancora più semplici, per aggiungere chiavi pubbliche al proprio keyring.

È importante chiarire subito il significato delle colonne Validity e Trust di Pgp Keys. Le chiavi Pgp vengono generate dallo stesso utente, quindi nulla vieta a Paolo Rossi di generare una chiave intestata - per esempio - a Giorgio Verdi. Come si può avere quindi fiducia che una certa chiave pubblica appartenga davvero alla persona il cui nome compare in essa? In effetti non è possibile a priori, quindi una chiave, appena importata nel keyring, non viene ritenuta valida da Pgp (la propria chiave viene ritenuta implicitamente valida). Se si è proprio certi della correttezza della chiave, ad esempio perché appartiene a una persona che si conosce ed è stata consegnata personalmente, allora è possibile definirla "valida". Per farlo, bisogna "firmarla" con la propria chiave, tramite la voce Sign del menu Keys. Fatto ciò, nella colonna Validity comparirà un pallino verde accanto alla chiave.

8. A questo punto proviamo a vedere le proprietà della chiave che abbiamo appena firmato, con l'opzione Key properties del menu Keys. La schermata riporta varie informazioni, ad esempio la data di creazione, la data di scadenza se è stata impostata, l'algoritmo usato per la cifratura simmetrica e così via. Subito sotto c'è la zona Fingerprint: si tratta di una serie di parole associate alla chiave che tornano utili quando qualcuno vorrà verificarne la validità. Immaginate ad esempio di aver ricevuto una chiave che in apparenza appartiene a un vostro amico. Come fare per verificare che sia proprio la sua e non sia invece stata generata da qualcun altro? Basta chiamarlo al telefono, farsi dettare il fingerprint e confrontarlo con quello che appare nella schermata.

Spuntando la casella Hexadecimal, il fingerprint appare come una serie di numeri esadecimali, che si possono facilmente aggiungere ai propri messaggi di posta in modo da consentire ai destinatari di verificare facilmente la validità della propria chiave. In basso, infine, vediamo un cursore a due valori: Untrusted e Trusted. Quando si firma una chiave, a tutti gli effetti se ne attesta la validità. La chiave firmata può essere poi pubblicata su un server di chiavi su Internet. È chiaro che una chiave reperita su un keyserver e firmata - ad esempio - dallo stesso Phil Zimmerman verrà ritenuta valida da chiunque. Immaginiamo però di trovare un'altra chiave, firmata da una persona la cui chiave è stata a sua volta firmata da Zimmerman. È lecito ritenere "valida" anche quest'ultima chiave? Naturalmente no: una firma su una chiave attesta solo che si è certi dell'identità del possessore, e non dice nulla sulla correttezza di quest'ultimo nel firmare a sua volta altre chiavi. Potremmo firmare tranquillamente la chiave di Pietro Gambadilegno se ce la presentasse di persona, ma non potremmo certo giurare che Pietro poi non userà la sua chiave per firmarne una creata dalla Banda Bassotti a nome di Zio Paperone… Il concetto di Trust permette di dire qualcosa di più sul titolare della chiave: e cioè esprimere fiducia nel fatto che si comporterà correttamente nel firmare altre chiavi.

9. Il secondo pulsante di PGPtools permette di cifrare un documento. L'operazione è molto semplice. Per prima cosa bisogna selezionare il file (o i file) da codificare. Poi, nella schermata si devono selezionare le chiavi pubbliche - che dovranno essere già presenti nel proprio keyring - di tutti gli utenti ai quali si vuole dare la possibilità di decifrare i dati. La propria chiave è già inserita nell'elenco; le altre possono essere aggiunte con un semplice drag and drop. Pgp offre varie opzioni al momento della cifratura. Innanzitutto, si può cancellare in modo sicuro l'originale del documento (Wipe Original). Poi, si può optare per una semplice cifratura simmetrica, anziché su quella ibrida che prevede l'impiego di chiavi pubbliche; bisognerà indicare naturalmente una parola chiave che andrà poi comunicata a tutti i destinatari (se il documento deve essere distribuito bisogna ovviamente evitare di usare la passphrase usata per proteggere la propria chiave privata). Si può anche creare un file eseguibile autodecifrante (creato con cifratura simmetrica), per consentire anche a chi non possiede Pgp di decifrare il documento; anche in questo caso bisognerà indicare una parola chiave. Non è necessario comunque ricorrere a PGPtools: come accennato sopra, Pgp inserisce nel menu contestuale di Windows una voce che dà accesso alle stesse funzioni. Anzi, se si vogliono cifrare tutti i file di una cartella conviene usare proprio il menu contestuale. I file cifrati hanno l'estensione .pgp; scegliendo l'opzione "Text Output" vengono creati file di puro testo con estensione .asc. Il terzo pulsante operativamente attiva una procedura del tutto identica che però firma anche digitalmente i documenti che vengono cifrati. Anche sul quarto pulsante non c'è molto da dire: permette di selezionare il documento da decifrare e lancia la procedura di decodifica e di verifica della firma digitale.

10. Il quinto pulsante consente di cancellare in modo sicuro uno o più file. Come forse saprete, la cancellazione di un file in Windows non ne comporta l'eliminazione ma il semplice spostamento nel Cestino. Anche quando il Cestino viene svuotato, il file può essere ancora recuperabile con l'aiuto di apposite utility (persino quando è stato sovrascritto). Pgp offre, quindi, una funzione di eliminazione sicura, che comporta la sovrascrittura ripetuta del file (il valore di default prevede tre passate) in modo che neanche l'attaccante più determinato possa recuperarlo. Il sesto pulsante, infine, cancella in modo sicuro lo spazio libero alla fine dei cluster dell'unità a disco, che teoricamente è vuoto mentre in realtà può contenere frammenti di file cancellati in passato.

A questo punto chiudiamo la nostra carrellata su uno dei programmi più importanti per chi si preoccupa della sicurezza dei propri dati e della propria privacy. Pgp è un programma davvero formidabile, e nonostante la complessità delle operazioni che svolge - come accennato, la crittografia a chiave pubblica non è per nulla intuitiva - non è assolutamente difficile da usare.

31/7/2001

(Ndr: ripreso da Sicurezza&Virus in "PC Professionale", rivista online del Gruppo Mondadori)