Il progetto TFC sviluppa un sistema di messaggistica sicuro paranoico

Nell'ambito del progetto TFC (Tinfoil Chat) si è tentato di creare un prototipo di un sistema di messaggistica protetto da paranoici che manterrebbe la segretezza della corrispondenza anche in caso di compromissione dei dispositivi finali. Per semplificare l'audit, il codice del progetto è scritto in Python e è disponibile concesso in licenza con GPLv3.

I sistemi di messaggistica attualmente molto diffusi che utilizzano la crittografia end-to-end consentono di proteggere la corrispondenza dall'intercettazione sui server intermedi e dall'analisi del traffico in transito, ma non proteggono da problemi lato dispositivo client. Per compromettere i sistemi basati sulla crittografia end-to-end è sufficiente compromettere il sistema operativo, il firmware o l'applicazione di messaggistica sul dispositivo finale, ad esempio sfruttando vulnerabilità precedentemente sconosciute, introducendo inizialmente segnalibri software o hardware nel dispositivo o attraverso la consegna di un aggiornamento fittizio con una backdoor (ad esempio, quando si esercita pressione sullo sviluppatore da parte di servizi di intelligence o gruppi criminali). Anche se le chiavi di crittografia si trovano su un token separato, se si ha il controllo sul sistema dell'utente, è sempre possibile tracciare i processi, intercettare i dati dalla tastiera e monitorare l'output sullo schermo.

TFC offre un complesso software e hardware che richiede l'uso di tre computer separati e uno speciale splitter hardware sul lato client. Tutto il traffico durante l'interazione dei partecipanti alla messaggistica viene trasmesso attraverso la rete Tor anonima e i programmi di messaggistica sono realizzati sotto forma di servizi Tor nascosti (gli utenti vengono identificati da indirizzi e chiavi di servizio nascosti durante lo scambio di messaggi).

Il progetto TFC sviluppa un sistema di messaggistica sicuro paranoico

Il primo computer funge da gateway per la connessione alla rete ed eseguire il servizio nascosto Tor. Il gateway manipola solo i dati già crittografati e gli altri due computer vengono utilizzati per la crittografia e la decrittografia. Il secondo computer può essere utilizzato solo per decrittografare e visualizzare i messaggi ricevuti, mentre il terzo solo per crittografare e inviare nuovi messaggi. Di conseguenza, il secondo computer ha solo chiavi di decrittazione e il terzo solo chiavi di crittografia.

Il secondo e il terzo computer non hanno una connessione diretta alla rete e sono separati dal computer gateway da uno speciale splitter USB che utilizza il "diodo dati" e trasmette fisicamente i dati in una sola direzione. Lo splitter consente solo di inviare dati verso il secondo computer e di ricevere dati solo dal terzo computer. La direzione dei dati nello splitter è limitata dall'utilizzo optoaccoppiatori (una semplice interruzione delle linee Tx e Rx del cavo non è sufficiente, poiché un'interruzione non esclude la trasmissione dei dati in senso contrario e non garantisce che la linea Tx non venga utilizzata per la lettura e la linea Rx per la trasmissione ). Lo splitter può essere assemblato da parti di scarto, gli schemi sono allegati (PCB) e sono disponibili sotto la licenza GNU FDL 1.3.

Il progetto TFC sviluppa un sistema di messaggistica sicuro paranoico

Con un tale schema, il gateway è compromesso non lo permetterà ottenere l'accesso alle chiavi di crittografia e non ti consentirà di continuare l'attacco sui restanti dispositivi. Se il computer su cui si trovano le chiavi di decrittazione viene compromesso, le informazioni da esso non possono essere trasmesse al mondo esterno, poiché il flusso di dati è limitato solo dalla ricezione di informazioni e la trasmissione inversa è bloccata dal diodo dati.

Il progetto TFC sviluppa un sistema di messaggistica sicuro paranoico

La crittografia è basata su chiavi a 256 bit su XChaCha20-Poly1305, viene utilizzata una funzione di hash lento per proteggere le chiavi con una password Argon2id. Per lo scambio di chiavi viene utilizzato X448 (protocollo Diffie-Hellman basato su Curve448) o chiavi PSK (pre condivisa). Ogni messaggio viene trasmesso in perfetta segretezza (PFS, Perfect Forward Secrecy) basato su hash Blake2b, in cui la compromissione di una delle chiavi a lungo termine non consente la decrittazione di una sessione precedentemente intercettata. L'interfaccia dell'applicazione è estremamente semplice e comprende una finestra divisa in tre aree – invio, ricezione ed una riga di comando con il log dell'interazione con il gateway. La gestione viene effettuata tramite apposito insieme di comandi.

Il progetto TFC sviluppa un sistema di messaggistica sicuro paranoico

Fonte: opennet.ru

Aggiungi un commento