Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca
Crowdstrike

Crittografia quantistica e l’algoritmo BB84 – Lezione 9

Roberto Campagnola : 7 Giugno 2022 13:14

Autore: Roberto Campagnola
Data Pubblicazione: 05/05/2022

Come scrive Mario Rossano, esperto di crittografia e collaboratore di RedHotCyber, la crittografia è una particolare disciplina, o meglio, un insieme discipline che al giorno di oggi sono fondamentali, anche se non ce ne rendiamo conto in maniera palese.

Guardare un film in streaming, accedere ai servizi di online banking e non solo, ascoltare musica via bluetooth, aprire la macchina con il portachiavi a distanza, scaricare app, tutto quanto fa uso di protocolli crittografici.

La crittografia studia i metodi per rendere non intellegibile un messaggio a persone indesiderate e ha un’origine antichissima: se al giorno d’oggi abbraccia un enorme campo d’interessi, dalla finanza alla sicurezza nazionale, anche in tempi antichissimi era usata per nascondere “al nemico” informazioni sensibili.

Si hanno testimonianze di sistemi e metodi per comunicare in maniera segreta e controllata già nell’antica Sparta, e a Giulio Cesare è attribuito la creazione e l’uso del cosiddetto cifrario di Cesare durante le guerra di Gallia. In tale sistema crittografico si usa un alfabeto in cui ogni lettera è sostituita da un altra, che si trova in un fissato numero di posizioni successive nell’alfabeto.

Cifrario di Cesare (Fonte Wikipedia)

Tale sistema era difficilmente risolvibile in epoca antica, ma attualmente rappresenta un mero esercizio.

Bisogna notare che i due utenti legittimi del cifrario dovevano precedentemente scambiare tra loro in modo sicuro la chiave per rendere comprensibile il messaggio, cioè il numero di posizioni di cui erano spostate le lettere, assumendo che nessun altro ne fosse a conoscenza, mentre potevano scambiarsi il messaggio cifrato anche pubblicamente.

Il primo codice non decifrabile, il cifrario di Vernam, fu inventato nel 1917 da Gilber Vernam, anche se la prova matematica della sua inviolabilità fu dimostrata solo nel 1949 da Claude Shannon.

Un esempio di protocollo per un cifrario di Vernam prevede:

  1. il testo in chiaro è scritto come una sequenza binaria di 0 e 1;
  2. la chiave è una sequenza binaria completamente casuale della stessa lunghezza del messaggio;
  3. il testo cifrato è ottenuto mediante somma modulo 2 bit a bit con il messaggio originale.

Il codice è inviolabile a patto che la chiave sia casuale, in modo tale che anche il messaggio cifrato sia casuale. La chiave, inoltre, non fornisce alcuna informazione sul messaggio originale.

E’ fondamentale che la chiave sia usata solo una volta (i cifrari di questo tipo sono chiamati one time pad). Se essa è utilizzata più di una volta, e se un utente illegittimo è in grado di visionare due testi cifrati, allora la loro addizione modulo 2 è equivalente all’addizione modulo 2 dei corrispondenti testi originali.

Poiché nei testi semplici sono presenti ripetizioni (non essendo testi binari casuali), il codice è violabile. Il problema principale della crittografia, quindi, non è la trasmissione del messaggio cifrato, ma la distribuzione della chiave segreta.

Questa distribuzione richiede una sorta di “corriere fidato”: il problema della segretezza delle comunicazioni si trasforma, quindi, nel problema di segretezza della chiave.

Un utente illegittimo può in linea di principio trovare un modo per leggere la chiave senza lasciare alcuna traccia delle sue azioni. E’ questo il nodo fondamentale su cui può intervenire le meccanica quantistica e il quantum computing applicato alla crittografia. Bisogna come sempre rimarcare che al momento ancora siamo allo stadio iniziale e che molti atri studi ed esperimenti sono necessari.

Crittografia quantistica e distribuzione della chiave

Il problema fondamentale durante la trasmissione di un messaggio cifrato è potersi accorgere dell’intrusione di un eventuale eavesdropper, che possa intercettare il messaggio o la chiave. Abbiamo già parlato nei numeri scorsi della rubrica e più volte su RedHotCyber di come un computer quantistico potrebbe influire sulla decifratura di codici e messaggi grazie alle prestazioni senza precedenti che potrebbe offrire.

Attraverso le proprietà fondamentali della meccanica quantistica vedremo come il problema della distribuzione della chiave possa essere risolto ed esamineremo uno dei primi algoritmi di cifratura quantistica chiamato BB84.

La legge fondamentale della natura che viene in soccorso ai crittologi in questo caso è il principio di indeterminazione di Heisenberg, secondo cui non è possibile conoscere simultaneamente e con precisione arbitraria due coppie di grandezze. Tentando una misura di una delle grandezze lo stato del sistema viene irrimediabilmente alterato; un problema non da poco per un eventuale intercettatore di messaggi.

Nel 1984 Bennet e Brassard pubblicarono un protocollo per la distribuzione di chiavi scelte in maniera randomica per crittare e decrittare messaggi, usando tecniche quantistiche; nello specifico si avvalsero della polarizzazione dei fotoni, cioè la grandezza che descrive la direzione di oscillazione del piano di un’onda elettromagnetica.

Un fotone può avere una polarizzazione circolare (destra o sinistra, o una combinazione delle due) e una polarizzazione lineare (verticale o orizzontale, o una combinazione delle due).

I protagonisti del nostro “test” sono come da consuetudine Alice, Bob ed Eva, l’autrice dell’intercettazione.

Alice e Bob vogliono creare una chiave segreta in comune per comunicare privatamente. Sono connessi da un canale di comunicazione classico che può risultare aperto e un canale quantistico entrambi osservabili da Eva.  Alice invia fotoni opportunamente polarizzati attraverso il canale quantistico a Bob che ne misura il loro stato quantico

Alice invia una sequenza di bit a Bob codificando ogni bit nello stato quantistico di un fotone. Per ogni bit, Alice sceglie casualmente una delle seguenti due basi di polarizzazione:

La base + indica la polarizzazione lineare (verticale -orizzontale), la base la polarizzazione diagonale combinazione lineare delle due

Bob misura lo stato dei fotoni che riceve scegliendo casualmente ciascuna base.

Dopo la trasmissione dei bit, Bob e Alice comunicano attraverso il canale aperto la base che hanno usato per codificare e decodificare i bit. In questo modo entrambi possono determinare quali bit sono stati trasmessi correttamente, cercando le corrispondenze tra la base di invio e la base di ricezione. I bit per cui viene trovata una corrispondenza saranno usati come chiave mentre gli altri saranno rifiutati. In media, si troverà una corrispondenza del 50% su tutti i bit trasmessi.

Ipotizziamo che Eva intercetti la comunicazione, misuri lo stato dei fotoni trasmessi da Alice, e rimandi nuovi fotoni aventi lo stesso stato. In questo processo, lei userà la base sbagliata circa il 50% delle volte, e ognuna di quelle volte inoltrerà a Bob il bit con la base sbagliata.

Quindi quando Bob misurerà uno dei qubit mandati da Eva con la base “corretta” (ossia la stessa che ha usato Alice) la probabilità di misurare un risultato sbagliato sarà del 25%. Un eventuale intercettazione del canale quantistico introdurrà una quantità di errori che Alice e Bob possono individuare comunicando una quantità sufficiente di bit di parità della loro chiave sul canale aperto.

Come risultato, la versione di Eva della chiave sarà sbagliata del 25%, ed inoltre Alice e Bob avranno evidenze che qualcuno ha tentato un attacco e intercettato il messaggio. La chiave ottenuta da questo protocollo può essere usata come chiave per un cifrario di Vernam e garantire in seguito comunicazioni sicure.

La meccanica quantistica sembra avere posto fine alla battaglia tra crittografia e crittoanalisi (la prima studia metodi  e tecniche di cifratura che devono essere sempre più sicuri, mentre alla seconda spetta la funzione della decifratura), ma come già scritto sono necessari moltissimi altri studi ed esperimenti su un percorso lungo e niente affatto semplice.

Ma non è questo un buon motivo per andare avanti!?

Fonti
https://www.redhotcyber.com/post/crittografia-il-mondo-nascosto-intorno-a-noi/
“Crittografia quantistica e algoritmo di Shor” M. Bandini

Roberto Campagnola
Laureato in fisica delle particelle, attualmente assegnista di ricerca presso i Laboratori Nazionali di Frascati-INFN e il CERN, si occupa dell’upgrade dell’esperimento CMS – Compact Muon Solenoid per il Large Hadron Collider.