Privacy FS est le nom d'un système de fichier développé principalement pour les systèmes UNIX.

Partant du constat que de nos jours, la sécurité et la protection de la vie privée sont des préoccupations majeures pour les utilisateurs d'outils informatiques,
il est nécessaire de proposer une solution efficace et simple (d'utilisation) pour répondre à ces deux problématiques.C'est ainsi que PFS est né.


PFS propose un système de fichier qui permettra de stocker des fichiers, plus particulièrement des vidéos, et de les crypter.
L'avantage de ce système de fichier est qu'il permettra de ne rendre accessible les informations contenues sur le volume qu'à la seule personne détenant la clef de cryptage.
De plus, l'ajout/suppression de fichiers sera complétement transparent et simple pour l'utilisateur car elle se fera via son système d'exploitation (comme tout autre type de système de fichier).

Un des avantages majeurs de cette solution est donc son utilisation est extremement simple et rapide contrairement à d'autres moyens de protection (stockage sur CD-ROM, cryptage direct d'archives).
On évite en effet à l'utilisateur d'avoir à rechercher sur quel(s) CD(s) il a stocké les informations qu'il recherche tout comme à avoir à utiliser un logiciel externe pour crypter ses données.

Aussi, la sécurité de celles-ci est renforcée car les données ne seront en aucun cas accessibles ou stockées "en clair"(les fichiers ouverts seront dans le buffer du système) et
un simple appui sur le bouton "reset" permettra de rendre inacessible un disque éventuellement monté s'il est urgent de cacher les données.

Dans un premier temps, ce système de fichier devra pouvoir fonctionner avec le noyau linux 2.6.9 (noyau utilisé par la YAKA).

Présentation détaillée du projet


L'objectif visé n'est pas de construire une arborescence de fichier mais uniquement de les protéger. Ainsi à l'instar des systèmes de fichiers présent sur les CD/DVD-ROMs audios, les fichiers seront stockés de façon linéaire. On comprends donc qu'il sera inutile de mettre en place l'utilisation de dossiers dans ce système de fichiers.

Voici les opérations élémentaires qui seront implémentées dans PFS:
  • Ajouter un fichier au système de fichiers;
  • Supprimer un fichier au système de fichiers;
  • Lister les fichiers présents sur le système de fichiers;
  • Lire un fichier présent sur le système de fichiers;
  • Modifier un fichier présent sur le système de fichiers;
  • Créer une partition utilisant PFS;
  • (Dé)Monter une partition utilisant PFS.
Toutes les informations présentes sur le système de fichier étant cryptées, il sera nécessaire de spécifier la clef de cryptage afin d'y accéder. Cette clef sera fournie lors du montage d'une partition PFS.

Les opérations de cryptage/décryptage seront ensuite complétement transparente pour l'utilisateur bien qu'elles impliqueront un certain temps informatique.

Afin de pouvoir utiliser Privacy FS nous fournirons un utilitaire (nommé pfs) qui permettra:
  • De lister les fichiers présents sur un volume,
  • D'ajouter un fichier à un volume,
  • De supprimer un fichier d'un volume.

Aussi nous implémenterons directement au niveau système:
  • La méthode lookup de recherche d'un fichier dans PFS;
  • La méthode open d'ouverture d'un fichier dans PFS;
  • La méthode read de lecture d'un fichier dans PFS;
  • et &ventuellement la méthode llseek de déplacement dans un fichier ouvert de PFS.


Nous fournirons aussi deux éxecutables umount.pfs et mount.pfs qui permettront respectivement de démonter et monter une partition Privacy FS.

Manuels utilisateur


NAME
pfs - Utilitaire d'utilisation du système de fichier Privacy FS

SYNOPSIS
pfs KEY [-l volume] [-a file volume] [-d fileId volume] [-c volume]

OPTIONS

Sans aucune option d'indiquée, l'aide est affichée
On devra TOUJOURS spécifier la clef.

-c, --create=VOLUME
Met en place le système de fichier pfs sur le volume 'VOLUME'

-a, --add=FILE VOLUME
Ajoute le fichier 'FILE' sur le volume 'VOLUME'

-l, --list=VOLUME
Liste les fichiers présents sur le volume 'VOLUME'

-d, --delete=FILE VOLUME
Supprime le fichier 'FILE' du volume 'VOLUME'

-h, --help
Affiche l'aide à l'utilisation

AUTEURS
Écrit par ANTOINE Jonathan.


NAME
mount.pfs - Utilitaire permettant de monter le système de fichier Privacy FS

SYNOPSIS
mount.pfs KEY VOLUME MOUNT_DIR

OPTIONS

Sans aucune option d'indiquée, l'aide est affichée

KEY
Permet d'indiquer la clef de cryptage utilisé par la partitition PFS

VOLUME
Chemin vers le volume à monter

MOUNT_DIR
Emplacement ou monter la partition

-h, --help
Affiche l'aide à l'utilisation

AUTEURS
Écrit par ANTOINE Jonathan.


NAME
umount.pfs - Utilitaire permettant de démonter le système de fichier Privacy FS

SYNOPSIS
umount.pfs MOUNT_DIR

OPTIONS

Sans aucune option d'indiquée, l'aide est affichée

MOUNT_DIR
Emplacement de la partition à démonter

-h, --help
Affiche l'aide à l'utilisation

AUTEURS
Écrit par ANTOINE Jonathan.



Procédure de recette

Afin de valider le système de fichiers, nous devront effectuer de nombreux tests.Il faudra notamment tester chacune des fonctionnalités de base.
Nous pourrons par exemple, implementer notre système de fichiers dans un fichier créé à cet usage avec la commande:
antoine@pc:~# dd if=/dev/zero -bs=2M count=4GB of=testeur


Pour ce faire, on vérifiera notamment:
Les tests suivants seront donc effectués:
Voici un listing de commandes qui permettront de tester les programmes:
antoine@pc:~# dd if=/dev/zero -bs=2M count=4GB of=testeur
antoine@pc:~# pfs 12345678 -c testeur
antoine@pc:~# pfs 12345678 -a video1.avi testeur
antoine@pc:~# pfs 12345678 -a video2.avi testeur
antoine@pc:~# pfs 12345678 -a video3.avi testeur
antoine@pc:~# pfs 12345678 -l testeur
antoine@pc:~# pfs 12345678 -d video3.avi testeur
antoine@pc:~# pfs 12345678 -l testeur
antoine@pc:~# mkdir filmographie
antoine@pc:~# mount.pfs 12345678 testeur filmographie
antoine@pc:~# mplayer filmographie/video1.avi
... Regarder le film ...
antoine@pc:~# umount filmographie
antoine@pc:~# mount.pfs tralalapouetpouet testeur filmographie


Nous devrons aussi tester la lecture d'un fichier vidéo présent sur un volume utilisant Privacy FS (avec MPlayer par exemple).



Projet d'ISE d'ANTOINE Jonathan - Rapport préliminaire, disponible sur http://ise.lexique-du-net.com