1L'idea centrale dell'onion routing su Abacus
Onion routing è il livello di trasporto che sta tra il tuo dispositivo e la pagina di accesso di Abacus. Invece di collegarti direttamente, la tua connessione viene avvolta in diversi strati crittografati e fatta passare attraverso relay indipendenti. Nessun singolo relay sa sia da dove proviene la richiesta sia cosa contiene: è proprio questa conoscenza divisa a proteggere posizione e identità prima che compaia qualsiasi interfaccia del market.
Una connessione, tre compiti distinti
Puoi immaginare ogni visita ad Abacus come tre compiti che avvengono in sequenza: costruire un percorso, sigillare la richiesta a strati e spostarla salto dopo salto. Ogni compito è importante per un motivo diverso e ha un limite ben preciso.
- Costruzione del percorsoil tuo client seleziona diversi relay e li dispone in un ordine fisso per questo circuito
- Avvolgimento a stratila richiesta originale viene crittografata una volta per ogni relay, partendo dall'ultimo e finendo con il primo
- Spostamento in avantiogni relay rimuove uno strato, apprende solo il salto successivo e inoltra il resto
Il percorso non è scelto dal market. Viene costruito dal tuo client onion locale prima che venga inviato anche un solo byte del traffico di accesso. Questo significa che la destinazione non riceve mai il tuo indirizzo di rete reale: vede soltanto il relay finale del circuito.
- Strato esterno — letto dal primo relay; contiene solo il salto successivo e lo strato crittografato seguente
- Strati intermedi — letti dai relay intermedi; ognuno vede un salto precedente e uno successivo
- Strato interno — letto dalla destinazione; contiene la richiesta vera e propria ma nessun indirizzo di origine reale
Un'analogia utile è quella di una busta sigillata dentro un'altra busta sigillata, ripetuta più volte. Ogni relay strappa la busta esterna, scopre l'indirizzo del relay successivo e inoltra il pacchetto interno ancora sigillato. Il market infine apre l'ultima busta e vede la richiesta, ma non il mittente originale.
Perché questo è importante prima dell'accesso
Il design a conoscenza divisa significa che, anche se un relay viene osservato, un osservatore non può collegare il tuo dispositivo alla pagina di Abacus che stai aprendo. Il primo relay sa che ti sei connesso a lui, ma non cosa andrai effettivamente a visitare. Il relay finale può vedere la destinazione, ma non la tua identità o la tua posizione.
Questo processo si completa prima che il modulo di accesso venga visualizzato. Quando vedi un campo per il nome utente o il captcha, il circuito è già stato costruito, tutti gli strati sono stati sigillati e la prima richiesta ha già compiuto almeno un salto completo attraverso la catena di relay. Il market non conosce mai il tuo dispositivo; i relay non conoscono mai il market che stai visitando.
Su qualsiasi dispositivo — telefono, tablet o desktop — vale lo stesso principio a strati, ma il client che gestisce il circuito deve essere mantenuto aggiornato; un client obsoleto indebolisce la separazione tra gli strati.