Il y a 3 mois, BitTorrent a annoncé le lancement en version pré-alpha d'un client de messagerie instantanée sécurisée. A cette époque, il avait donné peu de détails sur cette solution baptisée simplement BitTorrent Chat. Les développeurs viennent de fournir quelques éléments supplémentaires sur l'architecture dans différents blogs.

Par rapport à d'autres services de chat, BitTorrent Chat ne s'appuie pas sur un serveur central pour délivrer les messages de l'expéditeur à ses destinataires. Le chiffrement se fait directement entre les clients, pas par le biais d'un serveur. Chistian Everill, directeur de la communication de BitTorrent, souligne dans un billet de blog que « les applications de chat, qui s'appuient sur des serveurs centralisés ou basés dans le cloud, sont vulnérables aux pirates informatiques et aux filets de surveillance de la NSA ».

Sécurisation par chiffrement et anonymat du réseau point à point


En l'absence d'un serveur central pour acheminer les messages, les utilisateurs de BitTorrent Chat trouveront le même mécanisme que de nombreux clients BitTorrent pour localiser les points de partage de fichiers, une table de hachage distribué (DHT Distributed Hash Table). « In fine, la DHT est un réseau de points coopératifs », explique dans un autre blog Abraham Goldoor, ingénieur logiciel de l'équipe en charge de la messagerie instantanée sécurisée. Concrètement, il détaille le procédé, « vous demandez à votre voisin le plus proche s'il connait la personne que vous recherchez. Vous demandez ensuite à leurs voisins et aux voisins des voisins et ainsi de suite. Finalement, vous arrivez à un point qui connaît l'adresse de la personne que vous cherchez et vous la retourne. C'est fait de telle façon que vous seul savez qui vous recherchez ».

Pour répondre aux exigences de sécurité, le protocole de DHT a été mis à jour pour prendre en charge le chiffrement. Les utilisateurs seront identifiés par leurs clés publiques, inclus dans leur jeu de clés nécessaire au cryptage de communications. Deux utilisateurs ont simplement besoin d'échanger leur clé publique pour dialoguer en toute sécurité. L'identification ne se fait pas par des noms comme dans un chat traditionnel, mais par les clés respectant ainsi un niveau d'anonymat. Cependant, ce système de chiffrement avec des clés publiques ne protège pas contre toutes les attaques. Si une clé privée est volée, elle peut permettre le déchiffrement des messages cryptés avec la clé publique correspondante. Pour éviter cela, les développeurs de BitTorrent Chat vont intégrer une fonctionnalité cryptographique connue sous le nom « forward secrecy ». « Chaque fois que vous commencez une discussion avec un de vos contacts, une clé de chiffrement temporaire sera créée en plus de l'utilisation de vos paires de clés. Cette clé temporaire ne sera générée que pour cette seule conversation, puis définitivement supprimée ».