Le chiffrement de bout en bout : le principe

Lorsque vous envoyez un message via Ping, il est chiffré sur votre appareil avant d'être transmis. Il ne peut être déchiffré que par l'appareil de votre destinataire — et uniquement par lui. Ni les serveurs de Ping, ni une éventuelle écoute du réseau, ne peuvent lire le contenu de vos échanges. C'est le sens du terme "bout en bout" : le chiffrement commence sur votre téléphone et ne se lève qu'à l'arrivée, sur le téléphone de l'autre personne.

Ce n'est pas une promesse commerciale — c'est une réalité mathématique. Pour accéder à vos messages, il faudrait avoir accès à votre clé privée, qui ne quitte jamais votre appareil.

L'échange de clés : ECDH P-256

Pour chiffrer un message destiné à quelqu'un, vous avez besoin d'un secret partagé avec cette personne — sans que ce secret ait jamais transité sur le réseau. Ping résout ce paradoxe grâce à l'algorithme ECDH (Elliptic Curve Diffie-Hellman) sur la courbe P-256.

Chaque appareil génère une paire de clés cryptographiques : une clé publique, partagée librement, et une clé privée, qui ne quitte jamais l'appareil. En combinant sa propre clé privée avec la clé publique du correspondant, chaque côté dérive mathématiquement le même secret partagé, sans jamais l'avoir échangé directement. Les propriétés des courbes elliptiques rendent impossible la reconstitution du secret à partir des seules clés publiques. Ping effectue ce calcul pour chaque appareil impliqué dans la conversation.

Le chiffrement des données : AES-GCM 256 bits

Une fois le secret partagé établi, le message est chiffré avec AES-GCM (Advanced Encryption Standard en mode Galois/Counter Mode), avec une clé de 256 bits. AES est le standard international de chiffrement symétrique, adopté par les agences gouvernementales et les organismes de certification du monde entier, dont l'ANSSI en France. Le mode GCM garantit non seulement la confidentialité, mais aussi l'intégrité du message — toute tentative de falsification des données chiffrées est détectée et rejetée.

Pour les fichiers envoyés (photos, vidéos, messages vocaux), Ping génère une clé de contenu AES aléatoire unique par fichier, chiffre le fichier avec elle, puis chiffre cette clé de contenu séparément pour chaque appareil via ECDH. C'est ce qu'on appelle le chiffrement en enveloppe.

Clés sur l'appareil et conséquences pratiques

Votre clé privée est générée sur votre téléphone à la première connexion et stockée dans le gestionnaire de sécurité de l'OS — le Keychain sur iOS, le Keystore sur Android. Elle ne transite jamais sur le réseau. Les serveurs de Ping ne la connaissent pas et ne peuvent donc pas déchiffrer vos messages, même en cas d'accès non autorisé à l'infrastructure.

  • Multi-device : chaque appareil possède sa propre paire de clés. À l'envoi, le message est chiffré séparément pour chaque device enregistré.
  • Réinstallation : une nouvelle paire de clés est générée. L'historique antérieur devient indéchiffrable — c'est le coût d'une sécurité sans dépôt de clé. Les échanges futurs sont immédiatement protégés avec les nouvelles clés.
  • Notifications push : les notifications push sont déchiffrées nativement par Android et iOS — Google ne reçoit jamais le contenu en clair pour les utilisateurs déjà inscrits. Exception : si le destinataire n'est pas encore inscrit sur Ping (sans clé de chiffrement), la notification est transmise en clair jusqu'à son inscription.