Trovare gli amici in un’app di messaggistica e mantenere privata la rubrica non sono un unico problema. L’app deve capire quali identificatori appartengono al servizio, ma il metodo usato per effettuare questo confronto determina quali informazioni riceve il servizio. Applicare un hash a un numero di telefono non garantisce, da solo, che il numero non possa essere identificato.
Perché un numero sottoposto a hash può essere identificato?
Una funzione hash trasforma un input in un valore di lunghezza fissa. Tuttavia, lo spazio dei numeri di telefono è limitato e strutturato. Un aggressore può generare numeri possibili, calcolarne gli hash e cercare corrispondenze. Non si tratta di «decifrare l’hash», ma di provare input prevedibili.
Signal spiega proprio questo limite degli identificatori poco diversificati nella sua descrizione del problema della ricerca privata dei contatti. Lo stesso articolo presenta una progettazione basata su un ambiente di esecuzione fidato. Questo esempio storico non va generalizzato a tutte le app di messaggistica senza controllare la versione e la documentazione recente.
Quindi, «il server vede solo gli hash» non è una risposta completa alla questione della privacy. Deve essere chiaro chi può calcolare le corrispondenze, quali richieste vengono registrate e per quanto tempo i dati vengono conservati.
Che cosa consente il permesso di accesso ai contatti?
Il permesso di leggere i contatti consente all’app di accedere ai dati della rubrica; da solo non indica se l’app carichi quei dati o meno. Nome, numero, e-mail e note di un contatto possono essere sensibili, soprattutto quando contengono informazioni su persone che non usano nemmeno il servizio.
La documentazione di Contacts Provider di Android distingue tra la lettura estesa della rubrica e la selezione di un contatto tramite l’interfaccia di sistema. L’ampiezza dell’accesso dipende dall’implementazione e dalla versione del sistema operativo.
| Metodo per trovare i contatti | Possibile vantaggio | Aspetto da verificare |
|---|---|---|
| Condividere un nome utente o un link d’invito | Potrebbe non richiedere la lettura dell’intera rubrica | Ricercabilità dell’identificatore e possibilità per altri di trovare l’account |
| Selezionare alcuni contatti | L’app riceve meno dati | L’app riceve soltanto gli elementi selezionati? |
| Caricare un elenco di numeri o hash | Confronto più semplice con gli utenti registrati | Possibilità di indovinare i numeri, registrare le richieste e conservare l’elenco |
| Protocollo dedicato di ricerca privata | Può ridurre l’esposizione entro un modello di minaccia | Presupposti di fiducia, limiti e prove di revisione indipendente |
Che cosa non dimostra la cifratura dei messaggi sulla rubrica?
La crittografia end-to-end può nascondere al server il contenuto delle conversazioni, ma da sola non dice nulla sui permessi dei contatti, sulle richieste di ricerca degli utenti o sulla registrazione delle relazioni. Anche senza la rubrica, le informazioni di instradamento possono rivelare una parte delle relazioni di comunicazione.
Nella sua pagina sulla sicurezza, Livara descrive l’archiviazione e il trattamento di informazioni operative come l’appartenenza ai gruppi, i dati temporali e l’instradamento. Da questo documento non si può concludere che la rubrica venga sottoposta a hash con un metodo specifico, che non venga conservata alcuna cronologia o che il grafo delle relazioni sia completamente nascosto. Queste affermazioni richiedono una spiegazione separata sulla ricerca dei contatti.
Prima di concedere il permesso, fai queste cinque domande
- Posso chattare tramite nome utente o invito diretto anche senza il permesso di accesso ai contatti?
- Quali campi lasciano esattamente il dispositivo: soltanto il numero oppure anche il nome e altri dettagli?
- Come vengono usate ed eliminate le informazioni delle persone non iscritte?
- Revocare il permesso interrompe soltanto l’accesso futuro o esiste anche un modo per eliminare i dati già inviati?
- La spiegazione tecnica e la politica di conservazione dei dati corrispondono alla versione attuale dell’app?
Controlla il permesso dell’app nelle impostazioni di sistema e limita gli accessi non necessari se non hai bisogno di trovare automaticamente gli amici. I nomi delle opzioni variano tra i telefoni. Non considerare la revoca del permesso equivalente alla cancellazione delle informazioni già caricate.
La privacy dei contatti si misura con la minimizzazione dei dati e la chiarezza del loro percorso, non semplicemente con la presenza della parola «hash» accanto a un numero di telefono.



