Chiavi asimmetriche. Se ne sente parlare molto ultimamente, soprattutto riguardo al Green Pass.

La crittografia asimmetrica è conosciuta anche come crittografia a chiave pubblica/privata. E’ un tipo di crittografia basata su una coppia di chiavi: una chiave pubblica, che deve essere distribuita, e una chiave privata che deve restare in possesso del solo proprietario.

Qual è il principio alla base della crittografia asimmetrica?

Il principio è questo: con la chiave privata si cifra, con uno specifico algoritmo, un dato decifrabile solo da chi possiede la corrispondente chiave pubblica (o viceversa).

Questo permette di cifrare dati con la chiave pubblica per garantire che solo il titolare della chiave privata possa decifrarlo. D’altra parte consente di usare la chiave pubblica per autenticare un dato cifrato dal proprietario con la chiave privata abbinata.

La sicurezza del sistema di cifratura, quindi, dipende dalla corretta conservazione della chiave privata.

Il Green Pass usa le chiavi asimmetriche?

Il sistema di cifratura a doppia chiave asimmetrica utilizzato per il Green Pass riguarda solo la “firma“ dell’ente emittente. I dati contenuti nel QRcode sono molto più numerosi di quelli visualizzati dalle app di verifica dei vari Stati europei. In questo caso i dati si trovano in una struttura (di tipo json) facilmente leggibile da parte di un tecnico.

Per la generazione della “firma”, che altro non è che l’hash della struttura json, serve una chiave privata detenuta dall’ente che emette la certificazione. Per la verifica della “bontà” della firma, è necessaria la chiave pubblica corrispondente, liberamente scaricabile.

Se, per ipotesi, venisse variato anche uno solo dei dati contenuti nel green pass, la verifica della firma fallirebbe e il certificato risulterebbe non valido.

L’elenco completo dei dati contenuti nel QR Code del Green Pass è descritto in un documento tecnico rilasciato dall’UE al quale si devono attenere tutti gli stati membri.

Le applicazioni per il controllo del green pass sono open source e sono rese disponibili a tutti attraverso la piattaforma per sviluppatori Github. l’UE mette a disposizione di tutti gli Stati membri un webservice, il cui codice sorgente è anch’esso disponibile su Github, che contiene tutte le chiavi pubbliche valide per verificare i green pass.

Per creare un green pass fasullo, quindi, non è sufficiente partire da un green pass valido e sottoporlo a manipolazioni di qualche tipo, ma è necessario essere in possesso di una coppia di chiavi privata/pubblica valida ed utilizzarla per generare un green pass valido, ma con dati non corrispondenti alla realtà.

Tagged in:

, ,