W ramach projektu TFC opracowano rozdzielacz USB dla komunikatora składającego się z 3 komputerów


W ramach projektu TFC opracowano rozdzielacz USB dla komunikatora składającego się z 3 komputerów

W projekcie TFC (Tinfoil Chat) zaproponowano urządzenie sprzętowe z 3 portami USB umożliwiające podłączenie 3 komputerów i utworzenie systemu przesyłania wiadomości chronionego przed paranoją.

Pierwszy komputer pełni rolę bramy umożliwiającej połączenie się z siecią i uruchomienie ukrytej usługi Tor, manipulując już zaszyfrowanymi danymi.

Drugi komputer posiada klucze deszyfrujące i służy jedynie do odszyfrowywania i wyświetlania odebranych wiadomości.

Trzeci komputer ma klucze szyfrujące i służy wyłącznie do szyfrowania i wysyłania nowych wiadomości.

Rozgałęźnik USB działa na transoptorach na zasadzie „diody danych” i fizycznie przekazuje dane tylko w określonych kierunkach: wysyłanie danych w kierunku drugiego komputera i odbieranie danych z trzeciego komputera.

Złamanie pierwszego komputera nie pozwoli ci uzyskać dostępu do kluczy szyfrujących, samych danych, a także nie pozwoli na kontynuację ataku na pozostałe urządzenia.

W przypadku naruszenia bezpieczeństwa drugiego komputera osoba atakująca odczyta wiadomości i klucze, ale nie będzie w stanie przesłać ich do świata zewnętrznego, ponieważ dane są tylko odbierane z zewnątrz, a nie wysyłane na zewnątrz.

W przypadku naruszenia bezpieczeństwa trzeciego komputera osoba atakująca może podszyć się pod subskrybenta i pisać wiadomości w jego imieniu, ale nie będzie w stanie odczytać danych pochodzących z zewnątrz (ponieważ trafiają one do drugiego komputera i tam są odszyfrowane).

Szyfrowanie odbywa się w oparciu o 256-bitowy algorytm XChaCha20-Poly1305, a do zabezpieczenia kluczy hasłem wykorzystywana jest powolna funkcja skrótu Argon2id. Do wymiany kluczy wykorzystywane są klucze X448 (protokół Diffiego-Hellmana oparty na Curve448) lub klucze PSK (wstępnie współdzielone). Każda wiadomość transmitowana jest w trybie Perfect Forward Secrecy (PFS, Perfect Forward Secrecy) w oparciu o skróty Blake2b, w którym naruszenie jednego z kluczy długoterminowych nie pozwala na odszyfrowanie wcześniej przechwyconej sesji.

Interfejs aplikacji jest niezwykle prosty i zawiera okno podzielone na trzy obszary – wysyłanie, odbieranie oraz linię poleceń zawierającą log interakcji z bramką. Sterowanie odbywa się za pomocą specjalnego zestawu poleceń.

Program kod projektu został napisany w Pythonie i dostępny na licencji GPLv3. Obwody rozdzielacza są uwzględnione (PCB) i są dostępne na licencji GNU FDL 1.3, splitter można złożyć z dostępnych części.

Źródło: linux.org.ru

Dodaj komentarz