Etat des lieux de la messagerie chiffrée
Tout d’abord, je vais ré-préciser quelque chose de fondamental. Une communication aussi sécurisée et chiffrée qu’elle soit est in fine déchiffrée sur l’OS de l’utilisateur pour être affichée à l’écran et stockée dans un historique de conversation. Donc quelque soit le système de protection de communication que vous utilisez, si votre OS est troué ou à la solde de votre espion, vos protections risquent d’être inutiles.
Donc chiffrer ses messages sur un téléphone Android où l’on a installé les GoogleApps et où Google peut lire l’intégralité de la mémoire de votre smartphone sans vous avertir, ça ne sert à rien pour se prémunir de la NSA. Même chose pour les appareils Apple.
Sous Windows, si vous croyez que votre OS n’a pas de porte dérobée, c’est bien. J’aurai des doutes à votre place. Quand aux failles de sécurité, il suffit de regarder l’histoire pour voir que les failles réseau du système sont courantes.
Bref, les prérequis me semblent un smartphone sous Android (sans logiciels propriétaires en root == sans GoogleApps) et une distribution Gnu (Debian, etc…) sans logiciels propriétaires.
Le postulat est donc que seul votre terminal est sûr, le reste du réseau (serveurs tiers, FAI, internet et même réseau local) pouvant être mis sur écoute. Détrompez vous, il n’y a pas forcément besoin d’une faille technique pour mettre le réseau sur écoute, la contrainte légale sur les sociétés par les états de livrer les informations personnelles de leurs utilisateurs fonctionne généralement assez bien.
E-mails
Les e-mails sont par défaut envoyés en clair. Ils passent par votre réseau local, internet et les serveurs de courrier de chaque correspondant. Autant dire que l’on part de loin.
On peut communiquer en SSL avec son serveur mais si ca protège une partie de la communication, le serveur peut encore lire vos messages et vous n’avez aucune garantie sur la suite du chemin (votre correspondant n’a pas l’obligation d’utiliser une communication chiffrée avec son serveur et tous vos messages passeront alors en clair sur le réseau). Mais SSL protège le mot de passe de votre compte, c’est déjà ça !
La solution souvent conseillée est d’utiliser GnuPG pour chiffrer le contenu des messages. Le problème de cette solution c’est que le champ « sujet » des mails reste toujours en clair. On pourrait mettre des sujets bidons mais je n’imagine pas la galère pour classer ses emails !Donc pour un usage courant, c’est horrible à utiliser. Pour échanger un document confidentiel de temps en temps, ça devrait bien fonctionner.
Messagerie instantanée
XMPP semble être devenu le standard de la messagerie instantanée. Il utilise un modèle client/serveur décentralisé comme les e-mails. C’est vrai que c’est le meilleur modèle que l’on ait actuellement pour fonctionner avec les samrtphones (restrictions de volume de données, consommation énergétique à préserver, pas d’adresse IP publique).
Même constant qu’avec les serveurs e-mails, On peut communiquer en SSL avec son serveur mais si ca protège une partie de la communication, le serveur peut encore lire vos messages et vous n’avez aucune garantie sur la suite du chemin (votre correspondant n’a pas l’obligation d’utiliser une communication chiffrée avec son serveur et tous vos messages passeront alors en clair sur le réseau). Mais SSL protège le mot de passe de votre compte, c’est déjà ça !
GnuPG serait ici plus pratique car il n’y a pas le problème du « sujet » en clair. Mais je n’ai pas trouvé de client XMPP pour Android qui le gère.
OTR est un nouvel modèle de chiffrement pour les échanges de messages synchrones. L’idée est d’utiliser des clés de chiffrement temporaires à conversation. Avantage par rapport à GnuPG : Si un espion a enregistré au préalable vos conversations chiffrées et qu’il tombe un jour sur votre clé privée, il ne pourra pas déchiffrer vos conversations du passé (vu que des clés temporaires qui ont été utilisées pour les chiffrer ont été jetées). C’est une belle idée mais dans la réalité :
- votre historique est conservé en clair sur le même terminal qui contient votre clé privée. Donc un espion trouverait les deux ensemble.
- si l’espion récupère votre clé privée et celle de votre correspondant, il peut alors déchiffrer vos conversations du passé.
- mais surtout : il est impossible d’envoyer des messages à un correspondant hors ligne (car il faut négocier une clé partagée temporaire avant toute nouvelle conversation). Ce qui rend ce modèle inutilisable en pratique à mon avis si on n’est pas connecté 24/24 à sa messagerie instantanée.
Conclusion
Rien de marche pour l’utilisateur lambda qui n’a rien à cacher. Les emails chiffrés sont impossibles à classer. Les messages instantanés hors ligne sont illisibles.