QUANTO SONO SICURI I SOFTWARE DI CRITTOGRAFIA?

Scopo di questa trattazione e' illustrare in maniera semplice e immediatamente comprensibile a chi non sia particolarmente esperto in materia quali sono i principali limiti e problemi nella sicurezza offertaci dall'uso di questo tipo di software, con particolare riferimento a PGP (Pretty Good Privacy) e GPG (GNU Privacy Guard)

A livello giornalistico questo problema e' stato perlopiu' trattato in relazione alle rivelazioni sull'ormai famoso "Sistema Echelon" che hanno messa in piena luce l'esistenza di agenzie di controllo e di sorveglianza come l'NSA (National Security Agency) che hanno per specifico obiettivo il monitoraggio delle comunicazioni di interesse politico economico e lo sfondamento delle tecniche usate per crittografare tali comunicazioni.

Da qui il vivo interesse dei governi per questi problemi, la messa in crisi o in ridiscussione degli accordi di Wassenaar sui limiti all'esportazione di software crittografico forte, il sostegno economico del governo tedesco agli sviluppatori di GPG (un software crittografico di estrema validita' sviluppato in ambito GNU, quindi interamente e realmente free ed open source a differenza del piu' famoso PGP, al quale e' concettualmente sovrapponibile) e grandi discussioni in ambiti specializzati (ed ahime' anche in ambiti assai meno competenti) sull'effettiva capacita' di queste agenzie di sfondare effettivamente queste tecniche.

Va detto subito, a scanso di equivoci, che preoccuparsi eccessivamente di questo problema -- per quanto tecnicamente e politicamente importante -- ai fini della propria sicurezza personale, ha poco senso da parte dell'utente medio di questi software.

In primo luogo perche' non e' certo lui l'obiettivo degli attacchi di queste agenzie, che richiedono notevole dispendio di risorse. In secondo luogo perche' le valutazioni piu' che allarmistiche sulle capacita' di sfondamento crittografico di queste agenzie, le favole metropolitane e giornalistiche sui supercomputer segretissimi e le tecnologie sconosciute di cui disporrebbero, sembrano giungere da menti piu' allenate al consumo di telefilm tipo X-files che non al lucido ragionamento tecnico e politico indispensabile per chiarirsi la questione

In altri termini, chi scrive quest'articolo ritiene che l'utilizzo corretto di PGP e GPG sia tuttora sufficiente a garantirgli una riservatezza che nemmeno le agenzie investigative di stato o le grandi multinazionali possono intaccare senza il suo consenso. E senza nemmeno andare a crearsi quelle chiavi esageratamente sovradimensionate e del tutto inutili che le voci allarmistiche messe in giro da questo o quell'articolo o servizio televisivo suggerirebbero come indispensabili

Cercheremo quindi di ragionare in termini lucidi e non meramente favolistici su questo problema. Ma prima ancora di cominciare a parlare delle possibilita' di attacco dell'NSA e di altre agenzie basate sulle debolezze crittografiche di questi software e' assai piu' necessario e utile chiarire che esistono molte altre possibilita' -- molto piu' facili, economiche e alla portata di chiunque non disponga delle risorse e delle competenze necessarie ad un attacco crittografico -- per vanificare la sicurezza offerta da questi programmi. E che e' da queste possibilita' che l'utilizzatore deve innanzitutto guardarsi con attenzione.

1) PROBLEMI DI SICUREZZA NON CRITTOGRAFICI

Si sa, dando per scontata una certa conoscenza del funzionamento di GPG e PGP senza la quale l'articolo risultera' di comprensione un po' piu' difficile (vedi nota 1 per un breve riassunto) che il destinatario di un messaggio codificato, per sbloccare la sua chiave privata che avviera' il processo di decodifica -- alla quale solo lui dovrebbe poter avere accesso -- dovra' utilizzare una passphrase che egli solo conosce o dovrebbe conoscere. E' del tutto intuitivo quindi che il punto piu' debole del sistema sta innanzitutto proprio nel rispetto di queste condizioni.

In primo luogo, nel caso in cui l'attaccante abbia accesso alla nostra macchina, il che e' la regola in caso di sequestro o di macchine condivise, solo la passphrase (e' intuitivo che questa non dovrebbe essere mai scritta o rivelata ad altri) fa da barriera all'accesso ai files codificati. E' vero che si puo' disporre le cose in modo da non conservare sulla macchina il "keyring" contenente la chiave privata (che puo' stare solo su dischetto, disco estraibile etc) ma questa misura e' scomoda, e in caso di sequestro o furto non garantisce piu' di tanto.

Da qui l'estrema importanza di una passphrase che non possa essere facilmente indovinata e che non possa essere facilmente identificata con i sistemi cosiddetti di "bruta forza". Esistono cioe' dei programmi che sono in grado di testare rapidamente tantissime combinazioni di lettere e frasi per cercare di forzare l'accesso alla nostra chiave privata, avvalendosi anche dell'ausilio di appositi "dizionari", compilati sulla base di ricerche che tendono a stabilire quali modelli di passphrase sono usati piu' frequentemente. Quindi nomi di persone care, date di nascita, numeri di carta d'identita', frasi famose o di senso compiuto, combinazioni alfanumeriche troppo brevi e prevedibili sono da bandire assolutamente. Esistono programmi che al contrario aiutano nello stabilire passphrase randomizzate e difficilmente prevedibili, ma ricordiamo che se si scorda la passphrase addio dati, e che una passphrase perfettamente randomizzata ma scritta da qualche parte e' sicura solo quanto e' sicuro il nascondiglio dove e' tenuta...

Altri problemi per la sicurezza dei dati crittografati nascono dai problemi piu' generali di sicurezza della nostra macchina: una semplice backdoor che sia in grado di registrare a nostra insaputa cio' che passa attraverso il nostro computer e magari trasmetterlo via posta elettronica all'attaccante invalida il sistema crittografico piu' perfezionato. La diffusione -- pressoche' epidemica nei sistemi Windows -- di alcune backdoor del genere, tipo "trojan", come il celeberrimo Back Orifice e il quasi altrettanto celebre Netbus, che possono esserci rifilati in mille modi, nascosti in file eseguibili dall'apparenza innocente, e sono utilizzabili da praticamente chiunque hanno messo drammaticamente in luce questa realta'.

Ma questo problema non si arresta certo al Back Orifice, e se e' per questo non sono certo gli ideatori e diffusori di questi programma "famigerato" i responsabili delle debolezze dei sistemi operativi Microsoft, che hanno se non altro il merito di averle messo davanti agli occhi di milioni di utenti inconsapevoli, come dichiararono alla conferenza stampa in cui lo presentarono. E nemmeno i tanto criminalizzati "hacker" che in vari modi violano, per "ideologia", per "sport", o per motivi assai meno nobili la sicurezza delle macchine malprotette sono il principale pericolo per l'utente medio.

Si pensi invece, ad esempio, alle recenti notizie sulle cause intentate negli USA da alcuni consumatori alla ditta produttrice del diffuso software Real JukeBox, il quale una volta installato sul proprio PC, oltre che suonare musica, raccoglieva dati sulle predilezioni musicali dell'ignaro proprietario e li inviava a sua insaputa via Internet alla casa madre. Si consideri da questo esempio quante trappole sarebbe possibile tendere da parte di aziende poco scrupolose agli utilizzatori dei propri prodotti. Si consideri inoltre che per le leggi vigenti buona parte del software che utilizziamo non puo' essere esaminata nella sua forma sorgente, il che rende assai piu' difficile scoprire eventuali trappole.

Non a caso il governo cinese ha deciso di non utilizzare piu' Windows e relative applicazioni (i cui sorgenti non sono disponibili) per sistemi rilevanti ai fini degli interessi nazionali, e si sta orientando verso sistemi Linux, la cui natura "open source" garantisce fra le altre cose la disponibilita' dei sorgenti e dunque la possibilita' di verificare che nel sistema operativo e nelle applicazioni non siano nascoste trappole...

A questo proposito, va sottolineato che i sorgenti di GPG e PGP sono sempre stati disponibili e che sono stati passati al setaccio da migliaia di esperti ed appassionati senza che siano mai stati scoperti in essi delle "trappole", malgrado alcune voci del tutto infondate propagate dai soliti narratori di favole metropolitane. Per chi ne ha la possibilita' la cosa migliore e' installarsi questi programmi compilandosi da se' i sorgenti. Chi non ne ha la possibilita' utilizzi i file in forma binaria prelevati dai siti di distribuzione ufficiale e autenticati.

Sempre nell'ambito dei rischi non specificamente inerenti a debolezze crittografiche, esistono forme di intercettazione che consentono di bypassare la sicurezza offertaci da questi programmi. Il cosiddetto "tempest" e' un sistema di intercettazione a distanza delle emissioni elettromagnetiche del monitor di un computer che consente di ricostruire tutto quanto passa sullo schermo. Le versioni piu' recenti di PGP offrono la possibilita' di decodificare il messaggio all'interno di una finestrella che utilizza dei font che dovrebbero confondere un'intercettazione tempest, tuttavia non e' chiara l'effettiva efficacia di questo sistema. Non si pensi a roba particolarmente fantascientifica: secondo alcuni esperti i sistemi tempest potrebbero essere alla portata di comuni agenzie investigative, anche private, nello spazio di cinque anni.

Un problema ancora diverso e' costituito dal fatto che cio' che scriviamo viene scritto sull'hard disk di un computer in realta' poi non viene cancellato fisicamente e puo' essere recuperato con vari sistemi, come ben sa chiunque abbia familarita' con un banale programma di utilita' per il recupero dei files cancellati. Esistono vari programmi, abbastanza efficaci, che provvedono a sovrascrivere e "rimescolare" i files cancellati in modo da renderne impossibile il recupero via software. Ma a livelli di sicurezza veramente alti ci si scontra con il problema fisico rappresentato dal fatto che i dati registrati su supporto magnetico e successivamente cancellati con questi programmi possono comunque essere recuperati con tecnologie (MFM, Magnetic Force Microscopy, e MFSTM, Magnetic Force Scanning Tunneling Microscopy) che se non sono proprio alla portata di chiunque sono gia' disponibili in attrezzati laboratori universitari USA. Non a caso i protocolli militari americani di sicurezza prevedono l'incenerimento per gli hard disk dismessi.

Quest'ultimo problema assume un aspetto particolare se si considera che -- in maniera difficilmente prevedibile -- chiave privata, passphrase, messaggi eccetera, potrebbero finire in quei file cosiddetti di "swap" dove alcuni sistemi operativi memorizzano su disco le operazioni che stanno compiendo (memoria virtuale) e quindi essere recuperati attraverso di esso. Va detto a che secondo i produttori le versioni piu recenti di PGP per Windows non corrono il rischio passare dati a questo file, mentre sotto linux questo non accade con GPG, se installato con i settaggi consigliati.

2) PROBLEMI DI SICUREZZA LEGATI A SFONDAMENTO DELLE CHIAVI PUBBLICHE.

L'anello piu' debole nella catena di algoritmi, cioe' delle modalita' di crittografazione usate da PGP e GPG (vedi sempre nota 1) e' costituito dall'algoritmo "asimmetrico", quello che utilizza la coppia di chiavi pubblica e privata. Per un motivo molto semplice ed intuibile anche senza addentrarci in particolari dettagliati: quando si genera la coppia di chiavi pubblica e privata la relazione che lega queste due chiavi e' collegata alla risoluzione di quello che viene definito un "hard problem", un problema estremamente difficile da risolvere (ai limiti dell'impossibilita' ma non impossibile) alla luce delle attuali conoscenze matematiche. In base alle quali non e' che non si conosca il modo per risolvere questo problema, ma semplicemente non si ha a disposizione la colossale "potenza di calcolo" -- nei termini di potenza degli elaboratori e tempo disponibile -- necessaria per risolverlo.

In altri termini un attaccante dotato della potenza di calcolo necessaria, disponendo di una chiave pubblica, potrebbe riuscire a ricostruire chiave privata corrispondente, una volta conosciuta la quale, decifrera' il messaggio crittografato con quella chiave.

La potenza richiesta e' tanto piu' grande quanto piu' aumenta la dimensione delle chiavi generate. Ora, l'evoluzione nella tecnologia dei calcolatori sta aumentando enormemente la potenza di calcolo disponibile. D'altra parte e' pur vero che questa evoluzione favorisce l'utilizzo e la generazione di chiavi piu' grandi che in passato.

Qualunque considerazione sull'effettiva sicurezza crittografica di questi software e sulle possibilita' di attacco delle agenzie di controllo e spionaggio tipo NSA non puo' prescindere da queste considerazioni. Il problema da porsi per una valutazione realistica quindi e':

a) Quanta potenza di calcolo e' necessaria per sfondare una chiave di una data dimensione?

b) Di quanta potenza di calcolo dispongono effettivamente queste agenzie?

Al primo problema e' possibile dare una risposta concreta: il 22 Agosto 1999 un folto team internazionale di ricercatori mettendo in comune le risorse umane e gli elaboratori di diverse universita' e centri di calcolo e' riuscito a fattorializzare un numero primo di 155 cifre, impresa equivalente allo sfondamento di una chiave RSA da 512 bits (vedi nota 2)

Per portare a termine questa impresa, oltre a molto lavoro umano, si sono resi necessari i seguenti computer:

160 175-400 MHz SGI and Sun workstations
8 250 MHz SGI Origin 2000 processors
120 300-450 MHz Pentium II PCs
4 500 MHz Digital/Compaq boxes

distribuiti in 11 centri diversi, piu' l'impiego di 224 ore di CPU e di circa 3.2 GIGAbytes di memoria centrale sul supercomputer Cray C916 del SARA Amsterdam Academic Computer Center, assieme allo sviluppo di un nuovo metodo di ricerca polinomiale da parte di due matematici australiani.

Il tempo di calcolo speso da tutte le macchine per effettuare la fattorizzazione e' assommato a circa sette mesi e mezzo.

Si consideri che la potenza di calcolo necessaria a sfondare una chiave da 1024 bits non sarebbe semplicemente il doppio di quella impiegata da questo gruppo di ricerca, ma cresce in misura esponenziale, per cui lo sforzo necessario sarebbe quantificabile come la moltiplicazione per dieci milioni di quello operato a questo team di ricerca.

Come si vede si tratta di dati che ci assicurano come sfondare una chiave da 1024 bits, che costituiva uno standard di sicurezza abbastanza elevato ma gia' routinario qualche anno fa sia tuttora un compito decisamente impegnativo e fuori dalla portata di chiunque non disponga di risorse incomparabilmente superiori a quelle qui sopra descritte.

Tuttavia, va riconosciuto che l'evolvere rapido della tecnologia rende plausibile l'ipotesi che un messaggio scritto oggi con una chiave da 1024 bits e intercettato e conservato potrebbe essere decodificato con relativa facilita' negli anni a venire.

In ogni caso, sebbene questo compito sia attualmente al di la' delle forze della maggior parte delle organizzazioni statali o di altra natura, va inoltre riconosciuto che, senza cadere in facili allarmismi o favoleggiamenti fantascientifici, l'effettiva potenza di calcolo di NSA e di altre ancora piu' segrete agenzie del genere (vedi ad esempio i centri di decodificazione della Marina Militare Americana, sulle cui capacita' non si sa praticamente nulla a livello pubblico) non e' quantificabile.

3) UN'IPOTESI SULLA CAPACITA' DELLE AGENZIE DI SPIONAGGIO E CONTROLLO USA

A questo proposito, chi scrive segnala un tentativo di analisi sulla capacita' di queste agezie di decifrare la posta crittata comparso recentemente in rete all'URL http://cryptome.org/tac-rp.htm che si differenzia dalla consueta paccottiglia sull'argomento per la plausibilita' delle argomentazioni, tanto che ha sollevato parecchie discussioni in rete all'interno della cosiddetta comunita' "crittoanarchica"

Non ne faccio una traduzione ma solo un breve riassunto, rimandando per l'originale all'URL sopra indicata, ribadendo che le uniche fonti sulla effettiva capacita' crittografica e di tracciamento dell'NSA -- che continua a rifiutare informazioni allo stesso congresso USA -- sono "indiscrezioni" sporadiche e incontrollabili, per cui il condizionale e' D'OBBLIGO, come ribadito dagli stessi autori del documento. Tali indiscrezioni potrebbero del resto benissimo essere gonfiate, allo scopo di ingenerare sfiducia e senso di inutilita' verso la "crittografia di massa" o costringere i paesi rivali a sprecare piu' risorse economiche ed umane nell'adeguamento dei propri sistemi di sicurezza, secondo una prassi consolidata nella guerra di spie.

Va inoltre ricordato che gli obiettivi di NSA sono molto diversi da quelli delle normali forze di polizia e dei servizi segreti, e solo in casi particolari essa condivide le proprie informazioni (ma non la tecnologia usata per raccoglierle) con la stessa FBI o con la CIA, per non parlare delle forze di polizia statale o locale USA.

Comunque, secondo gli autori di questo documento l'NSA dovrebbe essere ormai ormai capace di sfondare routinariamente (il che non significa senza sforzo o costo) una chiave da 1024 bits, disponendo della relativa chiave pubblica. Una chiave da 2048 bits potrebbe talvolta essere sfondata. una chiave da 3072 bits sarebbe ancora fuori portata della stessa NSA.

Per quanto riguarda gli algoritmi di crittazione simmetrica, IDEA sarebbe sfondabile con notevole spesa, 3DES ancora sicuro, mentre su CAST non si disporrebbe di informazioni.

Per quanto riguarda i servizi di intelligence militare USA, questi condividono routinariamente le informazioni ottenute per via crittanalitica dall'NSA, ma non le tecniche e le tecnologie da essa utilizzata per ottenere tali informazioni.

CIA, FBI e ad altre agenzie federali USA non condividono routinariamente le informazioni NSA. una chiave da 2048 bits sarebbe ancora sicura contro le tecniche di crittanalisi impiegate direttamente da queste agenzie -- e da analoghe agenzie di intelligence non USA.

Analogo discorso per le polizie di stato e locali USA, per i gruppi privati e per la grande stampa. per tutti questi una chiave da 1024 bits e persino da 512 bits (ormai dimostrata compromessa, come si e' visto) potrebbe ancora rappresentare un ostacolo insormontabile in molti casi.


NOTA 1: Una conoscenza di base nell'utilizzo di questi programmi e' presupposta, tuttavia sara' opportuno ricordare brevente che -- sebbene siano famosi principalmente per il fatto di avvalersi di un sistema di codifica a "chiave pubblica", tale che solo chi e' in possesso della corrispondente "chiave privata" puo' decodificare il messaggio -- in realta' quando si critta un messaggio con PGP o GPG si avvia un processo abbastanza complicato, che utilizza un insieme di "algoritmi" (cioe' di procedimenti di codificazione) diversi tra loro. Semplificando abbastanza le cose, a partire da un dato testo viene creato in modo trasparente un file codificato attraverso un algoritmo a chiave *simmetrica*, cioe' che puo' essere decifrato disponendo di *un'unica* chiave.
Questa chiave -- detta "chiave di sessione" perche' viene ogni volta creata a random per ogni singola sessione di crittazione -- viene per cosi' dire allegata al messaggio dopo essere stata a sua volta crittata con la chiave pubblica del destinatario, usando a questo scopo l'algoritmo a chiave *asimmetrica*. Ed e' questa chiave di sessione che in realta' per essere decodificata necessita della chiave privata del destinatario. Quando il messaggio viene decodificato avviene il processo inverso.
Questo procedimento si e' reso necessario perche', a causa delle sue caratteristiche specifiche la codificazione dell'intero messaggio con il solo algoritmo a chiave pubblica risulterebbe troppo lenta e il file codificato occuperebbe troppo spazio perche' questo metodo risulti pratico.
La tecnica dell'algoritmo a chiave pubblica (od "asimmetrico") ha consentito di risolvere in modo brillante il problema di come consegnare la chiave di decodifica al destinatario senza disporre di canali *sicuri* a questo scopo, ma gli algoritmi di questo tipo presentano lo svantaggio di essere piu' deboli rispetto ad attacchi di sfondamento crittografico che non quelli a chiave unica.
Essendo questo l'anello piu' debole nella catena di algoritmi usati da questi programmi, le risorse di eventuale attaccante si concentrerebbero contro di essi, quindi ci occuperemo solo di queste possibilita' di attacco, tralasciando quelle di tipo "crittanalitico" contro i piu' resistenti algoritmi a chiave unica (o "simmetrici") che al momento rappresentano piu' un'interessante branca di ricerca crittografica che non una concreta minaccia di cui preoccuparsi a livello di utente finale.
torna al paragrafo Problemi di sicurezza non crittografici
torna al paragrafo Problemi di sicurezza legati a sfondamento delle chiavi pubbliche

NOTA 2: Sebbene non ci siano ricerche di quest'ampiezza, la sicurezza delle chiavi DH/DSS e ElG/DSA puo' essere in pratica considerata sovrapponibile a quella delle chiavi RSA
torna al testo