J'ai déjà lu cet article. Signal est effectivement une des messageries les plus sécurisées qui existent aujourd'hui.
En plus, le protocole de chiffrement de Signal possède une propriété qu'on appelle en cryptologie la "confidentialité persistante". L'échange de message doit se faire en symétrique pour des raisons de performance (Même clé pour le chiffrement et le déchiffrement). Partant de là, il faut que les deux parties se mettent d'accord sur une clé sans la faire transiter en clair sur le réseau. Pour faire ça, il y a deux solutions :
Soit l'une des parties chiffre la clé symétrique avec du chiffrement assymétrique pour l'envoyer à l'autre. C'est une solution qui fonctionne, mais elle a un problème de sécurité : si je suis un attaquant, que je stocke les messages chiffrés dont je ne connais pas la clé, et que j'arrive plus tard à compromettre la clé privée qui permet de déchiffrer la ou les clé(s) symétrique(s), alors je peux récupérer cette (ces) clé(s) symétrique(s) et déchiffrer l'intégralité des messages échangés.
Soit les deux parties utilisent
l'échange de Diffie-Hellman pour négocier une clé symétrique. Grossièrement, ce procédé permet, via les mathématiques, de négocier une clé
sans se l'échanger. L'avantage, c'est que ça permet de se passer du chiffrement assymétrique, qui du coup, ne sert plus que pour l'authentification. Ce processus implique que même si les clés privées sont compromises, les clés symétriques qui ont servi à chiffrer les messages ne le sont pas et les messages restent inaccessibles.
C'est ça, la confidentialité persistante.
Dans le cas de signal, cette propriété fait que chaque message est chiffré avec une clé différente. Si un attaquant veut décrypter une conversation, il n'a pas d'autre choix que de décrypter chaque message séparément. C'est la raison aussi qui fait que c'est en général conseillé de fragmenter ses conversations sur signal et d'envoyer plein de petit messages plutôt qu'un seul gros message.
Par exemple, au lien de :
- Salut ! Ca va ?
Dites plutôt :
- Salut
- Ca va ?
Signal permet également de vérifier les clés publiques des correspondants, et possède une fonctionalité d'effacement automatique des messages au bout d'un certain temps paramétrable, contrairement à whatsapp qui ne possède pas ces sécurités.
Finalement, signal possède toutes les fonctionalités d'une messagerie classique, c'est à dire :
- Envoi de SMS
- Envoi de MMS
- Envoi de fichiers audio/video/autre
- Appels téléphonique
- Facetime
- Groupe de discussion
Tout étant bien entendu chiffré.