Profili del browser e isolamento: che cosa significa davvero separare gli account

"Isolamento" è la parola che tutti usano per tenere separate le identità del browser, e copre cose diverse tra loro. Questo articolo le distingue, perché quella facile non è quella che conta.
Isolamento dello storage
Un profilo del browser ha i propri cookie, local storage, cache, cronologia, password salvate ed estensioni. Due profili non possono vedere i rispettivi cookie, quindi un sito non può collegarli attraverso lo storage. Ogni browser diffuso supporta più profili, e questo livello di isolamento è un problema risolto. Se fosse tutto ciò che un sito può vedere, tenere separati gli account sarebbe questione di cliccare su "nuovo profilo".
Isolamento di rete
Due profili che usano lo stesso indirizzo arrivano dallo stesso luogo. Un sito che vede due account dallo stesso indirizzo residenziale nello stesso momento ha imparato qualcosa, e se anche fuso orario e lingua coincidono, ha imparato di più. L'isolamento di rete significa che ogni profilo ha la propria rotta, di solito un proxy, e che la rotta trasporta tutto: HTTP, WebRTC e, dove possibile, DNS. Un profilo il cui proxy copre solo HTTP è isolato sulla carta e connesso nella pratica.
Isolamento del fingerprint
È quello difficile. Due profili sulla stessa macchina con la stessa build del browser producono lo stesso hash del canvas, lo stesso hash audio, la stessa stringa del renderer, lo stesso numero di thread, la stessa geometria dello schermo e lo stesso elenco di font. Dal punto di vista di un sito sono una sola macchina con due contenitori di cookie. Farle sembrare due macchine significa che il browser deve riportare valori diversi per quelle proprietà, in modo coerente, per ciascun profilo.
È sulla coerenza che di solito si fallisce. I valori devono descrivere una macchina che esiste: un sistema operativo, una GPU che viene fornita con esso, una dimensione dello schermo e un rapporto di pixel che stanno insieme, uno user agent, Client Hints e navigator.platform che concordano, e font che appartengono a quel sistema operativo. Devono restare uguali tra una visita e l'altra, perché un fingerprint che cambia ogni giorno è esso stesso un segnale. E devono resistere ai confronti che i siti fanno tra le fonti: lo user agent rispetto al renderer, il fuso orario rispetto all'indirizzo, il candidato WebRTC rispetto alla richiesta.
Dove sbaglia il "nascondere"
Bloccare tutto non è isolamento: è un fingerprint diverso. Un browser che restituisce "non disponibile" per canvas, audio, WebGL e WebRTC sembra uno strumento per la privacy, che è un gruppo piccolo e riconoscibile. L'obiettivo di un profilo che funziona è l'opposto: sembrare una macchina ordinaria e banale, completamente leggibile, i cui segnali concordano tutti. La condizione di successo non è che una diagnostica non mostri nulla, ma che mostri una macchina plausibile e nessuna discordanza.
Come verificare un profilo
Apri una diagnostica nel profilo e leggila come farebbe un sito. Il renderer corrisponde al sistema operativo? Il fuso orario corrisponde all'indirizzo? WebRTC espone solo l'indirizzo del proxy, o nessuno? Ricarica: gli hash restano uguali? Poi apri un secondo profilo e conferma che i valori siano diversi dal primo. Una pagina come PowerScan li mostra affiancati, segnala i confronti che differiscono e non memorizza nulla, così il controllo è ripetibile e non lascia tracce.
Una nota su ciò che questo sito non afferma
PowerScan non assegna un punteggio di autenticità, non rileva i proxy e non decide se un browser sia un bot. Quei giudizi richiedono dati che lo script di una pagina non ha, e mostrare un numero per essi sarebbe tirare a indovinare. Ciò che fa è leggere gli stessi segnali che legge un sito e indicare dove non concordano. Quella è la parte su cui puoi agire.

