La projekto TFC evoluigis USB-dividilon por mesaĝisto konsistanta el 3 komputiloj


La projekto TFC evoluigis USB-dividilon por mesaĝisto konsistanta el 3 komputiloj

La projekto TFC (Tinfoil Chat) proponis aparataron kun 3 USB-havenoj por konekti 3 komputilojn kaj krei paranoj-protektan mesaĝsistemon.

La unua komputilo funkcias kiel enirejo por konektiĝi al la reto kaj lanĉi la kaŝitan servon Tor; ĝi manipulas jam ĉifritajn datumojn.

La dua komputilo havas la deĉifritajn ŝlosilojn kaj estas uzata nur por deĉifri kaj montri ricevitajn mesaĝojn.

La tria komputilo havas la ĉifrajn ŝlosilojn kaj estas uzata nur por ĉifri kaj sendi novajn mesaĝojn.

La USB-dividilo funkcias per optokupiloj laŭ la "datuma diodo" principo kaj fizike pasas datumojn nur en specifitaj direktoj: sendante datumojn al la dua komputilo kaj ricevante datumojn de la tria komputilo.

Kompromisi la unuan komputilon ne permesos al vi akiri aliron al la ĉifradaj ŝlosiloj, la datumoj mem, kaj ne permesos al vi daŭrigi la atakon sur la ceteraj aparatoj.

Kiam dua komputilo estas endanĝerigita, la atakanto legos mesaĝojn kaj ŝlosilojn, sed ne povos transdoni ilin al la ekstera mondo, ĉar la datumoj nur estas ricevitaj de ekstere, sed ne senditaj eksteren.

Se tria komputilo estas endanĝerigita, atakanto povas personigi abonanton kaj skribi mesaĝojn en lia nomo, sed ne povos legi datumojn venantajn de ekstere (ĉar ĝi iras al la dua komputilo kaj estas deĉifrita tie).

Ĉifrado baziĝas sur la 256-bita XChaCha20-Poly1305-algoritmo, kaj la malrapida Argon2id hash-funkcio estas uzata por protekti la ŝlosilojn per pasvorto. Por ŝlosilŝanĝo, X448 (Diffie-Hellman-protokolo bazita sur Curve448) aŭ PSK-ŝlosiloj (antaŭdividitaj) estas uzataj. Ĉiu mesaĝo estas elsendita en perfekta antaŭen-sekreteco (PFS, Perfect Forward Secrecy) reĝimo bazita sur Blake2b-haŝiŝoj, en kiu la kompromiso de unu el la longperspektivaj ŝlosiloj ne permesas malĉifradon de antaŭe kaptita sesio.

La aplika interfaco estas ekstreme simpla kaj inkluzivas fenestron dividitan en tri areojn - sendado, ricevo kaj komandlinio kun protokolo de interagado kun la enirejo. Kontrolo estas farita per speciala aro de komandoj.

Programo la projektkodo estas skribita en Python kaj havebla sub la permesilo GPLv3. Splitcirkvitoj estas inkluzivitaj (PCB) kaj disponeblas sub la permesilo GNU FDL 1.3, la disigilo povas esti kunvenita el disponeblaj partoj.

fonto: linux.org.ru

Aldoni komenton