TextSecure et sa double dépendance à Google

TextSecure est une application libre de messagerie pour Android développée par Open WhisperSystems.

Elle permet de chiffrer les SMS/MMS sur le téléphone ainsi que lors de l’envoi à un correspondant. Le code de l’application est disponible sur GitHub et est publié sous licence GPLv3. Une documentation d’utilisation en anglais est également disponible sur GitHub.

Si on résume, c’est une application libre permettant de protéger une partie de sa vie privée en chiffrant facilement les messages qu’on envoie depuis son téléphone. Formidable, non ? Pas tout à fait, deux dépendances vis-à-vis des services Google viennent ternir ce tableau idyllique.

Push

TextSecure dispose de deux modes de d’échange de messages. L’un via SMS, où l’on s’échange des SMS chiffrés après un échange de clés assez simple. Là, aucune dépendance vis-à-vis de Google. Tout se passe comme avec des SMS classiques, sauf qu’ils sont chiffrés. Le deuxième mode d’échange utilise les fonctionnalités de Push d’Android et utilise le réseau de données (3G/4G/Wifi) au lieu du service SMS de votre opérateur. Comme cela est décrit ici, GCM (Google Cloud Messaging) est le seul outil capable de gérer efficacement les millions d’utilisateurs de TextSecure pour ce mode. Une alternative à base de WebSocket est en cours de développement par la communauté (et une autre serait également en cours côté WhisperSystems). En attendant, GCM est imposé par WhisperSytems et il dépend lui-même de Google Play.

C’est la première dépendance.

Distribution

Officiellement, l’application n’est distribuée qu’au travers du magasin d’applications de Google, Play. Pas mal de gens soucieux de leur vie privée installent CyanogenMod sur leur téléphone mobile car CyanogenMod n’inclut pas les services Google par défaut. Se pose alors un dilemme : installer Google Play pour avoir TextSecure ou se passer de TextSecure ?

La question est abordée par l’équipe de WhisperSystems dans leur documentation de support. La raison invoquée pour cette dépendance à Play est de fournir des mises à jour le plus rapidement possible. L’argument me semble faible par rapport à une distribution sur f-droid, magasin d’applications alternatifs, notifiant lui aussi les mises à jour disponibles.

TextSecure avait d’ailleurs été ajoutée sur f-droid à une époque puis retirée du dépôt officiel, donnant lieu à une discussion animée entre l’équipe d’f-droid et Moxie, le créateur de TextSecure.

WhisperSystems annonce qu’un système de distribution alternatif est en cours d’élaboration mais aucune information n’est disponible hormis cette annonce. Ce qui ressort des échanges, c’est l’impression que Moxie souhaite contrôler complètement la manière dont l’application est compilée puis distribuée. C’est très inhabituel dans le monde du logiciel libre.

C’est la deuxième dépendance.

Conclusion

Aujourd’hui, pour obtenir et utiliser toutes les fonctionnalités de TextSecure, il faut utiliser les services de Google. Si l’on souhaite utiliser TextSecure sans ça, il faudra se contenter du mode SMS. Ce mode a comme inconvénient principal de laisser les métadonnées (destinataire, expéditeur, etc) circuler en clair dans le réseau des opérateurs. Enfin, vous allez me dire, comment installer TextSecure si le seul canal de distribution est le Google Play ? Et bien, cela fera partie d’un deuxième article ici-même. Plusieurs possibilités dont les principales sont le compiler et l’installer à la main soi-même ou trouver un dépôt f-droid le proposant.

NB : il y a une troisième dépendance avec le mode Push : les serveurs de WhisperSystems. Le wiki indique qu’on peut installer son propre serveur TextSecure

Date de publication originale : 23/11/2014