Projekt TFC rozwija paranoidalnie zabezpieczony system wymiany wiadomości

W ramach projektu TFC (Tinfoil Chat) podjęto próbę stworzenia prototypu paranoidalnie zabezpieczonego systemu wymiany wiadomości, który zachowywałby tajemnicę korespondencji nawet w przypadku kompromitacji końcowych urządzeń. Dla uproszczenia audytu kod projektu napisano w języku Python i dostępne jest licencjonowany na zasadach GPLv3.

Powszechnie stosowane obecnie systemy wymiany wiadomości z użyciem end-to-end szyfrowania pozwalają chronić korespondencję przed przechwyceniem na pośrednich serwerach i analizą ruchu tranzytowego, ale nie chronią przed problemami na stronie urządzenia klienckiego. Aby skompromitować systemy oparte na szyfrowaniu end-to-end, wystarczy skompromitować system operacyjny, firmware lub aplikację komunikacyjną na końcowym urządzeniu, na przykład poprzez wykorzystanie wcześniej nieznanych luk, poprzez początkowe wprowadzenie do urządzenia złośliwego oprogramowania lub sprzętowych backdoorów, czy poprzez dostarczenie fikcyjnej aktualizacji z backdoorem (na przykład pod presją służb specjalnych lub grup przestępczych). Nawet jeśli klucze do szyfrowania znajdują się na oddzielnym tokenie, przy kontroli nad systemem użytkownika zawsze istnieje możliwość śledzenia procesów, przechwytywania danych z klawiatury i monitorowania wydruku na ekranie.

TFC oferuje kompleks sprzętowo-programowy, który wymaga zastosowania na stronie klienta trzech oddzielnych komputerów i specjalnego sprzętowego splitter'a. Cały ruch podczas interakcji uczestników wymiany wiadomości jest przesyłany przez anonimową sieć Tor, a programy do wymiany wiadomości są realizowane w formie ukrytych usług Tor (użytkownicy podczas wymiany wiadomości są identyfikowani po adresach ukrytych usług i kluczach).

Projekt TFC rozwija paranoidalnie zabezpieczony system wymiany wiadomości

Pierwszy komputer działa jako brama do połączenia z siecią i uruchomienia ukrytej usługi Tor. Brama manipuluje tylko już zaszyfrowanymi danymi, a do szyfrowania i deszyfrowania używane są dwa pozostałe komputery. Drugi komputer może być używany tylko do deszyfrowania i wyświetlania otrzymanych wiadomości, a trzeci tylko do szyfrowania i wysyłania nowych wiadomości. Odpowiednio, drugi komputer posiada tylko klucze do deszyfrowania, a trzeci tylko klucze do szyfrowania.

Drugi i trzeci komputer nie mają bezpośredniego połączenia z siecią i są odseparowane od komputera bramki specjalnym rozdzielaczem USB, który wykorzystuje zasadę „dioda danych” i przepuszcza dane fizycznie tylko w jednym kierunku. Rozdzielacz pozwala na wysyłkę danych w stronę drugiego komputera i tylko odbiór danych od trzeciego komputera. Kierunek danych w rozdzielaczu jest ograniczany za pomocą optronów (prosty zanik linii Tx i Rx w kablu jest niewystarczający, ponieważ zanik nie wyklucza przesyłu danych w odwrotnym kierunku i nie gwarantuje, że linia Tx nie będzie używana do odczytu, a Rx do przesyłania). Rozdzielacz można zbudować z dostępnych materiałów, schematy w załączeniu (PCB) i są dostępne na licencji GNU FDL 1.3.

Projekt TFC rozwija paranoidalnie zabezpieczony system wymiany wiadomości

W przypadku tego schematu kompromitacja bramki nie pozwoli może uzyskać dostęp do kluczy szyfrowania i nie pozwoli na kontynuowanie ataku na pozostałe urządzenia. W przypadku kompromitacji komputera, na którym znajdują się klucze do deszyfracji, informacje z niego nie będą mogły być przesyłane do świata zewnętrznego, ponieważ przepływ danych ogranicza się tylko do odbioru informacji, a zwrotną transmisję blokuje dioda danych.

Projekt TFC rozwija paranoidalnie zabezpieczony system wymiany wiadomości

Szyfrowanie wykonano przy użyciu 256-bitowych kluczy na XChaCha20-Poly1305, a do ochrony kluczy hasłem używa się wolnej funkcji skrótu Argon2id. Do wymiany kluczy stosuje się X448 (protokół Diffiego – Hellmana oparty na Curve448) lub klucze PSK (pre-shared). Każda wiadomość jest przesyłana w trybie idealnej ciągłej poufności (PFS, Perfect Forward Secrecy) na podstawie skrótów Blake2b, w którym kompromitacja jednego z długoterminowych kluczy nie pozwala na odszyfrowanie wcześniej przechwyconej sesji. Interfejs aplikacji jest maksymalnie prosty i zawiera okno podzielone na trzy obszary — wysyłanie, odbieranie i wiersz poleceń z dziennikiem interakcji z bramką. Zarządzanie odbywa się za pomocą specjalnego zestawu poleceń.

Projekt TFC rozwija paranoidalnie zabezpieczony system wymiany wiadomości

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster