Conversations est un client Jabber / XMPP Open Source et sécurisé pour Android

Facebook Messenger, WhatsApp et WeChat sont les trois principales applications de messagerie instantanée qui dominent actuellement le marché. Leur domination persistante s’explique aisément par l’inclusion d’une interface simple à utiliser et d’une base d’utilisateurs de millions de personnes. Cependant, chacune de ces applications de messagerie instantanée partage une faille: elles appartiennent à des géants des médias sociaux. Si quelqu'un ouvre un compte WhatsApp, il doit également accepter le contrat de licence utilisateur de Facebook. Il est généralement entendu que vous échangez dans votre vie privée ces services pratiques. Bien que les développeurs WhatsApp aient implémenté le cryptage de bout en bout en tant que fonctionnalité standard, l’application elle-même n’est pas entièrement open source, c’est donc une question de confiance aveugle que vous croyiez que Whatsapp ne peut pas collecter de données.

Pour une expérience de messagerie fluide, toutes les principales applications de messagerie instantanée reposent sur l’implémentation du transfert de messages natif d’Android, appelée Google Cloud Messaging (GCM). Le message entre en contact avec les intérêts commerciaux avant même d’atteindre le serveur. La plupart des utilisateurs ne veulent pas ou ne sont pas en mesure de vérifier si le service qu'ils utilisent tient ses promesses, et même les experts ne peuvent que deviner si WhatsApp respecte toujours certaines normes de sécurité après la mise à jour de l'application. Chaque mise à jour nécessite un audit de sécurité indépendant qui nécessite la coopération du fournisseur, dans ce cas Facebook.

L'indépendance est la clé ici, ce qui nous conduit à Conversations Messenger . C'est une application de messagerie instantanée entièrement open source qui évite d'utiliser GCM en utilisant plutôt le protocole XMPP, donnant ainsi le contrôle à l'utilisateur. Conversations vous permet d' exécuter plusieurs comptes simultanément et vous pouvez même utiliser un compte différent pour chaque contact. Alors que les autres messagers ne mentionnent pas de manière visible le serveur sur lequel les informations fournies sont téléchargées, Conversations permet à l'utilisateur de choisir le serveur Jabber qui mérite leur confiance. Ou, vous pouvez même simplement utiliser votre propre serveur. Conversations propose également un serveur optimisé pour ses besoins, et les 6 premiers mois d’utilisation du serveur sont gratuits.

Le choix sépare les conversations de la foule. L'application prend en charge la commutation entre les algorithmes de cryptage à la volée et vous pouvez choisir parmi trois algorithmes de cryptage: PGP, OTR et OMEMO . Bien que PGP et OTR soient des algorithmes de confiance, OMEMO le pousse plus loin. OTR n'a jamais été adapté à une majorité d'utilisateurs simplement parce que les deux partenaires de communication devaient être en ligne en même temps pour la remise des messages. OMEMO résout cet inconvénient majeur de l'OTR; l'envoi du message ne nécessite pas que les deux utilisateurs soient en ligne simultanément.

OMEMO offre le secret à terme . Qu'est-ce que ça veut dire? Il offre une couche supplémentaire de protection assurant la sécurité de vos données. Voici un scénario: le cryptage de bout en bout repose sur la clé privée stockée uniquement sur le périphérique. Ainsi, si le téléphone est volé, la clé privée tombe entre les mains du voleur. Sans transfert du secret, le voleur pourrait déchiffrer tous les messages stockés sur le téléphone. Le protocole Forward Secrecy génère une clé aléatoire pour chaque session. Ainsi, même si la clé privée est entre de mauvaises mains, les messages stockés sont toujours en sécurité.

Généralement, les utilisateurs font confiance à l'identité de leur interlocuteur. C'est pourquoi OMEMO utilise les identités de périphérique. Chaque clé OMEMO est livrée avec une empreinte digitale unique permettant de vérifier le partenaire de conversation, par exemple via un appel téléphonique. Une fois que les partenaires de discussion sont vérifiés, l' algorithme Double Ratchet garantit que seul le destinataire du message peut le déchiffrer. Double Ratchet génère et chiffre chaque message avec une clé temporaire. Une fois la livraison réussie, la clé est sans valeur et ne peut plus rien déchiffrer. Il est uniquement destiné à protéger les données lors de vos déplacements sur le World Wide Web.

Conversations est disponible sur Google Play Store et Amazon App Store. Bien que les versions de l'App Store ne soient pas gratuites, l'application est open source. Vous pouvez donc la compiler vous-même ou la récupérer à partir de F-Droid.

Vous souhaitez en savoir plus sur l'application depuis la bouche du cheval? Daniel Gultsch, développeur principal de Conversations, a mis du temps à répondre à mes questions.


Entretien avec le développeur de conversations

Q: Pourriez-vous vous présenter brièvement?

R: Je m'appelle Daniel Gultsch et je travaille en tant que développeur et conseiller logiciel indépendant.

Q: Qu'est-ce qui vous a motivé à développer des conversations?

R: J'utilise Jabber / XMPP depuis de nombreuses années. Même en 2009, j'ai pu utiliser Jabber sur mon Nokia e71. Vers l'année 2012, je suis passé à un téléphone Android et je ne pouvais donc plus utiliser Jabber. Il y avait un client Jabber pour Android disponible (Xabber), mais c'était le contraire de visuellement attrayant.

Au début de 2014, je me demandais à quel point il pourrait être difficile de développer un client de messagerie instantanée, qui a meilleure apparence (que Xabber). À ce stade, j'avais de l'expérience dans le domaine du développement de logiciels, mais pas pour Android. Au bout de quelques jours, une maquette d’assurance-chômage est apparue. Je me suis donc demandé s’il était difficile d’enseigner à l’envoi et à la réception de messages Jabber à cette interface. Trois mois de travail à temps plein plus tard, la première version de Conversations est sortie.

Q: Pouvez-vous donner trois raisons pour lesquelles Conversations protège mieux votre vie privée que Whatsapp ou Threema?

R: Je n'ai pas à donner mon numéro de téléphone privé à des inconnus si je veux bavarder avec eux. Je pourrais avoir un compte privé et un compte professionnel. Je peux désactiver le compte professionnel après mon quart de travail pour empêcher mon supérieur hiérarchique de m'ennuyer pendant mon temps libre. WhatsApp permet à tout le monde d'analyser mes habitudes d'utilisation de l'application à tout moment. (Mon supérieur pourrait me demander si j'utilise WhatsApp pendant mes heures de travail ou si j'utilise WhatsApp la nuit au lieu de dormir et de bien me reposer au bureau.) Ceci est différent avec Conversations; Conversations ne télécharge pas non plus tout mon carnet d'adresses sur Facebook.

Q: Combien coûte un abonnement d'un an à un compte Conversations.im?

A: 8 Euro (environ 9 $ US). Après une période d'essai de six mois. Les abonnements ne se renouvellent pas. Il n'est pas nécessaire de mettre fin à l'abonnement.

Q: Quels sont les avantages d’un compte Conversations.im par rapport à d’autres serveurs XMPP?

R: Les nouvelles fonctionnalités, qui nécessitent un support côté serveur, sont d'abord fournies à conversations.im. De manière générale, nous essayons de mener des conversations.im avec des exigences un peu plus élevées. Un serveur piloté par un projet de loisir peut échouer pendant un jour alors que la personne est en vacances. Nous essayons d'éviter de telles choses pour les conversations.im. Au moins pendant les heures de service, il y a toujours quelqu'un capable de s'occuper du serveur si nécessaire. De plus, vous soutenez le développement du serveur, qui est également open source. Les modifications spécifiquement apportées à notre application Conversations se retrouvent dans le code du serveur et sont disponibles pour les autres.

Q: Puis-je acheter des conversations via Bitcoin?

A: Pas l'application. L'application est vendue sur Google PlayStore, ils n'acceptent pas les Bitcoins. Il est possible de télécharger l'application gratuitement via le F-Droid Open Source App Store. Dans ce cas, j'accepte volontiers les dons via Bitcoin.

Q: Qu'est-ce qu'OMEMO?

R: Un chiffrement de bout en bout (facultatif) pour Jabber.

OTR a échoué facilement. Si un certain message est perdu à cause d'une mauvaise couverture du signal téléphonique, les messages de suivi ne peuvent pas être remis non plus. De plus, OTR n’est capable d’échanger des messages qu’entre exactement deux appareils. Par exemple: lorsque je suis connecté avec deux appareils simultanément (téléphone mobile et ordinateur de bureau), mon homologue doit décider s’il souhaite envoyer les messages au téléphone ou au bureau. Si mon homologue n'est pas en mesure de faire de la voyance, quel appareil j'utilise actuellement, c'est un problème. En dehors de cela, les messages ne sont bien sûr pas synchronisés et il me manque une partie de l'historique des conversations sur chaque appareil. OMEMO élimine les deux problèmes. OMEMO est plus fiable et capable de gérer plus de périphériques.

Q: Qu'est-ce que le secret de transfert?

R: Supposons que je supprime fréquemment l'historique de mes conversations (je peux automatiquement supprimer les messages antérieurs à une période configurée.

Supposons que quelqu'un stocke toute ma communication cryptée (il ne peut donc rien y faire, il a le texte crypté, pas le texte brut. Cet individu vole mon téléphone. Les messages eux-mêmes ne sont pas localisés au téléphone. plus (ils sont supprimés fréquemment), mais mon matériel de clé (ma clé privée) est toujours là.

Si un cryptage n'a pas le secret de transfert, cette personne est capable de combiner les éléments de clé trouvés sur mon téléphone et les messages cryptés qu'il a enregistrés avant de pouvoir reconstituer le texte brut. Si le cryptage est défini sur Forward Secrecy, cela n’est pas possible.

Q: Que décrit le terme Frais généraux par message?

R: La quantité de bande passante requise ajoutée respectivement par le cryptage. Supposons qu'un message non chiffré a une taille de 2 Ko et que le même message chiffré aurait une taille de 5 Ko. Dans ce cas, 3 Ko est la "surcharge" créée par le cryptage.

Q: Envisagez-vous d'implémenter une fonction d'appel?

R: Non. Les nouvelles fonctionnalités arrivent si j'en ai besoin moi-même ou si elles ont du sens d'un point de vue économique. (Combien de personnes utiliseraient encore l'App si cette fonctionnalité existait et combien coûte le développement d'une telle fonctionnalité?) Malheureusement, la fonctionnalité d'appel est très, très chère et personnellement, cette fonctionnalité ne m'intéresse pas beaucoup.

Q: Comment puis-je soutenir le développement de l'application après l'achat de l'application?

R: Il y a des détails sur la façon de faire un don sur notre site Web. Bien entendu, la promotion et la publicité sont également utiles et l’application est Open Source. Ceux qui sont capables de développer des logiciels peuvent bien sûr aider au codage.

Q: Avez-vous développé vous-même l’algorithme OMEMO?

C’était un projet Google Summer of Code. (Google Summer of Code signifie que Google verse un mois aux étudiants qui travaillent sur des projets Open Source.) OMEMO a été développé pour les conversations par un étudiant.

Q: Quels sont vos projets ultérieurs pour le développement de Conversations?

R: Il est peu probable que de nouvelles fonctionnalités vraiment importantes apparaissent. Conversations fait tout ce qu'il est censé faire. Sous le capot, il y aura un ou plusieurs réglages (utilisation des données / vitesse de connectivité, etc.), mais cela n’a rien de visible pour l’utilisateur moyen. Une petite chose, qui sera probablement réalisée par la suite, est la possibilité de confirmer le transfert, avant que la photo ne soit envoyée. Jusqu'à la date des images sont toujours envoyées immédiatement.

Q: Est-il permis de compiler soi-même des conversations à partir de votre Github et de les utiliser pour un usage privé?

Un: bien sûr. Non seulement privé, aussi pour les affaires et tout ce que vous voulez. Il est également permis de modifier le code pour répondre aux exigences individuelles.

Q: Est-il possible de tunneler des conversations via un VPN?

A: oui

Q: À la fin, nous aimerions entendre parler d’un professionnel. Quelles mesures, à part l'utilisation de Conversations, recommandez-vous de protéger la confidentialité en tant qu'utilisateur Android?

R: Activez Adblocking dans votre navigateur. Par exemple, Firefox (également disponible pour Android) et le module complémentaire uBlock.

Désactivez les services de localisation (dans les versions récentes d'Android, il existe un quicktile) lorsqu'ils ne sont pas utilisés. Sinon, Google sait où vous êtes tout le temps.

Ces deux choses sont très simples à appliquer et pratiques.


Note de l'éditeur: cet article a été écrit en allemand par Raúl Radonz. Il a été traduit par Raúl Radonz et édité par Mishaal Rahman. Raúl Radonz et -Developers souhaitent remercier M. Gultsch d'avoir pris le temps de mener cette interview.