Privacy e crittografia
Queste parole vengono usate alla leggera nelle descrizioni delle app, e le differenze tra loro sono esattamente dove sta il valore. Nascosto non è bloccato. Bloccato non è cifrato. E una chiave che tiene qualcun altro non è davvero tua.
-
ChaCha20-Poly1305
-
Un algoritmo di cifratura moderno che sia nasconde i dati sia rileva le manomissioni. Veloce sui telefoni, che non sempre hanno l'accelerazione hardware per l'alternativa più vecchia.
ChaCha20 fa la cifratura; Poly1305 produce un tag che verifica che i dati non siano stati alterati. Insieme sono ciò che si chiama cifratura autenticata — la decifratura fallisce rumorosamente su un file modificato invece di produrre spazzatura plausibile.
È la stessa costruzione usata in TLS e nella messaggistica sicura moderna. Su hardware senza accelerazione AES è sensibilmente più veloce dell'AES, ed è per questo che i telefoni tendono a preferirla.
Vedi anche: A riposo contro in transitoKey wrapping
-
Key wrapping
cifratura a busta -
Cifrare i file con una chiave, e poi cifrare quella chiave separatamente con ogni via d'accesso. Cambiare un codice riavvolge una chiave piccola invece di ricifrare tutto.
I file vengono cifrati una volta, con una chiave generata sul dispositivo. Quella chiave viene poi avvolta — cifrata — dal codice di accesso, e avvolta di nuovo dal codice di recupero. Due buste, una chiave dentro ciascuna.
Le conseguenze sono tutte pratiche. Un cambio di codice riscrive qualche centinaio di byte invece di cento gigabyte. Lo sblocco biometrico è un'altra copia avvolta e non un secondo modello di sicurezza. E perdere ogni involucro perde la chiave, perché la chiave non esiste da nessun'altra parte.
Vedi anche: Codice di recuperoChaCha20-Poly1305
-
Codice di recupero
-
Una stringa monouso che può scartare la chiave principale quando il codice di accesso è dimenticato. Nessuno può riemetterlo, perché nessun altro l'ha mai avuto — comprese le persone che hanno scritto la app.
Viene mostrato una volta, alla configurazione, ed è la seconda delle due porte. Trascritto e tenuto in un posto diverso dal dispositivo, trasforma un codice dimenticato in una seccatura.
Se il codice di accesso è dimenticato e il codice di recupero è perso, i file non possono essere decifrati da nessuno. Non è una politica di assistenza con cui si possa discutere; è cosa significa non avere nessuna copia della chiave. Conservalo con la stessa cura che i file meritano.
Vedi anche: Key wrappingZero-knowledge
-
Cassaforte esca
negabilità plausibile -
Un secondo codice che apre una cassaforte diversa e innocua. Chi viene costretto a sbloccare la app può farlo, e ciò che si apre non è la cosa che cercavano.
Entrambi i codici sono veri ed entrambi aprono una cassaforte vera. Niente sullo schermo indica che ne esista un'altra, e non si può chiedere alla app quale delle due stia mostrando.
Esiste per la situazione in cui rifiutarsi di sbloccare non è un'opzione — una frontiera, una pretesa, qualcuno in piedi sopra di te. La cifratura da sola lì non aiuta, perché il problema non è la chiave, è essere costretti a usarla.
Vedi anche: Codice di recuperoNascosto contro cifrato
-
Portachiavi
-
L'archivio protetto del sistema per i piccoli segreti, appoggiato all'hardware di sicurezza del dispositivo. È dove appartengono chiavi e token, e dove non dovrebbe finire niente di grosso.
Gli elementi al suo interno possono portare condizioni: leggibili solo quando il dispositivo è sbloccato, solo su questo dispositivo, solo dopo conferma biometrica o con codice. Quelle condizioni sono imposte dall'hardware, non dalla app che chiede gentilmente.
Conserva segreti, non dati. Chiavi, token e materiale avvolto vanno lì; i file cifrati veri e propri vivono su disco, dove la dimensione non è un problema.
Vedi anche: Key wrappingA riposo contro in transito
-
A riposo contro in transito
-
Cifrato a riposo vuol dire illeggibile su disco. Cifrato in transito vuol dire illeggibile in rete. Sono protezioni separate, e un prodotto può onestamente vantare l'una senza fare l'altra.
HTTPS è cifratura in transito: al sicuro da chiunque osservi la rete, e completamente leggibile dal server all'altro capo una volta arrivato. La cifratura a riposo riguarda la copia conservata, che è quello che conta se un dispositivo si perde o un disco viene copiato.
Leggere con attenzione un'affermazione sulla privacy di solito vuol dire capire a quale delle due si riferisca. «I tuoi dati sono cifrati» senza nessuna delle due parole attaccate è una frase scelta apposta per non dirlo.
Vedi anche: ChaCha20-Poly1305Zero-knowledge
-
Zero-knowledge
-
Un progetto in cui il gestore non può leggere ciò che conserva, perché le chiavi non lasciano mai i dispositivi dell'utente. La prova è semplice: possono azzerare la tua password e darti comunque i tuoi dati?
Se un servizio può ripristinare l'accesso dopo che hai dimenticato tutto, allora tiene qualcosa che può sbloccare i tuoi dati — il che vuol dire che può essere costretto a usarlo, e che chiunque violi il servizio eredita la stessa capacità.
Lo scambio è reale e va detto chiaramente invece di essere venduto come puro vantaggio: zero-knowledge vero vuol dire perdere davvero l'accesso quando si perde l'ultima chiave. Non c'è una terza opzione in cui il gestore può salvarti ma nessun altro può.
Vedi anche: Codice di recuperoA riposo contro in transito
-
Biometria
Face ID, Touch ID -
È il dispositivo, non la app, a confermare che sei tu; alla app viene detto sì o no. Nessun dato di impronta o di volto arriva mai a una app, e niente di tutto ciò è una password.
Lo sblocco biometrico è una comodità avvolta intorno a un segreto, non un suo sostituto. Ciò che protegge è una chiave conservata, ed è per questo che dietro c'è sempre un codice — la biometria può fallire, e il ripiego deve essere qualcosa che sai.
Il confronto avviene dentro hardware dedicato e i modelli non lo lasciano mai. Una app che offre Face ID sta facendo una domanda al sistema, non raccogliendo niente.
Vedi anche: PortachiaviKey wrapping
-
Statistiche anonime
-
Contare eventi senza registrare chi li ha fatti. Il valore dell'affermazione dipende interamente da cosa è attaccato a ogni evento — e nomi di file, percorsi e URL sono dove promesse del genere di solito si rompono.
Sapere che una schermata è stata aperta è un conteggio. Sapere quale file è stato riprodotto è la descrizione di una persona. La linea tra le due non è la parola «anonimo»; sono i campi che l'evento porta con sé.
Un'affermazione di cui fidarsi dice cosa *non* viene inviato con la stessa precisione di cosa viene inviato: niente nomi di file, niente percorsi, niente URL, niente credenziali, nessun identificativo che sopravviva tra una sessione e l'altra — e offre un modo per spegnere tutto quanto.
Vedi anche: A riposo contro in transito