TFC projektā ir izstrādāts USB sadalītājs kurjeram, kas sastāv no 3 datoriem


TFC projektā ir izstrādāts USB sadalītājs kurjeram, kas sastāv no 3 datoriem

TFC (Tinfoil Chat) projekts piedāvāja aparatūras ierīci ar 3 USB portiem, lai savienotu 3 datorus un izveidotu pret paranoju aizsargātu ziņojumapmaiņas sistēmu.

Pirmais dators darbojas kā vārteja savienojuma izveidei ar tīklu un Tor slēptā pakalpojuma palaišanai; tas manipulē ar jau šifrētiem datiem.

Otrajam datoram ir atšifrēšanas atslēgas, un to izmanto tikai saņemto ziņojumu atšifrēšanai un parādīšanai.

Trešajam datoram ir šifrēšanas atslēgas, un to izmanto tikai jaunu ziņojumu šifrēšanai un nosūtīšanai.

USB sadalītājs darbojas uz optroniem pēc “datu diodes” principa un fiziski nodod datus tikai noteiktos virzienos: nosūtot datus uz otru datoru un saņemot datus no trešā datora.

Pirmā datora kompromitēšana neļaus piekļūt šifrēšanas atslēgām, pašiem datiem, kā arī neļaus turpināt uzbrukumu pārējām ierīcēm.

Kad tiek uzlauzts otrs dators, uzbrucējs lasīs ziņojumus un atslēgas, bet nevarēs tos pārsūtīt uz ārpasauli, jo dati tiek tikai saņemti no ārpuses, bet netiek nosūtīti uz āru.

Ja tiek uzlauzts trešais dators, uzbrucējs var uzdoties par abonentu un rakstīt ziņojumus viņa vārdā, bet nevarēs nolasīt datus, kas nāk no ārpuses (jo tie nonāk otrajā datorā un tur tiek atšifrēti).

Šifrēšanas pamatā ir 256 bitu XChaCha20-Poly1305 algoritms, un lēnā Argon2id jaucējfunkcija tiek izmantota, lai aizsargātu atslēgas ar paroli. Atslēgu apmaiņai tiek izmantotas X448 (Diffie-Hellman protokols, kas balstīts uz Curve448) vai PSK atslēgas (iepriekš koplietotas). Katrs ziņojums tiek pārraidīts perfektā pārsūtīšanas slepenības (PFS, Perfect Forward Secrecy) režīmā, pamatojoties uz Blake2b jaucējkodiem, kurā vienas no ilgtermiņa atslēgām kompromiss neļauj atšifrēt iepriekš pārtverto sesiju.

Lietojumprogrammas saskarne ir ārkārtīgi vienkārša un ietver logu, kas sadalīts trīs zonās - nosūtīšanas, saņemšanas un komandrindas ar mijiedarbības žurnālu ar vārteju. Kontrole tiek veikta, izmantojot īpašu komandu komplektu.

Programma ir uzrakstīts projekta kods Python un ir pieejams saskaņā ar GPLv3 licenci. Ir iekļautas sadalītāja ķēdes (PCB) un ir pieejami saskaņā ar GNU FDL 1.3 licenci, sadalītāju var salikt no pieejamajām daļām.

Avots: linux.org.ru

Pievieno komentāru