In un precedente post sono state analizzate le principali differenze fra la crittografia asimmetrica e simmetrica, prestando particolare attenzione al processo di firma digitale.

Ricordando che la crittografia asimmetrica, anche nota come crittografia a chiave pubblica/privata, è un tipo di crittografia in cui a ciascuna entità è associata una coppia di chiavi:

  • Una chiave pubblica accessibile a tutti coloro che necessitano di scambiare informazioni con l’entità proprietaria.
  • Una chiave privata, custodita e tenuta segreta dal legittimo proprietario.

Ogni volta che un messaggio sarà cifrato con una delle due chiavi, sarà possibile decifrarlo solo utilizzando la chiave corrispondente della coppia generata. Altro aspetto da tenere a mente, è che la conoscenza di una delle due chiavi non consente in pratica di risalire all’altra, e questo per la natura stessa degli algoritmi asimmetrici.

I principali scopi dell’utilizzo della crittografia asimmetrica sono:

  1. Invio di un messaggio cifrato ad un destinatario.
  2. Verifica dell’autenticità di un messaggio.

Vediamo in dettaglio i vari scenari possibili:

Invio di un messaggio cifrato ad un destinatario – segretezza ed integrità

Immaginiamo che l’utente Marco voglia inviare all’utente Roberto un messaggio cifrato, è necessario che Marco utilizzi la chiave pubblica di Roberto per cifrare il documento. A questo punto solo colui che è in possesso della chiave privata associata alla chiave usata per la cifratura, quindi Roberto, potrà leggere il contenuto del messaggio dopo averlo decifrato. Il processo descritto garantisce la segretezza e l’integrità dell’informazione trasferita tra i due attori.

crittografia asimmetrica

Invio di un messaggio cifrato di cui si voglia garantire autenticità e non ripudiabilità

Immaginiamo che l’utente Marco voglia inviare un messaggio cifrato all’utente Roberto, lasciando che il suo interlocutore possa verificarne l’autenticità e l’origine con certezza. Marco utilizza la sua chiave privata per cifrare il documento da inviare a Bob. A questo punto tutti coloro che sono in possesso della chiave pubblica di Marco potranno decodificare il messaggio ed essere certi che sia stato Marco ad inviarlo e che il messaggio è autentico. Il processo descritto garantisce quindi l’autenticità e la non ripudiabilità dell’informazione trasferita tra i due attori.

crittografia asimmetrica 2

Abbiamo quindi imparato che la crittografia asimmetrica rappresenta una possibile soluzione ogni qual volta si intenda proteggere segretezza, integrità e non ripudiabilità di un documento.

Ma quando è nata la crittografia asimmetrica e quale è l’algoritmo più popolare?

I primi algoritmi con chiavi asimmetriche sono stati sviluppati in segreto dall’agenzia di intelligence britannica GCHQ, nel 1973. Le attività di analisi non sono state rese pubblico fino al 1997, quando il governo britannico ha declassificato documenti inerenti ad esse.

La prima pubblicazione di un algoritmo asimmetrico disponibile in commercio risale al 1977, l’algoritmo in questione è il popolare RSA, il cui nome è la composizione delle iniziali dei suoi tre inventori (Ron Rivest,, Adi Shamir e Leonard Adleman).

Quando si usa la crittografia asimmetrica?

Gli algoritmi asimmetrici, sebbene estremamente robusti, sono computazionalmente più costosi di quelli asimmetrici. Per questo motivo algoritmi come l’RSA non sono utilizzati per la cifratura di grosse moli di dati, bensì per informazioni di dimensioni ridotte come possono essere chiavi simmetriche.

La crittografia asimmetrica è utilizzata per molte applicazioni, dalla firma digitale allo scambio sicuro delle chiavi simmetriche su connessioni web sicure, molto spesso non ci rendiamo neppure conto degli algoritmi che stiamo utilizzando nelle operazioni quotidiane.

Altro esempio d’uso è il “Pretty Good Privacy” (PGP), ovvero è un programma per l’invio di messaggi protetti attraverso l’uso combinato di algoritmi di crittografia simmetrica ed asimmetrica. Tipicamente coloro che intendono ricevere messaggi PGP rendono pubblica la loro chiave asimmetrica, di solito una chiave pubblica RSA.

In maniera analoga si utilizzano algoritmi di crittografia asimmetrici per lo standard S/MIME, acronimo di Secure/Multipurpose Internet Mail Extensions. Lo standard definisce le specifiche per l’invio di messaggi di posta elettronica in formato MIME.

Ed ancora, il popolare protocollo di rete SSH utilizzato per le connessioni remote ai sistemi operativi Unix-like utilizza crittografia a chiave pubblica per l’accesso sicuro alle macchine, oppure i sistemi di cifratura del disco, come BitLocker di Microsoft. I sistemi di cifratura dei dischi memorizzano in modo sicuro le chiavi di crittografia autorizzandone l’accesso solo a software autorizzati, per la protezione dei dati si usano algoritmi simmetrici, essendo grandi volumi, le cui chiavi sono crittografate utilizzando l’algoritmo asimmetrico RSA.

 

 


Pierluigi PaganiniAutore: Pierluigi Paganini

Membro del Gruppo di Lavoro Cyber G7 2017 presso Ministero degli Affari Esteri e della Cooperazione Internazionale
Membro Gruppo Threat Landscape Stakeholder Group ENISA (European Union Agency for Network and Information Security)
Collaboratore SIPAF –  Prevenzione dell’ utilizzo del sistema finanziario per fini illegali – Ministero Dell’Economia e delle Finanze

6 COMMENTS