Altro Base45

Stato
Discussione chiusa ad ulteriori risposte.

Maikie

Utente Iron
27 Agosto 2021
1
1
0
6
Ciao a tutti, ho un codice codificato con BASE45.

Per la scodifica ho già dei mezzi.

Il codice scodificato è compressato con ZLIB, qualcuno può dirmi come decompressarlo?

Ed una volta decompressato avrò un CBOR Object Signing and Encryption (formato COSE).
Da qui ho bisogno di estrarre le chiavi, gli header e il payload con una libreria opensource.. quale è la più giusta?
 
Cerca sul tuo motore di ricerca preferito "EU Digital Covid Certificate decoder <il tuo linguaggio di programmazione preferito>". Eccoti alcuni link presi letteralmente a caso da google: swift, go, python e java; se vuoi puoi anche dare un'occhiata al codice sorgente della app ufficiale del ministero della salute: ios e android.

Penso che sia inutile dirti che non è decodificando e decomprimendo il codice che riuscirai a fottere il sistema ;)
 
  • Love
Reazioni: 0xbro
Cerca sul tuo motore di ricerca preferito "EU Digital Covid Certificate decoder <il tuo linguaggio di programmazione preferito>". Eccoti alcuni link presi letteralmente a caso da google: swift, go, python e java; se vuoi puoi anche dare un'occhiata al codice sorgente della app ufficiale del ministero della salute: ios e android.

Penso che sia inutile dirti che non è decodificando e decomprimendo il codice che riuscirai a fottere il sistema ;)
Premetto che non mi sono informato bene in merito, ma ho qualche dubbio sulla sicurezza del green pass.

Se si crea un oggetto CBOR prendendo spunto da quelli già esistenti e le si codifica (base45 ecc…) in teoria a chi lo “controlla” gli appare un codice valido, o no?

Cioè voglio dire… non viene fatto nessun tipo di controllo o check su un server.

Da come ho capito (ma può darsi che mi sbagli dato che non ho approfondito) chiunque può emettere un codice valido.

Ovviamente sono tutte domande che faccio per capire se e quanto sia sicuro il geen pass, non per fregare o incitare a fregare il sistema.
 
Da come ho capito (ma può darsi che mi sbagli dato che non ho approfondito) chiunque può emettere un codice valido.

Chiunque può creare un QRCode formalmente valido, ci sono le specifiche tecniche disponibili online, come chiunque è in grado di decodificare il QRCode, anche in questo caso ci sono i documenti tecnici e l'applicazione VerificaC19 è disponibile su GitHub.

Tuttavia la sicurezza del GreenPass è data dalla firma digitale applicata con chiave privata.
Se non si conosce quella non potrai mai creare un certificato che sia anche autentico.
 
Non viene fatto nessun controllo sul server perché non ce n'è bisogno. Viene utilizzato un meccanismo di firma digitale. Nella sezione firma digitale con RSA ho spiegato brevemente cosa avviene a basso livello quando firmi con RSA. In CBOR mi pare di capire che si firma usando le curve ellittiche, quindi la matematica che c'è dietro è diversa da quella della mia guida, ma la sostanza è sempre quella: al posto di appoggiarsi sul problema della fattorizzazione, si appoggiano sul problema del logaritmo discreto; al posto di utilizzare un concetto matematico del 300 avanti cristo (teorema fondamentale dell'algebra), usa un concetto matematico del 1800 (campi di galois). Alcuni preferiscono usare RSA perché se in 2300 anni nessuno ha trovato una soluzione a quel problema allora siamo ragionevolmente sicuri che sia difficile, altri preferiscono usare le curve ellittiche perché sono molto più efficienti (offrono più sicurezza usando meno bit).

A livello pratico, scarichi la chiave pubblica una volta sola e poi puoi fare tutto offline finché la chiave non scade. Se io scarico la app oggi, mi disconnetto da internet e tu ottieni il green pass domani, io sono in grado di verificartelo senza problemi. Se non hai la chiave privata non hai modo di creare un certificato falso. Un meccanismo simile è utilizzato per mantenere sicure informazioni molto più importanti, come il conto in banca di Jeff Bezos: se sei in grado di attaccarlo il problema del logaritmo discreto, realisticamente il green pass senza vaccinazione è l'ultimo dei tuoi interessi.

Da come ho capito (ma può darsi che mi sbagli dato che non ho approfondito) chiunque può emettere un codice valido.
Puoi emettere un "green pass" tuo, ma ci sarà scritto (in informatichese) l'equivalente di "creato da drivefury"; non creato dal governo italiano. E la app ufficiale lo riconoscerà come falso.

EDIT: mi hanno preceduto, però si... è esattamente come dice DidyMond.
 
Stato
Discussione chiusa ad ulteriori risposte.