[Abstract] [Copyright Notice]

Étude sur l'évolution des systèmes de fichiers - Chapitre 2
Problème de la confidentialité des données


Le système de fichiers actuellement utilisé sous Linux (ext2) ne permet pas de garantir la confidentialité des informations des informations stockées sur le média. En effet, si le système permet de se protéger contre un accès non autorisé des fichiers par ses règles internes, il subsiste la possibilité d'accéder directement au système de fichiers, en plaçant le média sur une autre machine, ou en utilisant d'éventuelles failles de sécurités comme celle découverte (et corrigée) dans le loader de Linux lilo récemment. Ce chapitre présente quelques implémentations de systèmes de fichiers permettant de se prémunir contre ce genre de problème.


2.1 Cryptographie

La méthode la plus simple de se protéger contre le vol d'un disque dur, ou de l'exploitation directe des informations présentes sur le média reste la cryptographie. Plusieurs systèmes de fichiers ont été conçus dans cette optique. En général, ce sont des systèmes qui se basent sur le système standard actuel (ext2), et qui y ajoutent une couche supplémentaire d'abstraction. Ainsi, les informations contenues dans un fichier de données seront cryptées par le système avant d'être traduites sous forme de blocs de données, et écrites sur le média.

La méthode la moins contraignante pour l'administrateur du système consiste à utiliser des logiciels qui se chargent de crypter les fichiers automatiquement. On trouve par exemple le logiciel gpg (http://www.gnupg.org) qui permet de faire ce genre de manipulations. Le problème de cette approche vient du fait que les fichiers ne sont pas directement exploitables par les personnes possédant la clef de décodage, mais nécessitent une étape de décryptage du fichier, la forme décodée étant généralement directement écrite sur le disque dur, comme un fichier ne contenant pas d'informations sensibles !

Une autre méthode est de déléguer le cryptage des données au niveau des logiciels utilisés. Mais là encore, de grosses lacunes apparaissent. En effet, pour permettre une utilisation efficace des fichiers, il faut que le cryptage des données présent dans les différents logiciels soit le même afin de permettre les échanges. Sinon, un seul programme mal conçu risquerait de compromettre l'ensemble des données du système. De plus, les programmes n'offrent en général pas de possibilité de crypter les fichiers, c'est donc une fonctionnalité à leur ajouter.


2.2 Loopback crypto


2.2.1 Présentation

Linux possède une fonctionnalité native qui permet de créer des volumes cryptés. Cette fonctionnalité n'est pas intégrée dans le noyau par défaut, en raison des lois d'export sur le matériel cryptographique des États Unis. Il est donc nécessaire de prendre les patches correspondants aux fonctionnalités cryptographiques du noyau sur le site http://www.kerneli.org qui est le site officiel de ces extensions.

Les algorithmes de cryptage utilisés par le noyau sont nombreux, mais on trouve notamment Blowfish, DES, IDEA, MARS, RC6 ou Serpent. La technique utilisée correspond à créer un fichier volume qui contiendra le système de fichiers crypté. Ainsi, chaque utilisateur pourra avoir son fichier volume dans lequel il pourra placer ses informations sensibles.


2.2.2 Description

Les extensions ajoutées dans le noyau permettent la création d'images cryptées. À l'aide des options adéquates, on a un gros fichier qui peut alors être monté dans un répertoire en fournissant les mots de passes adéquats. Quand il est monté dans un répertoire, son utilisation est alors totalement transparente. En effet, tous les fichiers manipulés dans le répertoire de montage seront chiffrés et déchiffrés à la volée.

L'intérêt de cette technique est que le système de fichiers chiffré se présente comme un fichier standard et peut donc être sauvegardé sans avoir à le déchiffrer. De plus, ce fichier contenant le système de fichiers chiffré est physiquement présent sur un autre système de fichiers.


2.3 Stéganographie

La Stéganographie est une technologie qui permet de cacher des informations. Cette technique permet, par exemple, de cacher des messages textes dans des images. Une personne n'ayant pas la clé permettant d'extraire le message ne verra qu'une image ordinaire, alors que les personnes concernées sauront comment en extraire le message.

Dans le cas des systèmes de fichiers, le fait de ne pas pouvoir prouver l'existence d'informations confidentielles sur une machine peut être une mesure de sécurité intéressante. En effet, la présence de données cryptées peut être utilisée pour forcer la demande des clés y permettant l'accès. Mais si on ne peut pas trouver de données cryptées, on ne peut pas savoir si la machine contient des informations sensibles ou non.

Une étude de référence sur les systèmes de fichiers stéganographiques a été conduite par Ross Anderson de l'université de Cambridge, Roger Needham des laboratoires Microsoft Research Ltd, et de Adi Shamir de l'institut Weizmann. Cette étude est disponible au format PostScript à http://www.cl.cam.ac.uk/ftp/users/rja14/sfs3.ps.gz. Les systèmes de fichiers stéganographiques rencontrés actuellement s'inspirent en général de cette étude.

On y trouve notamment la description d'une protection des données à plusieurs niveaux. En effet, toutes les informations sensibles d'un système de fichiers n'ont pas la même valeur. Par exemple, la copie de sa déclaration d'impôts peut être considérée comme sensible, mais un secret professionnel peut être considéré comme plus sensible encore. Afin d'avoir un système proche de cette vue, les données sont protégées par niveau de protection. Ainsi, une personne pourra donner la clé de ses informations sensibles en ne dévoilant que la clé correspondant à sa déclaration d'impôts, mais en passant sous silence ses secrets professionnels. Cette approche se base sur une attaque des informations confidentielles en forçant le possesseur des informations à donner les clés d'accès. Bien entendu, d'autres attaques sont possibles, mais plus délicates. L'étude donne également des informations numériques sur la protection des données ainsi cachées. Le principal inconvénient de cette technique, est que l'utilisation des parties non protégées du système de fichiers peut accidentellement corrompre ou détruire une partie des données cachées. Une description plus détaillée est donnée dans la partie des exemples de systèmes de fichiers.


[Abstract] [Copyright Notice]

Étude sur l'évolution des systèmes de fichiers
$Revision: 1.24 $ du $Date: 2000/07/04 12:17:41 $
Yves Rougy yves.rougy@alcove.fr