| title | Platfoma SimpleX |
|---|---|
| revision | 07.02.2023 |
| Updated 07.02.2023 | J臋zyki: PL, EN, FR, CZ |
Istniej膮ce komunikatory oraz protoko艂y borykaj膮 si臋 ze wszystkimi lub kilkoma podanymi problemami:
- Brak zachowania prywatno艣ci profilu i kontakt贸w u偶ytkownika (zachowanie poufno艣ci metadanych).
- Brak ochrony (lub jedynie opcjonalna ochrona) przed atakami MITM przez dostawc臋 us艂ug przy u偶yciu szyfrowania end to end
- Niechciane wiadomo艣ci (spam i nadu偶ycia).
- Brak w艂asno艣ci danych i ich ochrony.
- Dla nietechnicznych u偶ytkownik贸w u偶ywanie niescentralizowanych protoko艂贸w jest skomplikowane.
Koncentracja komunikacji na niewielkiej liczbie scentralizowanych platform sprawia, 偶e rozwi膮zanie tych problem贸w jest do艣膰 trudne.
Proponowany zestaw protoko艂贸w pozwala rozwi膮za膰 te problemy poprzez przechowywanie zar贸wno wiadomo艣ci, jak i kontakt贸w wy艂膮cznie na urz膮dzeniach klienckich, redukuj膮c rol臋 serwer贸w do zwyk艂ych przeka藕nik贸w wiadomo艣ci. Wymagaj膮 one jedynie autoryzacji wiadomo艣ci wysy艂anych do kolejek, ale NIE wymagaj膮 uwierzytelniania u偶ytkownik贸w - dzi臋ki temu chronione s膮 nie tylko wiadomo艣ci, ale tak偶e metadane, poniewa偶 u偶ytkownicy nie maj膮 przypisanych do siebie 偶adnych identyfikator贸w - w przeciwie艅stwie do innych platform.
Zobacz whitepaper po wi臋cej informacji o zadaniach platformy oraz by dowiedzie膰 si臋 jak wygl膮da koncepcja techniczna modelu.
Ka偶dy powinien zwraca膰 uwag臋 na prywatno艣膰 i bezpiecze艅stwo swojej komunikacji - nawet zwyk艂e rozmowy mog膮 narazi膰 Ci臋 na niebezpiecze艅stwo.
W przeciwie艅stwie do innych komunikator贸w, SimpleX nie posiada 偶adnych identyfikator贸w przypisanych do u偶ytkownik贸w - nie wymaga u偶ycia numeru telefonu (jak Signal czy Whatsapp), adresu opartego o domen臋 (jak email, XMPP czy Matrix), nazw u偶ytkownika (jak Telegram), kluczy publicznych czy nawet losowych numer贸w (jak pozosta艂e komunikatory) do identyfikowania u偶ytkownik贸w - nie wiemy nawet ile os贸b u偶ywa SimpleX.
Do dostarczania wiadomo艣ci zamiast identyfikator贸w u偶ytkownik贸w, kt贸rych u偶ywaj膮 wszystkie inne platformy, SimpleX wykorzystuje adresy jednokierunkowych (simpleksowych) kolejek wiadomo艣ci. Korzystanie z SimpleX jest jak posiadanie innego adresu e-mail lub numeru telefonu dla ka偶dego kontaktu, ale bez k艂opot贸w z zarz膮dzaniem tymi wszystkimi adresami. W niedalekiej przysz艂o艣ci aplikacje SimpleX b臋d膮 r贸wnie偶 automatycznie zmienia膰 kolejki wiadomo艣ci, przenosz膮c konwersacje z jednego serwera na drugi, aby zapewni膰 u偶ytkownikom jeszcze lepsz膮 prywatno艣膰.
Takie podej艣cie chroni prywatno艣膰 tego, z kim si臋 komunikujesz, ukrywaj膮c jego to偶samo艣膰 oraz fakt komunikacji przed serwerami platformy SimpleX i wszelkimi obserwatorami. Prywatno艣膰 komunikacji mo偶na dodatkowo zwi臋kszy膰, konfiguruj膮c dost臋p do sieci w taki spos贸b, by 艂膮czy膰 si臋 z serwerami SimpleX za po艣rednictwem sieci transportowej typu overlay, np. sieci Tor.
Poniewa偶 nie masz 偶adnego identyfikatora na platformie SimpleX, nie mo偶na si臋 z Tob膮 skontaktowa膰, chyba 偶e udost臋pnisz jednorazowy link z zaproszeniem lub opcjonalny tymczasowy adres u偶ytkownika. Nawet przy u偶yciu opcjonalnych adres贸w u偶ytkownika, kt贸re mog膮 by膰 wykorzystywane do wysy艂ania spamu z pro艣bami o kontakt, mo偶na je zmieni膰 lub ca艂kowicie usun膮膰 bez utraty jakichkolwiek po艂膮cze艅 (kontakt贸w).
SimpleX przechowuje wszystkie dane u偶ytkownika na urz膮dzeniach klienckich, wiadomo艣ci s膮 przetrzymywane tylko tymczasowo na serwerach przeka藕nikowych SimpleX do momentu ich odebrania, po czym s膮 trwale usuwane.
U偶ywamy przeno艣nego formatu bazy danych, kt贸ry mo偶e by膰 u偶ywany na wszystkich obs艂ugiwanych urz膮dzeniach - wkr贸tce dodamy mo偶liwo艣膰 eksportu bazy danych czatu z aplikacji mobilnej, aby mo偶na by艂o jej u偶ywa膰 na innym urz膮dzeniu.
W przeciwie艅stwie do serwer贸w sieci federowanych (e-mail, XMPP lub Matrix), serwery SimpleX nie przechowuj膮 kont u偶ytkownik贸w, a jedynie przekazuj膮 wiadomo艣ci do odbiorc贸w, chroni膮c prywatno艣膰 obu stron. Nie ma 偶adnych identyfikator贸w ani zaszyfrowanych wiadomo艣ci wyst臋puj膮cych wsp贸lnie z wys艂anym i odbieranym ruchem serwera, dzi臋ki dodatkowej warstwie szyfrowania dostarczanych wiadomo艣ci. Je艣li wi臋c kto艣 obserwuje ruch na serwerze, nie mo偶e 艂atwo okre艣li膰, kto komunikuje si臋 z kim (sprawd藕 SimpleX whitepaper by dowiedzie膰 si臋 o znanych atakach korelacji ruchu).
Mo偶esz u偶ywa膰 SimpleX na w艂asnych serwerach i nadal komunikowa膰 si臋 z lud藕mi za pomoc膮 serwer贸w, kt贸re s膮 wst臋pnie skonfigurowane w aplikacjach lub z dowolnymi innymi serwerami SimpleX.
Platforma SimpleX korzysta z otwartego protoko艂u i zapewnia zestaw SDK do tworzenia czatbot贸w, 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 oparte o SimpleX mo偶na stworzy膰.
Je艣li rozwa偶asz stworzenie czego艣 w oparciu o platform臋 SimpleX, niezale偶nie od tego, czy chodzi o us艂ugi czatbot贸w dla u偶ytkownik贸w aplikacji SimpleX, czy te偶 integracj臋 biblioteki SimpleX Chat z aplikacjami mobilnymi, skontaktuj si臋 z nami, aby uzyska膰 porady i wsparcie.
| SimpleX Chat | Signal, du偶e platformy | XMPP, Matrix | Protoko艂y P2P | |
|---|---|---|---|---|
| Wymaga identyfikator贸w u偶ytkownika | Nie = prywatny | Tak1 | Tak2 | Tak3 |
| Mo偶liwo艣膰 ataku MITM | Nie = bezpieczny | Tak4 | Tak | Tak |
| Polega na DNS | Nie = odporny na cenzur臋 | Tak | Tak | Nie |
| Pojedynczy operator lub sie膰 | Nie = zdecentralizowany | Tak | Nie | Tak5 |
| Scentralizowanie lub mo偶liwo艣膰 ataku obejmuj膮cego ca艂膮 sie膰 | Nie = odporny na cenzur臋 | Tak | Tak2 | Tak6 |
- Zwykle opiera si臋 na numerze telefonu, w niekt贸rych przypadkach na nazwie u偶ytkownika.
- Bazuje na DNS.
- Klucz publiczny lub inny globalnie unikalny identyfikator.
- Je艣li serwery operatora zostan膮 przej臋te.
- Mimo 偶e sieci P2P i sieci oparte na kryptowalutach s膮 rozproszone, nie s膮 w pe艂ni zdecentralizowane - dzia艂aj膮 jako pojedyncza sie膰, z pojedyncz膮 przestrzeni膮 nazw adres贸w u偶ytkownik贸w.
- Sieci P2P albo maj膮 jaki艣 centralny serwer, albo ca艂a sie膰 mo偶e zosta膰 przej臋ta - patrz nast臋pna sekcja.
Por贸wnanie z komunikatorami P2P
Istnieje kilka protoko艂贸w czatu/wiadomo艣ci P2P i implementacji, kt贸re maj膮 na celu rozwi膮zanie problemu prywatno艣ci i centralizacji, ale maj膮 one sw贸j w艂asny szereg problem贸w, kt贸re sprawiaj膮, 偶e s膮 mniej niezawodne ni偶 proponowany projekt, s膮 bardziej skomplikowane w implementacji i analizie oraz s膮 bardziej podatne na ataki.
-
Sieci P2P korzystaj膮 z jakiego艣 rodzaju DHT do routowania wiadomo艣ci/zapyta艅 po sieci. Implementacje DHT maj膮 z艂o偶one konstrukcje, musz膮 r贸wnowa偶y膰 niezawodno艣膰, gwarancj臋 dostawy i czas oczekiwania. Proponowany model zapewnia zar贸wno wi臋ksz膮 gwarancj臋 dostarczalno艣ci, jak i mniejsze op贸藕nienia (wiadomo艣膰 jest przekazywana wiele razy r贸wnolegle, za ka偶dym razem przez jeden w臋ze艂, przy u偶yciu serwer贸w wybranych przez odbiorc臋, podczas gdy w sieciach P2P wiadomo艣膰 jest przekazywana przez
O(log N)w臋z艂贸w sekwencyjnie, przy u偶yciu w臋z艂贸w wybranych przez algorytm). -
Proponowany model, w przeciwie艅stwie do wi臋kszo艣ci sieci P2P, nie posiada 偶adnych globalnych identyfikator贸w u偶ytkownik贸w, nawet tymczasowych.
-
P2P samo w sobie nie rozwi膮zuje problemu ataku MITM, a wi臋kszo艣膰 istniej膮cych rozwi膮za艅 nie wykorzystuje komunikacji out-of-band do pocz膮tkowej wymiany kluczy. Proponowany projekt wykorzystuje wiadomo艣ci out-of-band lub (w niekt贸rych przypadkach) istniej膮ce wcze艣niej bezpieczne i zaufane po艂膮czenia do pocz膮tkowej wymiany kluczy.
-
Implementacje P2P mog膮 by膰 blokowane przez niekt贸rych dostawc贸w Internetu (tak jak BitTorrent). Proponowany model jest niezale偶ny od rodzaju transmisji - mo偶e dzia艂a膰 na standardowych protoko艂ach sieciowych, a serwery mog膮 dzia艂a膰 na tych samych domenach, co strony internetowe.
-
Wszystkie znane sieci P2P mog膮 by膰 podatne na atak typu Sybil, poniewa偶 ka偶dy w臋ze艂 jest wykrywalny, a sie膰 dzia艂a jako ca艂o艣膰. Znane 艣rodki maj膮ce na celu zmniejszenie prawdopodobie艅stwa ataku typu Sybil wymagaj膮 zastosowania scentralizowanego komponentu lub kosztownego proof of work. Proponowany model, przeciwnie, nie ma mo偶liwo艣ci wykrycia serwera - serwery nie s膮 po艂膮czone, nie s膮 znane sobie nawzajem i wszystkim klientom. Sie膰 SimpleX jest pofragmentowana i dzia艂a jako wiele odizolowanych po艂膮cze艅. Uniemo偶liwia to ataki na ca艂膮 sie膰 SimpleX - nawet je艣li niekt贸re serwery s膮 zagro偶one, inne cz臋艣ci sieci mog膮 dzia艂a膰 normalnie, a dotkni臋ci atakiem u偶ytkownicy mog膮 prze艂膮czy膰 si臋 na inne serwery bez utraty kontakt贸w lub wiadomo艣ci.
-
Sieci P2P s膮 prawdopodobnie podatne na atak DRDoS. W proponowanym modelu klienci przekazuj膮 tylko ruch ze znanych zaufanych po艂膮cze艅 i nie mog膮 by膰 wykorzystywani do odbijania i wzmacniania ruchu w ca艂ej sieci.