El projecte TFC (Tinfoil Chat) va proposar un dispositiu de maquinari amb 3 ports USB per connectar 3 ordinadors i crear un sistema de missatgeria protegit contra els paranoics.
El primer ordinador actua com a passarel·la per connectar-se a la xarxa i llançar el servei ocult Tor; manipula dades ja xifrades.
El segon ordinador té les claus de desxifrat i només s'utilitza per desxifrar i mostrar els missatges rebuts.
El tercer ordinador té les claus de xifratge i només s'utilitza per xifrar i enviar missatges nous.
El divisor USB funciona amb optoacobladors segons el principi del "díode de dades" i passa físicament dades només en direccions especificades: enviant dades cap al segon ordinador i rebent dades del tercer ordinador.
Comprometre el primer ordinador no us permetrà accedir a les claus de xifratge, les dades en si, i no us permetrà continuar l'atac a la resta de dispositius.
Quan un segon ordinador es veu compromès, l'atacant llegirà missatges i claus, però no els podrà transmetre al món exterior, ja que les dades només es reben de l'exterior, però no s'envien a l'exterior.
Si un tercer ordinador es veu compromès, un atacant pot suplantar la identitat d'un subscriptor i escriure missatges en nom seu, però no podrà llegir les dades que vinguin de fora (ja que van al segon ordinador i allà es desxifra).
El xifratge es basa en l'algorisme XChaCha256-Poly20 de 1305 bits i la funció hash Argon2id s'utilitza per protegir les claus amb una contrasenya. Per a l'intercanvi de claus, s'utilitzen claus X448 (protocol Diffie-Hellman basat en Curve448) o PSK (precompartides). Cada missatge es transmet en mode secret forward perfecte (PFS, Perfect Forward Secrecy) basat en hash Blake2b, en el qual el compromís d'una de les claus a llarg termini no permet desxifrar una sessió prèviament interceptada.
La interfície de l'aplicació és extremadament senzilla i inclou una finestra dividida en tres àrees: enviament, recepció i una línia d'ordres amb un registre d'interacció amb la passarel·la. El control es realitza mitjançant un conjunt especial d'ordres.
Programa s'ha escrit el codi del projecte en Python i disponible sota la llicència GPLv3. S'inclouen circuits divisors (PCB) i estan disponibles sota la llicència GNU FDL 1.3, el divisor es pot muntar a partir de les peces disponibles.
Font: linux.org.ru