Décentralisation et distribution des infrastructures de stockage au bénéfice de la sécurité

SHADLINE
SHADLINE
Aug 31, 2018 · 10 min read

La croissance exponentielle des données générées par les évolutions technologiques telles que le Big Data ou l’IoT mais aussi l’intensification des usages mobiles et des applications Web pose de réelles questions sur les capacités de stockage des informations générées. Dans le contexte actuel d’incertitude et de défiance, cette augmentation s’accompagne d’enjeux très forts relatifs à la sécurité des données et au respect de la vie privée. Comment stocker ou sauvegarder de tels volumes d’informations tout en garantissant leur protection ?

Des initiatives ont vu le jour depuis plusieurs années pour offrir des solutions de stockage distribué, décentralisé et sécurisé se positionnant en alternative aux systèmes traditionnels.

1. Description du stockage distribué

Afin d’illustrer le principe de ces infrastructures, nous avons choisi d’appuyer notre description sur la solution open-source Tahoe-LAFS (Tahoe Least-Authority File Store). Ce projet, initié en 2007, permet de mettre en œuvre un environnement de stockage distribué, décentralisé et sécurisé répondant à différents besoins : sauvegardes de documents, partages de fichiers, hébergement Web, etc.

1a. Structure globale d’une infrastructure Tahoe-LAFS

Une infrastructure Tahoe-LAFS se compose de 3 parties majeures :

  • Les serveurs de stockage, appelés nœuds. Ce sont ces nœuds qui conservent réellement les données. Ils en assurent la disponibilité. Chaque nœud dispose d’une passerelle qui sert d’intermédiaire avec les utilisateurs. Celle-ci dispose, d’une part, d’une partie « client » qui communique avec les nœuds pour y introduire les données et les récupérer. D’autre part, elle expose un service en mode « serveur » qui est en écoute des actions souhaitées par l’usager (envoi ou restitution des données).
  • Les serveurs de « topology », appelés Introducer, chargés de fournir aux clients la liste des serveurs de stockage pouvant être utilisés.
  • Les clients, constitués des programmes exécutés par les utilisateurs du service. Les clients transmettent à une passerelle les données à insérer dans l’infrastructure de stockage.

Pour illustration : http://tahoe-lafs.readthedocs.io/en/tahoe-lafs-1.12.1/_images/network-and-reliance-topology.svg

1b. Principe de fonctionnement de Tahoe-LAFS

Le processus d’insertion d’une information dans l’infrastructure de stockage respecte plusieurs étapes, garantes de sa sécurité.

Le fichier est tout d’abord chiffré (à l’aide d’une clé unique) puis divisée en plusieurs segments. Chaque segment est ensuite encodé en plusieurs blocs redondants de manière à assurer une capacité de reconstruction des segments à partir d’un sous-ensemble de blocs seulement (principe appelé « erasure code »).

Les blocs sont ensuite envoyés aux nœuds de stockage. La répartition entre les différents serveurs est gérée automatiquement par Tahoe-LAFS en fonction de la configuration de l’infrastructure. Le compromis se situe ici entre l’espace occupé et la capacité réelle de redondance.

La récupération des données suit le chemin inverse. Lorsqu’un usager souhaite accéder à ses informations, il demande à récupérer les blocs nécessaires depuis les nœuds de stockage puis décode ces blocs afin de récupérer les segments. La validité des segments est contrôlée et assurée grâce au mécanisme de contrôle intégré au codage. Ils sont ensuite réassemblés puis déchiffrés afin de restituer l’information à l’utilisateur.

Schématisation du principe de fonctionnement de Tahoe-LAFS

1c. Sécurisation des données

Le chiffrement de l’ensemble des fichiers est obligatoire dès leur introduction dans la zone de stockage ; ce qui contribue à assurer la confidentialité et l’intégrité des données. L’administrateur des nœuds de stockage est donc dans l’incapacité d’accéder aux informations.

Pris indépendamment, les fragments de fichiers ne permettent pas de récupérer les données. Ils sont totalement illisibles et incompréhensibles. La configuration de l’infrastructure de stockage ainsi que les clés de chiffrement sont en effet indispensables à la reconstitution complète des données.

Contrairement aux implémentations fréquentes des systèmes de stockage habituels (serveur d’un partage réseau par exemple), l’accès éventuel au contenu de nœuds de l’infrastructure ne permet aucunement d’obtenir les données stockées.

1d. Résilience des données

Comme indiqué précédemment, chaque bloc est transmis en plusieurs exemplaires aux nœuds de stockage, renforçant ainsi la disponibilité des données et la tolérance aux erreurs d’écriture sur disque côté serveur. Si de telles erreurs sont détectées, les blocs corrompus sont ignorés. La reconstruction des segments constituant les fichiers reste cependant possible grâce au mécanisme d’encodage utilisé ; un autre bloc similaire est récupéré pour remplacer celui défaillant. Le nombre de blocs constituant le sous-ensemble minimal requis pour reconstituer un segment est défini dans le paramétrage de Tahoe-LAFS.

Au-delà des blocs eux-mêmes, cette duplication des données sur différents serveurs joue une part prépondérante dans la disponibilité des informations. Même en cas de perte d’une partie de l’infrastructure (nœuds inexploitables), les fichiers seront toujours disponibles. Cette capacité de résilience dépend à nouveau de la configuration de l’infrastructure de stockage distribué.

La 2nde partie de cet article, publiée prochainement, abordera la comparaison entre ce type de stockage distribué et les systèmes traditionnels. Nous préciserons également en quoi distribution et décentralisation contribuent à la maîtrise de la sécurité des données.

2. Comparaison entre stockage distribué et systèmes traditionnels

Ces plateformes distribuées et décentralisées se posent en alternative aux systèmes habituels de stockage des données. Il est donc intéressant de confronter cette technologie avec des solutions standards mises en œuvre dans des cas d’usage certes différents :

  • Partage / sauvegarde / archivage de documents ;
  • Bases de données.

2a. Protection des informations

Le premier point de comparaison tient à la confidentialité et l’intégrité des données. Une infrastructure distribuée et sécurisée comparable à celle présentée précédemment impose le chiffrement des fichiers dès leur insertion, contrairement aux modes d’usage les plus fréquents des autres approches.

Qu’il s’agisse de partages réseaux sur des systèmes « à plat » ou de bases de données, les informations sont dans la quasi-totalité des cas transmises en clair. De plus, si chiffrement il y a, celui-ci est généralement intrinsèque au service utilisé et souvent partiel (limité à certains dossiers réseau ou certaines tables d’une base par exemple). Les données ne sont donc pas toujours protégées de façon exhaustive. Ceci dépend pleinement de la configuration du service sur lequel l’utilisateur n’a aucun regard.

L’efficacité de ce chiffrement peut de surcroît être remise en question. En effet, il n’est pas rare qu’un administrateur système dispose également des droits de gestion du service, lui octroyant ainsi la capacité à déchiffrer les données. De plus, les scénarios d’usurpation de droits visant à obtenir les clés de chiffrement gérées par un service système, à partir des droits d’administration de l’OS, sont réels.

Le chiffrement peut aussi être délégué au système d’exploitation, via la création d’une partition ou d’un coffre-fort logiciel chiffré. Le contenu est alors déporté dans cet espace protégé. La portée de ce procédé est toutefois à relativiser car il ne protège les données que lorsque le serveur est arrêté ; donc face aux risques de vol d’un équipement ou en cas de mise au rebus d’un disque par exemple. Lorsque le système est actif (ce qui est l’état courant) la partition est nécessairement déchiffrée afin de permettre l’accès aux données. Les informations sont donc présentes en clair et ne sont aucunement protégées face à des attaques portant sur le service de partage de fichiers, la base de données ou sur le système d’exploitation.

A l’opposé, l’accès éventuel au système sous-jacent des nœuds d’une infrastructure telle que Tahoe ne permet aucunement d’obtenir les données stockées. L’administrateur des nœuds de stockage ne peut pas accéder aux données.

En outre, il est intéressant d’évoquer les mécanismes de synchronisation, mis en jeu par les solutions de backup ou les bases de données, qui se trouvent parfois à l’origine de la présence de données en clair. Certaines technologies utilisent en effet des fichiers temporaires pour répliquer les données entre les différentes instances. Ceux-ci contiennent fréquemment les informations sous forme non chiffrées. Au contraire, le chiffrement à l’insertion et les mécanismes de redondance des blocs étant intrinsèques aux solutions décentralisées, aucun processus de réplication n’est nécessaire. Les données sont sécurisées en temps réel sur l’ensemble des composants qui constituent le cluster de stockage.

2b. Disponibilité des données

Le deuxième axe important tient à la résilience des données. Selon l’implémentation choisie, chaque approche peut se prévaloir d’exploiter des hébergements distincts et distants géographiquement. La distribution des nœuds de stockage et la diversité des supports utilisables constituent cependant une force majeure en comparaison des autres systèmes.

Dans une optique de décentralisation maximale, chaque membre de la communauté d’utilisation de l’infrastructure de stockage peut fournir ses propres ressources (serveurs, NAS, etc.). Cette approche offre par exemple la possibilité d’exploiter l’espace disque laissé libre sur les postes de travail des utilisateurs. Plus on a de terminaux disponibles, plus on a de place et plus on renforce la résilience. Ceci contribue aussi à optimiser l’usage des disques durs.

Elle facilite en outre l’extension du volume de stockage. L’ajout de nouvelles ressources se fait plus simplement. Il est inutile de configurer des mécanismes de synchronisation ou load-balancing complexes, la déclaration de nouveaux nœuds s’opère rapidement.

La technologie à l’origine des solutions distribuées et décentralisées leur confère donc un avantage certain.

2c. « Escrowing » des données

Le mode de fonctionnement usuel des systèmes de partages de fichiers expose fortement ces derniers au risque de cryptolocking des données. En effet, en cas d’infection d’un poste de travail par un ransomware, celui-ci verrouillera tout ou partie des fichiers sur le terminal. Ce blocage se propagera alors automatiquement au travers des systèmes ordinaires d’archivage, rendant les backups inexploitables.

L’utilisation de protocoles de communication tel que SMB (Server Message Block) sur des plateformes Windows permet aussi au malware d’infecter automatiquement à distance les données présentes sur des partages réseau, prenant en otage les informations souvent sensibles des entreprises et des particuliers.

Les systèmes décentralisés et distribués offrent le plus fréquemment d’autres protocoles d’interaction (HTTPS par exemple) qui les rend insensibles à ce risque.

Un autre point notable qui oppose les systèmes décentralisés avec les approches habituelles se situe au niveau de la maîtrise des ressources. Alors que dans une approche standard un seul fournisseur détient la propriété de l’infrastructure (et donc la possibilité de l’interrompre à tout moment), une infrastructure décentralisée peut subsister même en cas de perte d’une partie des nœuds (à partir d’un ratio de serveurs dépendant de la configuration de la plateforme). Le risque de voir l’infrastructure disparaitre est nettement atténué. Cette répartition contribue aussi à réduire le risque de déni de services à l’encontre des nœuds de stockage.

2d. Complexité d’implémentation

Le principal point faible des solutions de stockage distribué tient probablement à la difficulté de mise en œuvre. Ces technologies nécessitent un fort investissement afin de s’approprier les concepts techniques de manière à implémenter et gérer correctement une telle plateforme.

Celles-ci reposent encore majoritairement sur des projets open-source qui, bien qu’étant ouvert à chacun, bénéficie de peu de support. L’implication des communautés n’est cependant pas en cause…

A l’inverse les technologies usuelles de stockage (partages réseau, sauvegardes ou base de données) sont plus aisées à mettre en œuvre. L’installation d’un environnement opérationnel peut se faire en quelques heures.

2e. Synthèse

Le tableau suivant synthétise cette comparaison :

3. Comment concilier distribution et décentralisation avec maîtrise de la sécurité des données ?

L’approche mise en avant par Tahoe-LAFS est celle du « provider-independent security ». Cela signifie que l’intégrité et la confidentialité sont garanties par les mécanismes cryptographiques déployés lors de l’insertion des données dans le cluster de stockage. Cela empêche l’hébergeur ou l’administrateur des nœuds de stockage d’accéder aux données.

Comme le présente le premier schéma de cet article, la passerelle qui sert d’introduction vers les nœuds du cluster de stockage tient cependant un rôle important dans cette sécurisation. Le contrôle de cette ressource peut en effet permettre l’accès aux données.

Pour y remédier, une première éventualité pourrait être que chaque utilisateur dispose de sa propre passerelle. Le composant en charge de l’insertion des données dans la plateforme de stockage serait alors maîtrisé par l’usager. Les utilisateurs finaux seraient donc les seuls à disposer de leurs clés de chiffrement, renforçant de fait la maîtrise des données. Ce mode présente néanmoins de fortes contraintes techniques liées à la complexité de mise en œuvre et d’exploitation de la passerelle. De plus, la simplicité d’usage s’en trouverait fortement pénalisée. Le logiciel « client » se devrait dès lors d’intégrer cette composante « passerelle », empêchant de fait la seule utilisation d’un navigateur Web classique.

Une autre approche consisterait à privilégier le mode SaaS en s’appuyant sur une passerelle exploitée par un tiers. Un simple navigateur Web permettrait ainsi aux utilisateurs de transmettre leurs données à la passerelle qui serait hébergée sur un serveur distant. L’évaluation du respect des bonnes pratiques de sécurité en matière d’infogérance par le prestataire est dès lors essentielle de façon à obtenir les garanties nécessaires relatives à protection de cet élément sensible. Le choix d’un partenaire de confiance expert, expliquant librement les mesures techniques et organisationnelles déployées, serait un gage important. Bien évidemment les certifications dont disposerait la solution constitueraient également un argument supplémentaire (la qualification SecNumCloud de l’ANSSI est une piste intéressante [1]).

Afin de renforcer davantage la maîtrise des données, il est possible d’opter pour une solution permettant en complément de déporter les clés de chiffrement chez l’utilisateur ; que ce dernier pourra par exemple stocker dans un HSM (Hardware Security Module). Le bénéfice global est alors optimal : le prestataire assure la gestion du service tout en étant dans l’incapacité d’accéder aux données.

4. Conclusion

Ce type d’approche innovante est utilisée par des services qui se positionnent en rupture technologique et d’usage, à l’image de Shadline [2]. L’ajout régulier de nouvelles fonctionnalités au sein de Tahoe permet par exemple d’envisager un renforcement de l’anonymisation des accès utilisateurs via le déploiement de points d’entrée Tor ou I2P.

Enfin, comment échapper à la hype blockchain lorsqu’on évoque le stockage distribué et décentralisé. Voilà qui est réparé. Bien qu’elle partage certaines similitudes techniques, son objectif est malgré tout différent des infrastructures évoquées dans cet article. Elle peut néanmoins compléter ce type de service afin d’offrir une capacité de traçabilité ouverte à tous.

    SHADLINE

    Written by

    SHADLINE

    Shadline’s solutions enable any company to keep its key data and communication capabilities under control and remain operative while facing a major cyberattack.

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade