Informations consérvées sur les serveurs Seald

Informations relatives aux utilisateurs

Pour chaque utilisateur Seald, les informations suivantes sont stockées:

  • userID: Un identifiant unique (au format UUID) généré aléatoirement par le serveur à la création du compte ;
  • displayName: il s'agit du nom affiché dans la liste des contacts ;
  • liste d'emails (appelés Connecteurs): Adresses emails par lesquels l'utilisateur peut-être recherché. Une de ces adresses est dite "primaire", c'est celle qui est utilisée pour envoyer des emails transactionnels (comme des alertes de sécurité) ;
  • trousseau de publicKey (ou device): il s'agit de la liste des clés de l'utilisateur (une par appareil) ayant chacune un identifiant unique le keyID, mutuellement signées dans une chaîne de signatures ;
  • events: différents évènements liés au compte (création, ajout d'un connecteur, ajout d'un appareil, etc.) sont logués.

Sur demande auprès des équipes Seald, les informations relatives à un utilisateur peuvent être consultées, corrigées ou supprimées conformément au RGPD.

Lorsque le profil d'un utilisateur est récupéré via une recherche auprès du serveur, les informations suivantes sont toujours rendues:

  • trousseau de clés publiques avec la chaîne de signature ;
  • nom public.

Optionnellement si la recherche a été faite par Connecteur, les informations liées au connecteur sont rendues.

Connecteurs

Les connecteurs représentenent les attributs par lesquels un utilisateur peut être recherché. Un même connecteur ne peut-être détenu que pas un seul utilisateur. Ils peuvent être dans plusieurs états:

  • non validé: cela signifie que l'étape de validation nécessaire pour authentifier que le connecteur est détenu par l'utilisateur n'a pas encore été faite. Dans ce cas, le connecteur n'est pas cherchable ;
  • validé: cela signifie que le connecteur est actif, et que par recherche exacte tous les utilisateurs de Seald peuvent récupérer le profil d'un utilisateur ;
  • révoqué: cela signifie que le connecteur a été invalidé par le détenteur du connecteur. Dans ce cas le connecteur n'est pas cherchable ;

Il y a aujourd'hui un seul type de connecteur:

  • email: il s'agit d'une adresse email exacte, comme alice@seald.io, un challenge est alors envoyé à cet email qui doit être rendu signé par l'utilisateur pour authentifier l'email.

D'autres sont à prévoir (numéro de téléphone, ...) et des connecteurs spécifique à une entreprise peuvent être déployés.

Les dates de création et de dernière modification sont conservées.

Informations relatives aux messages et documents chiffrés

Pour chaque document chiffré avec Seald le serveur stockes les informations suivantes:

  • messageID: l'identifiant unique du document généré par le serveur Seald à la création;

  • ownerID: le userID de l'utilisateur ayant chiffré le document ;

  • liste de EncryptedMessageKeys: il s'agit des clés de message chiffrées pour d'autres utilisateurs, dans le cadre du mode de chiffrement de bout-en-bout. Chacune contient:

    • createdBy: le userID de l'utilisateur et le keyID de la paire de clés ayant produit cette clé de message;
    • createdFor: le userID de l'utilisateur et le keyID de la paire de clés pour qui cette clé de message a été produite;
    • key: la MessageKey chiffrée pour la clé publique du destinataire.

    Il y a donc une EncryptedMessageKey par appareil de chaque utilisateur destinataire du message ;

  • liste de EntrustedMessageKeys: il s'agit des clés de message à destination de personnes n'ayant pas Seald, dans le cadre du mode chiffrement authentifié. Chacune contient:

    • createdBy: le userID de l'utilisateur et le keyID de la paire de clés ayant produit cette clé de message ;
    • createdFor: un ou plusieurs identifiants (comme une adresse email) de la personne autorisée qui devront être vérifiés et le keyID de la paire de clés pour qui cette clé de message a été produite ;
    • key: la MessageKey chiffrée en base de donnée.

    Il y a donc une EntrustedMessageKey par destinataire n'ayant pas Seald ;

  • events: différents évènements liés au message (création, ajout d'une EncryptedMessageKey, ajout d'une EntrustedMessageKey, etc.) sont logués ;

  • metadata: Champ libre, contenant par défaut, dans le cas d'un chiffrement de fichier, le nom du fichier à protéger.

Il est à noter que le contenu des documents à protéger ne transitent jamais par Seald, ni même de façon chiffrée.

Journalisation des évènements

Différents types d'évènements sont journalisés, ils peuvent donner lieu à des alertes, et contiennent tous les informations associées suivantes:

  • date: timestamp du moment où l'évènement a été enregistré ;
  • adresse IP: l'adresse d'origine de l'évènement. Une position est extrapolée en utilisant une base de données de type GeoIP.

On peut distinguer les évènements liés à:

  • un message qui seront identifiés par messageID ;
  • un utilisateur qui seront identifiés par userID ;
  • une personne n'ayant pas Seald qui seront identifiés par leur identifiant (généralement email).

Évènements liés à un message

Pour les évènement liés à un message, les informations suivantes sont toujours incluses:

  • messageID ;
  • userID du propriétaire du message.

Les évènements liés à un message sont les suivants:

  • création d'un document protégé ;
  • transfert d'un document: dans ce cas on logue le userID ou l'identifiant du destinataire ajouté selon le mode de chiffrement ;
  • révocation d'un destinataire: dans ce cas on logue le userID ou l'identifiant du destinataire révoqué selon le mode de chiffrement ;
  • accès légitime à la clé de déchiffrement du message: dans ce cas on logue le userID ou l'identifiant du destinataire accédant à la clé ;
  • tentative échouée d'accès à la clé de déchiffrement, si révoqué: dans ce cas on logue le userID ou l'identifiant du destinataire révoqué tentant d'accéder à la clé ;
  • tentative échouée d'accès à la clé de déchiffrement, si non destinataire: dans ce cas on logue le userID ou l'identifiant du destinataire non autorisé tentant d'accéder à la clé.

Évènements liés à un utilisateur

Pour les évènement liés à un utilisateur, les informations suivantes sont toujours incluses:

  • userID de l'utilisateur ;
  • keyID ayant servi à l'authentification ;

Les évènements liés à un message sont les suivants:

  • création du compte ;
  • ajout d'un connecteur: dans ce cas on logue le connecteur lui-même ;
  • révocation d'un connecteur: dans ce cas on logue le connecteur lui-même ;
  • authentification sur le client Seald ;
  • ajout d'une clé: dans ce cas on logue le keyID de la nouvelle clé ;
  • révocation d'une clé: dans ce cas on logue le keyID de la clé révoquée.

Évènements liés à une personne n'ayant pas Seald

Pour les évènement liés à une personne n'ayant pas Seald, les informations suivantes sont toujours incluses:

  • identifiant de la personne;

Les évènements liés à un message sont les suivants:

  • envoi du challenge (uniquement pour le premier message à authentifier) ;
  • authentification: dans le cas où cette authentification intervient pour l'ouverture d'un messageID précis, il est transmis avec ;
  • tentative échouée de d'authentification.