Szyfrowany komunikator bez numeru telefonu i e-maila

Wiadomości prywatne, grupy i kanały prywatne szyfruje Twoje urządzenie, zanim cokolwiek wyśle. Konto zakładasz z nazwą i hasłem, powiadomienia nie zdradzają treści, a kod opublikujemy, żeby każdy mógł sprawdzić, że Plazer działa tak, jak tu opisujemy.

Na Twoim urządzeniuTyle widzi serwer
  • ok0a28ceec82a046640a28
  • Zadzwonię po osiemnastej3d5bf11fb5d379973d5b
  • Wrzucam plany na piątek, zerknij wieczorem i daj znać608e2442e806acca608e
Każdy blok ma ten sam rozmiar

MLS: jeden standard szyfrowania dla rozmów, grup i kanałów prywatnych

Plazer szyfruje rozmowy protokołem MLS, który IETF opisał jako standard RFC 9420. Ten sam mechanizm działa w rozmowie we dwoje, w grupie znajomych i w prywatnym kanale serwera.

Wspólny sekret grupyEpoka 1

Nowy klucz od tego urządzenia w górę drzewa

Klucze układają się w drzewo

Każde urządzenie w rozmowie ma własny klucz, a klucze łączą się w drzewo, na którego szczycie jest wspólny sekret grupy. Kiedy jedno urządzenie odświeża klucz, zmienia się tylko jego ścieżka do szczytu, więc nawet duża grupa przechodzi na nowy klucz w kilku krokach.

Zmiana składu to nowy klucz

Gdy ktoś dołącza, wychodzi albo zostaje usunięty, grupa przechodzi do nowej epoki z nowym kluczem. Nowa osoba nie czyta historii sprzed dołączenia, a usunięta nie czyta niczego, co napiszecie później.

Klucze prywatne nie opuszczają urządzeń

Klucze zostają na urządzeniach, na których powstały. Parowanie nowego urządzenia i eksport danych są zaszyfrowane.

Ostrzeżenie o zmianie klucza

Gdy osobie, z którą piszesz, zmieni się klucz bezpieczeństwa, Plazer pokaże ostrzeżenie w rozmowie.

Standard
MLS, RFC 9420
Zestaw szyfrów
MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519
Rdzeń
plazer-core w Ruście, na bibliotece mls-rs, w przeglądarce jako WebAssembly

Co jest szyfrowane i czym

Szyfrowanie obejmuje wszystko, co dotyczy treści rozmowy, a nie tylko sam tekst. Tak wygląda to dokładnie, rzecz po rzeczy.

TreśćDopełnienie
  • ok
  • Zadzwonię po osiemnastej
  • Wrzucam plany na piątek, zerknij wieczorem i daj znać
Tekst, odpowiedzi, reakcje, wzmianki, edycje, usunięcia i ankiety
Czym
MLS (RFC 9420)
Co to znaczy dla Ciebie

Serwer przekazuje rozmowę, ale nie zna z niej ani słowa ani tego, kto na co zareagował.

Nazwa i awatar grupy prywatnej
Czym
MLS (RFC 9420)
Co to znaczy dla Ciebie

Nawet nazwa Waszej grupy zostaje między Wami.

Pliki i wiadomości głosowe
Czym
AES-256-GCM, osobny losowy klucz na każdy plik
Co to znaczy dla Ciebie

Klucz pliku jedzie w zaszyfrowanej wiadomości. Plik jest dopełniany metodą Padme o najwyżej 12%, więc serwer zna jego rozmiar tylko w przybliżeniu.

Długość wiadomości
Czym
Dopełnienie do stałych rozmiarów
Co to znaczy dla Ciebie

Z ruchu w sieci nie da się odróżnić krótkiego "ok" od długiego akapitu.

Obraz i dźwięk rozmów
Czym
DTLS-SRTP z podpisanym odciskiem, w dużych pokojach klucze z MLS
Co to znaczy dla Ciebie

Serwer przekazuje rozmowę, ale jej nie słyszy i nie wepnie się w jej środek.

Wiadomości na kanałach publicznych
Czym
Podpis urządzenia autora
Co to znaczy dla Ciebie

Kanał publiczny jest jawny dla serwera, ale serwer nie podrobi niczyjej wiadomości.

Co widzi każdy serwer, a czego nie widzi

Żaden serwer nie dostaje treści rozmów prywatnych, ale każdy musi coś wiedzieć, żeby w ogóle doręczyć wiadomość. Oto dokładnie, co wie każdy z nich.

Centralka Plazera

Konta, wiadomości prywatne i grupy

Widzi

  • Kto z kim pisze, kiedy i ile bajtów
  • Skład grup
  • Obecność, "pisze..." i stan przeczytania
  • Twój profil
  • Domyślnie listę Twoich serwerów i znajomych

Nie widzi

  • Treść wiadomości prywatnych i grup
  • Nazwę i awatar grupy prywatnej

Serwer społeczności

Kanały, role i rozmowy głosowe

Widzi

  • Całą treść kanałów publicznych
  • Nazwy i tematy kanałów prywatnych
  • Role, bany i zaproszenia
  • Kto, kiedy i ile pisze w kanałach prywatnych

Nie widzi

  • Treść kanałów prywatnych
  • Wiadomości prywatne i grupy
  • Obraz i dźwięk rozmów

Dostawca powiadomień

Usługa, która budzi telefon

Widzi

  • Czas powiadomienia
  • Jego stały rozmiar

Nie widzi

  • Której rozmowy dotyczy
  • Jak długa jest wiadomość

Gdy padnie centralka, serwery społeczności działają dalej, więc kanały i rozmowy głosowe nie stają.

Administrator nie wchodzi po cichu, a serwer nie podrobi wiadomości

Dwa mechanizmy, dzięki którym nie musisz ufać na słowo ani właścicielowi serwera, ani samemu serwerowi.

Wrzucam notatki z wczoraj
Dzięki, zerknę wieczorem
Administrator otworzył ten kanałWidoczne dla wszystkich w kanale

Wejście administratora widać w historii

Właściciel serwera i każdy z rolą Administrator mogą otworzyć prywatny kanał, bo tym jest administrator. Każde takie wejście zostaje jednak w historii kanału jako zdarzenie widoczne dla wszystkich, tak samo jak nowa wiadomość. Rozmowy, których nie powinien widzieć nikt poza Wami, prowadzisz w wiadomościach prywatnych albo w grupie.

Spotkanie przesuwamy na sobotę

Podpis urządzenia autora się zgadza

Podpisy na kanałach publicznych

Kanał publiczny może czytać każdy, kto do niego wejdzie, więc jego tekst jest jawny dla serwera. Każdą wiadomość podpisuje jednak urządzenie autora. Serwer może wiadomość ukryć, ale nie zmieni w niej ani słowa i nie napisze niczego w Twoim imieniu, bo nie ma Twojego klucza.

Konto bez e-maila i numeru telefonu

Do założenia konta wystarczą nazwa i hasło. Nie podajesz numeru telefonu ani adresu e-mail, więc nikt nie połączy Twojego konta z kartą SIM, skrzynką pocztową ani listą kontaktów w telefonie.

  1. 1

    Wybierasz nazwę

    Od 3 do 32 znaków: litery, cyfry i podkreślnik. Po nazwie znajdą Cię znajomi, a jeśli wolicie, dodacie się kodem QR.

  2. 2

    Ustawiasz hasło

    Hasło chroni konto i odblokowuje je na nowym urządzeniu. Logowanie zabezpieczysz dodatkowo kodem z aplikacji albo kluczem dostępu.

  3. 3

    Zapisujesz klucz odzyskiwania

    Klucz dostajesz raz, przy rejestracji. Razem z hasłem przywraca konto, gdy zmieniasz albo tracisz urządzenia.

Zakładanie konta w Plazerze na telefonie: nazwa i hasło bez e-maila i numeru telefonu oraz klucz odzyskiwania do zapisania
Klucz odzyskiwania
K7Q2M9VDX4TPR8WNB3JHT6LC

Ty decydujesz, kto może się do Ciebie odezwać

Prośby o wiadomość
Wiadomości od nieznajomych trafiają do osobnej listy próśb, a nie prosto do Twoich rozmów.
Filtr spamu i słów
Odsiewa spam i słowa, których nie chcesz oglądać, zanim cokolwiek zobaczysz.
Zaproszenia na serwery
Ustawiasz, kto może zapraszać Cię na serwery.
Blokowanie
Zablokowana osoba nie napisze, nie zadzwoni i nie wywoła powiadomienia.

Wyszukiwanie, podglądy i tłumaczenie bez wysyłania treści na serwer

Część pracy, którą inne komunikatory zlecają serwerowi, Plazer robi na Twoim urządzeniu. Serwer nie dostaje wtedy nic, co mógłby przeczytać.

  • Wyszukiwanie na urządzeniu

    Indeks wiadomości leży na urządzeniu, więc serwer nie wie, czego szukasz, kiedy i jak często. Filtry po autorze, kanale, załącznikach i dacie działają też bez internetu.

  • Podgląd linku robi nadawca

    Miniaturę strony przygotowuje urządzenie nadawcy i wysyła ją zaszyfrowaną, także w rozmowach szyfrowanych. Serwer nie widzi adresu, a aplikacja odbiorcy nie łączy się ze stroną, dopóki ktoś nie kliknie linku.

  • Tłumaczenie i transkrypcja

    Tłumaczenie wiadomości i zamiana głosówek na tekst odbywają się na urządzeniu, bez wysyłania treści dalej.

  • Powiadomienia bez treści

    Powiadomienie mówi tylko "Nowa wiadomość", a treść widać dopiero po otwarciu aplikacji. Pośrednik, który budzi telefon, zna tylko czas i stały rozmiar powiadomienia.

Kopia historii, znikające wiadomości i ukryte rozmowy

Ty decydujesz, co zostaje, na jak długo i kto w ogóle widzi, że jakaś rozmowa istnieje.

Kopia historii

Domyślnie historia nie jest nigdzie kopiowana. Kopię włączasz przełącznikiem, a zanim opuści urządzenie, szyfruje ją klucz Twojego konta. Serwer przechowuje blok, którego nie umie otworzyć, a Ty odtworzysz z niego historię na nowym urządzeniu.

Znikające wiadomości

Po 1 dniu

W rozmowie, grupie i na serwerze ustawiasz, po jakim czasie wiadomości znikają. Rozmowa, która nie musi zostać na zawsze, po prostu nie zostaje.

Ukryte rozmowy

Rozmowy, których nie chcesz mieć na liście, chowasz pod osobnym PIN-em. Nie widać ich, dopóki go nie wpiszesz, nawet gdy ktoś przegląda odblokowany telefon.

Sejf plików

Tylko u Ciebie

Pliki, które mają zostać tylko u Ciebie, trzymasz w prywatnym sejfie. Duże pliki wysyłasz bez limitu rozmiaru prosto z urządzenia na urządzenie odbiorcy, gdy ten się zgodzi.

Weryfikacja dwuetapowa, klucze dostępu i lista urządzeń

Hasło to pierwsza warstwa. Logowanie zabezpieczysz kodem z aplikacji albo kluczem dostępu, a na liście urządzeń widzisz, gdzie jesteś zalogowany.

Twoje urządzenia
  • KomputerTo urządzenie
  • Telefon
  • Przeglądarka
Bezpieczeństwo konta w Plazerze: zalogowane urządzenia, autoryzowane aplikacje i klucze dostępu
Weryfikacja dwuetapowa
Kod z aplikacji uwierzytelniającej jako drugi krok logowania.
Klucze dostępu
Logowanie odciskiem palca, twarzą albo kluczem sprzętowym zamiast wpisywania hasła.
Lista urządzeń
Usuniesz jedno urządzenie albo wylogujesz wszystkie naraz. Wylogowane urządzenie wraca dopiero po podaniu hasła.
Autoryzowane aplikacje
Lista aplikacji z dostępem do konta, z odbieraniem tego dostępu jednym kliknięciem.
Twoje dane
Pobierzesz wszystkie dane razem z historią szyfrowaną z tego urządzenia.
Wyłączenie i usunięcie
Konto wyłączysz na jakiś czas albo usuniesz. Usunięte znika po 7 dniach, więc masz czas zmienić zdanie.
Ochrona przed spamem
Serwer kont jest chroniony przed spamem i nadużyciami, zanim te dotrą do Ciebie.

Kod, który będzie publiczny, z licencjami

Nie chcemy, żebyś wierzył nam na słowo. Opublikujemy kod serwera, aplikacji, rdzenia szyfrującego i protokołu, żeby każdy mógł sprawdzić, jak szyfrujemy i co trafia na serwer.

Aplikacja
Aplikacja z app.plazer.org na Androida, iPhone'a, iPada, komputer i do karty przeglądarkilicencja przy publikacji
Serwer
Centralka i serwer społecznościAGPL-3.0
Fundament
Rdzeń szyfrujący plazer-coreAGPL-3.0
Specyfikacja protokołulicencja przy publikacji

AGPL dla serwera i rdzenia

Centralka, serwer społeczności i rdzeń szyfrujący są na licencji AGPL-3.0. Ich zmienione wersje też będą musiały pozostać otwarte, także wtedy, gdy ktoś udostępnia je innym przez sieć, więc nikt nie zamknie ich za płatną ścianą.

Aplikacja i protokół

Licencję open source dla aplikacji i specyfikacji protokołu podamy przy publikacji, razem z kodem.

Pytania o prywatność i szyfrowanie

Krótkie odpowiedzi na to, o co pytacie najczęściej, zanim zaufacie nowemu komunikatorowi.

Nie. Wiadomości prywatne, grupy i kanały prywatne są szyfrowane na Twoim urządzeniu, a klucze mają tylko osoby w rozmowie. Serwer widzi, kto z kim i kiedy rozmawia, ale nie widzi treści.

Nie. Konto zakładasz z nazwą i hasłem, a przy rejestracji zapisujesz klucz odzyskiwania. Znajomych dodasz po nazwie albo kodem QR.

Konto przywrócisz hasłem i kluczem odzyskiwania. Historię odtworzysz z kopii zaszyfrowanej kluczem konta, jeśli ją włączyłeś. Bez kopii historia zostaje u osób, z którymi rozmawiałeś, bo my nie mamy do niej dostępu.

Administrator może wejść na kanał prywatny, ale jego wejście widzą wszyscy w historii kanału. Rozmowy, których nie powinien widzieć nikt poza uczestnikami, prowadź w wiadomościach prywatnych albo w grupie.

Kanał publiczny jest otwarty dla każdego, kto do niego wejdzie, więc jego tekst nie jest szyfrowany end-to-end. Każdą wiadomość podpisuje jednak urządzenie autora, więc serwer może ją ukryć, ale nie podrobi. Rozmowy głosowe są szyfrowane na każdym kanale.

Nie, oba są tak samo bezpieczne. To ten sam kod z app.plazer.org, który przy każdym uruchomieniu wczytuje najnowszą wersję, więc w obu przypadkach ufasz, że dostajesz ten sam kod co wszyscy. Rdzeń szyfrujący budujemy z przypiętej wersji kodu w powtarzalny sposób, a każde wydanie zapisuje jego sumę kontrolną i klucz centralki, który przypina. Klucze prywatne zostają w pamięci przeglądarki, a tam, gdzie przeglądarka to umożliwia, nie da się ich z niej wyeksportować.

Jeszcze nie. Szyfrowanie opiera się na standardzie MLS i bibliotece mls-rs, której autorzy potwierdzili zgodność z RFC 9420, ale piszą wprost, że nie przeszła jeszcze pełnego audytu firmy zewnętrznej. Audyt kryptografii Plazera planujemy przed wersją 1.0, a podatność możesz zgłosić już dziś.

Serwery społeczności działają dalej, więc ich kanały i rozmowy głosowe nie stają. Do powrotu centralki czekają wiadomości prywatne i grupy, bo to ona je przekazuje.

Archiwum ZIP z plikiem README.txt, który opisuje każdą część. account.json to dane od centralki: profil, ustawienia prywatności, znajomi i zaproszenia, blokady, serwery z rolami, notatki o innych, ulubione GIF-y, sesje i urządzenia, prośby o wiadomość, wiadomości napisane na serwerach centralki i lista wgranych plików. encrypted-conversations.json powstaje tylko w przeglądarce i tylko wtedy, gdy go dołączysz: to szyfrowane rozmowy, które ta przeglądarka odebrała, odszyfrowane na miejscu do jawnego tekstu. Nie ma w nim cudzych wiadomości spoza Twoich rozmów, danych z serwerów na własnych hostach, samych plików, hasła ani kluczy. Eksport zamówisz do 5 razy na dobę, a plik z centralki czeka na pobranie 7 dni.

Czytaj dalej

Szyfrowanie działa w każdej części Plazera. Zobacz, jak wygląda w rozmowach i na własnym serwerze i jak Plazer wypada obok innych komunikatorów.

Pobierz Plazera

Zainstaluj go z app.plazer.org na telefonie, tablecie i komputerze albo otwórz w karcie przeglądarki. Szyfrowanie działa tak samo wszędzie.

Pobierz Plazera