Conversations er en Open Source & Secure Jabber / XMPP Client for Android

Facebook Messenger, WhatsApp og WeChat er de tre beste chat-appene som for tiden dominerer markedet. Deres fortsatte dominans forklares lett ved at de inkluderer et enkelt å bruke grensesnitt sammen med en brukerbase på millioner av mennesker. Imidlertid deler hver av disse IM-appene en feil: De eies av gigantene i sosiale medier. Hvis noen melder seg på en WhatsApp-konto, må de også samtykke til Facebooks brukerlisensavtale. Det er generelt forstått at du handler med personvernet ditt for å bruke disse praktiske tjenestene. Selv om WhatsApp-utviklere implementerte ende-til-ende-kryptering som en standardfunksjon, er ikke appen i seg selv full åpen kildekode, så det kommer ned til blind tillit til om du tror at Whatsapp ikke kan samle inn data om deg.

For en smidig meldingsopplevelse, er alle de store direktemeldingsappene avhengige av Android's implementering av native meldingsoverføring kalt Google Cloud Messaging (GCM). Meldingen kommer i kontakt med forretningsinteresser før den til og med når serveren. De fleste brukere er ikke villige eller i stand til å bekrefte om tjenesten de bruker holder løftene, og selv eksperter kan bare gjette om WhatsApp fortsatt oppfyller visse sikkerhetsstandarder etter at applikasjonen er oppdatert. Hver oppdatering krever en uavhengig sikkerhetsrevisjon som krever samarbeid fra leverandøren - i dette tilfellet Facebook.

Uavhengighet er nøkkelen her, som fører oss til Conversations Messenger . Det er en direktemeldingsapp med full åpen kildekode som unngår å bruke GCM ved å bruke XMPP- protokollen i stedet for å gi kontrollen til brukeren. Samtale lar deg kjøre flere kontoer samtidig, og du kan til og med bruke en annen konto for hver kontakt. Mens andre messengers ikke synlig nevner hvilken server den gitte informasjonen er lastet opp, lar Conversations brukeren bestemme hvilken Jabber-server som fortjener deres tillit. Eller du kan til og med bare bruke din egen server. Samtale tilbyr også en server optimalisert for sine krav, og de første 6 månedene av serverbruk er gratis.

Valget skiller samtaler fra mengden. Applikasjonen støtter veksling mellom krypteringsalgoritmer mens du er på farten, og du kan velge mellom tre krypteringsalgoritmer: PGP, OTR og OMEMO . Mens PGP og OTR er godt pålitelige algoritmer, skyver OMEMO det videre. OTR var aldri egnet for et flertall brukere bare fordi begge kommunikasjonspartnerne måtte være online samtidig for levering av meldinger. OMEMO løser denne store ulempen med OTR; meldingslevering krever ikke at begge brukerne skal være online samtidig.

OMEMO tilbyr fremoverhemmelighet . Hva betyr dette? Det gir et ekstra lag med beskyttelse og holder dataene dine trygge. Dette er et scenario: ende-til-ende-kryptering er avhengig av den private nøkkelen som er lagret utelukkende på enheten, så hvis telefonen blir stjålet, faller den private nøkkelen i tyven. Uten fremoverhemmelighet kunne tyven dekryptere alle meldinger som er lagret på telefonen. Forward Secrecy-protokollen genererer en tilfeldig nøkkel for hver økt, så selv om den private nøkkelen er i gale hender, er de lagrede meldingene fremdeles trygge.

Vanligvis stoler brukere på identiteten til samtalepartneren, så det er grunnen til at OMEMO bruker enhetsidentiteter. Hver OMEMO-nøkkel har et unikt fingeravtrykk som lar deg bekrefte samtalepartneren for eksempel via en telefonsamtale. Når chatpartnerne er bekreftet, sikrer Double Ratchet-algoritmen at bare mottakeren av meldingen kan dekryptere den. Double Ratchet genererer og krypterer hver melding med en midlertidig nøkkel. Når levering er vellykket, er nøkkelen verdiløs og kan ikke brukes til å dekryptere noe. Det er bare ment å holde data trygge når du reiser gjennom internett.

Samtaler er tilgjengelige i Google Play Store og Amazon App Store. Selv om app store-versjonene ikke er gratis, er applikasjonen åpen kildekode, slik at du kan kompilere den selv eller ta den fra F-Droid.

Er du interessert i å lære mer om appen fra hestens munn? Daniel Gultsch, hovedutvikler av Conversations, tok litt tid å svare på spørsmålene mine.


Intervju med utvikleren av samtaler

Spørsmål: Vil du vennligst presentere deg selv?

A: Jeg heter Daniel Gultsch og jobber som frilans programvareutvikler og rådgiver.

Spørsmål: Hva motiverte deg til å utvikle samtaler?

A: Jeg bruker Jabber / XMPP i mange mange år. Selv i 2009 kunne jeg bruke Jabber på Nokia e71. En gang rundt året 2012 byttet jeg til en Android-telefon, så jeg plutselig ikke klarte å bruke Jabber. Det var en Jabber-klient for Android tilgjengelig (Xabber), men det var motsatt av visuelt tiltalende.

Tidlig i 2014 lurte jeg på hvor vanskelig det kan være å utvikle en chat-klient, som ser bedre ut (enn Xabber). På dette tidspunktet hadde jeg erfaring innen programvareutvikling, men ikke for Android. Etter noen dager kom en UI-mockup til live, så jeg lurte på hvor vanskelig det kunne være å lære å sende og motta jabber-meldinger til dette brukergrensesnittet. Tre måneder med fulltidsarbeid senere ble den første versjonen av Conversations utgitt.

Spørsmål: Kan du gi tre grunner til at samtaler beskytter personvernet ditt bedre enn Whatsapp eller Threema?

A: Jeg trenger ikke å gi mitt private telefonnummer til fremmede hvis jeg vil chatte med dem. Jeg kunne ha en privat og en bedriftskonto. Jeg kan deaktivere bedriftskontoen etter skiftet mitt, for å forhindre at sjefen min irriterer meg på fritiden. WhatsApp lar alle analysere bruksmønster for appene mine når som helst. (Sjefen min kunne følge meg for å undersøke om jeg bruker WhatsApp i løpet av arbeidstiden min, eller om jeg bruker WhatsApp om natten i stedet for å sove og komme godt uthvilt på kontoret.) Dette er annerledes med Conversations; Samtaler laster heller ikke opp hele adresseboken til Facebook.

Spørsmål: Hvor mye koster et års abonnement på en Conversations.im-konto?

A: 8 Euro (ca. $ 9 US). Etter en seks måneders prøveperiode. Abonnementene fornyer seg ikke. Det kreves ikke å avslutte abonnementet.

Spørsmål: Hvilke fordeler tilbyr en Conversations.im-konto sammenlignet med andre XMPP-servere?

A: Nye funksjoner, som krever serversidesupport, leveres først til talks.im. Generelt sett prøver vi å kjøre talks.im med litt høyere krav. En server, som er drevet av et hobbyprosjekt, kan mislykkes i en dag, mens personen er på ferie. Vi prøver å unngå slike ting for samtaler. I det minste i løpet av servicetidene er det alltid noen som er i stand til å ta vare på serveren hvis det er nødvendig. Videre støtter du utviklingen av serveren, som også er åpen kildekode. Endringer som er spesielt gjort for vår samtale-app, havner i serverens kode og er tilgjengelige for andre.

Spørsmål: Kan jeg kjøpe samtaler via Bitcoin?

A: Ikke appen. Appen selges på Google PlayStore, de godtar ikke Bitcoins. Det er mulig å laste ned appen gratis via Open Source App Store F-Droid. I så fall godtar jeg gjerne donasjoner via Bitcoin.

Spørsmål: Hva er OMEMO?

A: En (valgfri) End to End Encryption for Jabber.

OTR mislyktes lett. Hvis en viss melding går tapt på grunn av dårlig telefonsignaldekning, kan ikke oppfølgingsmeldinger leveres. Videre er OTR bare i stand til å utveksle meldinger mellom nøyaktig to enheter maks. For eksempel: Når jeg er logget på med to enheter samtidig (mobiltelefon og stasjonær), må motparten bestemme om han vil sende meldingene til telefonen eller til skrivebordet. Hvis min motpart ikke klarer å klargjøre hvilken enhet jeg bruker for øyeblikket, er dette et problem. Bortsett fra at meldinger selvfølgelig ikke synkroniseres i så fall, og jeg savner en del av samtaleloggen på hver enhet. OMEMO blir kvitt begge problemene. OMEMO er mer pålitelig og i stand til å håndtere flere enheter.

Spørsmål: Hva er fremoverhemmelighet?

A: La oss anta at jeg ofte vil slette samtaleloggen min (kan automatisk slette meldingen som er eldre enn en konfigurert tidsperiode.

La oss anta at noen lagret hele min krypterte kommunikasjon. (Så han kan ikke gjøre noe med det, han har den krypterte teksten, ikke ren tekst. Nå stjeler denne personen telefonen min. Meldingene er ikke plassert på telefonen lenger (de blir slettet ofte), men mitt sentrale materiale (min private nøkkel) er fremdeles der.

Hvis en kryptering ikke har videresendt hemmelighet, kan noen kombinere nøkkelmaterialet som er funnet på telefonen min pluss de krypterte meldingene som han spilte inn før han er i stand til å rekonstruere ren tekst. Hvis krypteringen har Fremoverhemmelighet, er dette ikke mulig.

Spørsmål: Hva beskriver begrepet Per Message Overhead?

A: Mengden båndbredde som kreves lagt til henholdsvis av krypteringen. La oss anta at en ikke-kryptert melding har en størrelse på 2 KB og den samme meldingen som er kryptert vil ha en størrelse på 5 KB. I dette tilfellet er 3KB "overhead" opprettet ved kryptering.

Spørsmål: Planlegger du å implementere en samtalefunksjon?

A: Nei. Nye funksjoner kommer hvis jeg trenger dem selv, eller hvis de er fornuftige fra et økonomisk perspektiv. (Hvor mange flere mennesker ville brukt appen hvis denne funksjonen var der, og hvor dyrt det er å utvikle en slik funksjon?) Dessverre er samtalefunksjonen veldig, veldig, veldig dyr, og personlig bryr jeg meg ikke så mye om denne funksjonen.

Spørsmål: Hvordan kan jeg støtte utviklingen av appen etter å ha kjøpt applikasjonen?

A: Det er detaljer om hvordan du kan donere på nettstedet vårt. Markedsføring og reklame hjelper selvfølgelig også, og appen er Open Source. De som er i stand til å utvikle programvare, kan selvfølgelig hjelpe med koding.

Spørsmål: Har du utviklet OMEMO-algoritmen på egenhånd?

A: Nei. Det var et Google Summer of Code-prosjekt. (Google Summer of Code betyr at Google betaler studenter tre måneder for å jobbe med Open Source-prosjekter.) OMEMO ble utviklet for samtaler av en student.

Spørsmål: Hva er dine videre planer for utvikling av samtaler?

A: Virkelig store nye funksjoner kommer sannsynligvis ikke. Samtaler gjør alt det skal. Under panseret vil det være en eller annen finjustering (databruk / tilkoblingshastighet og så videre.) Men det er ingenting synlig for den gjennomsnittlige brukeren. En liten ting, som sannsynligvis vil bli realisert neste gang, er muligheten for å bekrefte overføringen, før bildet sendes. Bilder til dato sendes alltid umiddelbart.

Spørsmål: Er det lov å kompilere samtaler på egen hånd fra din Github og bruke dem til privat bruk?

A: Selvfølgelig. Ikke bare privat, også for forretninger og alt annet du ønsker. Det er også tillatt å endre koden for å oppfylle individuelle krav.

Spørsmål: Er det mulig å tunnelere samtaler via et VPN?

A: Ja.

Q: På slutten vil vi gjerne høre antydningen til en profesjonell. Hvilke målinger, bortsett fra å bruke konversasjoner, anbefaler du å beskytte personvernet som en Android-bruker?

A: Aktiver adblokkering i nettleseren din. For eksempel Firefox (også tilgjengelig for Android) og uBlock-tillegget.

Slå av lokasjonstjenestene (i de nyeste Android-versjonene er det en quicktile for det) når de ikke er i bruk. Ellers vet Google hvor du har vært hele tiden.

Disse to tingene er veldig enkle å bruke og er praktiske nyttige.


Redaktørens merknad: denne artikkelen ble opprinnelig skrevet på tysk av Raúl Radonz. Den ble oversatt av Raúl Radonz og ble redigert av Mishaal Rahman. Raúl Radonz og -Developers vil takke Mr. Gultsch for at han tok seg tid til å gjennomføre dette intervjuet.