Introduction
1.1 Le problème
Les systèmes temps réel prennent une place de
plus en plus importante dans notre société, ils servent à
contrôler, réguler en « temps réel » des
dispositifs électroniques grâce à des capteurs,
embarqués dans des robots, des véhicules spatiaux, etc. Ces
systèmes temps réel embarqués sont souvent utilisés
par le public dans la vie de tous les jours sans même qu'on ne s'en rende
compte, par exemple dans les systèmes de freinage d'une voiture, le
contrôle de vol d'un avion,...
Pour contrôler des systèmes critiques comme des
centrales nucléaires, des réseaux électriques, etc. .., le
réseau public Internet est de plus en plus utilisé car cela a
deux avantages majeurs:
- la maintenance du système est facilitée, on peut
se connecter au système
à partir de tout endroit où une connexion Internet
est disponible;
- les coûts sont réduits étant donné
qu'il ne faut pas mettre en place un
réseau privé.
Mais il en découle également comme
inconvénient l'accroissement des besoins en sécurité. Le
problème qui se pose est donc d'arriver à maximiser la
sécurité des échanges d'informations sans que cela nuise
au respect des échéances des tâches du système temps
réel. Nous voulons dire par là qu'il faut dans les limites du
possible, qu'un système soit toujours ordonnançable avec la
sécurité mise en place afin de garantir un fonctionnement
sûr du système. En effet, sécuriser au maximum le
système pourrait nous amener à un système qui
dépasse sa capacité de traitement. Il faut donc limiter la
sécurité de chaque tâche
selon son importance par rapport aux autres afin de ne rater
aucune échéance. Ce mémoire fournit des solutions pour y
parvenir.
Nous nous limiterons à étudier dans ce
mémoire les systèmes « hard realtime », c.-à-d.
que les échéances devront toutes être respectées
malgré l'augmentation du temps d'exécution des différents
travaux introduite par la mise en place de la sécurité dans le
système en posant comme hypothèse que les tâches sont
périodiques.
1.2 Organisation du mémoire
Clairement, ce mémoire liera donc deux disciplines en
informatique, l'ordonnancement de systèmes temps réel et
la sécurité de systèmes informatiques.
Nous ferons d'abord un état des techniques
utilisées dans la littérature pour résoudre ce
problème. Nous nous pencherons sur les algorithmes itératifs
permettant de chiffrer les données (ex : AES, RC6,. ..), sur
l'authentification de l'information et sur le contrôle
d'intégrité (ex : méthodes HMAC, CBC-MAC,...).
Nous analyserons ensuite une méthode, le « Reward
Based Scheduling » fournissant une récompense en fonction du temps
ajouté pour la mise en place dans notre cas de la
sécurité.
Pour clôturer, nous étudierons des heuristiques
qui sur base de cette méthode tentent de trouver les temps se
rapprochant le plus possible des temps optimaux pour établir la
sécurité tout en validant le système, c.-à-d. en
vérifiant par simulation que les contraintes d'échéance
soient respectées.
|