-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2014-2015/ALSOC/Système de fichiers chiffré et contrôleur de disque multi-canal Print page

Titre : Système de fichiers chiffré et contrôleur de disque multi-canal

Durée :

6 mois

Financement :

Projet ANR Tsunamy

Équipe d'accueil :

Laboratoire LIP6, Département SoC, équipe Alsoc

Contexte

Le projet ANR TSUNAMY adresse la problématique de la manipulation sécurisée des données personnelles et privées au sein d'architectures manycore. Il vise entre autres à proposer une solution de confiance par construction permettant d'exécuter plusieurs piles logicielles indépendantes en parallèle -- en en garantissant le cloisonnement mutuel -- sur une architecture manycore CC Numa. Pour cela, plusieurs contributions sont proposées dans le cadre de ce projet :

  •   Le développement d'une architecture manycore sécurisée intégrant des clusters hétérogènes cryptographiques, c'est-à-dire comprenant un crypto-processeur (co-processeur permettant de faire du chiffrement  matériel)
  •   Le développement de mécanismes d'isolation logique (au niveau logiciel) et physique (au niveau matériel) afin de garantir une exécution cloisonnée des piles logicielles indépendantes 
  •   Le développement conjoint des couches logicielle bas niveau (pilote,API...) et matérielle afin d'offrir une chaine de confiance globale ;
  •   Le développement de stratégies permettant de répartir dynamiquement les applications sur l'architecture manycore.

Le premier point est celui qui nous intéresse principalement dans ce stage. Les piles logicielles sont, dans le cadre de ce stage, des systèmes d'exploitation (SE) complets. L'environnement de travail utilisera la bibliothèque de composants soclib et la modélisation SystemC de l'architecture Tsar.

Motivations

La gestion de plusieurs SE sur une même puce demande au matériel de garantir le cloisonnement des mémoires utilisées par ces systèmes.  Néanmoins, le disque dur est a priori un point problématique car il peut être monté et lu par n'importe quel SE.

Objectifs

Une utilisation possible des cryptoprocesseurs consiste à les exploiter pour implémenter un système de fichier chiffré transparent pour l'utilisateur. Le stage sera basé sur le système de fichiers du système d'exploitation ALMOS. Après avoir chargé une clé de session au démarrage du système (ex : mot de passe), le SE accèdera au contrôleur de disque à l'aide de cette clé. Ainsi, les blocs du disque sont déchiffrés/chiffrés avec cette clé lors d'une lecture/écriture (transfert disque-mémoire). Un tel système de fichier implémenté entièrement en logiciel représente un surcout très important en temps, car le cout du chiffrement d'un bloc est élevé. L'idée ici est de minimiser ce cout en utilisant les cryptoprocesseurs à disposition dans l'architecture. Cela nécessite l'intégration des cryptoprocesseurs dans l'architecture, l'écriture d'un driver pour ce composant, ainsi que la modification du driver de disque existant.

Une autre problématique visée par le stage concerne le nombre de canaux du contrôleur de disque. Actuellement, le contrôleur de disque ne possède qu'un seul canal, ce qui va bien lorsqu'il n'y a qu'un système d'exploitation. Avec plusieurs SE, il faut en revanche plusieurs disques ou plusieurs canaux. L'objectif consiste donc à réaliser un contrôleur de disque multi-canaux.

Dans un premier temps, on peut faire l'hypothèse d'avoir un disque derrière chaque canal, mais dans l'idéal, l'association d'une partition par canal serait préférable. Cela implique que le contrôleur soit capable de détecter les différentes partitions d'une image disque.

Réalisation

Le stage comportera entre autres les étapes suivantes :

Partie 1 :

  • Étude et compréhension de l'architecture TSAR
  • Prise en main du prototype virtuel SystemC de l'architecture
  • Etude du système d'exploitation ALMOS utilisé
  • Spécification du système de fichier chiffré
  • Intégration du cryptoprocesseur dans l'architecture
  • Implémentation des modifications dans ALMOS (driver de disque, driver pour le cryptoprocesseur)
  • Validation fonctionnelle du mécanisme par l'exécution d'applications logicielles existantes
  • Evaluation du surcout du mécanisme, comparaison avec une implémentation logicielle

Partie 2:

  • Ecriture du contrôleur de disque multi-canal multi-disque
  • Validation à travers l'utilisation de l'un ou l'autre des canaux
  • Ecriture du contrôleur capable de gérer plusieurs partition d'un même disque et validation

Compétences souhaitées 

  • Architecture des machines
  • Systèmes d'exploitation : fonctionnement d'un driver, d'un système de fichiers (VFS)
  • Connaissance du FS FAT32
  • Hiérarchie mémoire, Caches, Traduction d'adresse
  • Langages : C++, python
  • Notions de sécurité éventuelles (AES, chiffrement symétrique)

Références

[1] TSUNAMY. Project Home Page. web: www-asim.lip6.fr/trac/tsunamy

[2] Tera Scale ARchitecture. Project Home Page. web: www-soc.lip6.fr/trac/tsar

[3] Soclib. Project Home Page. web: www.soclib.fr

[4] G. Almaless : “Conception d’un système d’exploitation pour une architecture many-cores à mémoire partagée cohérente de type cc-NUMA”, these, defense 02/27/2014, supervision Greiner, Alain, co-supervision WAJSBÜRT Franck (2014)

Encadrant 

Franck Wajsburt

LIP6 LIP6-SoC LIP6 CNRS UPMC