Komunikator Signal wznowił publikowanie kodu serwera i zintegrowanej kryptowaluty

Fundacja Signal Technology, która rozwija system bezpiecznej komunikacji Signal, wznowiła publikację kodu części serwerowej komunikatora. Kod projektu był pierwotnie open source na licencji AGPLv3, ale publikacja zmian w publicznym repozytorium została wstrzymana bez wyjaśnienia 22 kwietnia ubiegłego roku. Aktualizacja repozytorium została zatrzymana po ogłoszeniu zamiaru integracji systemu płatności z Signal.

Niedawno rozpoczęliśmy testowanie systemu płatności wbudowanego w Signal, opartego o naszą własną kryptowalutę MobileCoin (MOB), opracowaną przez Moxie Marlinspike, autora protokołu Signal. Mniej więcej w tym samym czasie w repozytorium opublikowano narosłe w ciągu roku zmiany w komponentach serwera, w tym także te obejmujące wdrożenie systemu płatności.

Komunikator Signal wznowił publikowanie kodu serwera i zintegrowanej kryptowaluty

Kryptowaluta MobileCoin ma na celu zbudowanie sieci płatności mobilnych, która zapewni użytkownikowi prywatność. Dane użytkowników pozostają wyłącznie w ich rękach, a programiści Signal lub administratorzy elementów infrastruktury nie mają możliwości dostępu do pieniędzy, danych o saldzie użytkownika i historii transakcji. Sieć płatnicza nie ma jednego punktu kontroli i opiera się na idei współwłasności, której istotą jest to, że wszystkie fundusze sieciowe powstają jako zbiór pojedynczych udziałów, które można wymieniać. Całkowita kwota środków w sieci jest ustalona na 250 milionów MOB.

MobileCoin opiera się na blockchainie, który przechowuje historię wszystkich udanych płatności. Aby potwierdzić własność środków, musisz mieć dwa klucze - klucz do przelewu środków i klucz do przeglądania statusu. W przypadku większości użytkowników klucze te można wyprowadzić ze wspólnego klucza podstawowego. Aby otrzymać płatność, użytkownik musi udostępnić nadawcy dwa klucze publiczne odpowiadające istniejącym kluczom prywatnym używanym do wysyłania i weryfikować własność środków. Transakcje generowane są na komputerze lub smartfonie użytkownika, po czym przekazywane są do jednego z węzłów posiadających status walidatora w celu przetworzenia w wyizolowanej enklawie. Walidatory weryfikują transakcję i dzielą się informacjami o transakcji z innymi węzłami sieci MobileCoin poprzez łańcuch (peer to peer).

Dane mogą być przesyłane jedynie do węzłów, które zweryfikowały kryptograficznie użycie niezmodyfikowanego kodu MobileCoin w enklawie. Każda izolowana enklawa replikuje maszynę stanu, która dodaje prawidłowe transakcje do łańcucha bloków przy użyciu protokołu MobileCoin Consensus w celu potwierdzenia płatności. Węzły mogą również pełnić rolę pełnych walidatorów, które dodatkowo tworzą i hostują publiczną kopię obliczonego łańcucha bloków w sieciach dostarczania treści. Powstały blockchain nie zawiera informacji pozwalających na identyfikację użytkownika bez znajomości jego kluczy. Blockchain zawiera wyłącznie identyfikatory wyliczane na podstawie kluczy użytkownika, zaszyfrowanych danych o środkach oraz metadanych służących kontroli integralności.

Aby zapewnić integralność i chronić dane przed uszkodzeniem po fakcie, stosowana jest struktura drzewa Merkle Tree, w której każda gałąź weryfikuje wszystkie podstawowe gałęzie i węzły poprzez wspólne (drzewo) hashowanie. Posiadając końcowy hash użytkownik może zweryfikować poprawność całej historii operacji, a także poprawność przeszłych stanów bazy danych (hash weryfikacyjny root nowego stanu bazy wyliczany jest z uwzględnieniem stanu przeszłego ).

Oprócz walidatorów w sieci znajdują się także węzły Watcher, które weryfikują podpisy cyfrowe dołączane przez walidatory do każdego bloku w łańcuchu bloków. Węzły obserwatorów stale monitorują integralność zdecentralizowanej sieci, utrzymują własne lokalne kopie łańcucha bloków i udostępniają interfejsy API dla aplikacji portfelowych i klientów giełdy. Każdy może uruchomić walidator i węzeł obserwacyjny, w tym celu dystrybuowane są odpowiednie usługi, obrazy enklaw dla Intel SGX i demon mobilecoind.

Twórca Signal wyjaśnił ideę integracji kryptowaluty z komunikatorem chęcią zapewnienia użytkownikom łatwego w obsłudze systemu płatności, który chroni prywatność, podobnie jak komunikator Signal zapewnia bezpieczeństwo komunikacji. Bruce Schneier, znany ekspert w dziedzinie kryptografii i bezpieczeństwa komputerów, skrytykował działania twórców Signal. Schneier uważa, że ​​wkładanie wszystkich jajek do jednego koszyka nie jest najlepszym rozwiązaniem i nie chodzi o to, że prowadzi to do rozdęcia i skomplikowania programu, ani nawet o to, że zastosowanie blockchaina budzi wątpliwości, ani o to, że jest to próba powiązać Signal z jedną kryptowalutą.

Według Schneiera kluczowym problemem jest to, że dodanie systemu płatności do całkowicie zaszyfrowanej aplikacji stwarza dodatkowe zagrożenia związane ze zwiększonym zainteresowaniem ze strony różnych agencji wywiadowczych i organów regulacyjnych. Bezpieczną komunikację i bezpieczne transakcje można łatwo wdrożyć jako osobne aplikacje. Aplikacje wdrażające silne szyfrowanie typu end-to-end są już atakowane, a dalsze zwiększanie stopnia sprzeciwu jest niebezpieczne - po połączeniu funkcjonalności wpływ na system płatności będzie wiązać się z funkcjonalnością szyfrowania typu end-to-end . Jeśli umrze jedna część, umrze cały system.

Źródło: opennet.ru

Dodaj komentarz