ALLOCATIONS DE RECHERCHE REGIONALES 2008

 

 

Etablissement d’accueil : Université Bordeaux 1

Nom du tuteur : O. Ly & S. Chaumette (L. Goubin, co-encadrant).

E-mail : ly@labri.fr

Nom et adresse du laboratoire d’accueil : LaBRI – 351 Cours de la Libération, 33405 Talence

 

Nom du Directeur du laboratoire : Maylis Delest

 

Téléphone : 05 40 00 69 00

Fax : 05 40 00 66 69

Email : directeur@labri.fr

Titre du sujet :

Externalisation et mobilité de code exécutable sécurisé

 

 

La problématique des agents mobiles est large et ses domaines d'applications variés. Nous nous intéressons au concept d'externalisation de code exécutable. Cela consiste pour une unité de calcul donnée, à externaliser l'exécution de son code. Divers scénarii sont envisageables: par exemple une unité de calcul à faible ressource, un PDA, une carte à puce ou bien un capteur, peut exécuter un logiciel morceau par morceau en téléchargeant les morceaux de code au fur et à mesure de l'exécution auprès d'une ressource externe. L'intérêt d'une telle architecture est de permettre l'exécution de logiciel de grande taille à bord d'une unité de calcul à faible ressource, qui peut être éventuellement sécurisée.

 

L'externalisation de code concerne en particulier les réseaux ad hoc, les noeuds du réseaux se servant des uns et des autres pour externaliser l'exécution de code. Mais les applications potentielles dépassent ce cadre. On peut penser par exemple à l'application client d'une banque pour la gestion personnelle de compte. L'architecture d'externalisation de code permettrait d'exécuter une telle application dans un environnement totalement sécurisé et contrôlé par la banque en question; ce qui est loin d'être le cas d'un navigateur web par exemple. Cette architecture ouvre également des pistes à propos de la protection de la propriété intellectuelle concernant le logiciel. Le logiciel à protéger pourrait être coupé en tranches, certaines de ces tranches seraient destinées à être exécutées à bord d'un environnement sécurisé (un microcontroleur, un dongle par exemple), et non reproductible.

 

La problématique principale d'une telle technologie est le compromis entre sécurité et fonctionnalité dans un environnement à ressource extrèmement limitées (quelques centaines d'octets de mémoire vive). Dans un premier temps, nous nous proposons de développer une architecture système dans laquelle la carte à puce télécharge le programme qu'elle exécute, bloc d'instructions par bloc d'instructions, au fur et à mesure de l'exécution. Le téléchargement se fera à partir d'un serveur ou d'une mémoire externe. Ceci permettra d'exécuter des programmes volumineux à bord de la carte, et donc dans un environnement sécurisé.

 

L'objectif de cette thèse est d'étudier la sécurité d'un tel système, point crucial pour son déploiement. Comment assurer sa sécurité ? En terme de confidentialité et d'intégrité notamment, sous l'hypothèse de moyens de communication non sécurisés (réseau internet). Par exemple, un observateur du réseau ne doit pas pouvoir déduire d'information sur l'exécution. Il ne devra pas non plus pouvoir rejouer le programme. Nous nous intéresserons également aux attaques par canaux cachés sur les composants servant à l'externalisation (timing, consommation de courant, rayonnement électromagnétique, etc).

 

 

Projets et Financements Complémentaires Associés

Projet ANR Cryscoe. [http://www.labri.fr/perso/ly/cryscoe/index.html]

Projet ANR Sarah. [http://www.labri.fr/perso/chaumett/research/projects/ara-ssia-sarah.html]

 

Référence

Tao Zhang, Santosh Pande, Antonio Valverde.

Tamper-Resistant Whole Program Partitioning. LCTES'03. San Diego.