W ramach projektu TFC opracowano paranoicznie bezpieczny system przesyłania wiadomości

W granicach projektu TFC (Tinfoil Chat) podjęto próbę stworzenia prototypu systemu przesyłania wiadomości chronionego przed paranoją, który utrzymywałby tajemnicę korespondencji nawet w przypadku naruszenia bezpieczeństwa urządzeń końcowych. Aby uprościć audyt, kod projektu napisano w języku Python i dostępny licencjonowany na licencji GPLv3.

Obecnie rozpowszechnione systemy przesyłania wiadomości, które wykorzystują szyfrowanie typu end-to-end, pozwalają chronić korespondencję przed przechwyceniem na serwerach pośrednich i analizą ruchu tranzytowego, ale nie chronią przed problemami po stronie urządzenia klienckiego. Aby skompromitować systemy oparte na szyfrowaniu end-to-end, wystarczy zhakować system operacyjny, firmware czy komunikator na urządzeniu końcowym, na przykład poprzez wykorzystanie nieznanych wcześniej podatności, poprzez wstępne wprowadzenie zakładek programowych lub sprzętowych do urządzenia lub poprzez dostarczenie fikcyjnej aktualizacji za pomocą backdoora (na przykład podczas wywierania nacisku na programistę przez służby wywiadowcze lub grupy przestępcze). Nawet jeśli klucze szyfrujące znajdują się na osobnym tokenie, jeśli masz kontrolę nad systemem użytkownika, zawsze możesz śledzić procesy, przechwytywać dane z klawiatury i monitorować wyjście na ekran.

TFC oferuje kompleks oprogramowania i sprzętu, który wymaga użycia trzech oddzielnych komputerów i specjalnego rozdzielacza sprzętu po stronie klienta. Cały ruch podczas interakcji uczestników wiadomości jest przesyłany przez anonimową sieć Tor, a programy do przesyłania wiadomości są tworzone w postaci ukrytych usług Tor (użytkownicy są identyfikowani na podstawie ukrytych adresów usług i kluczy podczas wymiany wiadomości).

W ramach projektu TFC opracowano paranoicznie bezpieczny system przesyłania wiadomości

Pierwszy komputer działa jako brama do łączenia się z siecią i uruchamiania ukrytej usługi Tor. Bramka manipuluje tylko już zaszyfrowanymi danymi, a pozostałe dwa komputery służą do szyfrowania i deszyfrowania. Drugi komputer może służyć jedynie do odszyfrowywania i wyświetlania otrzymanych wiadomości, a trzeci jedynie do szyfrowania i wysyłania nowych wiadomości. W związku z tym drugi komputer ma tylko klucze deszyfrujące, a trzeci tylko klucze szyfrujące.

Komputer drugi i trzeci nie mają bezpośredniego połączenia z siecią i są oddzielone od komputera-bramy specjalnym rozdzielaczem USB wykorzystującym „dioda danych” i fizycznie przesyła dane tylko w jednym kierunku. Splitter pozwala jedynie na wysyłanie danych do drugiego komputera i odbieranie danych tylko z trzeciego komputera. Kierunek danych w rozdzielaczu jest ograniczony za pomocą transoptory (zwykła przerwa w liniach Tx i Rx w kablu nie wystarczy, gdyż przerwa nie wyklucza transmisji danych w przeciwnym kierunku i nie gwarantuje, że linia Tx nie będzie wykorzystywana do odczytu, a linia Rx do transmisji ). Możliwość złożenia łuparki ze złomu, w załączeniu schematy (PCB) i są dostępne na licencji GNU FDL 1.3.

W ramach projektu TFC opracowano paranoicznie bezpieczny system przesyłania wiadomości

W przypadku takiego schematu brama jest zagrożona nie pozwoli uzyskać dostęp do kluczy szyfrujących i nie pozwoli na kontynuację ataku na pozostałych urządzeniach. Jeśli komputer, na którym znajdują się klucze deszyfrujące, zostanie naruszony, informacje z niego nie mogą zostać przesłane do świata zewnętrznego, ponieważ przepływ danych jest ograniczony jedynie poprzez odbiór informacji, a transmisja zwrotna jest blokowana przez diodę danych.

W ramach projektu TFC opracowano paranoicznie bezpieczny system przesyłania wiadomości

Szyfrowanie opiera się na 256-bitowych kluczach na XChaCha20-Poly1305, do ochrony kluczy hasłem używana jest powolna funkcja haszująca argon2id. Służy do wymiany kluczy X448 (protokół Diffiego-Hellmana oparty na Curve448) lub klucze PSK (wstępnie udostępnione). Każda wiadomość jest przesyłana z zachowaniem doskonałej tajemnicy przekazywania (PFS, Idealna tajemnica) w oparciu o skróty Blake2b, w których naruszenie jednego z kluczy długoterminowych nie pozwala na odszyfrowanie przechwyconej wcześniej sesji. Interfejs aplikacji jest niezwykle prosty i zawiera okno podzielone na trzy obszary – wysyłanie, odbieranie oraz linię poleceń zawierającą dziennik interakcji z bramką. Zarządzanie odbywa się za pośrednictwem specjalnego zestaw poleceń.

W ramach projektu TFC opracowano paranoicznie bezpieczny system przesyłania wiadomości

Źródło: opennet.ru

Dodaj komentarz