Przejdź do treści

Postawa bezpieczeństwa

Co obiecujemy i co to dla ciebie znaczy.

Twoje klucze nigdy nie opuszczają twojego urządzenia.

Klucze są generowane w twojej przeglądarce za pomocą libsodium. Są szyfrowane hasłem, które wybierasz (Argon2id + XSalsa20-Poly1305) przed zapisaniem. Żaden serwer Morphit nigdy ich nie widzi.

Zero śledzenia.

Bez ciasteczek. Bez analityki. Bez skryptów stron trzecich. Bez telemetrii. Twój adres IP dociera do serwera, z którego korzystasz, jak w przypadku każdej strony; kod Morphit trzyma go tylko w pamięci na potrzeby limitów żądań i nigdy nie zapisuje go na dysku ani w logu. Zajrzyj do karty Sieć w przeglądarce.

Węzeł może działać całkowicie bez clearnetu.

Operator może prowadzić węzeł Morphit, który nigdy nie dotyka clearnetu. Odczyty z łańcucha i aktualizacje idą przez Tor i I2P; sprawdzanie opłat w BTC/XMR i ceny pochodzą z usług onion (eksploratory bloków, serwery cen Haveno i Bisq) oraz z innych węzłów Morphit; aktualizacja zostaje zainstalowana tylko wtedy, gdy zgadza się z hashem podpisanym przez @morphit w łańcuchu. Nawet system serwera trzyma się z dala od clearnetu: aktualizacje pakietów idą przez Tor, a zegar jest ustawiany według usług onion. Oprogramowanie odmawia połączeń z clearnetem, a zapora wypuszcza na zewnątrz tylko Tor i I2P; gdy Tor jest blokowany, węzeł sam przechodzi na mosty. Węzeł deklaruje zero clearnetu tylko wtedy, gdy przejdą jego własne testy, a inne węzły pokazują to jako oświadczenie tej instancji: nie mogą tego sprawdzić. (Ktoś, kto obserwuje łącze serwera, nadal widzi, że działa na nim I2P.)

Czat jest szyfrowany end-to-end.

Każda wiadomość jest szyfrowana w twojej przeglądarce, zanim ją opuści (wymiana kluczy na krzywych eliptycznych oparta na waszych kluczach posting Blurt oraz ChaCha20-Poly1305), nowym kluczem jednorazowym połączonym z kluczami was obojga — więc tylko ty i twój partner możecie ją przeczytać, a partner wie, że naprawdę pochodzi od ciebie. Żaden serwer nie ma klucza, który by ją otworzył. Klucz partnera jest przypięty: jeśli kiedykolwiek się zmieni, Morphit zatrzymuje się i najpierw pyta ciebie, a 60-cyfrowy numer bezpieczeństwa pozwala wam sprawdzić się nawzajem poza Morphit. Publiczna pozostaje koperta: wiadomości leżą w łańcuchu Blurt, więc widać, kto pisze do kogo, kiedy, w sprawie którego zlecenia i jak długa jest każda wiadomość, a poufności przyszłej (forward secrecy) nie ma. Pełny projekt opisano w docs/adr/0015-chat-crypto.md.

Podpisane wydania z odciskiem.

Każde wydanie powstaje z podpisanego GPG tagu git na gałęzi main, a @morphit kotwiczy je w łańcuchu Blurt: SHA-256 archiwum źródeł i pakietu offline oraz hashe plików, które uruchamiają stronę (szkielet strony, service worker, kod startowy). Twoja przeglądarka odczytuje ten podpisany wpis przez tę stronę, która odpowiada tylko tym, co zgodnie podają dwaj operatorzy RPC Blurt, sama sprawdza podpis @morphit, ponownie sprawdza według niego pliki, które ta strona jej dostarczyła, i wymienia w czerwonym ostrzeżeniu te, które się różnią; węzeł instaluje aktualizację tylko wtedy, gdy się zgadza. To wykrywa plik zmieniony przypadkiem lub przez częściowo przejęty serwer; nie ochroni cię przed wrogim operatorem, który serwuje też kod sprawdzający. Skrypty nie mają Subresource Integrity, a kompilacje nie są jeszcze powtarzalne co do bajtu, więc pobrany plik weryfikujesz po jego hashu i podpisie (docs/VERIFY-YOUR-DOWNLOAD.md), a nie przez ponowne zbudowanie.

Open source, otwarty model zagrożeń.

Pełny model zagrożeń jest w docs/SECURITY.md repo. Jesteśmy jednoznaczni co do tego przed czym chronimy a przed czym nie — udawanie byłoby gorsze niż szczerość.

Program nagród za błędy

Prowadzimy uznaniowy program uznawania bezpieczeństwa. Każde wykonalne odkrycie jest sprawdzane przez prawdziwego inżyniera, otrzymuje odpowiedź i — jeśli istotnie poprawia postawę bezpieczeństwa Morphit — jest nagradzane w BLURT (płacone z @morphit-fees) lub BTC, skalowane według powagi i jakości raportu. Brak stałej tabeli poziomów; ocena indywidualna. Kredyt w hall of fame dostępny nawet bez płatności. Pełny zakres, wytyczne dotyczące powagi, przepływ płatności i czego nie zrobimy (brak NDA, brak ekskluzywnego ujawnienia) jest udokumentowane w docs/SECURITY.md.

Przeczytaj pełny zakres i zasady

Kanarek nakazu

Publikujemy cotygodniowy kanarek podpisany kluczem PGP operatora. Kanarek wyraźnie deklaruje, że żadne NSL / FISA / nakaz milczenia / żądanie tylnych drzwi nie zostało otrzymane. Dowody świeżości obejmują aktualny nagłówek blockchaina, aktualny nagłówek łańcucha Bitcoin i aktualny nagłówek wiadomości (dowodzi, że kanarek nie może być wygenerowany z wyprzedzeniem). Jeśli kanarek przestaje się aktualizować przez ponad 14 dni, traktuj go jako milczącego: operator może być pod presją przymusu, a ty powinieneś przejść do innego operatora federacyjnego.

Zobacz aktualnego kanarka tego operatora · Klucze PGP operatora

Znalazłeś problem z bezpieczeństwem? Wyślij go wyłącznie jako prywatną wiadomość Matrix do @agorise:matrix.org. Nigdy nie publikuj szczegółów: ani w zgłoszeniu na Forgejo (zgłoszenia są tam publiczne), ani w pokoju czatu, ani w łańcuchu (wiadomość do morphit pozostaje tam publiczna na zawsze).