Quantcast
Channel: crittoanalisi – Gestione progetti e sicurezza informatica
Viewing all articles
Browse latest Browse all 2

Le chiavi della nostra sicurezza online: la crittografia asimmetrica

$
0
0

Poche scoperte scientifiche hanno cambiato il mondo dell’informatica e della comunicazione come quella che venne presentata nell’ottobre del 1977  all’International Symposium on Information Theory dal professor Martin Hellman. In quell’occasione, lo stesso professore dovette introdurre i contenuti dell’articolo intitolato “New direction in cryptography” alla platea dei presenti anche se, in circostanze normali, avrebbe delegato volentieri quest’onore al suo studente e co-autore, Whitfield Diffie.

Ma perché non si trattò di circostanze normali e cosa avevano da temere Diffie ed Hellmann?

La ragione della cautela, per cui per gli avvocati di Stanford sarebbe stato più difficile difendere un semplice studente, fu l’avvertimento ricevuto da un membro della U.S. National Security Agency (NSA) che equiparò pubblicamente i risultati delle loro ricerche ad armi tecnologiche moderne: una semplice presentazione in un congresso internazionale sarebbe potuta essere equiparata all’esportazione di armi in altre nazioni. Questo poteva significare una cosa sola: violare la legge.

Per fortuna le accuse non furono formalizzate e, a distanza di 37 anni, nel 2015, l’articolo è valso ai due autori l’ACM A.M. Turing Award, l’onorificenza più importante nel settore informatico. Ancor di più, ad oggi, le tecnologie nate sulla base di quella ricerca proteggono le nostre transazioni online ed hanno reso possibile la diffusione di fenomeni come l’eCommerce e di tutti i servizi di comunicazione che necessitano di garantire un livello elevato di sicurezza.

diffe-hellmann

 

Qual è l’idea cardine presentata nell’articolo?

Diffie ed Hellmann introdussero per la prima volta l’idea di un nuovo modello di crittografia, la crittografia asimmetrica, e fornirono un metodo affinché due parti di una comunicazione potessero arrivare a scambiarsi in modo sicuro una chiave nonostante l’uso di un canale non sicuro.

La sicurezza dell’algoritmo Diffie-Hellmann si basa sulla complessità computazionale del calcolo del logaritmo discreto.

Se ti va di addentrarti un po’ nella matematica che sorregge l’algoritmo di Diffie-Hellmann puoi leggere quanto segue ma, se preferisci, puoi andare direttamente al paragrafo seguente da cui proseguiamo con i concetti generali legati al funzionamento ed ai benefici offerti dai cifrari asimmetrici.

Bene, prima di addentrarci nell’algoritmo Diffie-Hellmann, abbiamo bisogno di richiamare 2 semplici concetti matematici, quello di aritmetica finita (modulare) e di generatore.

[Aritmetica finita] Fissato un numero intero N, è possibile effettuare operazioni modulari tra i numeri da 1 ad N-1; ad esempio, un prodotto tra n ed m è uguale al modulo del prodotto tra n ed m nell’aritmetica a noi consueta, cioè il risultato è pari al resto della divisione intera n * m / N.

Es.: se fissiamo N=15 allora il resto della divisione tra 2*8  e 15 si scrive 2*8 mod 15 = 1.

[Generatore] In un’aritmetica finita, nel caso in cui N sia numero primo, esistono sempre dei numeri g detti generatori, ossia numeri le cui potenze modulo N producano come risultati tutti i numeri da 1 ad N-1.

Date le definizioni necessarie, entriamo nel vivo dell’algoritmo Diffie-Hellmann.

Supponiamo che due amici, Aldo e Bruno, desiderino scambiarsi una chiave segreta in modo sicuro. Si procede nel seguente modo:

  1. Aldo genera e comunica pubblicamente un numero primo P molto elevato, ad es. un numero dell’ordine di 1024 bit, circa 300 cifre decimali, e un generatore g;
  2. Aldo sceglie un numero casuale a < P e calcola A = ga mod P ed invia A a Bruno;
  3. Bruno da parte sua fa lo stesso, scegliendo un numero casuale b < N e calcolando B = gb mod P e comunica B ad Aldo; a questo punto, poiché il canale per comunicare è ritenuto non sicuro, solo i numeri a e b sono privati  e noti ad Aldo e Bruno, rispettivamente, tutti gli altri valori sono ritenuti pubblici;
  4. Aldo calcola Ba mod P;
  5. Bruno calcola Ab mod P.

Aldo che Bruno sono riusciti quindi a condividere in modo sicuro la conoscenza della chiave k = Ba mod P = gab mod P = Ab mod P. 

Se un terzo incomodo intercettasse tutti i valori comunicati da Aldo e Bruno, cioè P, g, A e B, non riuscirebbe infatti ad ottenere la chiave k se non con uno sforzo computazionale enorme, dovendo risolvere il logaritmo discreto loggA per otterere a e loggB per ottenere b, per poi calcolare k = gab mod P.

Nel modello introdotto da Diffie ed Hellmann ciascuna parte attiva in una comunicazione dispone di 2 tipologie di informazioni, o chiavi, ad essa associate: mentre una va tenuta privata, al sicuro, l’altra è resa pubblica. Per questo motivo i cifrari che adottano tale approccio sono anche detti cifrari a chiave pubblica.

Un cifrario completo, adatto quindi non solo a scambiarsi una chiave per poi procedere ad una comunicazione cifrata tramite algoritmo simmetrico, ma basato completamente sul modello di crittografia asimmetrica, fu introdotto solo 1 anno dopo, nel 1977, il famoso RSA. L’RSA è un algoritmo oggi diffuso in tutto il mondo e presente anche nel protocollo Secure Sockets Layer (SSL), che è utilizzato per rendere sicure le transazioni online ed il traffico e-mail, tra le altre cose.

Il concetto alla base del funzionamento di cifrari asimmetrici è semplice, eccolo di seguito.

Come funzionano i cifrari asimmetrici?

Ipotizziamo di avere un mittente ed un destinatario, ciascuno con la propria coppia di chiavi, una pubblica e l’altra privata. La chiave pubblica del destinatario è utilizzata dal mittente per cifrare i dati da inviargli. Le chiavi pubbliche sono facilmente reperibile e spesso vengono diffuse come allegati di semplici email, pubblicate su siti Web o in altri modi. Il destinatario, ricevuto il messaggio cifrato con la propria chiave pubblica dal mittente, può decifrare il messaggio avvalendosi della chiave privata, costruita in modo da effettuare l’operazione inversa della chiave pubblica, consentendo solo a lui di decifrare il messaggio ricevuto.

Le coppie di chiavi pubblica-privata sono calcolate secondo complesse operazioni matematiche. Le operazioni coinvolte, e la teoria alla base della loro definizione, consentono di affermare che, ad oggi, non esistono mezzi effettivi in grado di calcolare, data una chiave pubblica, la sua duale, la chiave privata.

Come descrizione intuitiva semplificata ho trovato un utile schema a colori dell’idea alla base dei cifrari asimmetrici, presentata alla pagina https://simple.wikipedia.org/wiki/Diffie-Hellman_key_exchange

Ecco la figura che spero ti divertirai ad interpretare.

Quali sono i vantaggi?

Il primo vantaggio della crittografia asimmetrica, rispetto al modello classico di crittografia simmetrica, o a singola chiave, è il superamento del problema dello scambio sicuro delle chiavi tra le parti prima di procedere con una comunicazione cifrata. Nel modello di crittografia asimmetrica, infatti, ci basta rendere pubblica una delle due chiavi in nostro possesso e, chiunque voglia inviarci un messaggio confidenziale, può prenderla, cifrare con essa il messaggio ed inviarci il risultato.

Il secondo vantaggio consisteva nella possibilità di autenticare un messaggio, introducendo la firma digitale. Sebbene oggi la tecnica più diffusa consiste nell’applicare anche tecniche di hashing, che tratteremo in un prossimo articolo, l’autentica di un messaggio è ottenibile anche con la sola applicazione del modello di crittografia asimmetrica.

Ad esempio, per rendere allo stesso tempo confidenziale ed aggiungere una prova di autenticità al messaggio, ossia fornire una prova del fatto che siamo stati proprio noi ad inviarlo e che il messaggio stesso è arrivato integro e fedele all’originale fino al destinatario, basta procedere nel seguente modo. Il messaggio va cifrato 2 volte in successione: la prima volta con la chiave pubblica del destinatario. Il risultato di questa prima cifratura deve essere a sua volta cifrato con la nostra chiave privata. All’arrivo del messaggio, il destinatario potrà utilizzare la nostra chiave pubblica per ottenere allo stesso tempo una prova che solo noi avremmo potuto cifralo in questo modo e, il risultato, è a quel punto solo a lui decifrabile con l’uso della sua chiave privata potendo ottenere il messaggio originale in chiaro.

Il processo descritto è sicuramente una semplificazione di quanto accade nella realtà dei protocolli implementati nei sistemi in uso oggi e che devono garantire autenticità e confidenzialità alle comunicazioni trasmesse, ma ne rappresenta il concetto centrale.

Conclusioni

In questo breve articolo abbiamo ripercorso la scoperta dei cifrari asimmetrici, con una semplice introduzione all’algoritmo Diffie-Hellmann e la presentazione delle idee alla base delle funzionalità e dei benefici offerti dai cifrari asimmetrici in uso oggi su molti servizi fondamentali e presenti sulla rete Internet. Come vedremo in alcuni dei prossimi articoli, le sfide aperte dai cifrari asimmetrici hanno portato a molte soluzioni e ad evoluzioni fondamentali nella direzione della nostra sicurezza online.

Se vuoi saperne di più o vuoi rimanere aggiornato sui prossimi argomenti e articoli pubblicati, iscriviti alla newsletter, prometto niente spam e.. massima privacy 😉

Ti aspetto.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles