Conversations to bezpieczny klient Jabber/XMPP typu open source dla systemu Android

Conversations to bezpieczny klient Jabber/XMPP o otwartym kodzie źródłowym dla systemu Android. Wygodna aplikacja do obsługi wiadomości błyskawicznych, która nie rezygnuje z prywatności.

Facebook Messenger, WhatsApp i WeChat to trzy najpopularniejsze aplikacje do obsługi wiadomości błyskawicznych, które obecnie dominują na rynku. Ich ciągłą dominację można łatwo wytłumaczyć włączeniem prostego w obsłudze interfejsu i bazy użytkowników składającej się z milionów ludzi. Jednak każda z tych aplikacji do komunikatorów internetowych ma jedną wadę: są własnością gigantów mediów społecznościowych. Jeśli ktoś zarejestruje konto WhatsApp, musi także zaakceptować umowę licencyjną użytkownika Facebooka. Powszechnie przyjmuje się, że wykorzystujesz swoją prywatność, aby korzystać z tych wygodnych usług. Chociaż programiści WhatsApp wdrożyli kompleksowe szyfrowanie jako funkcję standardową, sama aplikacja taka nie jest w pełni otwarte oprogramowanie, więc sprowadza się do ślepego zaufania, czy wierzysz, że Whatsapp nie może zbierać danych Ty.

Aby zapewnić płynne przesyłanie wiadomości, wszystkie główne aplikacje do obsługi wiadomości błyskawicznych korzystają z natywnej implementacji przesyłania wiadomości w systemie Android o nazwie Google Cloud Messaging (GCM). Wiadomość styka się z interesami biznesowymi, zanim jeszcze dotrze do serwera. Większość użytkowników nie chce lub nie jest w stanie sprawdzić, czy usługa, z której korzystają, dotrzymuje obietnic, a nawet eksperci mogą się jedynie domyślać, czy po aplikacji WhatsApp nadal spełnia określone standardy bezpieczeństwa zaktualizowany. Każda aktualizacja wymaga niezależnego audytu bezpieczeństwa, który wymaga współpracy dostawcy – w tym przypadku Facebooka.

Niezależność jest tutaj kluczem, do którego nas prowadzi Komunikator rozmów. Jest to w pełni otwarta aplikacja do obsługi wiadomości błyskawicznych, która pozwala uniknąć korzystania z GCM, korzystając z XMPP zamiast tego protokół — dający kontrolę użytkownikowi. Rozmowy pozwala Ci na prowadzić wiele kont jednocześnie możesz nawet używać innego konta dla każdego kontaktu. Podczas gdy inne komunikatory nie wspominają w widoczny sposób, na który serwer przesyłane są dane informacje, Konwersacje pozwalają użytkownikowi zdecydować, który serwer Jabbera zasługuje na jego zaufanie. Możesz też po prostu skorzystać z własnego serwera. Conversations oferuje również serwer zoptymalizowany pod swoje wymagania, a pierwsze 6 miesięcy korzystania z serwera jest bezpłatne.

Wybór oddziela Rozmowy od tłumu. Aplikacja umożliwia przełączanie algorytmów szyfrowania w locie i możesz wybierać spośród trzech algorytmów szyfrowania: PGP, OTR i OMEMO. Chociaż PGP i OTR to algorytmy cieszące się dużym zaufaniem, OMEMO posuwa je dalej. OTR nigdy nie był odpowiedni dla większości użytkowników po prostu dlatego, że obaj partnerzy komunikacji musieli być online w tym samym czasie, aby dostarczyć wiadomość. OMEMO rozwiązuje tę główną wadę OTR; dostarczanie wiadomości nie wymaga, aby obaj użytkownicy byli jednocześnie online.

Oferta OMEMO Tajemnica naprzód. Co to znaczy? Zapewnia dodatkową warstwę ochrony, która zapewnia bezpieczeństwo Twoich danych. Oto scenariusz: kompleksowe szyfrowanie opiera się na kluczu prywatnym przechowywanym wyłącznie na urządzeniu, więc jeśli telefon zostanie skradziony, klucz prywatny wpadnie w ręce złodzieja. Bez funkcji Forward Secrecy złodziej mógłby odszyfrować wszystkie wiadomości zapisane w telefonie. Protokół Forward Secrecy generuje losowy klucz dla każdej sesji, więc nawet jeśli klucz prywatny znajdzie się w niepowołanych rękach, przechowywane wiadomości są nadal bezpieczne.

Zwykle użytkownicy ufają tożsamości swojego rozmówcy, dlatego OMEMO korzysta z tożsamości urządzeń. Każdy klucz OMEMO posiada unikalny odcisk palca pozwalający na weryfikację rozmówcy np. poprzez rozmowę telefoniczną. Po zweryfikowaniu partnerów czatu, Algorytm podwójnej grzechotki gwarantuje, że tylko odbiorca wiadomości będzie w stanie ją odszyfrować. Double Ratchet generuje i szyfruje każdą wiadomość za pomocą klucza tymczasowego. Po pomyślnym dostarczeniu klucz staje się bezwartościowy i nie można go użyć do odszyfrowania czegokolwiek. Jego zadaniem jest wyłącznie zapewnienie bezpieczeństwa danych podczas podróżowania po sieci WWW.

Rozmowy są dostępne w sklepie Google Play i Amazon App Store. Chociaż wersje ze sklepu z aplikacjami nie są bezpłatne, aplikacja jest otwarte źródło abyś mógł go skompilować dla siebie lub pobierz go z F-Droid.

Rozmowy (Jabber / XMPP)Deweloper: Daniela Gultscha

Cena: 3,99.

4.2.

Pobierać

[aplikacja amazonapps B00WD35AAC]

Chcesz dowiedzieć się więcej o aplikacji z ust konia? Daniel Gultsch, główny programista Conversations, poświęcił trochę czasu, aby odpowiedzieć na moje pytania.


Wywiad z twórcą Rozmów

P: Czy mógłbyś się krótko przedstawić?

Odpowiedź: Nazywam się Daniel Gultsch i pracuję jako niezależny programista i doradca.

P: Co zmotywowało Cię do opracowania Conversations?

Odp.: Używam Jabbera/XMPP od wielu, wielu lat. Już w 2009 roku mogłem używać Jabbera na mojej Nokii e71. Mniej więcej w 2012 roku przesiadłem się na telefon z Androidem i nagle nie mogłem korzystać z Jabbera. Dostępny był klient Jabbera dla Androida (Xabber), ale był on przeciwieństwem atrakcyjnego wizualnie.

Na początku 2014 roku zastanawiałem się, jak trudne może być stworzenie klienta czatu, który wygląda lepiej (niż Xabber). W tym momencie miałem doświadczenie w dziedzinie tworzenia oprogramowania, ale nie na Androida. Po kilku dniach powstała makieta interfejsu użytkownika, więc zastanawiałem się, jak trudne może być nauczenie wysyłania i odbierania wiadomości Jabber w tym interfejsie użytkownika. Trzy miesiące pracy na pełny etat później ukazała się pierwsza wersja Rozmów.

P: Czy możesz podać trzy powody, dla których Conversations chronią Twoją prywatność lepiej niż Whatsapp lub Threema?

Odp.: Nie muszę podawać mojego prywatnego numeru telefonu nieznajomym, jeśli chcę z nimi porozmawiać. Mogłem mieć konto prywatne i firmowe. Mogę wyłączyć konto firmowe po mojej zmianie, aby szef nie denerwował mnie w czasie wolnym. WhatsApp pozwala każdemu w dowolnym momencie analizować wzorce korzystania z aplikacji. (Mój szef może mnie prześladować, aby sprawdzić, czy korzystam z WhatsApp w godzinach pracy lub czy korzystam z WhatsApp WhatsApp w nocy, zamiast spać i przychodzić do biura wypoczęty.) Z tym jest inaczej Rozmowy; Rozmowy również nie przesyłają całej mojej książki adresowej do Facebooka.

P: Ile kosztuje roczna subskrypcja konta Conversations.im?

Odp.: 8 euro (około 9 dolarów amerykańskich). Po sześciomiesięcznym okresie próbnym. Subskrypcje nie odnawiają się same. Zakończenie subskrypcji nie jest wymagane.

P: Jakie zalety oferuje konto Conversations.im w porównaniu z innymi serwerami XMPP?

Odp.: Nowe funkcje wymagające obsługi po stronie serwera są najpierw dostarczane do konwersacji.im. Ogólnie rzecz biorąc, staramy się prowadzić konwersacje.im z nieco wyższymi wymaganiami. Serwer prowadzony w ramach projektu hobbystycznego może nie działać przez jeden dzień, gdy dana osoba jest na wakacjach. Staramy się unikać takich rzeczy w rozmowach.im. Przynajmniej w godzinach pracy zawsze jest ktoś w pobliżu, kto w razie potrzeby może zaopiekować się serwerem. Ponadto wspierasz rozwój serwera, który również jest open source. Zmiany wprowadzone specjalnie dla naszej aplikacji Rozmowy trafiają do kodu serwera i są dostępne dla innych.

P: Czy mogę kupić rozmowy za pośrednictwem Bitcoin?

Odp.: Nie aplikacja. Aplikacja jest sprzedawana w Google PlayStore, nie akceptują Bitcoinów. Aplikację można pobrać bezpłatnie za pośrednictwem sklepu z aplikacjami Open Source F-Droid. W takim przypadku chętnie przyjmę darowizny za pośrednictwem Bitcoin.

P: Co to jest OMEMO?

Odp.: (opcjonalne) kompleksowe szyfrowanie dla Jabbera.

OTR łatwo się nie udało. Jeśli określona wiadomość zostanie utracona z powodu słabego zasięgu sygnału telefonicznego, kolejne wiadomości również nie będą mogły zostać dostarczone. Ponadto OTR jest w stanie wymieniać wiadomości tylko pomiędzy dokładnie dwoma urządzeniami, maksymalnie. Na przykład: Kiedy jestem zalogowany jednocześnie na dwóch urządzeniach (telefonie komórkowym i komputerze stacjonarnym), mój rozmówca musi zdecydować, czy chce wysyłać wiadomości na telefon, czy na komputer. Jeśli mój rozmówca nie jest w stanie jasnowidzenia, jakiego urządzenia obecnie używam, jest to problem. Poza tym wiadomości oczywiście nie są w tym przypadku synchronizowane i brakuje mi części historii rozmów na każdym urządzeniu. OMEMO pozbywa się obu problemów. OMEMO jest bardziej niezawodne i może obsłużyć więcej urządzeń.

P: Co to jest tajemnica przekazu?

O: Załóżmy, że często usuwam historię rozmów (może automatycznie usuwać wiadomości starsze niż skonfigurowany okres.

Załóżmy, że ktoś przechowywał całą moją zaszyfrowaną komunikację. (Więc nie może nic z tym zrobić, ma zaszyfrowany tekst, a nie zwykły tekst. Teraz ta osoba kradnie mój telefon. Same wiadomości nie znajdują się już w telefonie (często są usuwane), ale mój kluczowy materiał (mój klucz prywatny) nadal tam jest.

Jeśli szyfrowanie nie posiada funkcji Forward Secrecy, ktoś może połączyć znaleziony kluczowy materiał na moim telefonie oraz zaszyfrowane wiadomości, które nagrał, zanim udało mu się zrekonstruować równinę tekst. Jeśli szyfrowanie ma funkcję Forward Secrecy, nie jest to możliwe.

P: Co oznacza termin Narzut na wiadomość?

Odp.: Wymagana przepustowość odpowiednio dodana przez szyfrowanie. Załóżmy, że niezaszyfrowana wiadomość ma rozmiar 2 KB, a ta sama zaszyfrowana wiadomość będzie miała rozmiar 5 KB. W tym przypadku 3 KB to „narzut” powstały w wyniku szyfrowania.

P: Czy planujesz wdrożyć funkcję połączeń?

O: Nie. Nowe funkcje pojawiają się, jeśli sam ich potrzebuję lub jeśli mają sens z ekonomicznego punktu widzenia. (Ile więcej osób korzystałoby z aplikacji, gdyby ta funkcja była dostępna i jak drogie jest jej opracowanie funkcja?) Niestety funkcja połączeń jest bardzo, bardzo, bardzo droga i osobiście nie przywiązuję do tego dużej wagi funkcja.

P: Jak mogę wesprzeć rozwój aplikacji po zakupie aplikacji?

Odpowiedź: Szczegółowe informacje na temat przekazywania datków znajdują się na naszej stronie internetowej. Promocja i reklama oczywiście również są pomocne, a aplikacja jest oprogramowaniem typu open source. Ci, którzy potrafią tworzyć oprogramowanie, mogą oczywiście pomóc w kodowaniu.

P: Czy samodzielnie opracowałeś algorytm OMEMO?

O: Nie. To był projekt Google Summer of Code. (Google Summer of Code oznacza, że ​​Google płaci studentom przez 3 miesiące za pracę nad projektami Open Source). OMEMO zostało opracowane na potrzeby konwersacji przez studenta.

P: Jakie są Twoje dalsze plany dotyczące rozwoju Conversations?

O: Naprawdę duże nowe funkcje raczej się nie pojawią. Rozmowy robią wszystko, co powinny. Pod maską znajdzie się takie czy inne ulepszenie (wykorzystanie danych/szybkość połączenia itd.). Ale nie jest to widoczne dla przeciętnego użytkownika. Drobną rzeczą, która najprawdopodobniej zostanie zrealizowana w następnej kolejności, jest możliwość potwierdzenia przelewu przed wysłaniem zdjęcia. Do tej pory zdjęcia są zawsze wysyłane natychmiast.

P: Czy dozwolone jest samodzielne kompilowanie rozmów z Githuba i używanie ich do użytku prywatnego?

O: Oczywiście. Nie tylko prywatnie, także służbowo i do wszystkiego, czego zapragniesz. Dopuszczalna jest także modyfikacja kodu pod indywidualne wymagania.

P: Czy możliwe jest tunelowanie rozmów przez VPN?

O: Tak.

P: Na koniec chcielibyśmy usłyszeć wskazówkę profesjonalisty. Jakie pomiary oprócz korzystania z Rozmów polecasz, aby chronić prywatność jako użytkownika Androida?

Odp.: Włącz blokowanie reklam w swojej przeglądarce. Na przykład Firefox (dostępny również dla Androida) i dodatek uBlock.

Wyłącz usługi lokalizacyjne (w nowszych wersjach Androida jest do tego szybka opcja), gdy nie są używane. W przeciwnym razie Google będzie zawsze wiedzieć, gdzie byłeś.

Te dwie rzeczy są bardzo proste w zastosowaniu i są praktyczne.


Nota wydawcy: ten artykuł został pierwotnie napisany w języku niemieckim przez Raúla Radonza. Został przetłumaczony przez Raúla Radonza i zredagowany przez Mishaala Rahmana. Raúl Radonz i XDA-Developers chcieliby podziękować panu Gultschowi za poświęcenie czasu na przeprowadzenie tego wywiadu.