Crittografia
Home ] Up ] Client Server ] [ Crittografia ] ERP ] SQL ] TCP-IP ] E-Commerce ] Query Manager ] Automating Microsoft Outlook 98 ] BarCode ] Asp ] Il Modello Relazionale ] Studies for a Virus ] Utilizzo e creazione ] Virus ] Metodi Ottimali di Progettazione Sul WEB ] Printing ] Printing ] Masterizzare ] Strumenti ] OOP ] Backup ] Applicativi in Licenza ] Sicurezza ] Idee e Spunti ]

 

 

 

Dalla "scitala" di Plutarco alla firma digitale

Dalla "scitala", citata da Plutarco nella Vite parallele alle lettere di credito inventate dai banchieri fiorentini quindici secoli dopo, fino ad Enigma, la leggendaria macchina per cifrare, utilizzata dai tedeschi nell'ultima guerra mondiale di
Pierluigi Ridolfi

Plutarco nella Vite parallele scrive che gli efori (i magistrati di Sparta) inviarono a Lisandro una scitala con l'ordine di tornare in patria. E spiega: "La scitala consiste in questo. Gli efori, all'atto di spedire all'estero un generale, prendono due pezzi di legno rotondi e perfettamente uguali, sia in lunghezza sia in larghezza, di dimensioni cioè corrispondenti. Di questi pezzi di legno, che si chiamano scitale, uno lo conservano loro, l'altro lo consegnano al partente. In seguito, allorché vogliono comunicare qualche cosa di grande importanza e che nessuno altro deve sapere, tagliano un rotolo di papiro lungo e stretto come una cinghia e l'avvolgono attorno alla scitala in loro possesso, coprendone tutt'intorno la superficie del legno col papiro, senza lasciare il minimo interstizio. Compiuta questa operazione, scrivono sul papiro così come si trova disteso sulla scitala ciò che vogliono, e una volta scritto, tolgono il papiro e glielo mandano senza il bastone. Il generale, quando lo riceve, non può leggere le lettere di seguito, poiché non hanno alcun legame tra loro e rimangono sconnesse, finché anch'egli non prende la sua scitala e vi avvolge in giro la striscia di papiro. Così la spirale torna a disporsi nel medesimo ordine in cui fu scritta, e le lettere si allineano via via, di modo che l'occhio può seguire la lettura attorno al bastone e ritrovare il senso compiuto del messaggio. La striscia di papiro è chiamata scitala al pari del legno".

Questo è il primo esempio di crittografia, cioè di scrittura nascosta, registrato in letteratura. Quattro secoli dopo Lisandro, ci riprova Giulio Cesare con un metodo completamente diverso. Ce ne ha lasciata una bella descrizione Svetonio nella Vita del Divo Giulio: "...se vi era qualche questione riservata egli usava scrivere in cifra, e questa cifra consisteva in una disposizione apparentemente caotica delle lettere, sicché era impossibile ricostruire la parola originale. Chi voglia scoprirne il senso e decifrarla sappia che bisogna sostituire a ogni lettera la terza che segue nell'alfabeto; vale a dire dove è scritto A bisogna leggere D e così di seguito".

Questi due esempi mettono in evidenza i due cardini dei sistemi tradizionali di crittografia: il metodo e la chiave. Nel primo caso il metodo sta nel cilindro che costituisce la scitala mentre la chiave consiste nella misura del diametro della scitala stessa. Nel secondo il metodo sta nella traslazione lineare delle lettere mentre la chiave è data dall'entità della traslazione (una D che cifrata diventa A significa una traslazione di 3 a sinistra: la chiave in questo caso è -3).

Saltiamo quindici secoli per andare a Firenze, ricca grazie all'attività dei banchieri che per primi inventarono le lettere di credito per spostare denaro virtuale tra le loro varie filiali in Europa. Come si garantivano che le lettere non venissero contraffatte? Si sa che usavano una forma di crittografia, ma ci è ignota quale. Sembra che venisse applicato il metodo di Giulio Cesare: probabilmente invece di una traslazione lineare, facile da applicare ma anche facilissima da violare, checché ne dica Svetonio, adottavano un sistema di abbinamenti apparentemente casuali: ad esempio, alla A far corrispondere la F, alla B la Z, alla C la S secondo una o più chiavi tenute naturalmente segretissime. Troppo complicato? Non si direbbe, visto che a questi stessi banchieri si deve l'invenzione della partita doppia, dell'estratto conto, dell'anticipazione su tratta e dei bilanci in più valute.

La crittografia ebbe in seguito grande fortuna nelle corrispondenze degli ambasciatori e nei rapporti degli informatori: il metodo era di solito quello di abbinamento sopra descritto, più o meno complicato. Anche Enigma, la leggendaria macchina per cifrare utilizzata dai tedeschi nell'ultima guerra mondiale, immortalata in tanti film di spionaggio, non era altro che una versione complicatissima del metodo di abbinamento. Macchina complicatissima sì, ma non inviolabile, tant'è vero che qualcuno riuscì a scoprirne la chiave e consentire agli inglesi di essere informati dei piani del nemico. Il merito sarebbe stato - ma qui si entra nella leggenda - niente meno che di Turing, il geniale matematico, che a quell'epoca lavorava per l'Intelligence britannica, autore del celebre teorema che porta il suo nome, fondamento del concetto di procedura computabile e punto di partenza della Scienza dell'Informazione.

Non è più cronaca ma non è ancora storia

Siamo partiti da Plutarco e attraverso la crittografia Turing siamo arrivati all'informatica, che mai come in questo momento sta vivendo una nuova fase di allargamento di orizzonti e di campi applicativi, basati anche sulla trasmissione a distanza. Basti pensare alla posta elettronica, al commercio elettronico, alla banca elettronica: transazioni che in un istante scavalcano l'oceano e possono portare a decisioni importanti e spostare miliardi. Tutte queste transazioni richiedono una firma, elettronica naturalmente: il che significa che la firma è stata inserita attraverso la tastiera di un computer ed è costituita da una sequenza di bit. E' facilissimo firmare un documento in modo elettronico ma è ancor più facile falsificare la firma: non essendoci più la grafia caratteristica della persona chiunque teoricamente potrebbe firmare con il nome di un altro. A meno che non si ricorra a tecniche di sicurezza basate sulla crittografia. Naturalmente una crittografia di nuovo tipo, coerente con le esigenze della società moderna e adatta alle tecnologie d'oggi.

In un sistema come il nostro basato sulla comunicazione, si supponga che una certa persona, ad esempio Anna (A), voglia inviare un messaggio a un'altra, ad esempio Bruno (B), utilizzando la posta elettronica: A può spedire il messaggio in chiaro, ma in questo modo non ha alcuna garanzia che esso possa essere letto anche da qualcun'altra persona, in grado di intercettarlo lungo il percorso. Se A vuole che questo non accada, potrà crittografare il messaggio secondo un certo metodo e con una certa chiave, noti solo ad A e a B che al riguardo si sono accordati in precedenza; in questo modo il messaggio anche se intercettato da un estraneo risulterà incomprensibile. I metodi crittografici adottati sono concettualmente simili a quello di abbinamento tra le lettere accennato in precedenza, dove però la traslazione lungo un segmento viene sostituita da un complesso gioco di rimbalzi retto da una matrice a più dimensioni. Sistemi molto complessi, ma gestiti senza problemi da un computer. La chiave è un numero, oppure una sequenza di lettere, di solito abbastanza lunga: più è lunga più si ritiene che il sistema di codifica sia invulnerabile. Questo tipo di crittografia si chiama anche simmetrico perché, noti il procedimento e la chiave di codifica, per simmetria si ricavano quelli di decodifica.

Questo modo di procedere è quello generalmente usato fino a qualche anno fa, ma ha un punto debole: tutto funziona alla perfezione sempreché la chiave concordata tra A e B resti segreta. Se la chiave viene a conoscenza di qualcun altro, l'edificio crolla. Il problema si sposta allora sul come mantenere segreta la chiave. Non si tratta di un problema banale: lo sarebbe se A avesse come unico corrispondente B e dovesse pertanto gestire un'unica chiave. Ma non è così: ognuno parla con numerose altre persone, per cui le chiavi segrete da conservare sono numerose e, poiché non si possono ricordare tutte a memoria, è necessario registrare da qualche parte. E a questo punto il sistema diventa vulnerabile.

A partire dagli anni '50, anche per effetto della guerra fredda, molti matematici andarono alla ricerca di sistemi di crittografia assolutamente sicuri, senza tante chiavi e tante porte potenzialmente aperte agli intrusi. Ci riuscirono nel '77 tre scienziati del MIT, Rivest, Shamir e Adleman, che inventarono un metodo che dalle iniziali dei loro nomi è noto con la sigla RSA. Alla base di questo metodo c'è un teorema di Pierre Fermat, nato in Francia quattrocento anni fa, funzionario dello Stato e matematico per hobby: a lui sono legate alcune straordinarie scoperte nel campo della teoria dei numeri primi. Nulla di apparentemente più bello ma di più inutile, come sta scritto in qualche vecchio libro di matematica: ma proprio in virtù di questo teorema si sono realizzati i moderni sistemi di crittografia cosiddetti asimmetrici, tutti basati sul metodo RSA, vera miniera d'oro per i loro inventori che l'hanno brevettato. Pertanto non si potrà più dire che la teoria dei numeri è inutile, come nessun ramo della scienza è a priori inutile.

Questi nuovi sistemi si chiamano asimmetrici, perché la chiave di codifica e quella di decodifica non sono simmetriche, anzi sono completamente diverse e, soprattutto, non si possono ricavare l'una dall'altra. Per ogni persona le chiavi sono dunque due: una di queste viene resa pubblica, come se si trattasse del numero telefonico o dell'indirizzo di casa, l'altra resta privata, segreta, nota esclusivamente alla persona alla quale si riferisce. La coppia di chiavi viene generata una volta per tutte, secondo un metodo standard, e serve per corrispondere con tutti i membri della comunità della quale la persona fa parte. Continuando l'esempio di prima, si supponga che A e B facciano parte di questa comunità: entrambi avranno avuto in assegnazione una chiave pubblica e una chiave privata. Se A vuole che il messaggio venga letto solo dal destinatario B, lo codifica con la chiave pubblica di B. Una volta ricevuto il messaggio, B lo decodificherà con la propria chiave privata, a lui solo nota. In questo modo viene assicurata la riservatezza. Ma si può fare molto di più: se A vuole garantire B che il mittente è veramente A, e non qualcun altro che si spaccia per lui, il messaggio sarà codificato da A con la propria chiave privata; B lo potrà decodificare con la chiave pubblica di A, a tutti nota, e, se l'operazione sarà andata a buon fine, cioè se il messaggio alla fine risulterà intellegibile, significa che chi l'ha spedito è veramente A. In questo modo si ottiene la garanzia di autenticità ma contemporaneamente anche quella dell'integrità: infatti per il fatto stesso che il messaggio risulta intellegibile ed è stato spedito effettivamente dal mittente, significa che non è stato alterato.

Nella maggior parte dei casi l'autenticità e l'integrità sono di gran lunga più importanti della riservatezza: ad esempio, una contabile bancaria oppure un contratto raramente hanno esigenze di riservatezza, mentre invece è fondamentale che il contenuto e il firmatario siano certi. Ecco pertanto che le tecniche di crittografia, nate per nascondere ciò che è stato scritto, vengono applicate per tutt'altri scopi: garantire che quello scritto non è stato alterato, per dolo o incidente, e che la firma che appare è autentica.

Norme di oggi per una realtà di domani

La crittografia è stata introdotta nelle norme dello Stato con il DPR 513/97 sul Documento Informatico, con il quale viene disciplinata l'archiviazione dei documenti in forma elettronica, la loro trasmissione per via telematica, la loro sottoscrizione mediante la cosiddetta firma digitale. Il sistema è stato pensato soprattutto per i rapporti relativi alla Pubblica Amministrazione, ma di per sé potrebbe valere anche per rapporti di diritto privato. Con una variante particolarmente semplice, ma efficace, del sistema RSA, l'architettura informatica che regge la trasmissione dei documenti elettronici e la loro sottoscrizione, sempre per via elettronica, si basa sui seguenti pilastri:

ogni persona che ha rapporti con un'Amministrazione Pubblica viene dotata di una coppia di chiavi, una pubblica, l'altra privata (segreta);

la chiave pubblica viene inviata anche all'Amministrazione, insieme a tutti gli identificativi anagrafici e fiscali della persona: a domanda, l'Amministrazione è in grado pertanto di certificare 1' esistenza e la validità della persona;

il documento elettronico, qualunque ne sia il contenuto, viene trasmesso in chiaro;

del documento elettronico viene fatto un riassunto (chiamato tecnicamente impronta), che non è altro che una serie di caratteri ricavati dal testo del documento, con un procedimento speciale, tale che a una minima variazione del testo del documento corrisponde un radicale cambiamento dell'impronta stessa; qualunque sia la lunghezza del documento, la lunghezza dell'impronta è fissa e cortissima;

il riassunto viene codificato con la chiave privata (firma digitale);

la firma digitale viene posta in calce al documento (che è in chiaro) formando un unico file che viene inviato per via telematica al destinatario;

questi, al ricevimento del file, richiede all'Amministrazione la chiave pubblica della persona che appare come mittente;

se la riceve, ottiene contemporaneamente la certificazione che la persona esiste e si tratta di un nominativo "valido";

mediante la chiave pubblica ricevuta, decodifica la firma digitale e ottiene in chiaro l'impronta del documento;

ricalcola, a partire dal testo originale del documento ricevuto, l'impronta;

se le due impronte coincidono, significa che tutto si è svolto correttamente: il documento arrivato per via telematica è uguale a quello spedito, la firma è autentica e che ha firmato persona valida".

Difficile? No, perché a tutte le operazioni pensa il computer: la persona, una volta adempiute le formalità iniziali (ottenere la coppia di chiavi, caricare sul proprio PC i programmi di codifica, ecc.), può compiere tutte le operazioni in modo automatico.

Il DPR sopra citato è stato emanato a seguito della Legge 59/97, la notissima Bassanini sulla semplificazione dell' Amministrazione Pubblica. A cura dell'Aipa, sta per uscire il regolamento tecnico che disciplina in dettaglio come va gestito il processo descritto in precedenza, regolamento che per altro è già consultabile, in bozza, nel sito Internet dell'Aipa. Nel frattempo, con grande concretezza e rapidità, la Direzione Generale delle Entrate ha emanato in luglio un proprio decreto dirigenziale con il quale viene stabilito che le denunce fiscali possono essere inviate per via telematica, seguendo proprio la procedura sopra descritta per quanto riguarda la garanzia dei contenuti e dei firmatari. Il provvedimento riguarda circa 100 mila soggetti abilitati a inviare questo tipo di dichiarazioni (Banche, Poste, Associazioni di Categoria, Professionisti in materie tributarie, Caaf ecc.). Ogni soggetto deve:

dotarsi di un Personal Computer adeguato, munito di modem;

richiedere al Ministero i programmi (gratuiti) per la generazione delle chiavi asimmetriche di codifica e per la gestione delle procedure di invio delle dichiarazioni e di registrazione delle ricevute;

ottenere dal Ministero un'apposita abilitazione.

Le procedure consistono nella costruzione di un file formato da più dichiarazioni; al file va allegato il riassunto del file stesso, codificato con la chiave privata del soggetto dichiarante; il tutto (file in chiaro + riassunto codificato) va inviato per posta elettronica, chiamando un apposito numero telefonico del Ministero (telefonata gratuita). Il Ministero per prima cosa verificherà l'abilitazione del mittente e provvederà alla decodifica del riassunto, utilizzando la chiave pubblica del dichiarante. Successivamente ricalcolerà il riassunto del file e lo confronterà con quello che risulta dalla precedente operazione di decodifica: se c'è coincidenza, significa che il file non è stato alterato. Il file a questo punto viene accettato e registrato; una ricevuta elettronica (con analoghe procedure di codifica) viene spedita al mittente, che può così essere certo che la spedizione delle dichiarazioni è andata a buon fine.

Soluzione e problemi

Tecnicamente tutto fila liscio: ci sono programmi per generare le parole chiavi, per costruire l'impronta, per codificare e decodificare in modo automatico. Il documento elettronico, tanto più semplice da trattare di quello cartaceo, ha acquisito valore legale e le norme sopra descritte consentono un'infinità di nuove applicazioni.

Si può dunque dare per scontato che l'uso tecnico della firma digitale sarà molto semplice: come fare una telefonata, come spedire un fax (si compongono dei numeri e si spingono dei tasti). Il problema vero sta nel come utilizzare la firma digitale nei processi amministrativi. Per tornare alle altre tecnologie sopra citate, l'esperienza è stata finora molto deludente: quante volte un'azienda o un singolo cittadino hanno ricevuto da parte di una pubblica amministrazione una richiesta di informazioni per telefono? Eppure ormai tutti gli uffici pubblici e tutti i privati possiedono un telefono: nella maggioranza dei casi costerebbe meno e si farebbe prima con una telefonata piuttosto che con una comunicazione scritta. Di fatto questo non avviene, o meglio, avviene di rado. Da che cosa dipende questa lentezza a utilizzare le nuove tecnologie? Dove sta il vero problema? Cosa si deve fare perché il telefono, il fax, il computer, la posta elettronica, la firma digitale diventino normale strumento di lavoro per tutti, inclusa la Pubblica Amministrazione?

Spesso si è portati a considerare che l'introduzione in un'organizzazione di un nuovo strumento tecnologico, progettato per incrementare la produttività, automaticamente modifichi i vecchi processi e aumenti, come si suole dire, l'efficienza e l'efficacia. In realtà non è così: spesso nei processi aziendali si sottovaluta la componente umana e si fa anche confusione tra efficienza ed efficacia. L'efficienza è la capacità di ottenere un risultato con il minor uso di risorse: ad esempio un processo produttivo è tanto più efficiente quanto più fa aumentare la produzione e diminuire il costo unitario; l'efficienza pertanto è il classico obiettivo delle fabbriche. L'efficacia invece è la capacità di raggiungere l'effetto voluto: ad esempio, un processo di marketing è efficace se fa raggiungere all'azienda gli obiettivi di vendita, l'efficienza guarda all'uso ottimale delle risorse, l'efficacia all'ottimizzazione dei risultati; l'una si basa su quello che c'è oggi, l'altra punta al domani. C'è anche chi sostiene che l'efficienza si misura con un numero (per esempio tra 0 e 100), mentre l'efficacia ha solo due valori: il sì e il no. In altre parole un processo può essere più o meno efficiente, ma o è efficace oppure non lo è.

Se ci si pone la domanda se per un'azienda o un ramo della pubblica amministrazione sia meglio essere efficienti o efficaci, la risposta sembra ovvia, ma in realtà c'è da riflettere. Se la struttura è efficiente ma non efficace, la sua utilità è nulla (chi rimproverare? come rimediare?). Se è efficace ma non efficiente, va resa efficiente (come? c è stata colpa e di chi?). Spesso si sente dire che un certo processo è poco efficace e poco efficiente: in questi casi - sembra quasi una regola - si comincia con il perseguire l'obiettivo di migliorare l'efficienza, ad esempio con l'adozione di una nuova soluzione tecnologica che sulla carta sembrerebbe adeguata allo scopo. Nulla di più sbagliato: occorre prima rendere efficace il processo che è poco efficace, cioè che in realtà non è efficace. Solo in un secondo momento si può pensare a migliorarne l'efficienza. Tentare di agire su un processo che non va bene con l'obiettivo di raggiungere contemporaneamente l'efficacia con un livello alto di efficienza sarebbe l'ideale, però l'esperienza dimostra che quest'obiettivo può risultare velleitario.

L'obiettivo primario è sempre l'efficacia: l'efficienza viene dopo. Pertanto l'introduzione di un nuovo strumento tecnologico in un processo, sia esso aziendale o della amministrazione pubblica, può avere l'obiettivo di migliorare l'efficienza solo se il processo è già efficace; altrimenti l'obiettivo corretto da perseguire è quello di usare la tecnologia per rendere efficace quel processo che efficace non è.

Gli strumenti con i quali agire sui processi sono sempre due: le tecnologie e le risorse umane. Cambiare un processo con l'impiego di nuove tecnologie ha sempre come condizione la partecipazione delle persone. Se si riesce a ottenere una partecipazione attiva, c'è possibilità di aver successo; se la partecipazione è passiva, è difficile che lo scopo possa essere raggiunto. Il caso della firma digitale sarà particolarmente significativo: infatti, strettamente collegato a questa tecnologia c'è il problema della delega. Oggi in qualunque amministrazione la firma ha un significato di potere, riservato ai livelli direttivi; con l'introduzione della posta elettronica generalizzata questo potere verrà diluito, decentrato, spostato in basso verso i livelli operativi. Le deleghe di fatto cambieranno. Molte operazioni potranno essere concluse da personale operativo di diverse amministrazioni, che si scambieranno direttamente informazioni in modo elettronico, da PC a PC, utilizzando in modo responsabile la firma digitale e senza seguire i rami della burocrazia. La pratica sarà portata a livello direttivo solo nella fase della decisione finale. Ma perché questo accada, occorre che il personale, a tutti i livelli e le disposizioni di servizio che ne regolano l'attività, acquisiscano il concetto che con le nuove tecnologie si può lavorare meglio, sentirsi ed essere più responsabili, partecipare attivamente a far si che il processo di cui si è componenti diventi e resti efficace. Ma quanta strada c'è ancora da percorrere perché questo accada, quanta attività di formazione!

(Ndr: ripreso dalla rivista Media Duemila del mese di ottobre 1998)