Tor introduce Cgo per crittografia avanzata e difesa contro gli attacchi tagging

di Redazione
0 commenti

La Tor Project presenta Cgo, acronimo di Counter Galois Onion, un nuovo algoritmo di crittografia progettato per sostituire il sistema tor1 e innalzare drasticamente la sicurezza dei circuiti di traffico sulla rete Tor. Nel primo periodo emergono elementi chiave come la mitigazione degli attacchi tagging, il supporto alla forward secrecy, la sostituzione del digest Sha-1 a 4 byte con un autenticatore a 16 byte e l’adozione di una costruzione crittografica moderna basata su una Rugged Pseudorandom Permutation denominata Uiv+. Lo sviluppo coinvolge ricercatori come Jean Paul Degabriele, Alessandro Melloni, Jean-Pierre Münch e Martijn Stam, affiancati dal team Tor che implementa e integra i meccanismi nella proposta formale. Finanziato da grant governativi e donazioni, Cgo è il risultato di anni di ricerca mirata a modernizzare la crittografia della rete Tor, riducendo la malleabilità del traffico e aumentando la resilienza contro avversari avanzati. L’implementazione iniziale avviene in Arti, il client Rust di Tor, con lavori in corso per portare Cgo anche nel client C tradizionale. Questa transizione offre agli utenti, alle organizzazioni e ai servizi Onion una protezione significativamente più forte contro tentativi di tracciamento.

Cos’è Cgo e perché rappresenta un salto di qualità

A diagram of the Tor1 encryption algorithm

Cgo è progettato come sistema crittografico di nuova generazione per i circuiti Tor, superando le limitazioni del vecchio sistema tor1, nato nei primi anni 2000 e fondato su standard oggi considerati insufficienti. Tor1 utilizza Aes-128-Ctr per la crittografia e un digest Sha-1 a soli 4 byte per verificare l’integrità dei messaggi. Questi meccanismi, pur robusti all’epoca, non rispondono ai requisiti moderni contro attacchi attivi e manipolazioni mirate. Cgo sostituisce questi componenti con un design che integra crittografia moderna, autenticazione robusta e protezioni interne contro attacchi di tracciamento. Il risultato è un algoritmo in grado di garantire una protezione più forte senza sacrificare la compatibilità con l’ecosistema Tor, una condizione essenziale per un passaggio graduale.

Architettura crittografica di Cgo

Il cuore di Cgo è la costruzione Uiv+, una Rugged Pseudorandom Permutation che utilizza un tweakable block cipher basato su Lrw2. Nella pratica, il sistema divide il messaggio in due parti: un tag breve e un ciphertext più esteso. Il tag generato da ogni messaggio diventa il tweak del successivo, creando una catena crittografica che impedisce modifiche non rilevate e assicura forward secrecy.

A diagram of the Tor1 encryption algorithm

Una funzione pseudocasuale gestisce la derivazione delle chiavi e dei nonce necessari, mentre la struttura di chaining aggiorna costantemente gli stati interni a ogni nuovo blocco elaborato. Questo meccanismo rende la malleabilità virtualmente impossibile: alterare un singolo byte compromette immediatamente l’intero circuito, bloccando il proseguimento del traffico.

Collaborazione accademica e sviluppo interno

Il design di Cgo nasce da un lavoro accademico firmato da Degabriele, Melloni, Münch e Stam, che propone la base concettuale per la futura evoluzione della crittografia Tor. La Tor Project raffina questa costruzione aggiungendo verifiche, nuove prove di sicurezza e ottimizzazioni pratiche, con contributi di figure storiche come Nick Mathewson e Mike Perry. La specifica di Cgo viene formalizzata in una proposta sul sito Tor, accompagnata da dettagli tecnici e raccomandazioni per l’integrazione. L’intero lavoro è sostenuto da finanziamenti del Bureau of Democracy, Human Rights and Labor e da donazioni della comunità, a testimonianza della centralità del supporto pubblico per garantire innovazioni di sicurezza open-source.

Le vulnerabilità risolte da Cgo

La principale vulnerabilità affrontata da Cgo riguarda gli attacchi tagging, una forma di attacco attivo tramite cui un avversario modifica il traffico in un punto per osservare effetti prevedibili sul circuito e identificare la destinazione o l’origine. Tor1, con il suo digest debole, espone al rischio di manipolazioni silenziose.

cgo uiv enc

Cgo introduce protezioni immediate:
il digest Sha-1 viene sostituito da un autenticatore a 16 byte;
il chaining crittografico rende impossibile alterare una cella senza rompere l’intero circuito;
la forward secrecy impedisce la decifrazione retroattiva del traffico.

Queste caratteristiche rendono l’algoritmo immune a classi di attacchi note e sfruttate in contesti di sorveglianza avanzata.

Implementazione in Arti e progressi nel client C

Il nuovo sistema debutta in Arti, il moderno client Tor scritto in Rust. Qui Cgo è inizialmente introdotto come funzione sperimentale, destinata a diventare predefinita una volta completati test e ottimizzazioni. L’integrazione include il supporto per nuove strutture delle celle relay, un prerequisito per il corretto funzionamento del sistema. Per quanto riguarda il client C tradizionale, i lavori procedono con la revisione dei moduli di crittografia e la compatibilità con il nuovo formato dei dati. Il processo richiede aggiornamenti estesi al codice e interventi sui meccanismi di gestione delle chiavi, ma la Tor Project conferma che la migrazione è in corso.

Compatibilità e transizione verso Cgo

La rete Tor non può subire interruzioni. Per questo, l’introduzione di Cgo avviene tramite una negoziazione di versione che consente a relè e client di interoperare durante la fase di transizione. La migrazione graduale garantisce stabilità, evitando shock operativi e assicurando retrocompatibilità con circuiti misti. Il meccanismo consente inoltre di attivare Cgo solo quando relè e client confermano il supporto, prevenendo problemi di sincronizzazione e minimizzando l’impatto su utenti e servizi.

Cgo nei servizi Onion

I servizi Onion rappresentano una delle aree più sensibili della rete Tor, dato il loro ruolo nella protezione di whistleblower, giornalisti e attivisti. Cgo migliora anche questo segmento, con una negoziazione separata pensata specificamente per i servizi nascosti. L’implementazione iniziale in Arti permette una prima integrazione controllata, utile per identificare colli di bottiglia e perfezionare il sistema prima dell’adozione generalizzata.

Prestazioni, ottimizzazioni e test

Cgo introduce un overhead computazionale dovuto alla maggiore complessità crittografica. La Tor Project avvia test su hardware eterogeneo, includendo dispositivi mobili, router e sistemi low-power, con l’obiettivo di mantenere un equilibrio tra sicurezza ed efficienza. Ottimizzazioni mirate riguardano il chaining delle operazioni crittografiche e l’uso di istruzioni Cpu moderne, che riducono il peso computazionale senza compromettere la robustezza del sistema.

Validazione e sicurezza formale

Cgo viene accompagnato da una prova di sicurezza formale, pubblicata e verificata dalla comunità crittografica. La Tor Project riconosce che introdurre un nuovo design comporta sempre rischi, ma sottolinea che Cgo offre garanzie significativamente superiori rispetto a tor1. Le valutazioni continueranno anche dopo l’adozione predefinita, seguendo il principio di evoluzione continua che caratterizza la sicurezza di Tor.

Impatto su utenti, organizzazioni e privacy globale

image 714
Tor introduce Cgo per crittografia avanzata e difesa contro gli attacchi tagging 10

L’adozione di Cgo innalza il livello di anonimato per milioni di utenti che affidano a Tor la protezione delle proprie comunicazioni. Le organizzazioni che utilizzano la rete per scopi sensibili—come difesa dei diritti umani, giornalismo investigativo, indagini antifrode o comunicazioni diplomatiche—beneficiano di una sicurezza strutturale più solida. La resistenza intrinseca agli attacchi tagging e la forward secrecy rafforzano l’integrità del traffico, riducendo la superficie esposta e rendendo più difficile qualsiasi tentativo di correlazione.

Evoluzione storica della crittografia Tor

Tor1 rappresenta una tecnologia pionieristica nata in un contesto di risorse limitate e standard ancora in evoluzione. I tentativi precedenti di sostituirlo falliscono per l’elevato costo computazionale o la scarsa compatibilità. Cgo è il risultato di oltre un decennio di ricerche, rifattorizzazioni e test, combinando sicurezza formale, praticità e interoperabilità.

Comunità, supporto e contributi open-source

La Tor Project evidenzia l’importanza del contributo comunitario per la riuscita di Cgo. Donatori individuali, grant istituzionali e sviluppatori volontari hanno reso possibile un redesign crittografico così ambizioso. L’apertura del codice garantisce trasparenza e favorisce nuove collaborazioni scientifiche.