Chi decide cosa è la rete Tor: il consenso, le directory authority e la divisione dei bridge
Ogni connessione Tor comincia con un atto di accordo. Prima che il browser costruisca il suo primo circuito, ha bisogno di una risposta aggiornata a una domanda ingannevolmente semplice: quali relay esistono e di quali di essi ci si può fidare in questo momento? Nulla nella rete Tor è deciso da un unico server. È invece un piccolo gruppo fisso di macchine chiamate directory authority a risolvere insieme quella domanda, secondo un calendario e in pubblico.
Un documento, una rete
Il documento che producono è il consenso: nel glossario del Tor Project, un documento unico compilato e votato dalle directory authority una volta all'ora. Ogni consenso elenca i relay noti come voci di stato di router con soprannome, materiale di chiavi e indirizzi, e annota ogni voce con flag e pesi di banda. Il formato, incluso il vocabolario completo dei flag, è documentato nella specifica di directory. I client non apprendono mai questi dati dalla rete nel suo complesso. Gli indirizzi e le chiavi di identità a lungo termine delle autorità sono incorporati nel codice sorgente di Tor stesso, e la specifica richiede che ogni autorità conservi la propria chiave di identità offline, usandola solo per certificare chiavi di firma a vita più breve. La radice di fiducia della rete è deliberatamente piccola, verificabile e lenta a cambiare.Il voto orario, passo per passo
La meccanica è descritta nella cronologia di voto della specifica. Ogni autorità pubblica periodicamente il suo voto: lo stato della rete che ritiene vero. Una finestra a tempo limitato raccoglie i voti di tutte le autorità, poi una seconda finestra raccoglie le firme del documento risultante; la specifica impone che ciascuna di queste finestre duri almeno venti secondi. Il consenso finito porta tre marche temporali in ordine fisso: valid-after, fresh-until e valid-until, con una vita totale che deve valere almeno il doppio del periodo di freschezza. Almeno tre consensi devono essere validi in ogni istante. Le cache di directory scaricano ogni nuovo documento tra valid-after e fresh-until, i client ordinari lo recuperano nella finestra più lunga che segue, e un consenso scaduto da più di un giorno viene scartato del tutto."Ogni ora, queste directory authority gestite da volontari votano e raggiungono un consenso sui relay che compongono la rete Tor."La frase viene dall'articolo di novembre 2017 del Tor Project che presentava Bastet, una nuova autorità aggiunta per accrescere ciò che il progetto chiamava la diversità e la stabilità del sistema di directory authority. È anche, senza clamore, la descrizione di tutto l'impianto: le autorità sono gestite da volontari, votano, e il loro accordo è ciò che trasforma migliaia di relay individuali in un'unica rete.
Flag, banda e microdescrittori
Ciò su cui votano le autorità va oltre la semplice esistenza. Un relay può portare flag come Authority, Exit, Fast, Guard, Running, Stable o V2Dir, ciascuno dei quali afferma una proprietà verificata, e ogni voto registra la banda misurata del relay, dalla quale il consenso distilla i pesi che i client usano quando scelgono i percorsi. I client moderni recuperano soprattutto la variante a microdescrittori del consenso, che abbina le righe di stato votate agli hash dei frammenti compatti di descrittore di cui i client hanno bisogno, invece dei descrittori di server completi.- Guard contrassegna un relay come adatto alla posizione di ingresso di un circuito.
- Exit contrassegna un relay come disposto a portare traffico verso il resto di internet su porte comuni.
- Stable contrassegna un relay come adatto a connessioni di lunga durata.
- HSDir ammette un relay nell'anello che conserva le introduzioni dei servizi onion.
- V2Dir contrassegna un relay come capace di servire documenti di directory.










