Communiquer avec la messagerie instantanée Signal

Bonjour à tous on se retrouve aujourd’hui, pour un nouvel article présentant l’application mobile Signal disponible sur Android et iOS. Cet article introduit l’application Signal, mais sur cet article je suis rentré un peu plus dans la technique pour essayer de vous présenter au mieux Signal. Toutefois je ne suis pas rentré dans un haut niveau technique afin de ne pas perdre tout le monde 🙂 Alors sans plus tarder, entrons dans le vif du sujet 😉

 

Signal est une application de messagerie instantanée et d’appels téléphoniques chiffrées. L’application est disponible aussi bien sur iOS que sur Android. L’application utilise Internet pour envoyer des messages individuels ou de groupe. Comme toute application de messagerie présente sur le marché, Signal permet d’envoyer des images, vidéos, … L’application se veut le plus simple possible pour les utilisateurs afin d’incité le grand public à l’utiliser.

L’application est le fruit du développement de « Open Whisper Systems », groupe à but non lucratif qui a été fondé par Moxie Marlinspike en 2013. Leur objectif principal est le développement de Signal. Le groupe est financé par une combinaison de dons et de subventions, et tous ses produits sont publiés sous la forme de logiciels libres et open-source.  Signal est financée par des fondations américaines engagées dans la défense des libertés sur Internet, notamment la Freedom of the Press Foundation et l’Open Technology Fund.

Signal n’est pas la première application de « Open Whisper Systems », en effet l’application est le fruit de la fusion entre « TextSecure » et « RedPhone » deux applications déjà développés par la même société. « TextSecure » permet l’échange de message entre deux utilisateurs de manière chiffré, alors que « RedPhone » permet aux utilisateurs de pouvoir passer des appels chiffrés.

dispostion_logo_signalPrincipe de fonctionnement

Au tout premier lancement, l’application demande de saisir son numéro de téléphone et d’autoriser l’accès à ses contacts. Moins d’une minute plus tard suite à la réception d’un SMS de confirmation, l’application est prête à être utilisée. L’installation est de ce faite très courte. L’application est organisée très simplement, un onglet pour les contacts, un autre pour la saisie du numéro, un troisième pour le journal des appels et un consacré aux contacts favoris. Les communications entre deux appareils équipés de Signal passent par l’Internet ouvert, mais restent indéchiffrables pour tout observateur extérieur. N’importe quel possesseur de smartphone peut ainsi disposer, sans formalités ni inscription, d’un service naguère réservé aux chefs d’Etat, aux PDG de multinationales et aux agents secrets.

Outre la facilité d’utilisation, l’autre objectif prioritaire de Signal était de proposer un chiffrement intégral, de bout en bout. Le cryptage et le décryptage se font à l’intérieur de votre téléphone. Quand l’application se charge, elle crée automatiquement une centaine de clés de chiffrement, qui restent stockées dans l’appareil. Le système permet une rotation systématique, c’est-à-dire que chaque clé servira une seule fois. Quand l’utilisateur reçois un message, Signal utilise une clé qui se détruira aussitôt, il en est de même quand l’utilisateur envoie un message, l’application crée une nouvelle clé. De cette façon, si un attaquant voulait casser le chiffrement de vos communications, il serait obligé de recommencer le travail pour chaque message. Et s’il s’emparait d’une clé, il ne pourrait pas lire les vieux messages. De plus même la société « Open Whisper Systems » ne peut donc déchiffrer les données même sur demandes des autorités.

 

Signal utilise le protocole OTR (« Off-the-Record Messaging »). Ce protocole est utilisé afin de fournir le chiffrement des messages instantanées. Pour ce faire OTR, utilise une combinaison de AES (algorithme à clé symétrique), de Diffie-Hellman et de SHA-1 comme fonction de hachage. Les développeurs ont choisi d’apporter une modification à ce protocole pour l’application. En effet ils ont choisi d’utiliser AES avec une clé sur 256 bits plutôt que 128 bits, et d’utiliser SAH-256, ces modifications font qu’Open Whisper System ai nommé son protocole : « TextSecure protocol ».

Signal utilise donc ce protocole, car il permet d’utiliser des échanges de clé « éphémères ». Plutôt que de toujours chiffrer avec la même clé publique statique.

L’une des principales caractéristiques de OTR est une propriété appelée « deniability », cette caractéristique assure que si quelqu’un reçoit un message OTR de votre part, le destinataire peut être certain que vous l’avez envoyé (plutôt que d’avoir été falsifié par un tiers), cependant même si cette caractéristique assure que le message a été envoyé depuis votre appareil, elle ne prouve pas que c’est bien vous qui avez écrit le message.

Voici une version simplifiée de l’échange initial de clés OTR :

protocole_otr_simplifieChaque participant dispose d’une clé d’identité à long terme (A et B) qu’ils utilisent pour signer une clé éphémère (a et b). Ces clés éphémères servent à calculer le secret partagé (Handshake). Ce secret partagé va aussi permettre d’échanger les clés éphémères. Cependant nous avons simplifié, car en réalité, cet échange initial est plus complexe, car celui-ci va passer dans un autre échange de clé éphémère, pour des raisons de confidentialité.  Mais l’idée maîtresse est là.

Le secret partagé de cet échange de clés est utilisé pour dériver une clé de chiffrement d’envoi et de réception, ainsi qu’un ensemble de clés MAC pour les deux parties. De ce fait chaque message transmis comprend une clé MAC, qui permet au destinataire de vérifier l’émetteur. Puisque la clé utilisée pour construire et vérifier le MAC est dérivée du secret partagé et que ce secret partagé était lui-même dérivé d’un échange de clés qui était à son tour signé par la clé d’identité à long terme de l’expéditeur, le destinataire peut être sûr que les messages de A ont été vraiment construit par l’association de clé éphémère dans la conversation.

 

 

Tout le dispositif de sécurité demeure complètement invisible, à l’exception des deux mots qui s’affichent sur l’écran d’appel et qui sont censés garantir que l’appel n’est pas intercepté.

messagerie_signal

Voilà, c’est déjà la fin de cet article 🙁 Espérant que celui-ci vous aura intéressé, n’hésitez pas à laisser vos commentaires 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.