En activant le chiffrement de bout en bout, WhatsApp assure aux utilisateurs que leurs messages ne pourront être lus par personne, pas même par WhatsApp. Mais comment ça fonctionne ?

Alors que la fonctionnalité n’était déployée que partiellement sur WhatsApp, la filiale de Facebook a annoncé mardi l’activation du chiffrement de bout en bout pour tous les utilisateurs de la messagerie instantanée qui installent la dernière version. Cela signifie qu’à partir d’aujourd’hui, la très grande majorité des conversations échangées au sein de WhatsApp ne peuvent pas être lues par un tiers, et que WhatsApp lui-même ne peut pas fournir aux autorités les clés de chiffrement utilisées. Seul l’expéditeur et le destinataire savent ce qu’il se dit, et eux-seuls peuvent accéder aux images, vidéos ou autres fichiers échangés.

« C’est parce que vos messages sont protégés avec un cadenas, et seuls le destinataire et vous avez la clé spéciale qui permet de les déverrouiller et de les lire. Afin d’assurer une protection supplémentaire, chaque message que vous envoyez a son propre cadenas unique et sa clé unique », explique WhatsApp.

Mais comment ça marche, le chiffrement de WhatsApp ?

whatsapp

Le chiffrement de bout-en-bout au sein de WhatsApp est né d’une collaboration entre ses fondateurs Brian Acton et Jan Koum, et l’activiste Moxie Marlinspike, expert en cryptographie. Ce nom ne vous dit probablement rien, mais il s’agit du créateur d’Open Whisper Systems, une organisation de projets open-source de communication sécurisée. C’est elle qui édite le service de messagerie chiffrée Signal, qu’Edward Snowden lui-même recommande.

« Utilisez n’importe quoi [fait] par Open Whisper Systems », conseille même l’ancien agent de la NSA, devenu le meilleur VRP pour les messageries sécurisées fondées par Marlinspike. Or le protocole open-source de Signal conçu par Open Whisper Systems est bien à la base (.pdf) du système utilisé par WhatsApp, depuis le 31 mars 2016.

Lors de l’enregistrement sur WhatsApp qui ne peut se faire qu’après avoir validé son numéro de téléphone mobile par un SMS de confirmation, l’application installée sur le smartphone crée d’abord une paire de clés « d’identité » (Identity Key), et envoie uniquement la clé publique vers les serveurs de WhatsApp. Des clés temporaires et certaines à usage unique sont également générées et envoyées vers l’éditeur, toutes basées sur une courbe Curve25519.

Des clés uniques pour chaque message

Quand une conversation doit avoir lieu, celui qui initie l’échange demande l’Identity Key de l’interlocuteur, ainsi que des clés temporaires, et mélange le tout avec sa propre clé d’identité pour générer un « Master_Secret », unique à chaque session. Seul l’interlocuteur dispose des clés privées qui permettent de deviner ce secret en utilisant la même formule.

Lorsque la session est ainsi enclenchée, tous les messages sont chiffrés avec une « clé de message » (Message Key), en utilisant un algorithme AES 256 pour le chiffrement, et un algorithme HMAC-SHA256 pour l’authentification. Tout est donc sécurisé avec des clés qui changent à chaque message.

Des techniques complémentaires sont utilisées pour sécuriser les transferts de fichiers, les appels audio/vidéo, et les conversations de groupe. Par ailleurs, rien n’est stocké sur les serveurs de WhatsApp (à l’exception des clés publiques toujours nécessaires) , et la personne qui prendrait possession d’un smartphone sur lequel l’application est installée n’aurait donc pas la possibilité de profiter de l’accès aux clés privées pour retrouver un historique des précédents messages envoyés.

Reste un problème : WhatsApp n’étant pas un logiciel open-source, l’utilisateur est prié de croire la filiale de Facebook sur parole. En cas de doute, mieux vaut donc toujours préférer Signal.


Abonnez-vous à Numerama sur Google News pour ne manquer aucune info !