Définition technique et différence avec le chiffrement en transit
Le chiffrement de bout en bout (E2EE) est un processus cryptographique qui transforme le texte lisible en données illisibles sur l'appareil de l'expéditeur avant qu'elles ne quittent le matériel local. Contrairement au chiffrement en transit, qui protège la connexion entre un client et un serveur via des protocoles comme TLS, l'E2EE garantit que le serveur de messagerie ne manipule que du texte chiffré et n'a jamais accès aux clés de déchiffrement. Cette distinction est fondamentale : le chiffrement en transit protège la route réseau, tandis que l'E2EE protège le contenu du message indépendamment de l'infrastructure de livraison.
Selon IBM, l'E2EE se distingue des autres méthodes car il chiffre les données sur l'appareil de l'expéditeur, les maintient chiffrées pendant la transmission et ne les déchiffre que sur le point de terminaison du destinataire. Cela signifie que, même si un fournisseur de services comme WhatsApp ou Meta interceptait le trafic, il ne pourrait pas lire les messages sans la clé privée de l'utilisateur. La sécurité ne réside pas dans la confiance de l'intermédiaire, mais dans la possession exclusive des clés par les points finaux autorisés.
Génération et échange des clés cryptographiques
Dans la plupart des applications de messagerie modernes, chaque appareil génère une paire de clés : une clé publique et une clé privée. La clé publique est partagée ouvertement avec les contacts pour qu'ils puissent chiffrer les messages destinés à cet appareil, tandis que la clé privée reste stockée en sécurité dans le matériel local et n'est jamais transmise par le réseau. Ce mécanisme repose sur la cryptographie asymétrique, où le chiffrement avec la clé publique ne peut être inversé qu'avec la clé privée correspondante.
Lorsqu'un utilisateur démarre une conversation, l'application échange ces clés publiques via le serveur de messagerie. Le serveur agit comme un simple messager de clés, sans capacité à déchiffrer le contenu. Si un utilisateur change de téléphone, il génère généralement une nouvelle paire de clés, ce qui invalide les clés précédentes et nécessite une nouvelle vérification d'identité pour rétablir la confiance cryptographique entre les interlocuteurs.
Vérification d'identité par empreintes numériques
Le point le plus faible de l'E2EE n'est pas la cryptographie, mais la vérification d'identité. Un attaquant peut s'insérer dans la conversation s'il parvient à faire utiliser à la victime une clé publique fausse au lieu de la légitime. Pour atténuer ce risque, les applications offrent des empreintes de sécurité : des codes numériques ou QR dérivés des clés publiques que les deux parties doivent comparer pour confirmer qu'ils correspondent. Si les codes ne sont pas identiques, il y a une forte probabilité d'une attaque de l'homme du milieu.
L'EFF décrit ce processus comme une vérification manuelle fastidieuse, surtout lorsqu'un utilisateur change d'appareil. Cependant, des outils comme le Vérificateur de clés du système Android cherchent à unifier ce processus pour les applications compatibles avec le RCS, permettant un scan de codes QR standardisé. Dans WhatsApp, la vérification peut être effectuée en scannant un code QR ou en comparant manuellement un code de 60 caractères, bien que la bêta introduise une vérification automatique basée sur la transparence des clés qui réduit la charge opérationnelle pour l'utilisateur.
Risques persistants sur les appareils finaux
L'E2EE protège la route entre les appareils, mais ne protège pas les appareils finaux s'ils sont compromis. Un malware installé sur le téléphone de l'utilisateur peut capturer les messages avant leur chiffrement ou après leur déchiffrement, contournant complètement la protection cryptographique. De plus, les sauvegardes dans le cloud, comme celles d'iCloud ou de Google Drive, peuvent stocker les chats dans un état non chiffré ou avec des clés d'accès partagées, exposant les informations à des risques d'accès non autorisé par le fournisseur cloud.
Un autre vecteur d'attaque est les captures d'écran, qui dans de nombreux systèmes d'exploitation ne sont pas bloquées par l'application de messagerie. Bien que le message soit chiffré en transit, une capture d'écran locale peut être partagée ou exfiltrée sans que l'E2EE puisse l'empêcher. Par conséquent, la sécurité réelle dépend de l'intégrité du système d'exploitation, de l'absence de malware et de la configuration correcte des sauvegardes chiffrées.
Comment auditer les paramètres de confidentialité dans vos apps
Pour vérifier si une application implémente réellement l'E2EE, l'utilisateur doit rechercher des indicateurs spécifiques dans l'interface. Dans Messenger, par exemple, l'option "Chiffrement de bout en bout" apparaît dans les paramètres de la conversation uniquement lorsque celle-ci est protégée. Dans WhatsApp, l'étiquette "Chiffrement de bout en bout" à côté du nom du contact confirme la protection. Si l'étiquette n'apparaît pas, la conversation pourrait utiliser le chiffrement en transit ou ne pas être chiffrée du tout, surtout dans les conversations de groupe avec des participants n'ayant pas l'application à jour.
Il est crucial de revoir les paramètres de sauvegarde. Dans WhatsApp, les sauvegardes sur Google Drive ou iCloud peuvent ne pas être chiffrées de bout en bout par défaut, selon la version et la configuration régionale. L'utilisateur doit activer explicitement le chiffrement de la sauvegarde si l'application le permet. De plus, il est recommandé de désactiver les fonctions optionnelles qui partagent des métadonnées ou du contenu avec le fournisseur, comme l'intégration IA ou les outils d'entreprise, qui peuvent exempter le service de la protection E2EE.