Fonctionnement de Cyphr

Nos objectifs de conception

Cyphr est une application de messagerie sécurisée. Les principaux objectifs de l'application comprennent:

  • La communication doit être aussi facile que possible

    Dans l'idéal, l'application est aussi facile à utiliser que n'importe quelle application de messages instantanés non codés. Les moments où l'encodage est nécessaire ne doit pas demander plus de connaissance ou d'activité de l'utilisateur sauf si absolument nécessaire.

  • L'utilisateur peut faire de bons choix sur le niveau de confidentialité et de sécurité

    Si une nouvelle fonction nécessitant le partage d'informations est mise en place, l'utilisateur peut choisir de désactiver cette fonction. Cela donne à l'utilisateur le contrôle de son expérience et lui permet de configurer l'application selon l'équilibre qu'il souhaite entre sécurité et fonctionnalité.

  • Golden Frog a absolument aucune connaissance du contenu du message

    Les données message sont toujours encodées de manière à ce que uniquement l'expéditeur et le destinataire puissent voir les données. Cela inclut tout serveur ou appareil de réseau Golden Frog entre l'expéditeur et le destinataire.

  • Golden Frog stocke que le minimum de métadonnées nécessaires pour aider à transmettre le contenu du message

    Pour envoyer et recevoir des messages avec les systèmes Golden Frog, il faut connaitre certaines métadonnées. De plus, à cause de la façon dont Internet fonctionne, d'autres métadonnées doivent être connues. Golden Frog stocke seulement les métadonnées nécessaires pour livrer le message a sa destination finale, et il ne stocke les métadonnées seulement assez longtemps pour garantir cette livraison.

Explication des technologies de cryptage

Encodage clé symétrique

Une clé est semblable à un mot de passe utilisé pour déverrouiller un coffre-fort. Pour crypter un message, l'expéditeur dépose le message dans le coffre, puis verrouille celui-ci avec la clé. Une fois le coffre-fort fermé, personne ne peut accéder au message sans avoir la clé. Le destinataire utilise donc une clé pour l'ouvrir et récupérer son message. C'est ce que signifie le décryptage.

Avec l'encodage de clé symétrique, l'expéditeur et le destinataire ont la même clé. Ils doivent partager la clé, ce qui veut dire qu'ils doivent se faire confiance. L'encodage de clé est généralement préféré parce que c'est plus rapide, mais comme deux personnes ont la même clé, vous ne pouvez jamais être sur que l'autre personne n'a pas partage la clé.

Chiffrement de la clé publique

Avec un cryptage de clé public, deux clés sont utilisées - une clé publique et une clé privée. Un expéditeur utilise la clé publique du destinataire pour ouvrir le coffre fort pour mettre les messages dans le coffre fort du destinataire. La clé publique ne peut être utilisée que pour mettre des messages dans le coffre fort du destinataire, donc même si le coffre fort est "ouvert," l'expéditeur ne peut en fait pas accéder à ce qui est à l'intérieur. Le coffre fort ne s'ouvre que d'un coté. L'expéditeur utilise la clé publique du destinataire pour crypter le message. Pour lire le message, le destinataire utilise sa clé privée pour ouvrir le coffre fort. La clé privée est ce qui lui permet de retirer des messages. Nous appelons cela clé privée parce que seul le destinataire y a accès, et parce que cela n'ouvre que le coffre fort du destinataire, nous pouvons être sur que le message peut seulement être lu par le destinataire. Ainsi, le destinataire utilise la clé privée pour décoder le message.

La clé publique et la clé privée sont reliées à des équations mathématiques très complexes qui leur permettent de fonctionner. La chose importante est qu'avec cette méthode, tant que l'expéditeur connait la clé publique du destinataire, l'expéditeur peut envoyer des messages que seul le destinataire (ou une personne détenant la clé privée de destinataire) peut lire.

Vérification de la clé publique (signature)

En utilisant les mêmes clés que celles utilisées pour l'encodage, l'expéditeur peut mettre un timbre sur son message pour prouver qu'il l'a envoyé. Dans ce cas, l'expéditeur met un timbre sur le message avec sa propre clé privée. Quand le destinataire reçoit le message, il peut trouver la clé publique de l'expéditeur et la clé publique correspondra au timbre de l'expéditeur, ce qui prouve que le destinataire - et seulement le destinataire - a envoyé le message. Nous appelons le timbre une signature et nous appelons le processus de faire correspondre les timbres une vérification.

Avec cette méthode, un expéditeur peut certifier au destinataire que le message a été envoyé. Cela empêche quelqu'un de se faire passer pour quelqu'un d'autre et l'envoi de faux messages

Processus de transmission du message

Cyphr marie les concepts de cryptage mentionnés ci-dessus pour produire une solution cryptée de bout en bout. Quand quelqu'un envoie un message à quelqu'un d'autre, le message est crypté sur le périphérique de l'expéditeur (téléphone, navigateur web, ordinateur, etc) et ne sont pas déchiffrées jusqu'à ce qu'ils atteignent l'appareil du destinataire. Le processus d'envoyer un message à un haut niveau est:

  1. L'expéditeur signe son message avec sa clé privée pour que le destinataire puisse savoir qu'il l'a envoyé.
  2. L'expéditeur crée un clé jetable à utiliser une seule fois.
  3. L'expéditeur encode le message et la signature avec la clé en une seule fois
  4. L'expéditeur consulte toutes les clés publiques du destinataire
  5. L'expéditeur crypte la clé temporaire avec les clés publiques de chaque destinataire
  6. L'expéditeur signe la clé d'encodage unique avec la clé privée du destinataire pour que le destinataire sache qu'il l'a créée
  7. L'expéditeur envoit un clé cryptée et un message crypté au destinataire par les serveurs Cyphr de Golden Frog

Tout ce travail est fait sur ​​l'appareil de l'expéditeur, de sorte que Golden Frog ne peut pas acceder au message d'origine. Puisque le message est crypté par une clé symétrique Golden Frog n'a pas, Golden Frog ne peut pas décrypter le message. Car la clé symétrique est chiffrée par la clé publique de chaque destinataire, seul les destinataires peuvent avoir accès à la clé nécessaire pour décrypter le message. À ce stade, Golden Frog tient les données chiffrées qui ne peuvent être déchiffrées jusqu'à ce que un destinataire lit.

Le procédé de réception d'un message est le suivant :

  1. Le destinataire télécharge la clé chiffrée et le message crypté des serveurs de Cyphr Golden Frog
  2. Le destinataire utilise sa clé privée pour décoder la clé encodée symétrique
  3. Le destinataire utilise sa clé privée pour décoder la clé encodée symétrique
  4. Le destinataire cherche la clé publique de l'expéditeur
  5. Le destinataire utilise la clé publique pour vérifier le message et la clé symétrique encodée a été envoyée par l'expéditeur

Tout ce travail est effectué sur l'appareil du destinataire, qui est le seul endroit de la vie privée des clés. Aussi longtemps que l'appareil est proprement securisé, seul le destinataire peut lire les messages. Même si quelqu'un d'autre voudrait télécharger le message, ils n'auraient pas la clé privée du destinataire et ne pourront donc pas lire la clé symétrique. Sans la clé symétrique, quelqu'un d'autre ne peut pas lire le message chtffré.

Autres considérations

En plus de l'utilisation du procédé de transmission de message décrit ci-dessus, Cyphr met également en œuvre ce qui suit :

  1. Quand un destinataire lit un message présent sur le serveur, sa copie du message est effacée du serveur.
  2. Quand cela est possible, l'historique des messages de l'appareil est crypté, suivant les options de cryptage disponibles en local.
  3. Lorsque des messages sont stockés pour être expédiés, les serveurs Cyphr stockent seulement le moment de la réception et les métadonnées du destinataire (les données concernant l'expéditeur ne sont pas stockées, puisqu'elles ne sont pas nécessaires)

Plus de détails

  1. Un algorithme vieux de trente ans est utilisé pour l'encodage et la vérification de la clé publique
  2. Le cryptage à 256-bit AES est utilisé pour le cryptage symétrique de messages.
  3. TLS est utilisé pour des transmissions sécurisées des données de message encodées de et vers les serveurs Cyphr
  4. Les serveurs Cyphr se trouvent à Zurich (en Suisse) où ils sont conformes aux lois sur le respect de la vie privée suisse.