Benvenuti a “Privatlandia”, il paese dove la privacy ha la massima priorità (ma non esiste) - Agenda Digitale

protezione dei dati

Benvenuti a “Privatlandia”, il paese dove la privacy ha la massima priorità (ma non esiste)

Ogni smartphone mantiene in un file, di solito nascosto, un sacco di informazioni sulle attività e sulla localizzazione del dispositivo, anche quando questa è disattivata. Per abilitare il tracciamento, Apple chiede ora il consenso, ma non così Android. Esiste un modo per essere noi i padroni delle nostre informazioni?

09 Set 2021
Fabrizio D'Amore

Professore Associato di algoritmi, informatica teorica e sicurezza informatica presso Sapienza Università di Roma

Amazon, cosa sappiamo della sanzione del Garante della privacy del Lussemburgo

Osservo l’attività del Garante privacy e non posso certo dire che perda tempo; piuttosto, ha il problema di gestire forze relativamente esigue di fronte a una minaccia incombente, persistente e pericolosa, quale quella presentata dalle forze del male, che tentano in tutti modi distruggere la protezione dei dati, cercando di violarne la confidenzialità, laddove sia richiesta, e di conoscere i comportamenti dell’utente “normale”, non solo analizzando le sue mosse sul web, ma potenzialmente sorvegliandolo continuamente, perché ormai chiunque “fa cose” o si “sposta” porta con sé uno smartphone, capace di localizzarlo, descriverne le attività attraverso i dati forniti da una miriade di sensori. E per giunta non è neanche possibile deattivarli se non togliendo le batterie dallo smartphone, quando consentito dalle caratteristiche del dispositivo.

Eppure, sento un problema, non facile da sviscerare, che mi fa dubitare delle priorità messe in campo dalle forze del bene, che contrastano l’attentato permanente ai dati personali, privati o confidenziali. Certo, le motivazioni del maligno possono essere svariate e differenti, ma alla fine egli tenta di incidere sulla nostra privatezza. Attacchi mirati, attacchi a pioggia, la musica non cambia perché ciò che è a rischio sono sempre i nostri dati.

I nostri smartphone sanno tutto dei nostri spostamenti

Ma andiamo con ordine. Non tutti sanno che ogni smartphone mantiene in un file, normalmente nascosto, un mucchio di informazioni sulle attività e sulla localizzazione del dispositivo, anche quando la localizzazione è disattivata. Fino a pochissimo tempo fa, questo file era a disposizione degli sviluppatori di app, che lo usavano ai fini di tracciamento per una maggiore efficacia dei messaggi pubblicitari da inviare a dispositivo. Nella seconda metà del 2020 un importante produttore come Apple ha deciso di far richiedere il permesso per tale tracciamento. Cosa che era stata sempre consentita in maniera invisibile,[1] è che è tuttora consentita sui dispositivi Android. Forte il disappunto del gigante Facebook, che misurava l’efficacia delle inserzioni pubblicitarie attraverso l’IDFA (ID for Advertiser), codice univoco che contraddistingue un singolo dispositivo; ora Apple costringe gli sviluppatori di app a chiedere il consenso per accedere ai dati e all’IFDA, mentre il sistema operativo più diffuso al mondo non lo fa. Immagino che gli sviluppatori per Apple ora saranno costretti a ricorrere al fingerprinting[2] dei dispositivi.

WEBINAR
28 Ottobre 2021 - 12:00
FORUM PA 2021- Sanità: Cybersecurity, conoscere per non rischiare
Sicurezza
Cybersecurity

Ma queste sono questioni tecniche, importanti sì, ma non semplicissime da seguire e gestire. Altre questioni molto più di base potrebbero emergere e imporre una visione diversa.

Benvenuti a Privatlandia

Penso al paese immaginario di Privatlandia, ove le persone, e la loro privatezza, hanno la massima priorità e tutti sono strati educati a perseguirla e rispettarla. In Privatlandia, esiste una semplice regola: quando, per qualche ragione, consegno il mio numero di telefono a un altro utente, chiamiamolo U, gli consegno anche un numero naturale n, elemento di {0, 1, 2, 3, …} che ho scelto arbitrariamente e che esprime il mio consenso al fatto che U diffonda il mio numero: 0 significa che non può; n > 0 significa che può, ma il ricevente ottiene il numero di telefono ed n-1. In pratica significa che possono ricevere tale numero tutte e sole le persone “a distanza n” da U.

Non è una questione da poco. Un utente consegna la sua rubrica a molte app e le persone in rubrica, spesso nome-cognome-funzione-telefono, non hanno nessun controllo su come i loro dati vengono usati dalle app dei loro contatti. Supponiamo che il sig. X un giorno decida di prendere un nuovo numero di telefono, con l’intenzione di comunicarlo a poche persone fidate: come può il sig. X controllare a quali app queste persone “fidate” consegneranno la rubrica e quindi anche il numero del sig. X? Addirittura, può sembrare che un’app abbia validi motivi per accedere alla rubrica, ma poi quali usi ne farà? Se le persone “fidate” ricevono n = 0 allora non potranno consegnare il numero del sig. X. Può realmente funzionare questa idea?

Per rispondere, allora domandiamoci “come fa una persona a conoscere un numero di telefono?”. Vari motivi, analizziamoli.

Il sig. Y può avere il numero del sig. X in rubrica perché lo stesso sig. X, o persona autorizzata, glielo ha inviato, usando una primitiva offerta dal sistema operativo che assicura il fatto di inviare il corretto valore del numero n assieme al numero di telefono. Essendo una primitiva del sistema operativo tutte le app che consentono l’invio del numero la useranno. Tale primitiva provvede a consegnare, assieme al numero di telefono, anche il corrispondente valore di n. Ora due sono i casi: chi consegna il numero ne è il proprietario, ed allora è abilitato a scegliere un valore di n, oppure non lo è, e allora deve possedere il numero con un valore di n maggiore di zero, e che verrà decrementato nella consegna (chiaramente se il valore era nullo non sarà usabile la primitiva di consegna).

Un altro caso è quello in cui il sig. Y riceve una telefonata dal sig. X e ha accesso al numero del chiamante. In tal caso il sig. Y ha potuto inserire in rubrica il numero del sig. X, ma il valore di n associato è automaticamente deciso essere zero e quindi non può inviarlo.

Terzo, il sig. X può ricorrere alla dettatura per comunicare ad Y il suo numero: in tal caso Y può manualmente impostare il numero in rubrica, ma il valore di n ad esso associato sarà automaticamente zero.

Inoltre, si può fare in modo che il telefono che ha un numero in rubrica lo possa usare ma non lo mostri all’utente, che in effetti non ne ha necessità; ciò comunque non è strumentale al funzionamento del protocollo.

Infine, è definito un registro pubblico, facilmente accessibile via rete, in cui vanno riportati tutti i numeri che per qualunque ragione sono ritenuti dal legittimo proprietario numeri pubblici; questi vengo gestiti (e marcati) separatamente e possono essere inoltrati a piacimento (non hanno bisogno di essere accoppiati a un intero n).

Tutto ciò sembra molto bello e anche facile da realizzare dal punto di vista della programmazione, a patto di considerare l’autorizzazione di accesso alla rubrica come una cessione dei numeri ivi contenuti, possibile solo se accoppiati a un n positivo, ovvero pubblici.

Conclusioni

Ciò che quotidianamente avviene in rete nel nostro mondo ci ha in realtà mostrato che un attaccante spesso si basa su vulnerabilità presenti in un’applicazione, mandandola in errore, lasciando il sistema in uno stato non definito, o peggio, compromesso. Ciò può essere evitato essenzialmente in due modi: l’applicazione (e quindi la primitiva di sistema operativo) viene progettata sicura “by design”, e cioè usando metodologie di progetto che tengono conto della sicurezza fin dall’inizio, ad esempio quelle descritte nell’ambito del noto del noto progetto Owasp,[3] o usando bene la crittografia, garantendo che ciò che non deve essere “visionato” appaia in effetti inintelligibile, divenendo intellegibile solo se si è in possesso di una chiave legittima, o meglio solo se si possiedono abbastanza frammenti di informazione appropriata; si parla in questo ultimo caso di sicurezza “information-theoretic”, che deriva non da come è fatta un’applicazione, ma dalla pura teoria dell’informazione; in tal caso l’attaccante non può compromettere la piattaforma neanche se è dotato di potere computazionale infinito,[4] il che è naturalmente un’astrazione.

Opportuno sottolineare che gli abitanti di Privatlandia sono stati educati fin da bimbini a come scegliere valori per n, ma, alla peggio, si può scegliere fra n zero ed enorme, o anche numero pubblico, per ottenere i due comportamenti “estremali”.

Come obbligare le parti a rispettare le regole e soprattutto a non manomettere n, definendo ogni dettaglio crittografico, è tutt’altro che semplice: è una buona occasione per rindossare il cappello da studioso.

  1. https://www.dday.it/redazione/39313/ios-145-come-cambia-la-gestione-della-privacy
  2. https://coveryourtracks.eff.org/learn
  3. https://patchstack.com/security-design-principles-owasp/; il sito di Owasp (Open Web Application Security Project) è https://owasp.org/
  4. Nel caso di chiave, almeno in linea di principio, l’attaccante può provare ad usare la “forza bruta”, generando e provando tutte le possibili chiavi. Il potere computazionale infinito, o quasi, in tal caso lo aiuterebbe.
@RIPRODUZIONE RISERVATA

Articolo 1 di 4