Récemment, de nombreux échanges au sein de la communauté du Libre et dans les scènes hacktivistes tournent autour de la même question :
Faut-il utiliser TextSecure ou SMSSecure ?
Et une chose est sure, la réponse n’est pas simple. J’ai décidé de faire le point, en partant « de la base ».
TextSecure, SMSSecure, c’est quoi ?
Ces deux applications, disponibles sous Android, permettent de chiffrer les messages, SMS ou MMS, envoyés depuis l’appareil.
Les deux applications sont pensées pour s’intégrer parfaitement à votre utilisation quotidienne, remplaçant sans le moindre problème le logiciel SMS « par défaut » d’Android. Si vous préférez, vous n’avez pas besoin d’être un expert en informatique pour utiliser ces applications, elles sont pensées pour être utilisées par tout le monde.
TextSecure dispose d’un équivalent sous iOS : Signal. SMSSecure, quant à lui, n’existe que sous Android.
SMSSecure est ce qu’on appelle un « fork » de TextSecure, c’est-à-dire qu’il a été créé à partir du code source de TextSecure. Si son ambition est équivalente à celle de TextSecure, les deux applications fonctionnent différemment.
Comment ça fonctionne ?
TextSecure et SMSSecure ont deux fonctions : ils chiffrent la base de SMS stockée dans votre appareil et, par défaut, la protègent par un mot de passe que vous définissez. Ce mot de passe permet également d’accéder à l’application, sans ce dernier, impossible d’envoyer des messages.
Leur seconde fonction est l’envoi de messages sécurisés : les SMS sont chiffrés de l’expéditeur au destinataire, on appelle ça du « end-to-end encryption ». Avec ce mode d’envoi, seul le destinataire du SMS est capable de déchiffrer le message. Même si votre message passe par un serveur intermédiaire, ce dernier ne pourra pas le lire.
Je ne rentrerai pas dans le détail du chiffrement, sauf si vous le souhaitez, cela fera alors l’objet d’un article spécifique.
La grande différence réside dans le transport des messages : TextSecure fait transiter les messages par Internet, via ses serveurs, alors que SMSSecure fait transiter les messages par le réseau mobile, sans passer par Internet.
Et alors ?
Afin de tenir la charge pour l’envoi des messages, TextSecure a fait le choix suivant : utiliser GCM, Google Cloud Messaging, seul outil capable de gérer les millions d’utilisateurs TextSecure à travers le monde.
Si une alternative est en cours de développement, il faut pour l’instant composer avec cette forte dépendance à Google, renforcée par le fait que GCM demande impérativement l’installation du Google Play.
SMSSecure, lui, ne fait pas passer les messages par Internet, ces derniers passent sur le réseau mobile, comme n’importe quel autre SMS. Il gère donc le chiffrement mais pas le transport des messages.
Pour faire plus clair : TextSecure gère le chiffrement et le transport des messages, SMSSecure ne gère que le chiffrement. TextSecure est dépéndant de Google pour acheminer les messages, SMSSecure non, il n’est dépendant que du réseau mobile.
Avantages, inconvénients …
Chaque solution a un certain nombre d’avantages… et certains inconvénients :
- TextSecure et SMSSecure chiffrent les messages, avec des protocoles considérés comme solides, les deux offrent donc un niveau de sécurité parfaitement acceptable. Il faut en revanche que le destinataire de votre message dispose de la même application pour que le message puisse être chiffré. Si votre destinataire ne dispose pas de TextSecure ou SMSSecure, le message envoyé sera un « simple » SMS, l’échange ne sera ni chiffré, ni protégé.
- TextSecure fait transiter ses messages par Internet, ce qui est à la fois un avantage et un inconvénient.
- L’avantage : votre message ne passe pas par le réseau mobile, votre opérateur n’a donc aucun trace de votre message, ne sait pas avec qui vous communiquez, quand, comment, combien de fois… il est aveugle et ne peut plus récupérer de métadonnées sur vos messages.
- L’inconvénient : vous devez passer par Internet, il faut donc avoir un forfait data, être sous couverture data, il y a une dépendance à Google. Si vous n’avez plus de data où que vous êtes dans un pays sans data, vous serez complètement paralysé.
Sur ces avantages et inconvénients, SMSSecure est l’exact opposé de TextSecure :
- L’avantage : vous passez par le réseau mobile, votre message arrivera, avec ou sans data. Où que vous soyez, tant que vous avez du réseau, votre message arrivera et vous pourrez en recevoir.
- Inconvénient : vous passez par le réseau mobile, votre opérateur sait donc que vous envoyez des messages, à qui vous les envoyez, quand, il peut savoir avec qui vous communiquez le plus et, pour résumer, est capable d’accéder à toutes les métadonnées liées à un SMS.
Une question de choix…
Choisir SMSSecure, c’est s’assurer une complète indépendance vis-à-vis de Google, c’est aussi s’assurer que cela fonctionnera dans de nombreuses situations, puisqu’il suffit d’avoir du réseau. Hélas, c’est aussi choisir de laisser trainer ses métadonnées dans la nature…
Si vous êtes journaliste par exemple, il sera possible de savoir avec qui vous communiquez et donc, d’identifier vos sources assez rapidement.
Choisir TextSecure, c’est s’assurer que vos échanges seront invisibles pour votre opérateur. Si vous êtes journaliste, il devient très compliqué voire impossible de savoir avec qui vous échangez des messages.
En revanche, c’est être dépendant d’un accès à Internet et être dépendant d’un outil mis en ligne par Google, un monstre bien trop curieux.
Au final, le choix entre TextSecure ou SMSSecure se résume donc à une question de protection et de sécurité.
Pour conclure, afin de choisir, il faut bien définir votre besoin, bien définir les menaces auxquelles vous êtes exposés selon vos activités ou votre profession…
Si vous souhaitez de plus amples explications ou apporter des corrections, les commentaires sont là pour ça.