Le système de fichiers Oramfs a été publié, cachant la nature de l'accès aux données

Kudelski Security, société spécialisée dans les audits de sécurité, a publié le système de fichiers Oramfs avec la mise en œuvre de la technologie ORAM (Oblivious Random Access Machine), qui masque le schéma d'accès aux données. Le projet propose un module FUSE pour Linux avec l'implémentation d'une couche système de fichiers qui ne permet pas de suivre la structure des opérations d'écriture et de lecture. Le code Oramfs est écrit en Rust et est sous licence GPLv3.

La technologie ORAM implique la création d'une autre couche en plus du cryptage, qui ne permet pas de déterminer la nature de l'activité en cours lorsque l'on travaille avec des données. Par exemple, si le cryptage est utilisé lors du stockage de données dans un service tiers, les propriétaires de ce service ne peuvent pas connaître les données eux-mêmes, mais peuvent déterminer à quels blocs ils accèdent et quelles opérations sont effectuées. ORAM masque les informations sur les parties du FS auxquelles on accède et le type d'opération effectuée (lecture ou écriture).

Oramfs fournit une couche de système de fichiers universelle qui vous permet de simplifier l'organisation du stockage des données sur n'importe quel stockage externe. Les données sont stockées cryptées avec une authentification facultative. Les algorithmes ChaCha8, AES-CTR et AES-GCM peuvent être utilisés pour le cryptage. Les modèles d'accès en écriture et en lecture sont masqués à l'aide du schéma Path ORAM. À l'avenir, d'autres systèmes devraient être mis en œuvre, mais dans sa forme actuelle, le développement en est encore au stade de prototype, ce qui n'est pas recommandé pour une utilisation dans les systèmes de production.

Oramfs peut être utilisé avec n'importe quel système de fichiers et ne dépend pas du type de stockage externe cible - il est possible de synchroniser des fichiers avec n'importe quel service pouvant être monté sous la forme d'un répertoire local (SSH, FTP, Google Drive, Amazon S3 , Dropbox, Google Cloud Storage, Mail.ru Cloud , Yandex.Disk et autres services pris en charge dans rclone ou pour lesquels il existe des modules FUSE à monter). La taille de stockage n'est pas fixe et si de l'espace supplémentaire est nécessaire, la taille de l'ORAM peut être augmentée dynamiquement.

Mettre en place Oramfs revient à définir deux répertoires – public et privé, qui font office de serveur et de client. Le répertoire public peut être n'importe quel répertoire du système de fichiers local connecté à des stockages externes en les montant via SSHFS, FTPFS, Rclone et tout autre module FUSE. Le répertoire privé est fourni par le module Oramfs FUSE et est conçu pour fonctionner directement avec les fichiers stockés dans ORAM. Le fichier image ORAM se trouve dans le répertoire public. Toute opération avec un répertoire privé affecte l'état de ce fichier image, mais ce fichier ressemble à un observateur externe comme une boîte noire, dont les modifications ne peuvent pas être associées à l'activité dans le répertoire privé, y compris si une opération d'écriture ou de lecture a été effectuée. .

Les Oramfs peuvent être utilisés dans des zones où le plus haut niveau de confidentialité est requis et où les performances peuvent être sacrifiées. Les performances diminuent car chaque opération de stockage, y compris les opérations de lecture de données, entraîne la reconstruction de blocs dans l'image du système de fichiers. Par exemple, la lecture d'un fichier de 10 Mo prend environ 1 seconde et celle de 25 Mo prend 3 secondes. L'écriture de 10 Mo prend 15 secondes et 25 Mo prend 50 secondes. Dans le même temps, Oramfs est environ 9 fois plus rapide en lecture et 2 fois plus rapide en écriture par rapport au système de fichiers UtahFS, développé par Cloudflare et prenant en charge en option le mode ORAM.

Source: opennet.ru

Ajouter un commentaire