Architecture de l’application

Parsec vous permet de partager facilement et en toute sécurité vos données dans le cloud, en toute confidentialité, grâce à un chiffrement de bout en bout côté client et à une sécurité de type « zéro-trust ».

Aperçu

Un seul serveur Parsec gérant les accès et les données pour plusieurs organisations

Un seul serveur Parsec gérant les accès et les données pour plusieurs organisations

Principaux composants de Parsec

Les principaux composants logiciels suivants sont impliqués dans Parsec :

💻 Application cliente Parsec (application de bureau, application web)

Chargée du chiffrement et de la signature des données, ainsi que de toutes les fonctions de sécurité liées aux données utilisateur à protéger. Les données utilisateur sont entièrement chiffrées côté client.

⚙️ Parsec Server

Chargé de la couche de contrôle d’accès ainsi que de la gestion du stockage des données et métadonnées chiffrées. Le serveur Parsec peut être hébergé en interne, ce qui offre aux administrateurs informatiques un contrôle total sur la sécurité, les intégrations et la personnalisation.

⛁ PostgreSQL DB

Chargé de stocker des métadonnées chiffrées.

⛁ Stockage d’objets (tel qu’OpenStack Swift ou Amazon S3)

Chargé de stocker des blocs de données chiffrés.

Principaux concepts de Parsec

👤 Utilisateur

La personne qui accède à une organisation.

💻 Poste de travail

Le support physique permettant d’accéder à l’organisation (tel qu’un ordinateur de bureau, un ordinateur portable ou un téléphone mobile)

🔐 Appareil

Le support logique permettant d’accéder à l’organisation.

Un appareil est un fichier chiffré stocké localement (dans le système de fichiers ou dans la mémoire du navigateur Web) contenant les clés qui permettent à l’utilisateur d’accéder à l’organisation et de signer ses modifications.

L’utilisateur dispose d’un appareil pour chaque poste de travail, mais peut également avoir plusieurs appareils pour un même poste de travail (c’est le cas si l’utilisateur accède à l’organisation à la fois depuis l’application de bureau et depuis l’application Web).

📁 Espace de travail

Le périmètre de confiance pour le partage des données.

Les données ajoutées à un espace de travail ne sont partagées et accessibles qu’aux utilisateurs de cet espace.

Les droits d’accès des utilisateurs à un espace de travail sont gérés par le propriétaire de l’espace de travail ou par les responsables désignés.

Voir Espaces de travail Parsec.

👥 Organization

Le périmètre de confiance pour la gestion des utilisateurs.

On peut le considérer comme un répertoire des utilisateurs de confiance qui ont été invités et auxquels l’accès à l’organisation a été accordé.

En fonction de leur profil, les utilisateurs peuvent consulter la liste de tous les utilisateurs de l’organisation.

En revanche, seuls les utilisateurs ayant accès à un espace de travail ont connaissance de son existence (même les administrateurs ne peuvent pas savoir qu’il existe si l’espace de travail ne leur a pas été partagé)

Les utilisateurs et les espaces de travail appartiennent toujours à une seule organisation.

Architecture de l’application graphique cliente

Introduction

La GUI cliente est disponible soit sous la forme d’une application web (accessible depuis un navigateur), soit sous la forme d’une application de bureau. Les deux versions sont très similaires en termes d’architecture et de fonctionnalités, avec quelques différences destinées à prendre en compte les caractéristiques et les capacités propres à chaque plateforme.

Les deux principaux composants sont les suivants :

  • libparsec : la bibliothèque cliente de Parsec, responsable de la logique métier (chiffrement, signature, échange de données, etc.). Bien que la logique principale soit identique sur toutes les plateformes, certaines parties du code sont spécifiques à la plateforme (par exemple pour accéder au système de fichiers) et la bibliothèque est compilée différemment selon la plateforme cible.

  • l’interface : le composant chargé d’afficher les informations et de gérer les interactions avec l’utilisateur. Elle reste largement identique sur toutes les plateformes et s’exécute toujours dans un environnement navigateur, qu’il s’agisse du navigateur de l’utilisateur ou de celui intégré à Electron, avec seulement quelques adaptations spécifiques à chaque plateforme.

Application de bureau

Architecture de l'interface graphique du client de bureau

Sur les plateformes de bureau, libparsec est compilée sous la forme d’un module Node.js. Les espaces de travail peuvent être exposés au système d’exploitation au moyen de points de montage. Les appareils et le cache de l’application peuvent être stockés directement dans le système de fichiers.

Application web

Architecture de l'interface graphique du client web

Pour l’application web, libparsec est compilée en WebAssembly. Les points de montage n’étant pas disponibles, les fichiers ne peuvent être accessibles qu’à travers l’interface graphique. Les appareils et le cache de l’application sont stockés dans l’espace de stockage du navigateur.

Modèle de sécurité

Parsec est conçu pour garantir la sécurité des données à tout prix, quel que soit l’administrateur du serveur Parsec, de la base de données PostgreSQL ou du stockage d’objets.

En ce sens, aucune confiance n’est accordée au serveur Parsec afin d’atteindre un niveau de confidentialité « zéro trust ». Seuls les utilisateurs disposent des clés permettant de déchiffrer les données stockées dans Parsec. Pour plus de détails, consultez Modèle « zéro trust » de Parsec.

Périmètre de sécurité des données

Du point de vue de la sécurité des données, on distingue trois zones :

🔐 Zone de confiance : Poste de travail de l’utilisateur

La zone de confiance se limite au poste de travail de l’utilisateur sur lequel l’application client Parsec est installée.

Au sein d’une organisation, les postes de travail doivent respecter les réglementations en vigueur, notamment en matière de mise à jour des correctifs de sécurité du système d’exploitation et de conformité à la politique de sécurité de l’organisation (par exemple, PSSI).

✋ Zone de moindre sécurité : Parsec Server

Parsec Server est hébergé soit dans le cloud, soit sur site, et est donc considéré comme un environnement moins sécurisé.

Il est donc accessible depuis n’importe quel poste de travail connecté à Internet.

Parsec Server n’a pas connaissance des données échangées, mais sait quel utilisateur y accède et peut donc limiter l’accès en écriture aux utilisateurs disposant des autorisations nécessaires.

✋ Zone de moindre sécurité : Stockage d’objets

Les blocs chiffrés contenant les données utilisateur à protéger sont stockés dans le cloud, et donc également dans une zone moins sécurisée.

Les applications clientes accèdent aux données via Parsec Server, qui applique une couche de contrôle d’accès.

Chiffrement côté client

Parsec sécurise vos données avant leur stockage dans le cloud (ou sur site) via le stockage objet.

Cela se fait en trois étapes :

  1. Diviser chaque fichier en blocs avant de le chiffrer ;

  2. Chiffrer chaque bloc à l’aide de la clé partagée par les utilisateurs ayant accès à la donnée ;

  3. Chiffrer les métadonnées (telles que la structure des répertoires et les informations de partage) à l’aide de la clé partagée par les utilisateurs ayant accès à la donnée ;