mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-09 05:37:58 +00:00
254 lines
16 KiB
Markdown
254 lines
16 KiB
Markdown
# The World's Most Secure Messaging
|
|
|
|
**Ultimate security**: SimpleX network uses the most secure end-to-end encryption, with continuous post-quantum key exchange to protect all messages and metadata.
|
|
|
|
**Unique privacy**: SimpleX network has no user profile IDs, not even random numbers or keys. It provides better privacy of your contacts, protecting who you talk with from network servers.
|
|
|
|
**No spam**: nobody can contact you unless you share 1-time link or long-term address.
|
|
|
|
**Data ownership**: only your device stores your profiles, contacts and messages. You can securely move your data to another device. Servers store encrypted messages only while your device is offline.
|
|
|
|
**Secure decentralization**: you control which servers to connect to. For security 4 different servers are used in each chat — they can't observe which IP addresses talk to each other.
|
|
|
|
#### How to connect to others
|
|
|
|
- Tap new chat button in the corner, then create 1-time link.
|
|
- Share the link with your contact via any other messenger or email - it is secure.
|
|
- Ask your contact to use the link in the app - click it after the app is installed or paste into the search field in the app.
|
|
|
|
## Dlaczego SimpleX jest unikalny
|
|
|
|
### Masz pełną prywatność
|
|
|
|
SimpleX chroni prywatność Twojego profilu, kontaktów i metadanych, ukrywając je przed serwerami sieci SimpleX i wszelkimi obserwatorami.
|
|
|
|
W przeciwieństwie do każdej innej istniejącej sieci komunikacyjnej, SimpleX nie ma żadnych identyfikatorów przypisanych do użytkowników — **nawet losowych liczb**.
|
|
|
|
### Jesteś chroniony przed spamem i nadużyciami
|
|
|
|
Ponieważ w sieci SimpleX nie masz identyfikatora ani stałego adresu, nikt nie może się z Tobą skontaktować, chyba że udostępnisz jednorazowy lub tymczasowy adres użytkownika, w postaci kodu QR lub linku.
|
|
|
|
### Masz kontrolę nad swoimi danymi
|
|
|
|
SimpleX przechowuje wszystkie dane użytkownika na urządzeniach klienckich w formacie **przenośnej zaszyfrowanej bazy danych** — można je przenieść na inne urządzenie.
|
|
|
|
Wiadomości zaszyfrowane end-to-end są przechowywane tymczasowo na serwerach przekaźnikowych SimpleX do momentu ich odebrania, po czym są trwale usuwane.
|
|
|
|
### Jesteś właścicielem sieci SimpleX
|
|
|
|
Sieć SimpleX jest w pełni zdecentralizowana i niezależna od jakiejkolwiek krypto-waluty lub jakiejkolwiek innej sieci, poza Internetem.
|
|
|
|
Możesz **używać SimpleX z własnymi serwerami** lub z serwerami dostarczonymi przez nas — i nadal łączyć się z dowolnym użytkownikiem.
|
|
|
|
# Pełna prywatność Twojej tożsamości, profilu, kontaktów i metadanych
|
|
|
|
W przeciwieństwie do innych sieci komunikacyjnych, SimpleX ma **brak identyfikatorów przypisanych do użytkowników**. Nie polega na numerach telefonów, adresach opartych na domenie (jak e-mail lub XMPP), nazwach użytkowników, kluczach publicznych czy nawet losowych liczbach, aby zidentyfikować swoich użytkowników — operatorzy serwerów SimpleX nie wiedzą, ile osób korzysta z ich serwerów.
|
|
|
|
Do dostarczania wiadomości SimpleX używa [parami anonimowych adresów](https://csrc.nist.gov/glossary/term/Pairwise_Pseudonymous_Identifier) jednokierunkowych kolejek z wiadomościami, oddzielnych dla wiadomości odbieranych i wysyłanych, zwykle przez różne serwery.
|
|
|
|
Taka konstrukcja chroni prywatność tego, z kim się komunikujesz, ukrywając ją przed serwerami sieci SimpleX i przed wszelkimi obserwatorami. Aby ukryć swój adres IP przed serwerami, możesz **połączyć się z serwerami SimpleX za pośrednictwem sieci Tor**.
|
|
|
|
# Najlepsza ochrona przed spamem i nadużyciami
|
|
|
|
Ponieważ nie masz identyfikatora w sieci SimpleX, nikt nie może się z Tobą skontaktować, chyba że udostępnisz jednorazowy lub tymczasowy adres użytkownika, w postaci kodu QR lub linku.
|
|
|
|
Nawet w przypadku opcjonalnego adresu użytkownika, podczas gdy może on być używany do wysyłania spamowych zapytań o kontakt, możesz go zmienić lub całkowicie usunąć bez utraty jakichkolwiek połączeń.
|
|
|
|
# Własność, kontrola i bezpieczeństwo Twoich danych
|
|
|
|
SimpleX Chat przechowuje wszystkie dane użytkowników tylko na urządzeniach klienckich przy użyciu **przenośnego formatu zaszyfrowanej bazy danych**, który można wyeksportować i przenieść na dowolne obsługiwane urządzenie.
|
|
|
|
Wiadomości zaszyfrowane end-to-end są przechowywane tymczasowo na serwerach przekaźnikowych SimpleX do momentu ich odebrania, po czym są trwale usuwane.
|
|
|
|
W przeciwieństwie do serwerów sieci federacyjnych (e-mail, XMPP czy Matrix), serwery SimpleX nie przechowują kont użytkowników, a jedynie przekazują wiadomości, chroniąc prywatność obu stron.
|
|
|
|
Nie ma żadnych identyfikatorów ani szyfrogramów wspólnych między wysyłanym i odbieranym ruchem serwera — jeśli ktokolwiek to obserwuje, nie może łatwo określić, kto komunikuje się z kim, nawet jeśli bezpieczeństwo protokołu TLS zostało zagrożone.
|
|
|
|
# W pełni zdecentralizowana — użytkownicy są właścicielami sieci SimpleX
|
|
|
|
Możesz **używać SimpleX z własnymi serwerami** i nadal komunikować się z osobami, które korzystają z prekonfigurowanych w aplikacji serwerów.
|
|
|
|
Sieć SimpleX wykorzystuje [otwarty protokół](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md) i udostępnia [SDK do tworzenia chatbotów](https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript), umożliwiając implementację usług, z którymi użytkownicy mogą wchodzić w interakcje za pośrednictwem aplikacji SimpleX Chat — naprawdę nie możemy się doczekać, aby zobaczyć, jakie usługi SimpleX zbudujesz.
|
|
|
|
Jeśli rozważasz rozwój dla sieci SimpleX, na przykład czatbotu dla użytkowników aplikacji SimpleX lub integrację biblioteki SimpleX Chat w swoich aplikacjach mobilnych, prosimy o [kontakt](https://simplex.chat/contact#/?v=1&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FK1rslx-m5bpXVIdMZg9NLUZ_8JBm8xTt%23MCowBQYDK2VuAyEALDeVe-sG8mRY22LsXlPgiwTNs9dbiLrNuA7f3ZMAJ2w%3D) dla wszelkich porad i wsparcia.
|
|
|
|
## Funkcje
|
|
|
|
Wiadomości szyfrowane przez E2E ze składnią markdown i edycją
|
|
|
|
Obrazy, wideo i pliki
|
|
zaszyfrowane przez E2E
|
|
|
|
Zaszyfrowane E2E zdecentralizowane grupy — tylko użytkownicy wiedzą, że te grupy istnieją
|
|
|
|
Wiadomości głosowe zaszyfrowane przez E2E
|
|
|
|
Znikające wiadomości
|
|
|
|
Połączenia audio i wideo
|
|
szyfrowane przez E2E
|
|
|
|
Przenośna zaszyfrowana pamięć aplikacji — przenieś profil na inne urządzenie
|
|
|
|
Tryb incognito —
|
|
unikalny dla SimpleX Chat
|
|
|
|
## Co sprawia, że SimpleX jest prywatny
|
|
|
|
### Tymczasowe anonimowe identyfikatory parami
|
|
|
|
SimpleX używa tymczasowych anonimowych adresów par i poświadczeń dla każdego kontaktu użytkownika lub członka grupy.
|
|
|
|
Pozwala na dostarczanie wiadomości bez identyfikatorów profilu użytkownika, zapewniając lepszą prywatność metadanych niż rozwiązania alternatywne.
|
|
|
|
### Wymiana kluczy out-of-band
|
|
|
|
Wiele sieci komunikacyjnych jest podatnych na ataki MITM ze strony serwerów lub dostawców sieci.
|
|
|
|
Aby temu zapobiec aplikacje SimpleX przekazują klucze jednorazowe out-of-band, gdy udostępniasz adres jako link lub kod QR.
|
|
|
|
### Dwie warstwy szyfrowania typu end-to-end
|
|
|
|
Protokół double-ratchet —
|
|
OTR messaging z perfect forward secrecy i break-in recovery.
|
|
|
|
NaCL cryptobox w każdej kolejce, aby zapobiec korelacji ruchu między kolejkami wiadomości, jeśli bezpieczeństwo protokołu TLS zostanie naruszone.
|
|
|
|
### Weryfikacja integralności wiadomości
|
|
|
|
Aby zagwarantować integralność, wiadomości są kolejno numerowane i zawierają hash poprzedniej wiadomości.
|
|
|
|
Jeśli jakaś wiadomość zostanie dodana, usunięta lub zmieniona, odbiorca zostanie o tym powiadomiony.
|
|
|
|
### Dodatkowa warstwa szyfrowania serwera
|
|
|
|
Dodatkowa warstwa szyfrowania serwera w celu dostarczenia do odbiorcy, aby zapobiec korelacji między odebranym i wysłanym ruchem serwera, jeśli bezpieczeństwo protokołu TLS zostanie naruszone.
|
|
|
|
### Mieszanie wiadomości w celu zmniejszenia korelacji
|
|
|
|
Serwery SimpleX działają jak węzły mieszania o niskim opóźnieniu — wiadomości przychodzące i wychodzące mają inną kolejność.
|
|
|
|
### Bezpieczny uwierzytelniony transport TLS
|
|
|
|
Do połączeń klient-serwer używany jest tylko TLS 1.2/1.3 z silnymi algorytmami.
|
|
|
|
Odcisk palca serwera i wiązanie kanałów zapobiegają atakom MITM i replay.
|
|
|
|
Wznowienie połączenia jest wyłączone, aby zapobiec atakom na sesje.
|
|
|
|
### Możliwy dostęp za pośrednictwem sieci Tor
|
|
|
|
Aby chronić swój adres IP, możesz uzyskać dostęp do serwerów przez Tor lub inną sieć nakładki transportowej.
|
|
|
|
Aby użyć SimpleX przez Tor zainstaluj [aplikację Orbot na android](https://guardianproject.info/apps/org.torproject.android/) i włącz proxy SOCKS5 (lub VPN [na iOS](https://apps.apple.com/us/app/orbot/id1609461599?platform=iphone)).
|
|
|
|
### Jednokierunkowe kolejki wiadomości
|
|
|
|
Każda kolejka z wiadomościami przekazuje wiadomości w jednym kierunku, z różnymi adresami wysyłania i odbierania.
|
|
|
|
Zmniejsza wektory ataku, w porównaniu do tradycyjnych brokerów wiadomości, oraz dostępne metadane.
|
|
|
|
### Wielowarstwowy padding treści
|
|
|
|
SimpleX używa paddingu treści dla każdej warstwy szyfrowania, aby udaremnić ataki na rozmiar wiadomości.
|
|
|
|
Dzięki temu wiadomości o różnych rozmiarach wyglądają tak samo dla serwerów i obserwatorów sieci.
|
|
|
|
## Sieć SimpleX
|
|
|
|
SimpleX Chat zapewnia najlepszą prywatność dzięki połączeniu zalet sieci P2P i sieci federacyjnych.
|
|
|
|
### W przeciwieństwie do sieci P2P
|
|
|
|
Wszystkie wiadomości są wysyłane przez serwery, co zapewnia lepszą prywatność metadanych i niezawodne asynchroniczne dostarczanie wiadomości, przy jednoczesnym unikaniu wielu .
|
|
|
|
# Porównanie z protokołami komunikacyjnymi P2P
|
|
|
|
Protokoły [P2P](https://en.wikipedia.org/wiki/Peer-to-peer) i aplikacje do przesyłania wiadomości mają różne problemy, które czynią je mniej niezawodnymi niż SimpleX, bardziej skomplikowanymi w analizie i podatnymi na kilka rodzajów ataków.
|
|
|
|
1. Sieci P2P opierają się na pewnym wariancie [DHT](https://en.wikipedia.org/wiki/Distributed_hash_table) do przekazywania wiadomości. DHT muszą równoważyć gwarancję dostarczenia i opóźnienie. SimpleX ma zarówno lepszą gwarancję dostarczenia, jak i mniejsze opóźnienia niż P2P, ponieważ wiadomość może być nadmiarowo przepuszczona przez kilka serwerów równolegle, z wykorzystaniem serwerów wybranych przez odbiorcę. W sieciach P2P wiadomość jest przepuszczana przez , *O(log N)* węzłów sekwencyjnie, z wykorzystaniem węzłów wybranych przez algorytm.
|
|
2. Projekt SimpleX, w przeciwieństwie do większości sieci P2P, nie posiada żadnych globalnych identyfikatorów użytkowników, nawet tymczasowych, a jedynie używa tymczasowych identyfikatorów parami, zapewniając lepszą anonimowość i ochronę metadanych.
|
|
3. P2P nie rozwiązuje [ataku MITM](https://en.wikipedia.org/wiki/Man-in-the-middle_attack) problemu, a większość istniejących implementacji nie używa wiadomości out-of-band do początkowej wymiany klucza. SimpleX używa wiadomości out-of-band lub, w niektórych przypadkach, wcześniej istniejących bezpiecznych i zaufanych połączeń do początkowej wymiany klucza.
|
|
4. Implementacje P2P mogą być blokowane przez niektórych dostawców Internetu (np. [BitTorrent](https://en.wikipedia.org/wiki/BitTorrent)). SimpleX jest agnostykiem transportowym — może działać przez standardowe protokoły internetowe, np. WebSockets.
|
|
5. Wszystkie znane sieci P2P mogą być podatne na [atak Sybil](https://en.wikipedia.org/wiki/Sybil_attack), ponieważ każdy węzeł jest możliwy do odkrycia, a sieć działa jako całość. Znane środki łagodzące wymagają albo scentralizowanego komponentu, albo kosztownego [proof of work](https://en.wikipedia.org/wiki/Proof_of_work). SimpleX nie ma możliwości odkrywania serwerów, jest pofragmentowana i działa jako wiele odizolowanych podsieci, co uniemożliwia ataki na całą sieć.
|
|
6. Sieci P2P mogą być podatne na atak [DRDoS](https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent), kiedy klienci mogą rozgłaszać i wzmacniać ruch, co powoduje odmowę usługi w całej sieci. Klienci SimpleX przekazują jedynie ruch ze znanego połączenia i nie mogą być wykorzystani przez atakującego do wzmocnienia ruchu w całej sieci.
|
|
|
|
---
|
|
|
|
### W przeciwieństwie do sieci federacyjnych
|
|
|
|
Serwery przekaźnikowe SimpleX NIE przechowują profili użytkowników, kontaktów i dostarczonych wiadomości, NIE łączą się ze sobą i NIE ma katalogu serwerów.
|
|
|
|
---
|
|
|
|
### Sieć SimpleX
|
|
|
|
serwery zapewniają jednokierunkowe kolejki do łączenia użytkowników, ale nie mają wglądu w graf połączeń sieciowych — robią to tylko użytkownicy.
|
|
|
|
## Objaśnienie SimpleX
|
|
|
|
1. Jakie są doświadczenia użytkowników
|
|
|
|
2. Jak to działa
|
|
|
|
3. Co widzą serwery
|
|
|
|
1. Jakie są doświadczenia użytkowników
|
|
|
|
Możesz tworzyć kontakty i grupy oraz prowadzić dwukierunkowe rozmowy, jak w każdym innym komunikatorze.
|
|
|
|
Jak może to działać z jednokierunkowymi kolejkami i bez identyfikatorów profili użytkowników?
|
|
|
|
2. Jak to działa
|
|
|
|
Dla każdego połączenia używasz dwóch oddzielnych kolejek z wiadomościami do wysyłania i odbierania wiadomości przez różne serwery.
|
|
|
|
Serwery przekazują wiadomości tylko w jedną stronę, nie mając pełnego obrazu konwersacji ani połączeń użytkownika.
|
|
|
|
3. Co widzą serwery
|
|
|
|
Serwery mają osobne anonimowe poświadczenia dla każdej kolejki i nie wiedzą do jakich użytkowników one należą.
|
|
|
|
Użytkownicy mogą jeszcze bardziej zwiększyć prywatność metadanych, używając Tor do uzyskania dostępu do serwerów, co zapobiega korelacji na podstawie adresu IP.
|
|
|
|
## Porównanie z innymi protokołami
|
|
|
|
| | | Signal, duże platformy | XMPP, Matrix | Protokoły sieci P2P |
|
|
| --- | --- | --- | --- | --- |
|
|
| Wymaga globalnej tożsamości | Nie - prywatne | Tak [1] | Tak [2] | Tak [3] |
|
|
| Możliwość ataku MITM | Nie - bezpieczny [4] | Tak [5] | Tak | Tak |
|
|
| Zależność od DNS | Nie - odporny | Tak | Tak | Nie |
|
|
| Sieć pojedyncza lub scentralizowana | Nie - zdecentralizowany | Tak | Nie - sfederowany [6] | Tak [7] |
|
|
| Centralny komponent lub inny atak w całej sieci | Nie - odporny | Tak | Tak [2] | Tak [8] |
|
|
|
|
---
|
|
|
|
1. Zazwyczaj na podstawie numeru telefonu, w niektórych przypadkach na podstawie nazwy użytkownika
|
|
2. Adresy oparte na DNS
|
|
3. Klucz publiczny lub inny globalnie unikalny identyfikator (ID)
|
|
4. Przekaźniki SimpleX nie mogą skompromitować szyfrowania e2e. Zweryfikuj kody bezpieczeństwa aby złagodzić atak na kanał pozapasmowy
|
|
5. Jeśli bezpieczeństwo serwerów operatora zostało naruszone. Zweryfikuj kody bezpieczeństwa w Signalu lub innej aplikacji aby to złagodzić
|
|
6. Nie chroni prywatności metadanych użytkowników
|
|
7. Podczas gdy sieci P2P są rozproszone, nie są sfederowane — działają jako jedna sieć
|
|
8. Sieci P2P albo mają centralny organ, albo cała sieć może zostać skompromitowana — [zobacz tutaj](https://github.com/simplex-chat/simplex-chat/blob/stable/docs/SIMPLEX.md#comparison-with-p2p-messaging-protocols)
|
|
|
|
## Porównanie zabezpieczeń szyfrowania end-to-end w różnych komunikatorach
|
|
|
|
| | Session | Briar | Element | Cwtch | Signal | SimpleX |
|
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
| Wypełnianie wiadomości | ✗ | ✔︎[1] | ✗ | ✔︎ | ✔︎[1] | ✔︎ |
|
|
| Wyrzeczenie (wiarygodne zaprzeczenie) | ✗ | ✗ | ✗ | ✔︎[2] | ✔︎[3] | ✔︎ |
|
|
| Poufność przekazywania informacji | ✗ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ |
|
|
| Bezpieczeństwo po naruszeniu zabezpieczeń | ✗ | ✗ | ✗ | ✔︎ | ✗[4] | ✔︎ |
|
|
| Wymiana kluczy 2-składnikowych | ✔︎ | ✔︎[5] | ✔︎[5] | ✔︎ | ✔︎[5] | ✔︎ |
|
|
| Hybrydowe szyfrowanie postkwantowe | ✗ | ✗ | ✗ | ✗ | ✔︎[6] | ✔︎ |
|
|
|
|
---
|
|
|
|
1. Briar wypełnia wiadomości do zaokrąglonego rozmiaru do maksymalnie 1024 bajtów, Signal - do 160 bajtów
|
|
2. Repudiatacja (wiarygodne zaprzeczenie) nie obejmuje połączenia klient-serwer.
|
|
3. Wydaje się, że użycie podpisów kryptograficznych zagraża repudiatacji (wiarygodnemu zaprzeczeniu), ale należy je wyjaśnić.
|
|
4. Wdrożenie wielu urządzeń zagraża zabezpieczeniu po naruszeniu bezpieczeństwa systemu Double Ratchet — [zobacz tutaj](https://eprint.iacr.org/2021/626.pdf).
|
|
5. Wymiana kluczy 2-składnikowych jest opcjonalna poprzez weryfikację kodu bezpieczeństwa.
|
|
6. Post-kwantowe, kluczowe porozumienie jest "rzadkie" — chroni tylko niektóre kroki systemu Ratchet.
|