Sessions cryptées

Que sont les sessions cryptées, et pourquoi les utiliser ?

Pourquoi utiliser des sessions cryptées ? Parce que vous voulez garder vos données privées, et les stocker de manière à ce que même Retrospected ne puisse pas les lire.

Démarrer une session cryptée

Sur la page d'accueil, cliquez sur "Session cryptée" (au lieu de "Créer une nouvelle session") :

Create Encrypted Session

Vue d'ensemble

Vos données (contenu des posts, actions, et titre de la session) sont cryptées et décryptées localement, dans votre navigateur.

Seul le texte crypté est envoyé au serveur, donc le serveur ne voit jamais les données en clair.

C'est comment ça se présente dans la base de données :

Database view

La clé est stockée dans l'URL, après le signe dièse (#), et n'est jamais envoyée au serveur non plus (pourquoi).

Vous pouvez alors partager l'URL via un moyen sécurisé (email, Slack...), la stocker dans un favori etc., mais la clé de cryptage ne sera jamais envoyée à Retrospected.

Anatomie d'une URL

https://www.retrospected.com/game/P2NWCVKNJ#pZ0ipXFBn

La partie bleue contient l'ID de la session, alors que la partie rouge,

après le #, est la clé de cryptage.

Dans l'exemple ci-dessus, seule la partie bleue de l'URL est envoyée au serveur, jamais la partie rouge (source).

Cryptage

Votre contenu est crypté localement à l'aide d'AES, avec crypto-js/aes.

Décryptage

Le contenu est décrypté localement, et la clé est obtenue à partir d'une des sources suivantes :

  • L'URL si l'URL contient la clé de cryptage
  • Votre navigateur local storage
  • Une demande de saisie de la clé depuis l'application si la clé n'est ni dans l'URL ni dans le local storage.

Pourquoi est-elle stockée dans le local storage ? Pour la commodité : si vous ouvrez une session existante à partir de la liste des sessions auxquelles vous avez participé, sur la page d'accueil, la clé ne serait pas dans l'URL car cette liste provient des serveurs de Retrospected, où les clés de cryptage ne sont pas stockées.

Quand est-elle stockée dans le local storage ? Chaque fois que vous ouvrez une session avec une clé de cryptage dans l'URL, la clé sera stockée dans le local storage pour la raison expliquée ci-dessus.

Changer la clé de cryptage

Vous pouvez changer la clé de cryptage à tout moment en cliquant sur le bouton "Changer la clé de cryptage" dans la barre de navigation.

Partager une session cryptée

Vous pouvez partager une session cryptée avec n'importe qui, sans risque de divulguer les données de la session.