Si sta parlando molto nelle ultime settimane, dei QR Code, o codici QR, in relazione al Green Pass, il “passaporto” vaccinale che dovrebbe consentirci di spostarci liberamente in Europa quest’estate.
Ma cos’è un QR Code e qual è la sua storia? Vediamo come funziona e per cosa viene utilizzato.
Pericoloso mettere sui social il Qr-Code del green pass, l’allarme del Garante Privacy
QR Code: cos’è?
I QR code, piccoli puzzle di bit, si sono guadagnati lentamente la ribalta diffondendosi nel corso di quasi 30 anni dalla loro invenzione nel 1994 presso l’azienda giapponese Denso Wave che li brevettò in modo da poterli distribuire con una licenza libera dal 1999. Questi piccoli quadrati bianchi e neri hanno trovato la consacrazione finale spinti dalla pandemia e dalla necessità di ridurre i contatti per cercare di limitare i contagi, trovando innumerevoli usi in sostituzione di più tradizionali supporti cartacei per menu di ristoranti o appunti di varia natura. Questi usi sempre più diffusi hanno, senza che ce ne accorgessimo, contribuito a creare un mondo in cui un display che mostri informazioni digitali, siano esse menu di ristoranti o indicazioni turistiche, non è più responsabilità di chi eroga l’informazione (ad esempio il ristorante che fornisce un tablet) ma di chi la fruisce utilizzando i propri dispositivi personali.
Cerchiamo di fare il punto su questa tecnologia che, grazie alla rete dati accessibile con i nostri dispositivi personali, e ad un basso costo per la generazione e la stampa, sta divenendo uno strumento sempre più utile che trova naturale applicazione nell’etichettare il mondo reale per rendere semplice l’accesso alle informazioni digitali ad esso correlate. In effetti questo semplice meccanismo consente di sovrapporre alla realtà piani di informazione digitali consentendo di “aumentare” la realtà non solo mostrando oggetti 3D virtuali ma ogni genere di informazioni che ci aiutino a riconciliare il nostro io digitale con quello reale. Dopo una breve introduzione a questi codici e alle loro capacità concentreremo la nostra attenzione su due loro impieghi: il Green pass, e il sistema open source Signs sviluppato dall’Università di Pisa che impiega i codici QR come cartelli a cui è possibile decidere quali informazioni associare dinamicamente, trovando uso nella gestione dell’emergenza sanitaria, nella didattica, nella promozione culturale e turistica di un territorio, e nella navigazione indoor.
Anatomia di un codice QR
Un codice QR consente di codificare delle informazioni all’interno di un’immagine che può essere decodificata da un apposito software sempre più spesso già disponibile nell’applicazione camera del proprio telefono. Una delle caratteristiche che rendono i codici QR (anche detti a matrice o 2D in contrapposizione ai codici a barre) così apprezzati è la possibilità di leggerli utilizzando una normale telecamera, senza richiedere lettori speciali come accade per i più vecchi codici a barre (che si possono leggere anche con la telecamera ma in modo molto più farraginoso).
Un QR code è caratterizzato dai tre quadrati che si notano negli angoli e che hanno lo scopo di aiutare il software di decodifica a trovare un codice in un’immagine e “raddrizzarlo” per poter leggere i suoi bit che ne definiscono l’apparenza (bianco: 0, nero: 1).
Il codice d’esempio che riprenderemo più avanti contiene una URL. Se si è visto il codice del Green-pass o altri codici “densi” ci si rende subito conto che al crescere dell’informazione contenuta in un codice ne aumenta la complessità e il numero di bit. È quindi lecito chiedersi quanta informazione possa contenere al massimo un codice QR, e la risposta è semplice: al più 2953 byte, ovvero quasi 3Kilobyte! Se memorizziamo solo cifre questa capacità sale a 7089 caratteri, e se invece utilizziamo lettere e cifre scendiamo a 4296 caratteri.
Non è però vero che tutti questi bytes o caratteri che possono essere codificati all’interno di un codice, infatti questi codici memorizzano l’informazione in modo ridondante così da poter correggere eventuali errori di lettura (sia difetti dell’immagine acquisita che errori nella stampa). Lo standard prevede quattro livelli di correzione degli errori (chiamati L, M, Q, e H) che corrispondono rispettivamente al 7%, 15%, 25% e 30% delle parole che possono essere danneggiate senza compromettere la capacità di decodificare il codice. In effetti i codici QR che contengono immagini non sono altro che codici normali a cui volutamente si è coperto una parte dell’informazione contando sulla ridondanza. Ecco quindi, che con il livello H un codice QR può contenere circa 2Kbyte di informazione utile.
Il seguente codice contiene esattamente la stessa informazione del precedente ma con un livello di correzione di errore massimo che ci consente di coprirlo fino al 30% senza comprometterne il funzionamento. Grazie a questo abbiamo sovraimpresso un logo che lo renda riconoscibile per una funzione specifica.
Esistono numerose applicazioni che consentono di visualizzare il contenuto di un codice QR, anche quando non contiene dati che sono immediatamente fruibili come nel caso di indirizzi Web. Se si vuole giocare con questa tecnologia è quindi auspicabile di dotarsi di una tra le tante app capaci di leggere questi codici.
Il Green pass
Queste vacanze dipendono dal possesso dell’ormai famoso Green pass, in essenza un QR code che testimonia il nostro stato vaccinale (o di tampone effettuato nelle 48 ore precedenti) e che può essere esibito come prova del proprio status. È lecito quindi chiedersi cosa nasconda quel codice QR e che livello di affidabilità abbia. Può essere contraffatto? Si può alterare la data della vaccinazione? Sono poche semplici domande che sorgono spontanee osservando questo pattern complesso da cui dipende la nostra libertà di movimento in questa epoca di emergenza.
Con un po’ di ricerca si trova facilmente la specifica del codice QR sul sito della comunità Europea, in particolare il Volume 3 fornisce i dettagli comprendere il contenuto del codice QR del Green pass. Senza entrare nel dettaglio la specifica mostra come, partendo dalle informazioni del certificato espresse nel formato JSON (formato testuale per descrivere dati strutturati) si arrivi alla formazione del codice che è stato già inviato a milioni di italiani come mostrato nella figura.
Senza entrare troppo nel dettaglio è importante sottolineare che l’informazione viene prima convertita nel formato binario CBOR (in accordo allo standard RFC8152 che definisce il Concise Binary Object data Representation) che viene poi firmato digitalmente in accordo allo stesso standard.
Poiché abbiamo imparato che i QR code hanno dei limiti di capienza è previsto un passo di compressione del certificato firmato utilizzando la libreria Z-Lib. Le informazioni così ottenute vengono convertite in caratteri usando il formato Base45, cugino del più noto Base64 ma concepito per i codici QR al fine di massimizzare l’informazione che si riesce a memorizzare nel codice.
L’applicazione che valida il codice del Green pass rilasciata dal Ministero della Salute non fa altro che invertire il processo e utilizzare la chiave pubblica del sigillo di firma per verificare la provenienza e l’integrità del dato. Quindi, a meno che non si rompa la firma elettronica, l’alterazione del contenuto e la contraffazione del certificato sono decisamente difficili. Va però detto che l’unico modo per verificare la fonte del dato è quello di utilizzare la App, se ci si limita a guardare l’aspetto esteriore del pass si possono ingannare i controllori. La verifica può essere effettuata off-line, ma è auspicabile che vi sia la connessione di rete così che le app possano effettuare controlli in rete per eventuali cambiamenti o revoche. In ogni caso solo gli operatori autorizzati come indicato dalla pagina del Ministero della Salute hanno titolo per effettuare la verifica del documento.
I QR code nella cartellonistica
Come abbiamo avuto modo di osservare il Green pass è decisamente un uso sofisticato dei codici QR, l’uso ordinario e alla portata di tutti è quello di codificare all’interno di questi codici indirizzi Web, biglietti di visita e password per accedere al WiFi senza dover scrivere password sempre più complesse.
Nell’immediato memorizzare un indirizzo Web statico all’interno di un codice sembra una buona idea: è facile da fare e basta stampare il codice ottenuto per poter avere un “portale” fisico che da accesso ad una risorsa digitale. Questo approccio soffre però di numerosi difetti: il primo è come assicurare che la URL memorizzata in un codice rimanga valida nel tempo, c’è poi la necessità di stampare solo quando l’informazione è disponibile, spingendo naturalmente per creare etichette da applicare nel mondo fisico per applicazioni specifiche, riducendo l’impatto che questi utili strumenti possono avere nel semplificare l’accesso a contenuti digitali.
Capita spesso infatti di vedere più codici QR su un singolo apparato, sintomo della mancata pianificazione dell’evoluzione del contenuto e quindi la necessità di associare più codici allo stesso luogo o oggetto.
QR Code e cartellonistica 4.0
Per far fronte al rientro in aula nel primo semestre del 2020 (purtroppo breve a causa dell’aggravarsi della pandemia) l’Università di Pisa ha sviluppato un sistema Open Source chiamato Signs la cui prima applicazione è stata quella di effettuare il tracciamento dei contatti in aula, ma si tratta di un approccio diverso rispetto a quello tradizionale e che stiamo impiegano in collaborazione con l’assessorato alla cultura del Comune di Pisa per una cartellonistica smart capace di fornire contenuti dinamicamente a cittadini e turisti.
Lo schema di funzionamento del sistema è semplice: si tratta di un broker, una sorta di DJ digitale, che dato l’identificativo unico di un particolare “segno” ed eventuali altre informazioni di contesto come ad esempio data ed ora, reindirizza il dispositivo ad una particolare risorsa Web.
Chi scansiona non vede l’esistenza di questa intermediazione, ma in questo modo è possibile assicurare che l’investimento effettuato per etichettare un cartello possa durare nel tempo.
Questo sistema è stato utilizzato per etichettare oltre 10.000 sedute del nostro Ateneo, e facendo puntare i codici QR ad un’applicazione che registra l’identità dello studente che si siede in un certo posto in modo da consentire da sapere se il posto è già stato utilizzato (e in accordo alle protocollo di sicurezza del momento non più utilizzabile senza una sanificazione) e in caso di tracciamento poter contattare più efficacemente eventuali persone entrate in contatto con un positivo. Si prevede però in futuro di poter far puntare gli stessi codici a contenuti didattici che docenti possono mettere a disposizione durante le lezioni rendendo più interattiva l’esperienza didattica in presenza, o per erogare altri servizi come ad esempio gli accessi alle aule studio.
Lo stesso sistema è stato poi adottato in ambito cittadino dove è stato sperimentato sul campo per la prima volta per inaugurare la “Linea Galileo” un percorso cittadino che consente di esplorare luoghi rilevanti nella vita del celebre scienziato potendo fruire di contenuti interattivi che arricchiscano la loro visita.
La capacità del sistema di “disaccoppiare” il segno dal contenuto digitale si sta dimostrando promettente e da un grande potenziale che sarà esplorato nei prossimi mesi.
L’uso di loghi sui codici si è rivelato un meccanismo di comunicazione importante poiché i codici QR sembrano tutti uguali, ed è quindi necessario adottare un linguaggio grafico che aiuti gli utenti a decidere se scansionare un codice o meno.
Conclusioni
I QR code hanno ormai una lunga storia alle spalle, e quindi sono robusti e facilmente usabili da praticamente ogni piattaforma. La pandemia li ha portati alla ribalta e sempre più istituzioni pubbliche e private li hanno adottati per dematerializzare riducendo la necessità di sanificare per ridurre i contagi.
Al di là della contingenza questo uso sempre più massivo ha trasformato il ruolo di questi codici da semplice curiosità a punto informativo fruibile con i propri dispositivi personali, sollevando chi produce il contenuto di dover fornire un lettore a chi lo deve fruire. Ecco quindi, che un codice QR può sostituire un’audioguida in un museo, o un tablet per scegliere le portate in un ristorante.
Abbiamo esplorato due usi più articolati di questa tecnologia che dopo tanti anni ci regala sempre nuove sorprese e applicazioni.