Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Jaime
24 k
Rechercher sur le site:
Recherche
Home | Publier un mmoire | Flux
Securite dans les systmes temps reelpar Thomas Vanderlinden
Universit Libre de Bruxelles - Licence en Informatique 2007 Dans la
categorie: Informatique et Tlcommunications0
Disponible en mode multipageJaime
Facult des sciences dpartement d'inFormatique MEMBRE DE
L'ACADMIE UNIVERSITAIRE WALLONIE-BRUXELLES ET DU PLE UNIVERSITAIRE
EUROPEN BRUXELLES WALLONIE Scurit dans les systmes temps rel Thomas
VANDERLINDEN
Rduction des cotsExpense Reduction Analysts expert en rduction
des cotswww.expensereduction.eu
Ordonnanceur multi OSdefinition et suivi graphique pour
production WINDOWS, LINUX, OS400www.unilink.fr
Scurit des documentsLutter contre la contrefaon et falsification
des documentswww.prooftag.net
Mmoire prsent sous la direction des Professeurs Jol GOOSSENS et
Olivier MARKOWITCH en vue de l'obtention du grade de Licenci en
Informatique Anne acadmique 2006-2007 1 Remerciements Un mmoire est
un travail de recherche ardu et long mais intressant. Malgr que ce
soit un travail en solitaire, il aurait t difficile de me passer de
l'appui de nombreuses personnes d'un point de vue acadmique et
moral, qui je tiens donner toute ma reconnaissance. Tout d'abord,
je souhaiterais remettre mes premiers remerciements au professeur
qui m'a suivi toute cette anne en organisant des runions
rgulirement, Monsieur Jol Goossens, promoteur de ce mmoire. Je
tiens galement remercier Monsieur Olivier Markowitch, codirecteur
de ce travail, qui s'est lui aussi joint certaines de ces runions,
et sur qui je pouvais compter pour me fournir des conseils dans le
domaine de la cryptographie lorsque j'en avais besoin ainsi que
Monsieur Bernard Fortz pour m'avoir suggr certaines amliorations
lors de la programmation des mthodes heuristiques prsentes dans ce
mmoire et le professeur Hakan Aydin pour avoir rpondu mes questions
sur l'ordonnancement temps rel par courrier lectronique. Je tiens
donner toute ma gratitude mon grand-pre qui a pris la peine de
relire ce travail pour apporter quelques corrections
orthographiques. Sur le plan moral, je tiens remercier mes parents,
toute ma famille et mes amis, ils comptent normment pour moi, ils
ne m'ont jamais abandonn durant mes tudes et m'ont toujours
encourag durant l'laboration de ce mmoire.
1 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Soyez tous sincrement remercis,
Temps rel - Visual Chart Thomas. Bourse en vrai temps rel
Graphiquesavancs Systmes Tradingwww.visualchart.com
Table des matires Introduction 1.1 Le problme 1 1.2 Organisation
du mmoire 2 Pr-requis 2.1 Systmes temps rel 2.1.1 Introduction
2.1.2 Lestravaux 2.1.3 Les tches 2.1.4 Le systme 2.1.5
L'ordonnancement 2.2 Cryptologie 2.2.1 Introduction 2.2.2
Confidentialit 2.2.3 Intgrit et authentification 3 Etatde l'art 3.1
3.2 Introduction Qualit de service et longueur des cls 3.2.1
Introduction 3.2.2 Modlisation du systme 3.2.3 L'algorithme
d'ajustement de la qualit de service 3.2.4 Conclusion 3.3.1
Conclusion 3.4 Mthode SASES 3.4.1 Modlisation 3.4.2 Diffrents
services 3.4.3 Calcul du bnfice au systme 3.4.4 L'algorithme SASES
3.4.5 Conclusion TABLE DES MATIRES 3 3.5 Mthode en graphe de
services 37 3.5.1 Modlisation 37 3.5.2 Recherche dans le graphe 38
3.5.3 Conclusion : Comparaison avec SASES 40 3.6 Conclusion 41 4
Rcompense et scurit 42 4.1 Introduction 42 4.2 Reward-Based
Scheduling 43 4.2.1 Introduction 43 4.2.2 Une fonction de rcompense
44 5 5 6 7 7 7 7 8 9 10 13 13 14 15 16 16 17 17 18 19 22 25 25 26
28 34 35 36
Simmons MarocAccessible en ligne ! Matelas,linge de lit haut de
gammewww.simmons.ma
Destructeur haut volumedtruit vos archives, vos classeurs jusqu'
1 tonne/heurewww.intimus.fr
3.3 Ordonnancement dynamique bas sur des niveaux de scurit .
23
2 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
4.2.3 Modlisation du systme 47 4.2.4 Calcul de la rcompense
moyenne du systme 47 4.2.5 Approche Mandatory-First (parties
obligatoires d'abord) 48 4.2.6 Optimalit 53 4.2.7 Optimalit avec
des fonctions linaires de rcompense 57 4.2.8 Optimalit avec des
fonctions convexes de rcompense 60 4.3 Conclusion 62 5 Simulations
64 5.1 Introduction 64 5.2 Gnration d'un systme 65 5.2.1 Gnration
des priodes 65 5.2.2 Gnration de l'ensemble de tches 66 5.3
L'algorithme orient vnement 68 5.3.1 La gestion des vnements 69
5.3.2 L'algorithme 70 5.4 Rappel du problme d'optimisation des
temps optionnels . . . 72 5.5 Notations utilises 73 5.6 Le recuit
simul 74 5.7 La recherche tabou 77 5.8 Obtention d'une solution
voisine 79 5.9 Exprimentation 81 5.9.1 Limites des algorithmes 81
5.9.2 Analyse avec des fonctions linaires de rcompense . . 83 5.9.3
Simulation avec des fonctions convexes de rcompense 83 5.10
Conclusion 87 6 Conclusion 89 A Complment la dmonstration de H.
Aydin 93
TABLE DES MATIRES B Code source de la simulation B.1 Systme
B.1.1 B.1.2 B.2 B.2.1 B.2.2 B.3 B.3.1 Systeme.h Systeme.cpp Tche
Tache.h Tache.cpp Travail Travail.h
4 95 95 95 97 107 107 108 109 109
3 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
B.3.2 B.4.1 B.4.2 B.5 B.5.1 B.5.2 B.6 B.6.1 B.6.2 B.7.1 B.7.2
B.8 Main B.8.1
Travail.cpp Generateur.h Generateur.cpp Divers Divers.h
Divers.cpp Event Event.h Event.cpp Solution.h Solution.cpp
Main.cpp
110 111 111 111 113 113 113 114 114 115 115 116 117 122 123
B.4 Gnrateur
B.7 Solution
Chapitre 1 Introduction1.1 Le problme Les systmes temps rel
prennent une place de plus en plus importante dans notre socit, ils
servent contrler, rguler en temps rel des dispositifs lectroniques
grce des capteurs, embarqus dans des robots, des vhicules spatiaux,
etc. Ces systmes temps rel embarqus sont souvent utiliss par le
public dans la vie de tous les jours sans mme qu'on ne s'en rende
compte, par exemple dans les systmes de freinage d'une voiture, le
contrle de vol d'un avion,... Pour contrler des systmes critiques
comme des centrales nuclaires, des rseaux lectriques, etc. .., le
rseau public Internet est de plus en plus utilis car cela a deux
avantages majeurs: - la maintenance du systme est facilite, on peut
se connecter au systme partir de tout endroit o une connexion
Internet est disponible; - les cots sont rduits tant donn qu'il ne
faut pas mettre en place un rseau priv. Mais il en dcoule galement
comme inconvnient l'accroissement des besoins en scurit. Le problme
qui se pose est donc d'arriver maximiser la scurit des changes
d'informations sans que cela nuise au respect des chances des tches
du systme temps rel. Nous voulons dire par l qu'il faut dans les
limites du possible, qu'un systme soit toujours ordonnanable avec
la scurit mise en place afin de garantir un fonctionnement sr du
systme. En effet, scuriser au maximum le systme pourrait nous
amener un systme qui dpasse sa capacit de traitement. Il faut donc
limiter la scurit de chaque tche selon son importance par rapport
aux autres afin de ne rater aucune chance. Ce mmoire fournit des
solutions pour y parvenir. Nous nous limiterons tudier dans ce
mmoire les systmes hard realtime , c.--d. que les chances devront
toutes tre respectes malgr l'augmentation du temps d'excution des
diffrents travaux introduite par la mise en place de la scurit dans
le systme en posant comme hypothse que les tches sont
priodiques.
4 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
1.2 Organisation du mmoire Clairement, ce mmoire liera donc deux
disciplines en informatique, l'ordonnancement de systmes temps rel
et la scurit de systmes informatiques. Nous ferons d'abord un tat
des techniques utilises dans la littrature pour rsoudre ce problme.
Nous nous pencherons sur les algorithmes itratifs permettant de
chiffrer les donnes (ex : AES, RC6,. ..), sur l'authentification de
l'information et sur le contrle d'intgrit (ex : mthodes HMAC,
CBC-MAC,...). Nous analyserons ensuite une mthode, le Reward Based
Scheduling fournissant une rcompense en fonction du temps ajout
pour la mise en place dans notre cas de la scurit. Pour clturer,
nous tudierons des heuristiques qui sur base de cette mthode
tentent de trouver les temps se rapprochant le plus possible des
temps optimaux pour tablir la scurit tout en validant le systme,
c.--d. en vrifiant par simulation que les contraintes d'chance
soient respectes.
Chapitre 2 Pr-requis2.1 Systmes temps rel 2.1.1 Introduction
Nous apporterons dans cette section quelques dfinitions largement
inspires de [7] et notations qui pourront servir la comprhension de
la suite de ce mmoire. Un systme temps rel est constitu d'un
ensemble de tches et chacune d'elles doit effectuer une quantit de
calculs. Les rsultats produits par ces diffrentes tches doivent tre
d'une certaine qualit mais aussi tre fournis avant un instant donn,
que nous appellerons l'chance de cette tche. Ces systmes sont
utiliss principalement dans des applications critiques qui ne
peuvent pas se permettre de fournir un rsultat erron ou incomplet
au moment de l'chance, comme pour le contrle d'une centrale
nuclaire, le contrle arien, ... 2.1.2 Les travaux Toute tche n o i
(que nous noterons Ti) prise dans un ensemble de n tches (i ? [1,
n]) composant le systme, partage la quantit de calculs qu'elle doit
effectuer en un certain nombre de travaux. Ces travaux obtiennent
le processeur intervalle rgulier (priodique) ou non. Chaque travail
(aussi appel instance ou job en anglais) obtient le processeur un
instant donn et peut s'excuter sur une certaine dure. Dfinition
Travail: Un travail ij, soit le je travail de la tche Ti sera
caractris par le tuple (a, e, d). Un instant d'arrive aij, un temps
d'excution eij et une chance dij. Le travail ij devra donc recevoir
eij units d'excution sur l'intervalle [aij, dij) Il existe
diffrentes classes de niveaux de contraintes temporelles, on parle
d'chances strictes (hard), fermes (firm) ou souples (soft) [1]. -
Un systme temps rel est dit chances strictes (hard deadlines)
lorsqu' on ne peut rater aucune chance, les consquences en seraient
catastrophiques; - Pour les chances fermes (firm deadlines), les
consquences sont moins svres, mais la valeur de l'excution d'un
travail aprs son chance est nulle et
5 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
donc d'aucune utilit. - Un travail possdant une chance souple
(soft deadline) peut terminer son excution aprs son chance, son
excution aprs l'chance a toujours une certaine valeur, bien que
celle-ci dcroisse avec le temps suivant l'chance. 2.1.3 Les tches
Classiquement dans un systme temps rel, les calculs (l'excution de
ces travaux) sont rcurrents, les tches peuvent tre priodiques ou
sporadiques. Nous nous focaliserons dans ce mmoire sur les systmes
tches priodiques. Dfinition Tche priodique : Une tche priodique Ti
est caractrise par le tuple (Ai, Pi, Di, Ci) - Ai est la date
d'arrive du premier travail de la tche Ti, ce qui ne signifie pas
que celui-ci s'excutera cette date. - Pi est la priode, c.--d. la
dure qui spare deux arrives successives de travaux. Le deuxime
travail d'une tche Ti ne pourra donc pas s'excuter avant l'instant
Ai + Pi. - Di est l'chance de la tche Ti, qui dnote la limite
suprieure de temps entre l'arrive d'un travail et la fin de son
excution. - Ci est le temps d'excution de chaque travail de la tche
Ti, nous parlons aussi de WCETi (Worst Case Execution Time) pour
dnoter la limite suprieure du temps d'excution de chaque travail de
la tche Ti. Mi, Oi : Dans la partie sur le Reward-based Scheduling
, ces notations dnotent respectivement la partie obligatoire
(Mandatory) et optionnelle (Optional) d'une tche Ti. Les notations
mi et oi, dnotent respectivement la limite suprieure du temps
d'excution de la partie obligatoire Mi et la limite suprieure sur
le temps d'excution de la partie optionnelle Oi. Nous y reviendrons
par la suite. Chaque tche gnre un travail chaque instant Ai+k.Pi
avec une chance l'instant Ai + k. Pi + Di pour tout entier k ~ 0.
Les tches sporadiques sont similaires aux tches priodiques
l'exception faite que Pi correspond la dure minimum qui spare deux
arrives de travaux delatche Ti. Mais il existe galement des tches
non rcurrentes dites apriodiques, elles sont utilises en gnral pour
traiter des alarmes et des tats d'exception, l'instant de rveil
n'est pas connu au dpart et il n'y a donc pas de priode. Chaque
tche a une certaine proportion d'excution par rapport sa priode,
nous parlerons d'utilisation que l'on dfinit mathmatiquement comme
: U(Ti) = Ci/Pi. L'utilisation d'un systme S est la somme des
utilisations des tches qu'il contient, autrement dit : U(S) =
>ITi?S U(Ti). Dans la partie sur le Reward-based Scheduling ,
nous parlerons d'utilisation par les parties obligatoires d'un
systme compos de n tches. Nous noterons ce facteur d'utilisation Um
que nous dfinissons par Um = >In i=1mi/Pi, c.--d. le rapport sur
le temps d'excution des parties obligatoires par rapport au temps
total disponible. U quand lui, dsignera le facteur d'utilisation
total (parties obligatoires et optionnelles confondues). 2.1.4 Le
systme Il existe plusieurs expressions qualifiant un systme
constitu de n tches, on parle de systmes: - chance contrainte :
signifie que l'chance de toute tche du systme ne peut pas tre
suprieure la priode de celle-ci (Di Pi Vi E [1, n]). - chance sur
requte : signifie que l'chance de toute tche du systme concide avec
la priode de celle-ci (Di = Pi Vi E [1, n], chaque travail d'une
tche doit se terminer avant l'arrive du travail suivant de cette
mme tche. C'est donc un cas particulier de systme chance
contrainte.
6 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
- chance arbitraire : aucune contrainte n'est impose entre
l'chance et la priode. - dpart simultan : l'instant d'arrive du
premier travail de chaque tche concide avec les autres, on peut
donc poser Ai = 0 Vi E [1, n] sans nuire la gnralit. Nous nous
intresserons plus particulirement dans nos analyses aux systmes
chance sur requte et dpart simultan. Le processeur Il existe deux
types d'environnement possibles pour un mme systme de tches: -
monoprocesseur; - multiprocesseur. Un environnement multiprocesseur
constitu de k processeurs peut excuter k units de temps d'excution
simultanment contrairement un environnement monoprocesseur qui est
limit une excution la fois. Nous resterons dans le cadre de ce
mmoire sur des environnements monoprocesseur. Dfinition oisif: Nous
reprenons la traduction de la terminologie anglaise : idle
(inoccup) en parlant du processeur ou d'instants pour dire de
ceux-ci qu'ils sont inutiliss, autrement dit qu'il n'y a pas de
travail en cours d'excution. Nous parlerons galement d'units de
temps oisives, pour dsigner les moments o le processeur n'excute
aucun travail. 2.1.5 L'ordonnancement L'ordonnancement est le
mcanisme permettant de choisir la tche qui va tre excute par le
processeur un instant donn. L'algorithme qui va effectuer ce choix
est appel l'ordonnanceur (le scheduler). Il existe deux manires
d'appeler cet ordonnanceur: - appels intervalle rgulier (par
exemple chaque unit de temps); - appels bass sur des vnements comme
l'arrive, la fin d'excution ou l'chance d'un travail. Nous
expliquerons par la suite pourquoi nous avons prfr utiliser une
mthode base sur des vnements dans nos simulations. A chaque fois
qu'il est appel, l'ordonnanceur va choisir le travail qui doit tre
excut au moment de l'appel si celui-ci existe bien entendu, car il
est probable qu'aucun travail ne soit disponible cet instant, le
processeur restera alors oisif. Un ordonnancement dit premptif
signifie qu'une tche peut tre interrompue par une autre plus
prioritaire. Si le processus choisi, c.--d. le programme en cours
d'excution, est diffrent de celui excut actuellement,
l'ordonnanceur effectue alors un changement de contexte qui
consiste en une sauvegarde des donnes de la tche actuelle et une
restauration des donnes de la nouvelle tche si cela est ncessaire,
on appelle ce changement de contexte une premption et nous dirons
du travail interrompu qu'il est prempt. Dans un ordonnanceur temps
rel, si le systme arrive ordonnancer toutes ses tches en respectant
leurs chances, nous dirons de celui-ci qu'il est ordonnanable.
L'ordonnanceur va donc devoir assigner des priorits aux diffrentes
tches ou aux travaux de ces tches. Il existe donc deux types
d'assignations des priorits : 1. priorit fixe : galement appel
assignation priorit statique, chaque tche reoit une priorit par
rapport aux autres l'initialisation du systme et chaque travail
lanc hrite de la priorit de sa tche; 2. priorit dynamique : la
priorit est donne aux travaux des tches, non plus aux tches. La
priorit peut passer un travail d'une autre
7 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
tche pendant l'excution du systme, selon la rgle d'assignation
utilise, qui peut se baser par exemple sur le temps restant avant
la prochaine chance ou le temps d'excution dj coul pour ce travail.
Dfinition faisable - ordonnanable[18] : On dit d'un ordonnancement
qu'il est faisable si chaque tche se termine avant son chance dans
cet ordonnancement. Un systme est ordonnanable s'il existe un
ordonnancement faisable pour ce systme. Dfinition optimalit : Une
rgle d'assignation de priorit R dsigne la faon dont la priorit de
slectionner un travail par rapport un autre est dfinie. On dit que
R est optimale si, lorsqu'un systme est faisable, il est
ordonnanable tant donn la rgle R. Pour tester l'ordonnanabilit d'un
systme en posant l'hypothse que celui- ci est constitu de n tches
chance contrainte et dpart simultan, il suffit de tester celui-ci
jusqu' l'instant P que nous appellerons l'hyper-priode et qui est
gale au plus petit commun multiple des priodes des diffrentes tches
composant le systme. P=ppcm{P1,P2,...,Pn} En effet, cet instant et
sous ces hypothses, nous nous retrouvons dans la mme position qu'
l'instant initial : toutes les tches envoient un nouveau travai l.
Earliest Deadline First Nous allons prsenter maintenant la rgle
d'assignation que nous utiliserons dans notre tude, EDF ( Earliest
Deadline First , plus proche chance d'abord). EDF est une rgle
d'assignation priorit dynamique. Lorsqu'un vnement survient : comme
la fin de l'excution d'un travail ou l'arrive d'un nouveau travail
dans le systme, l'ordonnanceur va slectionner parmi tous les
travaux prts tre excuts celui dont l'chance est la plus proche. Ce
travail sera alors excut sur le processeur. Autrement dit, plus le
travail doit tre excut rapidement, plus il aura de chance d'tre
excut. Cette rgle d'assignation est optimale, car EDF trouve
toujours un ordonnancement faisable s'il en existe un. Pour un
systme S chance sur requte, EDF une borne suprieure de 100% sur
l'utilisation, cela signifie que si U(S) = 1 alors il est garanti
qu' EDF trouvera un ordonnancement faisable contrairement une rgle
d'assignation priorit fixe comme RM ( Rate Monotonic ) qui donne
une priorit plus leve aux tches ayant les priodes les plus courtes.
La borne sur l'utilisation pour laquelle il est garanti de trouver
un ordonnancement faisable n'est que de ln 2 ~ = 69,3%. Cette borne
peut-tre augmente 83% et 78% si nous nous limitons respectivement 2
ou 3 tches, d'aprs la dmonstration dveloppe dans [13], mais reste
toutefois infrieure EDF. Donnons maintenant un exemple de systme
afin d'illustrer le principe du fonctionnement d'EDF. Prenons un
systme chance sur requte compos de 2 tches T1(P1 = D1 = 5, C1 = 3)
et T2(P2 = D2 = 3, C2 = 1), voici comment EDF va ordonnancer les
diffrents travaux de ces tches dont le schma de l'ordonnancement
est reprsent sur la figure 2.1.
T1,2 T1,2 T1 ,3 14 56
8 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
79 10 13 T1 ooo T1,1
T2,2
T2,3
T2,4
T2,5
ooooo 0 1 45 67 9 10 13 14 T2,1 T2 FIG. 2.1 - Exemple
d'ordonnancement de 2 tches avec la rgle d'assignation EDF Les deux
tches sont dpart simultan et envoient chacune leur premier travail
l'instant 0 (autrement dit O1 = O2 = 0). EDF slectionne le travail
i-2,1 pour tre excut car l'chance d2,1 < d1,1. A l'instant 1,
i-1,1 se termine et EDF doit choisir nouveau un travail, il ne
reste que i-1,1 qui continue son excution l'instant 3 lors de
l'arrive d'un nouveau travail de T2 car son chance est plus proche.
Nous remarquons, qu' l'instant 6, i-1,2 est prempt lors de l'arrive
de i-2,3 car celui-ci possde une chance d2,3 < d1,2. Nous
stoppons notre exemple l'hyperpriode P = 15 = ppcm(5, 3) car cet
instant nous nous retrouvons exactement dans la mme situation qu'
l'instant 0 et l'ordonnancement peut recommencer de la mme manire
indfiniment. Lorsque les chances sont gales, le choix entre les
deux travaux se fait arbitrairement en donnant priorit au travail
en cours d'excution, comme l'instant 12 dans notre exemple o i-1,3
poursuit son excution. 2.2 Cryptologie 2.2.1 Introduction La
cryptologie est la science du secret, elle se divise en deux
branches : La cryptographie : qui tudie les diffrentes possibilits
de cacher, protger ou contrler l'authenticit d'une information; La
cryptanalyse : qui tudie les moyens de retrouver cette information
partir du texte chiffr (de l'information cache) sans connaitre les
cls ayant servi protger celle-ci, c'est en quelque sorte l'analyse
des mthodes cryptographiques. La cryptographie doit garantir
certains principes qualifiant la bonne scurit d'un systme: 1.
Confidentialit : grce un chiffrement pour que les donnes soient
illisibles par une personne tierce et ainsi garantir que
l'information est reste secrte de bout en bout. 2. Authentification
: afin que personne ne puisse se faire passer pour la source de
l'information, que la provenance des donnes soit garantie. 3.
Intgrit : pour que les donnes ne puissent pas tre modifies sans
qu'on ne s'en rende compte. 2.2.2 Confidentialit La confidentialit
est historiquement le premier but des tudes en cryptographie :
9 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
rendre secrtes des informations. Cela se ralise par un
chiffrement mathmatique des donnes qui utilise comme paramtre une
cl. Le chiffrement consiste appliquer une suite d'oprations sur un
texte clair, pour obtenir un texte chiffr, aussi appel
cryptogramme, ne pouvant tre dchiffr que par l'entit qui possde la
cl adquate. Il existe deux catgories de chiffrements: Le
chiffrement symtrique galement appel le chiffrement cl secrte: Le
principe est de chiffrer le texte clair avec une cl et de le
dchiffrer avec la mme cl ou une cl drive de celle-ci. La cl n'est
connue que par les deux entits s'changeant des informations. Le
chiffrement asymtrique galement appel le chiffrement cl publique:
Les cls utilises pour le chiffrement et le dchiffrement sont
diffrentes et ne peuvent tre dduites l'une de l'autre par un
observateur extrieur sans la connaissance des informations
ncessaires. Une des cls peut tre connue de tous tandis que l'autre
doit rester secrte. Le but tant que tout le monde puisse l'aide
d'une cl publique chiffrer des donnes que seule l'entit possdant la
cl secrte puisse dchiffrer. La vision d'un ensemble de textes
chiffrs ne doit apporter aucune information sur le texte clair,
c'est ce qu'on appelle la notion de scurit smantique (propre au
chiffrement asymtrique). Dans le cadre de la scurit dans les
systmes temps rel qui doivent respecter des contraintes de temps,
nous nous intresserons plus particulirement au chiffrement
symtrique qu'il est prfrable d'utiliser car le chiffrement
asymtrique a t montr comme plus complexe au niveau du temps de
calcul [16]. 2.2.3 Intgrit et authentification Le rseau reliant les
entits n'tant pas toujours sr, il est important de contrler la
provenance des informations et de s'assurer qu'elles n'ont pas t
modifies en chemin, ce sont respectivement les principes
d'authentification et d'intgrit des donnes. Afin de garantir ces
deux principes, on utilise des codes d'authentification de message
(MAC : Message Authentication Code). Un MAC est un code envoy avec
le message, il est aussi appel hachage ou empreinte du message. Le
hachage correspond au message et permet de garantir la validit de
celui-ci. Il est obtenu partir d'un algorithme MAC qui prend deux
paramtres en entre: le message dont on dsire garantir l'intgrit et
une cl secrte connue des deux entits s'changeant ce message. La
probabilit que des donnes diffrentes possdent le mme hachage est
trs faible, c'est ce qu'on appelle une collision . La probabilit de
trouver une collision et que le message possdant le mme hachage
soit comprhensible par le rcepteur est quasi nulle. Une
modification mme trs lgre des donnes provoque un changement radical
au niveau du hachage obtenu. Si une modification a lieu entre la
source et la destination, le hachage ne correspondra plus aux
donnes et celles-ci seront rejetes par le rcepteur. Le fait
d'utiliser une cl secrte partage entre les deux entits en plus de
la fonction de hachage garantit l'authenticit des donnes tant donn
qu'un attaquant ne connaissant pas la cl ne peut envoyer des
informations accompagnes d'un hachage correct de celles-ci.
Diffrentes mthodes existent pour crer une empreinte du message: -
une fonction de hachage utilisant une cl en paramtre en plus du
message (ex : HMAC); - un chiffrement par blocs (comme les mthodes
CBC-MAC).
Chapitre 3
10 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Etat de l'art3.1 Introduction Comme nous l'avons mentionn dans
le chapitre 1, dans les systmes embarqus qui utilisent un rseau,
nous devons la fois respecter les contraintes d'chances, tout en
assurant la confidentialit des donnes, l'intgrit et
l'authentification. Mais malheureusement, l'utilisation des
algorithmes de cryptographie amne souvent au non-respect des
contraintes d'chances, surtout pour des systmes embarqus qui sont
limits en ressources pour des raisons de cot et de consommation.
Les travaux sur la scurit et sur les systmes temps rel ont t tudis
la plupart du temps sparment. Il n'existe que trs peu de travaux
tudiant le problme de la scurit sous des contraintes d'chance. En
tudiant les travaux et articles rdigs propos de la scurit dans les
systmes temps rel, nous remarquons que ceux-ci se basent gnralement
sur les concepts de qualit de service (QoS), qui ont dj t plus
largement analyss dans la littrature. Le rapport de recherche [14]
reprend diffrents mcanismes de gestion de la qualit de service dans
les systmes temps rel. Souvent, diffrents niveaux de service sont
appliqus afin de respecter au mieux les chances tout en scurisant
le plus possible le systme. Une certaine valeur est associe chaque
niveau selon son importance, l'objectif tant de maximiser la valeur
totale du systme. Ce chapitre prsente des mthodes que nous allons
analyser et ventuellement critiquer. 3.2 Qualit de service et
longueur des cls 3.2.1 Introduction En cryptographie, il est bien
connu qu'en augmentant le nombre de bits dont est constitu une cl
qui servira chiffrer les donnes, un attaquant mettra plus de temps
casser le chiffrement [17]. La complexit pour casser le chiffrement
est donc exponentielle en fonction de la longueur de la cl. Il est
donc ncessaire d'utiliser une cl de taille suffisante. Une cl forme
de bits appartient un espace de cls constitu de 2 cls possibles. Un
attaquant qui est capable de tester m cls par seconde, mettrait
donc en moyenne 2e_1 /m secondes pour trouver la bonne cl par une
attaque de type brute-force (2`/m secondes au pire des cas).
Brute-force est une recherche exhaustive sur tout l'espace des cls.
Il est donc indispensable que le temps mis pour casser la scurit
par ce type d'attaque soit trop important par rapport la valeur des
donnes et que le systme de chiffrement soit robuste, c'est dire que
le seul moyen d'attaquer le systme soit d'appliquer une attaque
brute-force. AES, par exemple, utilise des cls de 128, 192, ou 256
bits [21] donc la quantit de cls possibles avec ces dimensions est
relativement importante. De plus, AES est un algorithme de
chiffrement robuste puisqu' aucune attaque sur les versions
standards d'AES n'a t dcouverte ce jour1, il pourrait donc tout
fait tre utilis dans ce cadre. Cependant, employer toujours la plus
longue cl provoque une augmentation du temps de calcul utilis par
l'algorithme de chiffrement et donc il en rsulte un besoin de
dgrader la qualit de service. Cette diminution de la qualit de
service permet de diminuer le temps d'excution de manire ce que les
chances soient encore toutes respectes. Kyoung Don Kang et Sang H.
Son dans leur tude [9] que nous allons prsenter dans cette section,
essayent de maximiser la qualit de service tout en garantissant que
le systme soit suffisamment scuris. Les auteurs, prsentent leur
mthode avec DES, mais ce n'est pas un algorithme de chiffrement
robuste,
11 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
DES a t cass en 22 heures et 15 minutes lors du 3e DES Challenge
en janvier 1999 [19]. Nous prfrerons donc prsenter cette mthode en
nous basant sur l'algorithme de chiffrement AES.1
Il existe nanmoins des attaques sur AES en diminuant le nombre
de tours 5, 6 ou 7 [22].
3.2.2 Modlisation du systme Le modle sur lequel nous nous basons
ici est constitu d'un ou de plusieurs systmes embarqus temps rel
(SETR), par exemple des capteurs, comme reprsent sur la figure 3.1.
Ce SETR doit changer ses informations avec un centre de contrle
(CC).
FIG. 3.1 - Schma reprsentant le modle SETR--CC Le SETR est
constitu de n tches T1, T2, ... Tn. Le pire temps d'excution Ci
d'une tche Ti tient compte: 1. du temps d'excution normal de la
tche: Ci,c 2. du temps utilis par le chiffrement avec des cls de
bits: Ci,e(`) Ci = Ci,c+Ci,e(`) (3.1)
Ti Ci,c excution normale: Ci,c scurit : Ci,e(t)? Ci = Ci,c +
Ci,e(`) FIG. 3.2 - Reprsentation du temps d'excution total Ci La
longueur de la cl est augmente en fonction du risque encouru. Ce
risque est transmis par un dtecteur d'intrusion (IDS : Intrusion
Detection System ) install sur le SETR et sur le CC. Lorsqu'une
intrusion est dtecte, le niveau de risque est augment. Le SETR va
devoir alors augmenter la taille de la cl avec laquelle il chiffre
ses donnes. Cela entranera une diminution de la qualit de service
de certaines tches. La notion de qualit de service utilise ici
n'est pas dfinie dans [9] mais nous pouvons supposer qu'il s'agit
de la frquence des prises d'informations par les capteurs. Cette
diminution correspond donc une diminution du facteur d'utilisation
de ces tches. En effet, la qualit de service tant plus faible,
moins de traitements sont ncessaires et Ci est diminu. Cela permet
d'viter de rater des chances cause du cot en temps trop lev d la
mise en place de la scurit. Trois niveaux de risques sont dfinis
dans [9] : faible: R= 1, moyen: R=2, lev: R=3. Le niveau de dfense
S(L) se calcule en fonction de la longueur de la cl L. En nous
basant sur les possibilits offertes par AES par rapport la taille
des cls, nous posons donc: S(1 28) = 1, S(1 92) = 2, S(256) = 3. Le
but est de maximiser la qualit de service globale du systme (QoS)
qui augmente en fonction de la qualit de service Q(i) des
diffrentes tches. In i=1 Q(i)
12 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Maximiser QoS = S in i=1 max Q(i) = 1 (3.2) o Q(i) et max Q(i)
sont respectivement la qualit de service courante et maximum pour
la tche Ti. Nous dfinissons la variable S par 3.3 { 1 si S(L) - R S
=0 sinon (3.3) Ce qui signifie (voir quation 3.2) que si le niveau
de dfense (S(L)) est infrieur au niveau de risque (R) envoy par
l'IDS, la qualit de service du systme est nulle. Nous calculons
l'utilisation de la tche Ti en tenant compte de Ci,e(`),
l'utilisation du systme, ne pouvant pas (pour rappel) dpasser une
certaine borne d'utilisation (B), par exemple 100% pour EDF
(Earliest Deadline First) sinon le systme n'est plus ordonnanable.
3.2.3 L'algorithme d'ajustement de la qualit de service Un
algorithme hors-ligne (algorithme 1) calcule premirement la qualit
de service optimale pour chaque tche Ti utiliser en fonction de la
longueur de la cl L et d'une fonction gi. En effet, chaque tche Ti
possde une fonction gi : ui -* qi qui associe un facteur
d'utilisation ui un certain niveau de qualit de service qi, le but
de l'algorithme tant de choisir le niveau de qualit de service
adquat en tenant compte du facteur d'utilisation impos par la mise
en place de la scurit. Nous allons dtailler dans cette section cet
algorithme repris de [9]. Description de l'algorithme L'algorithme
retourne donc un tableau Q_List[e][i] qui reprsente la QoS optimale
choisir pour la tche Ti lorsque la cl est utilise. Les tapes qui
suivent sont excutes pour chaque longueur de cl de manire fournir
les diffrentes lignes Q_List[e] du tableau. Etape 1 : Pour chaque
tche, on calcule l'aide de gi et selon la longueur de la cl,
l'enveloppe convexe des diffrentes paires < Utilisation, QoS>
pour tous les niveaux discrets de QoS (voir figure 3.3). Le but
tant de slectionner les points sur gi garantissant une qualit de
service maximum avec un facteur d'utilisation minimum.
FIG. 3.3 - Exemple de fonction gi et enveloppe convexe Cela
permet d'enlever les paires < uij, qij > qui ne sont
clairement pas optimales, o j est le niveau de QoS et uij est le
facteur d'utilisation requis pour la tche Ti avec ce niveauj de QoS
et avec la cl . Il nous reste alors par exemple (figure 3.3) un
ensemble de paires Hi = {< ui1, qi1 >, < ui3, qi3 >,
...} Etape 2 : Les ensembles Hi ?Ti sont fusionns et tris par ordre
croissant d'utilisation except les paires < ui1, qi1 > qui
correspondent la QoS minimum qui devra tre garantie l'tape 5. Le
rsultat de ce tri/fusion est la liste H_List. Etape 3 : On
initialise Q_List[e] l'ensemble vide. Entre : gi : ui ? qi pour
chaque tche Ti Sortie: Q_L ist[e][i] Pour chaque cl l (128, 192,256
bits) faire 1. Pouride1 nfaire
13 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Pour la tche Ti, calculer l'enveloppe convexe Hi={, ... , <
uij, qij >} j = L (# niveaux de QoS) Fin Pour /*Fusion trie des
enveloppes convexes de toutes les tches par ordre non-dcroissant
sur l'utilisation*/ 2.H_List?Fusion(H1-{},H2-{},...HN-{< un1,qn1
>}) 3. Q_List[e] ? 0 4.Ur ?B 5. Pouride1nfaire Si (Ur Ur) Alors
FIN Fin Si Q_List[e][id] ? H_List[i].q Ur? Ur-U Uid ? H_List[i].u
Fin Pour Fin Pour Algorithme 1: Ajustement optimal de la qualit de
service en fonction de la longueur de la cl Etape 4: Ur reprsente
tout au long de l'excution de l'algorithme l'utilisation disponible
restante, et est initialis la borne d'utilisation maximale B de la
politique d'ordonnancement utilise. Etape 5 : On va maintenant
initialiser Q_List[L] pour que le systme supporte au moins le
niveau minimum de QoS pour chaque tche avec une cl de L bits. Si
l'utilisation restante Ur est suffisante pour garantir ce niveau de
service, on fixe Q_List[L][i] = qi1 et on soustrait ui1 Ur,
autrement l'algorithme se termine par une erreur puisqu'on dpasse
la borne d'utilisation B mme avec la QoS minimum. Etape 6 : Et pour
terminer, on procde l'augmentation au maximum de la QoS de chaque
tche. Pour effectuer cela, on se base sur l'ensemble H_L ist obtenu
l'tape 2. On slectionne la premire tche Tid = H_List[i].id, c.--d.
celle qui possde la plus faible utilisation. On calcule le facteur
d'utilisation supplmentaire U ncessaire pour augmenter le niveau de
QoS de Tid. Si celui-ci ne dpasse pas Ur, on augmente le niveau de
QoS la valeur H_List[i].q et on soustrait U l'utilisation restante
Ur. On passe l'lment suivant dans H_List jusqu' ce que Ur soit
insuffisant pour augmenter encore la QoS d'une tche. La longueur
des cls et le niveau de qualit de service sont ajusts en ligne
l'aide du tableau Q_L ist[L][i] fourni par l'algorithme excut
hors-ligne. L'IDS envoie priodiquement le niveau de risque courant
R, si R> S(l), on passe
14 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
une cl L' > L de faon ce que S(L') = R, ensuite la qualit de
service des tches Ti est diminue selon Q_List[L'][i] de manire ne
rater aucune chance. 3.2.4 Conclusion Nous remarquons qu'un grand
intrt de cet algorithme est que la modification en ligne de la
qualit de service pour ajuster le temps d'excution se fait avec une
complexit constante (O(1)) grce au prcalcul effectu hors-ligne par
l'algorithme 1. La complexit de l'algorithme 1 se calcule par
rapport au nombre des diffrentes tailles de cls possibles (K, ici K
= 3), au nombre de niveau de QoS (L) et au nombre de tches (n). On
excute K fois le tri-fusion de L. n paires < Utilisation, QoS
>. La complexit du tri-fusion tant de O(nlogn), la complexit de
l'algorithme hors-ligne est donc de O(K. Ln. log Ln) qui peut se
rduire O(nlogn) tant donn que K est constant (128, 192 ou 256 bits)
tout comme le nombre de niveaux de qualit de service (L). Nous
allons maintenant analyser la faon dont d'autres auteurs voient le
problme, ne se basant plus sur la longueur des cls mais en
utilisant diffrents niveaux de scurit, qu'ils dterminent soit par
diffrents algorithmes cryptographiques, soit en rajoutant diffrents
services selon le temps disponible et l'importance des tches. 3.3
Ordonnancement dynamique bas sur des niveaux de scurit Tao Xie,
dans son tude [27] expose une technique qui tablit certains niveaux
de scurit . Les niveaux de scurit sont dfinis comme tant une
combinaison du transport de l'information sur le rseau, des
garanties sur le chiffrement de cette dernire et de
l'authentification du client. Les niveaux choisis dans [27] qui se
basent sur diffrents modes fournis par le protocole de scurit SSL (
Secure Sockets Layers ) sont: 1. Routage uniquement 2. Routage +
chiffrement 3. Routage+SSL 4. Routage + SSL (avec chiffrement de
l'information) 5. Routage + SSL (avec authentification du client)
6. Routage + SSL (avec chiffrement de l'information +
authentification du client) Plus le niveau de scurit augmente, plus
le temps supplmentaire ncessaire pour tablir la scurit est
important. Chaque tche possde comme paramtre, en plus de son
chance, un domaine de scurit, c.--d. une borne infrieure et
suprieure, qui sont les valeurs minimales et maximales admises
comme niveau de scurit de cette tche. A leur arrive, les tches sont
prises en charge par un contrleur d'admission, qui fixe le niveau
de scurit et dcide si oui ou non la tche peut tre excute. Le
contrleur de scurit entre alors en jeu. Il augmente le plus
possible le niveau de scurit de chaque tche dans la file des tches
acceptes en respectant deux contraintes, augmenter le niveau de
scurit ne doit pas: 1. empcher la tche de respecter son chance; 2.
ni provoquer l'jection d'une tche ayant dj t accepte. Il choisira
de faon optimale le niveau de scurit parmi les valeurs dans le
15 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
domaine de scurit de la tche. EDF ordonnancera ensuite les
tches, en prenant la tche au sommet de la queue, c.--d. la tche
ayant l'chance la plus proche. Le schma de fonctionnement de cette
mthode et les structures utilises sont reprsents sur la figure
3.4.
FIG. 3.4 - Schma reprsentant l'architecture et les structures
utilises La notion de Success Ratio (SR) est tablie. SR est dfini
comme tant le rapport entre le nombre de tches acceptes (Na) par le
contrleur d'admission et le nombre de tches reues (Nr). Na SR
=(3.4) Nr Le but tant de maximiser SR tout en maximisant la valeur
en scurit du systme, il compare 4 algorithmes utilisant tous EDF
comme politique d'ordonnancement: EDF_MINS : le plus petit niveau
de scurit spcifi par la tche est automet donc d'obtenir la plus
importante proportion de tches respectant leur chance (SR) mais il
nglige la scurit. EDF_MAXS : Le contrleur d'admission choisit le
plus haut niveau de scurit spcifi dans les paramtres de la tche (Si
max). Ce qui garantit au contraire, un niveau de scurit maximum au
dtriment du SR. EDF_RNDS : qui est une autre faon de voir le
problme, en prenant le niveau de scurit au hasard entre les deux
bornes. Ce qui implique un SR et un niveau de scurit global se
situant entre celui de EDF_MINS et EDF_MAXS. EDF_OPTS : a t mis au
point pour pallier le manque d'optimalit de EDF_RNDS. Il trouve un
quilibre entre le niveau de scurit et le SR. Ce dernier est de peu
infrieur au SR utilis avec EDF_MINS mais la qualit de la scurit en
est fortement amliore. 3.3.1 Conclusion Malheureusement, cette
technique autorise certaines tches ne pas tre acceptes cause d'une
augmentation de la scurit sur d'autres tches, c'est ce qu'on
appelle des systmes temps rel souples (soft real-time). Nous
souhaitons plutt nous intresser ici des systmes qui tentent
d'atteindre un niveau maximum de scurit sans rejeter de tches,
c'est pourquoi nous ne rentrons pas dans le dtail de l'optimisation
apporte par l'algorithme EDF_OPTS, le lecteur intress par cette
mthode peut consulter [27]. Cette mthode nous permet d'approcher la
notion de niveau de scurit que l'on retrouve dans les diffrents
travaux analyss dans ce chapitre. La section suivante tablit les
niveaux de scurit en fonction de l'algorithme utilis, nous
analyserons cette mthode et nous donnerons notre opinion sur la
pertinence d'un tel choix. 3.4 Mthode SASES Nous allons donc
maintenant prsenter une technique tudie dans [26], appele SASES
(Security-Aware Scheduling for Embedded Systems).
16 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Cet algorithme tente de fournir une bonne scurit au systme tout
en tenant compte cette fois de l'importance du respect de toutes
les chances (systme temps rel strict). 3.4.1 Modlisation Nous nous
concentrerons sur l'tude de tches temps rel priodiques qui sont
indpendantes l'une de l'autre et nous supposerons que les tches
sont chance sur requte et dpart simultan. Donc le systme sera
ordonnanable par une politique d'ordonnancement EDF si la
contrainte U 1 est satisfaite (voir chapitre 2). Nous utilisons ici
trois services de scurit : 1. L'authentification ; 2. La
confidentialit; 3. L'intgrit. nous utiliserons pour dsigner ces
services respectivement les notations a,c,g. Le modle permet de
rajouter d'autres services. Les tches Chaque tche est compose d'un
ensemble de paramtres, Ti = (Ci, Pi, Li, Si, Wi): Ci : son pire
temps d'excution (worst-case execution time), sans tenir compte de
la scurit; Pi : sa priode; Li : la taille des donnes protger pour
chaque travail, exprime en Ko; Si : un ensemble de bornes
dfinissant le niveau de scurit minimum et maximum fournir Ti pour
les diffrents services de scurit. Wi: un vecteur ~wa i , wc i , wg
] contenant les poids des diffrents services k les i uns par
rapport aux autres. Ces poids sont attribus par l'utilisateur selon
l'importance de la scurit de ces services pour la tche.X
wki = 1 et wki ? [0,1]
k?{a,c,i} La taille des donnes Il n'est pas prcis dans [26]
comment Li est fix mais nous supposons que l'utilisateur fournit le
dbit de traitement des donnes qu'il souhaite imposer pour chaque
tche Ti. Nous noterons par Debi ce dbit exprim en Ko/s. Il est
alors possible par la formule 3.5 de calculer la taille des donnes
traiter pour chaque travail de la tche Ti. La quantit de donnes que
nous noterons Li exprime en Ko se calcule en fonction de la priode
Pi exprime en nombre de tics d'horloge du processeur. Pi Li = Debi
(3.5) #tics/ s Niveaux de scurit Chaque service possde une borne
infrieure et suprieure pour le niveau de scurit. ] , [sg
17 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Si = (Sa i , Sc i , Sg i ) = ([sa ] , [sc i min, sa i min, sc i
min, sg ]) (3.6) i max i max i max o Sa i , Sci et Sgi dnotent
respectivement pour Ti les bornes pour le service
d'authentification, de confidentialit et d'intgrit. Le niveau de
scurit peut s'tendre de 0 1. Le but de l'ordonnanceur sera donc de
choisir le niveau de scurit si le plus appropri dans le domaine Si,
c.--d. si = (sa i , sc i , sg i ) o sk i E Sk i V k E {a, c, g}.
Temps de calcul de la scurit Posons seci, le temps d'excution
utilis pour la scurisation d'un travail de la tche Ti. Nous
calculons seci comme exprim dans 3.7. seci = X seck i (sk i ) (3.7)
k?{a,c,g} C'est donc la somme des seck i(sk i ), c.--d. la somme
des temps d'excution ncessaires pour l'application de chaque
service de scurit k en fonction du niveau de scurit choisi par
l'ordonnanceur pour chacun d'eux. La mthode pour calculer les temps
de calcul seck i (sk i ) pour chaque service de scurit est peu
dfinie dans [26]. Nous avons donc analys et critiqu la mthode d'un
autre article [25] des mmes auteurs. Dans [25], chaque niveau de
scurit correspond un algorithme cryptographique (algorithme de
chiffrement, fonction de hachage ou mthode d'authentification).
Selon ce mme travail, plus le niveau de scurit est important, plus
le dbit de traitement de l'algorithme associ ce niveau est faible
et donc le temps dpens pour appliquer la scurit sera plus
important. Par la suite, nous expliquerons pourquoi nous ne sommes
pas entirement du mme avis que l'auteur de [25]. A l'aide des tests
de performance fournis dans la librairie crypto++ [4], nous avons
calcul le dbit de diffrents algorithmes sur notre processeur, Intel
Pentium M Processor 735 - 1.7 GHz. Pour chaque service nous avons
choisi une liste d'algorithmes de manire rpartir correctement la
valeur des niveaux de scurit en nous basant sur le choix fait par
Tao Xie et Xiao Qin dans [25]. Nous allons maintenant montrer
comment est calcul le temps d'excution ncessaire pour les diffrents
services. 3.4.2 Diffrents services La confidentialit Imaginons
qu'un systme embarqu temps rel, que nous noterons SETR, veuille
transmettre une information (P) un serveur, que nous noterons CC
(centre de commande). Le service de confidentialit est
indispensable pour rendre les donnes circulant entre ce SETR et le
CC inintelligibles. Le SETR va chiffrer (voir 3.8) cette
information grce un algorithme de chiffrement (E), en utilisant la
cl de chiffrement (Ke) lui ayant t fournie par le CC pour
l'algorithme E. Afin de rduire le cot en temps, nous pouvons
supposer qu'il n'y a pas de ngociation des cls en ligne et que
l'enregistrement des cls se fait lors de la maintenance du systme.
Le chiffrement est symtrique, ce qui signifie que chaque entit
(source et destination) possde la mme cl secrte que ce soit pour
chiffrer ou dchiffrer les donnes. Un chiffrement symtrique est
utilis car il est plus rapide qu'un chiffrement asymtrique [16], ce
qui est utile dans les systmes temps rel pour diminuer le temps
d'excution requis par la mise en place de la scurit.
18 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Le cryptogramme C est alors obtenu par 3.8: C = E(P){Ke,Cpt}
(3.8) Un compteur Cpt est inclus dans le message chiffrer, il
permet d'viter une attaque par rejeu, c'est dire une attaque o
l'attaquant renvoie une copie d'un ancien message. Il est incrment
chaque message P envoy par le SETR, s'il ne l'est pas, le CC va
rejeter P. Il existe plusieurs manires de chiffrer un message.
Chaque algorithme de chiffrement correspond un niveau de scurit sc
l et possde un certain dbit de chiffrement i(scl), c.--d. la
quantit de donnes que l'algorithme ce niveau peut traiter par unit
de temps. Ce dbit dpend de la rapidit du processeur et de
l'algorithme utilis, autrement dit du niveau de scurit choisi.
Selon la quantit de donnes Li traiter dans chaque travail de la
tche Ti, on peut calculer la dure du chiffrement secc ipour un
travail de Ti grce l'quation 3.9. Li secc i = (3.9) u(sc i) o
u(sci) est une fonction qui donne le dbit i(sc l ) de l'algorithme
dont le niveau de scurit est le plus proche et sc i . Nous avons
test onze algorithmes de chiffrement diffrents. En fonction des
performances de ces diffrents algorithmes nous tablissons un niveau
de scurit sc l pour chacun d'eux qui se situe entre 0, 16 et 1, l
tant le numro de l'algorithme dans la liste 3.1. La valeur 1 est
attribue IDEA, l'algorithme le plus fort selon [25], mais possdant
aussi le dbit le plus faible (= 4,44 Ko/ms) et donc le temps
d'excution le plus important pour une mme quantit de donnes. Le
niveau de scurit des autres algorithmes est dduit de celui-ci, par
la formule 3.10. 4, 44 sc l = , 1 l 11 (3.10)ic
l Nous fournissons dans le tableau 3.1, la liste des algorithmes
de chiffrement que nous avons obtenus grce aux tests de
performance, tris en ordre croissant par rapport au niveau de
scurit avec leurs performances respectives (le dbit) et le niveau
de scurit qui en dcoule. Ils seront utiliss pour garantir la
confidentialit des donnes. Algorithmes de chiffrement Niveau de
scurit sc l Dbit u cl (en Ko/ms) Rijndael (128 bits) SEAL-3.0-BE
Salsa20 Blowfish RC6 Twofish DES Camellia (256 bits) Shacal-2 (128
bits) IDEA 0,16 0,22 0,38 0,49 0,53 0,65 0,75 0,87 0,90 1,00 27,04
19,72 11,52 9,09 8,44 6,87 5,93 5,11 4,93 4,44
TAB. 3.1 - Confidentialit - Niveaux de scurit et dbits des
algorithmes
19 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Nous remarquons que la faon dont les algorithmes sont classs est
tonnante. En effet, Xie et Qin valuent les performances d'un
algorithme cryptographique en fonction du dbit de celui-ci. Mais
d'aprs nos tests, nous observons par exemple, que le dbit de
l'algorithme Rijndael-128 bits (AES) est plus important que celui
de DES ce qui rejoint les rsultats obtenus dans [25]. AES utilisera
donc moins de temps pour le chiffrement et recevra un niveau de
scurit infrieur. Or, la valeur en scurit d'un algorithme ne dpend
pas uniquement du dbit de celui-ci mais de sa complexit et de la
longueur des cls utilises (comme nous l'avons mentionn la section
3.2.1). Le chiffrement DES, cause de la faible longueur de la cl
(56 bits), a t cass en 1999 en moins d'un jour. Rijndael quant lui,
utilise des cls de minimum 128 bits, ce qui est usuellement admis
comme tant la limite infrieure acceptable pour la taille des cls
d'un algorithme cryptographique permettant d'atteindre une scurit
satisfaisante (du moins jusqu' ce jour) [2]. Il n'est donc pas
logique de poser pour l'algorithme DES, un niveau de scurit
suprieur AES. Lorsqu'on dispose de plus de temps lors de
l'ordonnancement, on passerait un algorithme moins performant aussi
bien en terme de dbit que de rsistance aux attaques. Nous allons
nanmoins continuer expliquer l'ide expose dans cette tude. Elle
pourrait tre intressante appliquer en dfinissant autrement les
niveaux de scurit. Il est possible de dfinir le niveau de scurit
par rapport la longueur des cls en utilisant le mme algorithme pour
les diffrents niveaux de scurit, ce qui rduirait la quantit de
ressources ncessaires pour implmenter ces diffrents algorithmes
dans le systme embarqu. Citons par exemple, l'ide expose dans [10],
qui est d'utiliser les variantes 128, 192, 256 bits d'AES.
L'intgrit Le service d'intgrit sert garantir que les donnes n'ont
pas t modifies entre le SETR et le CC. Le temps d'excutionsecg i
ncessaire pour ajouter le contrle d'intgrit au temps normal
d'excution est calcul dans [25] partir d'un tableau fournissant les
dbits de diffrentes fonctions de hachage de la mme manire que pour
le service de confidentialit (par l'quation 3.11). Li secg i =
(3.11) (sgi) Nous avons calcul le dbit de neuf fonctions de hachage
diffrentes (voir tableau 3.2) et avons ensuite tabli un niveau de
scurit pour chacune de celles-ci par rapport leurs performances
dans la mesure o plus le hachage est long, plus la scurit est
renforce mais le dbit de traitement est plus faible. Le calcul du
niveau de scurit des diffrentes fonctions s'effectue de manire
analogue au service de confidentialit, nous comparons grce la
formule 3.12 les diffrentes fonctions de hachage par rapport aux
performances de SHA-256 (possdant le plus faible dbit : 8,98 Ko/ms)
dont le niveau de scurit est fix 1. Le niveau de scurit sgl varie
entre 0, 05 et 1. si l = 8, 98 , 1 = l = 9 (3.12)ui
l A nouveau, l'auteur suppose qu'une fonction de hachage dont le
temps de calcul est plus important (plus faible dbit), sera de
meilleure qualit, ce qui est probable mais n'est pas prouv. Nous
n'avons pas trouv de contre-exemple comme nous l'avons fait avec
AES par rapport DES dans le cadre de la confidentialit.
20 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Remarque: On ne peut garantir l'intgrit des donnes en appliquant
uniquement sur celles-ci une simple fonction de hachage sens unique
sans cl comme une des fonctions du tableau 3.2. Il est important de
chiffrer le message dont on dsire garantir l'intgrit avec une cl
secrte connue uniquement par le Fonctions de hachage Niveau de
scurit sg l Dbit ugl (en Ko/ms) Adler-32 CRC-32 MD5 RIPE-MD128
Tiger SHA-1 RIPE-MD160 HAVAL-5 SHA-256 0,05 0,08 0,15 0,35 0,39
0,43 0,56 0,63 1,00 170,00 117,98 58,99 25,36 22,69 20,71 16,05
14,36 8,98
TAB. 3.2 - Intgrit - Niveaux de scurit et dbits des fonctions de
hachage SETR et le CC, car autrement un attaquant pourrait modifier
le message et hacher nouveau celui-ci. Etant donn que le message
correspondra au rsultat de la fonction de hachage, il sera accept
alors que celui-ci a t modifi. On peut supposer ici que la fonction
de hachage est applique et ensuite chiffre par le service de
confidentialit. Mais si seule l'intgrit doit tre garantie, cette
mthode ne convient pas, il est prfrable d'utiliser des MAC (Message
Authentication Code) qui garantissent la fois l'authentification et
l'intgrit des donnes. L'authentification Il est indispensable de
vrifier l'authenticit des donnes circulant dans le systme, c.--d.
qu'il faut garantir que c'est bien la source concerne qui envoie
les donnes. Dans ce but, nous utilisons des codes
d'authentification de message (MAC). Le service d'authentification
est divis dans [25] en 3 classes qui utilisent chacune une mthode
d'authentification diffrente : 1. faible, nous utiliserons pour ce
niveau HMAC-MD5; 2. acceptable, avec HMAC-SHA-1; 3. forte, en
utilisant CBC-MAC-AES. Chaque classe a besoin d'un certain temps de
calcul. Ces temps sont lists dans le tableau 3.3 issu de [25], la
diffrence de niveau est calcule partir de ces temps de calcul.
Mthodes d'authentification Niveau de scurit sal Temps de calcul u
al (en ms) HMAC-MD5 HMAC-SHA-1 CBC-MAC/AES 0,55 0,91 1 ,00 90 148
163
TAB. 3.3 - Authentification - Niveaux de scurit et temps de
calcul des diffrentes mthodes On obtient secai = ual(sa i ) comme
tant le temps ncessaire pour garantir l'authenticit des donnes au
niveau sai (faible, acceptable, fort). Les services d'intgrit et
d'authentification sont spars, or un MAC garantit la fois l'intgrit
et l'authentification des donnes. Il est donc, selon nous, inutile
d'utiliser le service d'intgrit comme il est dcrit dans [25]. Il
serait prfrable de lier ces deux services en un seul.
21 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Voici comment appliquer un service qui garantit
l'authentification et l'intgrit par une mthode de type HMAC
(keyed-hash message authentication code) utilise avec une fonction
de hachage sens unique comme SHA-1 ou MD5: Aprs avoir chiffr
l'information afin d'en garantir la confidentialit, il nous faut
garantir que cette information n'a pas t modifie et provient
effectivement du SETR. Dans ce but, un code d'authentification du
message (MAC que nous noterons ici M) sera calcul et rajout la
suite du message: M= H(S|D|C|Cpt)Km (3.13) Une mthode
d'authentification (H) du tableau 3.3 est applique avec la cl Km
sur la concatnation de l'adresse de la source (S: le SETR), de la
destination (D: le CC), du message chiffr et du compteur Cpt. Nous
tenons a prciser que la cl Km doit tre choisie comme diffrente de
Ke (la cl utilise pour le chiffrement). En effet, pour des raisons
de scurit [17], il est prfrable d'utiliser des cls diffrentes pour
l'algorithme de chiffrement et la fonction de hachage. Ensuite le
SETR envoie le message crypt Msg et le rsultat du hachage du
message M vers le CC, ce transfert est donc constitu de: Message S
-* D: Msg, M (3.14) Msg = S, D, C, Cpt (3.15) Le code M garantit en
effet l'intgrit des informations transmises. Si un opposant, que
nous appellerons Oscar, intercepte et modifie le message, le CC
s'en rendra compte, moins qu'Oscar n'arrive modifier le rsultat M
produit par la fonction de hachage pour que celui-ci corresponde la
modification effectue sur Msg, ce qui voudrait dire qu'Oscar possde
la cl Km. L'authentification est galement garantie par la
connaissance de Km tant donn que l'adresse de la source et de la
destination sont intgres au code, Oscar ne peut modifier ces
adresses sans que le code M ne soit erron si celui-ci ne dispose
pas de Km. Le rcepteur du message, ici le CC calcule le code M' =
H(Msg)Km, si M' =6 M le CC va rejeter le message. Si M' = M, cela
veut dire que le message n'a pas t altr et il va donc extraire C et
le dchiffrer. Notons, que le mme algorithme peut tre utilis pour le
chiffrement et la fonction de hachage sans affecter la sret du
systme [17], ce qui peut nouveau tre intressant pour limiter la
quantit de ressources installer sur le systme embarqu. 3.4.3 Calcul
du bnfice au systme SASES utilise une fonction pour calculer le
bnfice en scurit accru par une tche Ti: >i:SLi = bi wk i sk
(3.16) k?{a,c,i} i
o bi = Pi P , c.--d. le nombre de travaux de cette tche que l'on
peut ordonnancer jusqu' l'hyperpriode P, wki est le poids spcifi
par l'utilisateur pour le service k de la tche Ti et sk i est le
niveau de scurit du ke service qui est identique pour tous les
travaux de la tche. L'ordonnancement est faisable si: - les niveaux
de scurit respectent les bornes 3.18; - les chances dij= j. Pi sont
toutes respectes. Cela est le cas si les tches sont planifies avec
une politique d'ordonnancement EDF et que le facteur d'utilisation
U < 1 (cf. quation 3.19), suivant l'hypothse selon laquelle les
tches sont priodiques et chance sur requte. Cela revient dire que
la somme des rapports entre le temps d'excution total (temps
ncessaire pour la scurisation seci ajout au temps d'excution
22 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
normal Ci) et la priode Pi de chaque tche n'est pas suprieur
100%. Le problme peut donc s'crire comme une maximisation d'un
niveau de scurit global (SV), tant la somme des niveaux de scurit
des n tches formant le systme: maximisation de SV = >.n SLi =
>.n >.bi wkisk i (3.17) i=1 i=1 k?{a,c,i} condition que
min(Sk i ) sk i max(Sk i ) (3.18)>. n
[]
etque U=
i=1 Ci + > k?{a,c,i} seck i (sk i ) 1. (3.19) Pi
3.4.4 L'algorithme SASES Nous allons montrer maintenant comment,
partir des caractristiques des tches (Ci, Pi, Li, Si), le niveau de
scurit est augment le plus possible en tenant compte du poids wki
de la scurit de chaque service de celles-ci. Nous avons repris
l'ide de l'algorithme prsent dans [26] en le modifiant quelque peu
pour le rendre plus comprhensible (voir algorithme 2). Description
de l'algorithme 1. Premirement les niveaux de scurit de tous les
services pour chaque tche sont initialiss leurs valeurs minimales.
2. Une structure EnsembleServices contient tous les services qui
doivent encore tre traits, chaque service est reprsent par le numro
de la tche et le service de scurit concern (a = authentification, c
= confidentialit, g =intgrit). 3. Si l'utilisation (dfinie en 3.19)
est suprieure 1 le systme n'est pas ordonnanable mme avec le
minimum de scurit. 4. On slectionne le service de scurit k' de la
tche i' qui possde le poidswk'
i'le plus important et qui consomme le moins de temps en
l'augmentant d'un niveau de scurit (sk' i' ). 5. Si le fait
d'augmenter le niveau de scurit de ce service de sk' i' ne lui fait
pas dpasser son niveau maximal de scurit et que le systme reste
ordonnanable avec cette augmentation (U 1), on augmente le niveau
de celui-ci, autrement on retire sk' i' de EnsembleServices de faon
ce qu'il ne soit plus choisi l'tape 4. 6. L'algorithme prend fin
lorsque l'ensemble des services est vide, c.--d. lorsque tous les
services de chaque tche auront t traits. EnsembleServices ? o
Pouride1 nfaire Pour chaque k E {a, c, g} faire } sk i ? min {Sk
i
23 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
EnsembleServices ? EnsembleServices u {i, k} Fin Pour Fin Pour
Si ( 2n [Ci+>1k?{a,c,g} seck i (sk Pi < 1) Alors i )] i=1
Tant que (EnsembleServices =6 o) faire Choisir {i', k'} dans
EnsembleServices tel que:wk'
i' sk' i' / [seck' i' (sk' i' + sk' i' ) - seck' i' (sk' i' )] i
)] } = maxiE[1,n], kEa,c,g {wk i sk i / [seck i (sk i + sk i ) -
seck i (sk } Si (sk' i' + sk' i' < max {Sk' i' ET 2n [Ci+>1
k?{a,c,i} seck Pi < 1 avec sk' i (sk i )] i' = sk' i' + sk' i' )
Alors i=1 //On augmente le niveau de scuritsk'
i'? sk' i' + sk' i' Sinon
24 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
EnsembleServices ? EnsembleServices \ {i', k'} //de faon ne plus
en tenir compte dans le choix Fin Si Fait Sinon //pas ordonnanable
avec le niveau de scurit le plus bas Fin Si Algorithme 2:
Algorithme SASES 3.4.5 Conclusion Nous avons prsent dans cette
section l'algorithme SASES permettant de slectionner un ensemble de
moyens cryptographiques pour scuriser les donnes de chaque tche
tout en respectant leurs chances. L'algorithme que nous exposerons
dans la section suivante est une autre faon de choisir les services
les plus appropris de manire plus efficace que le parcours effectu
par l'algorithme SASES. 3.5 Mthode en graphe de services 3.5.1
Modlisation Man Lin et Laurence T.Yang dans leur tude [12],
reprsentent chaque principe de scurit par un groupe de services.
Par exemple, il y aura un groupe pour les diffrentes mthodes
d'authentification, un autre pour les algorithmes de chiffrement,.
. . Ces diffrentes mthodes seront ici appeles services . De la mme
manire que dans l'algorithme SASES, chaque groupe i possde un
certain poids Wi par rapport aux autres, et dans chacun des Ng
groupes, les services ont une certaine qualit, autrement dit une
valeur qui leur est propre. Nous noterons Qij, la qualit du service
j dans le groupe i. Les services sont reprsents comme tant les
noeuds d'un graphe, le noeud < i,j > reprsentant le service j
du groupe i. Bien entendu, un seul service maximum dans chaque
groupe peut-tre slectionn la fois de manire former un ensemble de
services qui seront utiliss pour scuriser le systme, nous
appellerons cet ensemble un chemin. Dans la figure 3.5, un exemple
de chemin P = {< 1,1 >; ; } est reprsent en gris.
FIG. 3.5 - Reprsentation du chemin P Les services sont classs
par ordre dcroissant par rapport leur qualit (par exemple: Q1,1
> Q1,2). Nous noterons secik le temps ncessaire la scurisation
de la tche Ti par le service slectionn dans le groupe k. Lorsque la
qualit d'un groupe est diminue, secik sera moins important
galement, ce qui permet donc d'ajuster la qualit de service pour
respecter les chances. La vrification du respect des chances se
fait sur base de la condition d'ordonnanabilit ncessaire et
suffisante impose par EDF, selon laquelle la somme des facteurs
d'utilisation des n tches dont est compos le systme doit tre
infrieur 100% (voir quation 3.20).Xn i=1
Ci + PNg k=1secik = 1 (3.20) Pi
25 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Nous tenons compte dans le calcul du facteur d'utilisation, du
temps d'excution normal Ci et de la mise en place de la scurit pour
chaque groupe. Le but est de slectionner dans chaque groupe, le
service qui permettra de maximiser la qualit globale Q(P) du chemin
P tout en respectant les chances. Q(P)= XNg Qi (3.21) i=1 De plus,
la qualit Qi (la valeur inscrite dans le noeud) d'un groupe doit
tre suprieure une borne infrieure Min Qi, la qualit minimale
accepte pour chaque groupe de services. Qi> Min Qi (3.22) 3.5.2
Recherche dans le graphe Il est propos dans [12], une mthode de
recherche par un parcours de graphe en profondeur ( depth-first )
qui permet de choisir les meilleurs services permettant de garantir
que le systme soit toujours ordonnanable en utilisant ceux-ci. La
recherche est amliore afin de ne pas devoir tester toutes les
possibilits de manire exhaustive. Nous allons prsenter maintenant
ces amliorations du parcours du graphe. En effet, il existe trois
moyens d'laguer le graphe afin de restreindre l'espace de
recherche: 1. Premirement, sont supprims dans chaque groupe i, les
services qui ne respectent pas la contrainte de qualit minimale
acceptable, soit les noeuds < i,j> tels que Qij < MinQi
(voir figure 3.6). 2. En parcourant ensuite le graphe par un
parcours en profondeur, si un chemin n'est pas faisable (voir
figure 3.7[b]), c.--d. s'il ne respecte pas la contrainte
d'ordonnanabilit 3.20, on sait que l'ordonnanabilit ne sera
FIG. 3.6 - Elagage par rapport la valeur minimale de qualit de
service pas non plus respecte avec un chemin plus long form par le
mme prfixe, on peut donc laguer les chemins ([d], [e] et [f]). On
continue alors le parcours en profondeur comme s'il n'y avait pas
de noeuds fils (voir [c]), la qualit de service du groupe courant
est donc baisse, autrement dit on passe directement au noeud
suivant dans le groupe, sans tre descendu dans le graphe.
FIG. 3.7 - Elagage en fonction du test de faisabilit 3. Il est
encore possible de supprimer des branches en vitant d'analyser des
chemins qui ne donneront pas une meilleure qualit de service. Soit
un chemin P de longueur Ng faisable, avec une qualit de service
Q(P) accrue par celui-ci. - On remarque que diminuer la qualit du
dernier groupe Ng sur P ne mnera pas une augmentation de Q(P) (dans
l'exemple prsent la
26 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
figure 3.8 Ng = 4). On poursuit alors le parcours en profondeur
en remontant au niveau (groupe) Ng - 1 et en diminuant la qualit de
service ce niveau (voir figure 3.8[a']) pour tester nouveau le
niveau Ng par aprs. - Lorsque la qualit Qi de tous les niveaux i
entre L et Ng est au maximum et que le chemin est faisable, on peut
directement remonter au niveau L - 2 et continuer le parcours pour
essayer de trouver un meilleur chemin. Dans la figure 3.8, sont
reprsents 3 exemples de chemins faisables ([a], [b] et [c]) et les
chemins analyss respectivement juste aprs ceux-ci ([a'], [b'],
[c']) dans l'ordre du parcours en profondeur du graphe. Pour [c],
la recherche se termine car il n'y a plus moyen d'augmenter la
qualit de service.
FIG. 3.8 - Elagage en fonction de la qualit de service 3.5.3
Conclusion : Comparaison avec SASES Remarquons que contrairement
l'algorithme SASES, cette mthode attribue le mme algorithme
cryptographique (service) dans un groupe pour toutes les tches.
Cela rend le calcul plus rapide mais est selon nous moins
performant au niveau de la valeur en scurit du systme tant donn que
lorsque l'algorithme augmente la scurit de toutes les tches en mme
temps, il est probable que le systme ne soit plus ordonnanable et
donc qu'on doive baisser le niveau de scurit de toute les tches de
manire ne rater aucune chance. Cela n'aurait sans doute pas t le
cas en modifiant la qualit de service tche par tche. Malgr sa
complexit suprieure, SASES permet une granularit plus importante au
niveau de la scurit et est donc selon nous plus appropri ce problme
d'optimisation de la scurit. 3.6 Conclusion Nous avons dans ce
chapitre dvelopp plusieurs mthodes existantes dans la littrature
permettant de choisir le meilleur moyen de scuriser le systme, nous
avons dcrit les algorithmes utiliss, les points forts et les points
faibles de ces diffrentes techniques. Comme nous l'avons fait
remarquer dans ce chapitre, le fait d'tablir le niveau de scurit
par rapport au dbit des algorithmes n'est pas adapt, il serait
prfrable de garder le mme algorithme et de faire varier la taille
de la cl ou le nombre de tours de l'algorithme cryptographique
selon le temps disponible de manire reprsenter la valeur en scurit
comme une volution de la scurit en fonction du temps et d'attribuer
une rcompense cette volution. Nous nous sommes donc intresss plus
particulirement aux travaux de H. Aydin [3] qui a dvelopp une
mthode qui attribue une rcompense selon un supplment de temps
d'excution de manire profiter au maximum du temps disponible pour
excuter une partie optionnelle qui sera dans notre cas destine la
scurit. Le reste de ce mmoire sera consacr cette mthode (chapitre
4) et la faon dont nous avons implment celle-ci (chapitre 5) de
manire en valuer les performances.
Chapitre 4
27 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Rcompense et scurit4.1 Introduction Comme nous l'avons dfini au
chapitre 2, chaque tche dans un systme temps rel doit se terminer
avant une certaine chance en produisant le rsultat attendu. Si le
systme n'est pas ordonnanable, il faudra alors choisir des parties
qui resteront non excutes de faon ce que toutes les tches
respectent leur chance. Le systme peut ne plus tre ordonnanable
suite une demande de prcision trop fine du rsultat, par exemple,
lors du raffinement de la qualit d'une image ou pour citer notre
cas, si le niveau de scurit attribu aux diffrentes tches est trop
important. La communaut de recherche dans ce domaine, a mis au
point plusieurs techniques. Nous pouvons par exemple sauter [11]
entirement certains travaux d'une tche donne suivant un facteur de
saut qui dtermine combien de travaux sur un certain nombre de
travaux de cette tche peuvent tre abandonns par l'algorithme
d'ordonnancement. Mais nous supposons dans ce cas, que les donnes
produites par une tche qui n'a pas t excute entirement ne sont
d'aucune utilit. Or, dans de nombreux secteurs comme le traitement
d'images, de la voix, le contrle de robot, et bien d'autres encore,
une solution partielle est souvent suffisante. Pour rsoudre notre
problme de scurit, nous pourrions galement utiliser de telles
techniques qui peuvent nous apporter en un temps acceptable, une
scurit partielle mais suffisante. 4.2 Reward-Based Scheduling 4.2.1
Introduction Ce chapitre est bas sur les travaux de H. Aydin [3].
Nous n'envisagerons dans cette section que le cas des tches
priodiques avec un systme temps rel chance sur requte. Oi ? mi +
tij
Mi mi + oi 0 mi Ti FIG. 4.1 - Partie obligatoire et optionnelle
d'un travail 'i-ij de la tche Ti Comme son nom l'indique, le
principe de cet ordonnancement est d'associer une rcompense
l'excution d'une tche. Chaque tche Ti peut tre dcompose en une
sous-tche (partie) obligatoire (Mi) et une sous-tche optionnelle
(Oi) (voir figure 4.1). La longueur de la partie obligatoire de
chaque travail de Ti sera note mi et oi dsignera la longueur
maximum que peut prendre la partie optionnelle d'un travail de Ti.
Il est primordial que la partie obligatoire se termine avant
l'chance, et nous attribuerons l'excution de la partie optionnelle
une fonction de rcompense non-dcroissante. Ce type de technique est
bas sur les modles IRIS [5] ( Increasing Reward with Increasing
Service ), ce qui signifie en reprenant notre cas, que plus un
28 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
travail s'excutera longtemps, plus la qualit de la scurit s'en
verra amliore et donc plus la rcompense sera importante. Dans le
modle IRIS, la distinction entre partie obligatoire et optionnelle
n'est pas faite, on permet uniquement aux tches d'obtenir une
augmentation de la rcompense en fonction de l'allongement du temps
d'excution sans imposer de borne suprieure pour celui-ci excepte
bien entendu l'chance de la tche. De manire ne pas continuer
scuriser une tche au-del d'un certain niveau de scurit maximum, ce
qui risquerait de nous empcher de scuriser les autres tches
efficacement, nous remarquons qu'il serait prfrable dans le cadre
de la scurit, d'utiliser galement une borne suprieure pour le temps
d'excution de la partie optionnelle, ce qui est possible avec cette
version Reward Based Scheduling . Nous allons donner priorit la
partie obligatoire, la partie optionnelle sera ensuite excute en
utilisant le temps restant avant l'chance si la partie obligatoire
courante d'aucune tche n'est encore prsente dans le systme.
Conditions d'ordonnanabilit et d'optimalit Un niveau minimum de
scurit sera impos et sera pris en compte dans la partie
obligatoire. Une condition ncessaire pour l'ordonnanabilit du
systme est que les parties obligatoires et optionnelles se
terminent toutes avant l'chance de manire fournir une sortie
minimale acceptable. Mais il faudra galement essayer de maximiser
le plus possible la moyenne pondre des rcompenses obtenues par les
diffrentes tches afin de rendre cet ordonnancement optimal.
Malheureusement, ces deux objectifs sont la plupart du temps
antagonistes tant donn que si l'on dsire respecter les chances, il
faut gnralement sacrifier en partie la sous-tche optionnelle et
donc la rcompense s'en verra diminue. 4.2.2 Une fonction de
rcompense Chaque tche se voit attribuer une fonction de rcompense
qui sera utilise pour tous ses travaux. L'abscisse reprsente le
temps d'excution utilis par la partie optionnelle du travail,
l'ordonne retourne la rcompense obtenue avec ce temps. Plusieurs
types de fonctions de rcompense sont modlisables selon le type
d'application qui nous intresse. Types de fonctions: Convexe:
Dfinition fonction convexe [23]: Une fonction f d'un intervalle I
vers < est dite convexe si, V x ety E I et tout t dans [0, 1] on
a: f(tx + (1 - t) y) = t f(x) + (1 - t) f(y). De manire gomtrique,
cela correspond un graphe dont la partie bombe est tourne vers le
bas (ex : f(x) = x2). Il en dcoule que, plus le traitement est
important, plus la faon dont la rcompense augmente sera importante.
Concave: Dfinition fonction concave [23]: On dit que la fonction f
est concave si la fonction oppose est convexe. Cela quivaut : V x
et y E I et tout t dans [0,1] on a: f(tx + (1 - t) y) = t f(x) + (1
- t) f(y). De manire gomtrique, la partie bombe est tourne vers le
haut, donc la partie la plus importante est situe au dbut de
l'excution, c'est ce moment que la rcompense augmentera le plus
rapidement, ce qui est par exemple surtout trs utile dans le
traitement d'images, o l'amlioration de la qualit est importante au
dbut et faible par la suite. Linaire : (qui sont des cas
particuliers de fonctions concaves et convexes) la
29 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
rcompense optionnelle.
augmente
uniformment
pendant
l'excution
de
la
partie
Choix du type de fonction FEISTEL propose en 1973 [15], les
paramtres et principes de base pour construire un bon algorithme de
chiffrement. Parmi ceux-ci, on retrouve la taille des blocs, la
taille de la cl, le nombre de tours dans l'algorithme, la complexit
d'un tour et la complexit de gnration des sous-cls pour chaque
tour. Augmenter ces paramtres lve la scurit mais diminue la vitesse
de chiffrement. Il pourrait donc tre intressant d'augmenter ceux-ci
lorsque l'ordonnancement le permet. Nous choisirons ici d'utiliser
des fonctions convexes qui se rvlent tre intressantes pour modliser
la valeur en scurit d'un systme en fonction du temps dpens pour
mettre celle-ci en place. En effet, comme nous l'avons vu au
chapitre 3, la valeur en scurit d'un systme dpend de la dif~cult
casser cette scurit. Plus la longueur de la cl utilise pour le
chiffrement est importante, plus une recherche exhaustive sur
l'ensemble des cls consommera du temps avant de trouver la cl
correcte. En rajoutant 1 bit la cl l, l'espace de toutes les cls
possibles et donc le temps mis par une attaque exhaustive sont
multiplis par deux. Soit une rcompense de 2 pour une cl de 1 bit,
la rcompense vaudra donc 2l pour une cl de l bits, o la rcompense
reprsente le nombre de cls tester au pire cas. Il reste donc
calculer le temps de chiffrement en fonction de la longueur de la
cl et de la taille des donnes chiffrer. A l'aide de la librairie
crypto++ [4], nous avons calcul la dure de chiffrement d'une
quantit de donnes de 1Mo avec les trois variantes officielles d'AES
(voir tableau 4.1). Il est malheureusement impossible de modifier
la longueur de la cl bit bit car l'algorithme n'a pas t prvu pour
cela la base : le nombre de tour, la taille des cls et la taille
des blocs sont dpendants les uns des autres. Longueur des cls Temps
de chiffrement (en ms) pour 1 Mo de donnes Ri]ndael / 128 bits
Ri]ndael / 192 bits Ri] ndael / 256 bits 38,16 41,93 46,31
TAB. 4.1 - Calcul de la dure de chiffrement selon la longueur de
la cl Sur la figure 4.2 est reprsente graphiquement l'volution de
la valeur en scurit du systme en fonction du temps obtenu partir du
tableau 4.1. L'amlioration de la scurit est si importante que sur
le graphique, la diffrence de rcompense n'tait plus faite entre la
version 128 et 192 bits par rapport la version 256 bits, nous avons
donc opt pour un graphique l'chelle semilogarithmique. Nous
obtenons bien une fonction convexe exponentielle pour reprsenter
l'volution de la rcompense en fonction du temps.
FIG. 4.2 - Valeur en scurit du systme en fonction du temps 4.2.3
Modlisation du systme Nous considrons un ensemble S de n tches
priodiques: T1, T2,..., T n de priode Pi V i E [1, n] chance sur
requte et dpart simultan. L'ordonnancement sera test jusqu'
l'hyperpriode P (dfinie dans la chapitre 2), ce qui signifie que
sur l'intervalle [O, P), chaque tche Ti enverra bi = Pi P
30 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
travaux. Dans ce modle, chaque tche est donc constitue de bi
travaux, nous nous rfrons au je travail de Ti par ij. Ici, nous
supposerons que les tches sont toutes indpendantes l'une de l'autre
et prtes l'instant t = O. Lorsque l'excution de la partie
obligatoire Mi est acheve, la partie optionnelle devient disponible
pour l'excution et s'excute aussi longtemps que l'ordonnanceur le
permet avant l'chance. 4.2.4 Calcul de la rcompense moyenne du
systme Comme nous l'avons dit dans la section 4.2.2, nous allons
associer une fonction de rcompense la partie optionnelle, que nous
noterons Ri(tij) et qui retournera la rcompense accrue par le
travail ij lorsqu'il reoit tij units d'excution au del de sa partie
obligatoire. {fi(tij) si O = tij = oi Ri(tij) = (4.1) fi(oi) sinon,
O fi est une fonction relle continue positive non-dcroissante et oi
reprsente la longueur maximale de la partie optionnelle. mi+oi
reprsente dans notre cas le temps maximum ncessaire pour scuriser
compltement les informations. Au del de ce seuil (tij> oi), la
rcompense ne sera plus augmente (voir quation 4.1) et la priorit
sera alors donne un travail qui n'a pas encore suffisamment scuris
ses informations. La rcompense moyenne de Ti sera dfinie comme: P
bi j=1 Ri(tij) REWi = , (4.2) bi C'est--dire, la moyenne des
rcompenses accrues par chaque travail de la tche jusqu'
l'hyperpriode (= P = ppcm{P1, P2, ... Pn}), bi tant le nombre de
fois que l'on peut placer la priode de la tche Ti dans cet
intervalle (= bi = Pi P ). Pour calculer la moyenne pondre de la
rcompense (REWW), nous additionnons les rcompenses REWi de chaque
tche Ti laquelle nous associerons un certain poids selon
l'importance de la partie optionnelle de la tche (voir quation
4.3). Nous intgrerons par la suite ce poids directement dans la
fonction fi(tij) sous forme d'un coefficient ki. REWW = Xn wiREWi,
(4.3) i=1 4.2.5 Approche Mandatory-First (parties obligatoires
d'abord) Dans cette approche, le principe est comme nous l'avons
mentionn plus haut, de donner priorit aux parties obligatoires.
Nous n'excuterons les parties optionnelles que si la partie
obligatoire de chaque tche a t compltement excute. Diverses
techniques utilisant l'approche Mandatory-First existent. Nous
pouvons les classer en approches statiques ou dynamiques.
Utilisation avec une mthode statique Il existe plusieurs mthodes
statiques, nous pouvons citer parmi celles-ci Rate Monotonic et
Least Utilization . Soit l'ordonnanceur donne une plus haute
priorit : - aux parties optionnelles de la tche ayant la plus
petite priode, cette mthode est appele Rate Monotonic (RM),
31 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
- soit en utilisant une mthode Least Utilization (LU) qui
assigne les priorits statiquement aux parties optionnelles selon
leur facteur d'utilisation (calcul par: (oi - mi)/Pi). Les tches
possdant un facteur d'utilisation plus faible reoivent une priorit
plus importante [6]. Utilisation avec une mthode dynamique Best
Incremental Return (BIR) est une des meilleures mthodes dynamiques
car chaque unit de temps, l'algorithme slectionne la partie Oi qui
augmente le plus la rcompense en faisant le calcul fi(tij+ ) -
fi(tij), o est la dure minimum que l'ordonnanceur attribuera une
tche optionnelle. La fonction qui fournit la plus grande diffrence
est lue et la tche associe cette fonction peut excuter sa partie
optionnelle. BIR est la mthode la plus ef~cace en terme de
rcompense mais est trs gourmande en calcul et n'est donc pas
utilise en pratique except comme talon, pour comparer les
performances d'autres algorithmes dans les simulations. De plus,
BIR n'est pas optimal tant donn qu'il ne tient pas compte du temps
restant avant les chances. Nous pouvons citer d'autres mthodes
d'ordonnancement dynamiques telles Earliest Deadline First (EDF)
qui donne une priorit plus importante l'excution des parties
optionnelles de la tche ayant l'chance la plus proche ou Least
Laxity First (LLF) qui slectionne un des travaux rij prt l'instant
courant t dont la laxit ij(t) est la plus faible. La laxit se
calcule par la formule 4.4. ij(t) = dij(t) - remij(t) (4.4) o
dij(t) est le temps restant avant l'chance du travail rij et
remij(t) est le temps d'excution restant de celui-ci calcul
l'instant t. Un travail qui a une chance proche et qui a encore un
temps important d'excution devant lui est donc plus facilement
slectionn par LLF. Least Attained Time (LAT) est une mthode
intressante dans le cas de fonctions concaves car elle donne une
plus grande priorit aux parties optionnelles des tches ayant utilis
le moins de temps processeur (priorit = 1/tij), ce qui permet
d'quilibrer le temps d'excution des parties optionnelles. Rsultats
de simulations Dans son tude [3] sur le Reward-Based Scheduling ,
H. Aydin a effectu des tests sur ces diffrentes mthodes et a
constat que: - Plus l'utilisation du systme par les parties
obligatoires augmente, plus l'cart s'accentue entre la rcompense
accrue par l'algorithme optimal et celle accrue par les mthodes
voques plus haut (statiques ou dynamiques) utilises avec une
approche Mandatory-First. Cela s'explique par le fait que ces
mthodes perdent des occasions d'excuter des parties optionnelles
avantageuses au niveau de la rcompense en favorisant constamment
les parties obligatoires. Nous reviendrons de manire plus dtaille
sur l'algorithme optimal par aprs. - La rcompense accumule par une
mthode LAT se rapproche plus de la mthode BIR lorsque les fonctions
de rcompense sont concaves. Comme LAT, des fonctions concaves
favorisent des temps d'excution quilibrs pour les parties
optionnelles. - L'cart entre la mthode optimale et les approches
Mandatory-First est moins important lorsque les tches possdent des
fonctions linaires de rcompense. En effet, les approches Mandatory
First perdent des occasions d'excuter des premiers slots valables
de parties optionnelles. Or, l'excution d'un premier slot de partie
optionnelle est plus important si la fonction est concave vu que
c'est ce moment que la rcompense augmente le plus. Exemple
d'ordonnancement
32 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
Schmatisons un exemple bas sur un cas d'cole afin de montrer les
limites d'un algorithme Mandatory-First. Considrons deux tches o
P1=4, m1=1, o1=1, P2=8, m2=3 et o2=5 avec des fonctions de
rcompenses f1(t1) = k1t1 pour T1 et f2(t2) = k2t2 pour T2, k1 et k2
tant donc les coefficients dans les fonctions linaires de rcompense
de T1 et T2 respectivement. Nous supposerons que k2 est ngligeable
par rapport k1 (c.--d. k1 k2). Avec une approche Mandatory-First
nous obtenons donc l'ordonnancement reprsent dans la figure 4.3.
Nous observons que quelle que soit l'assignation de priorit
(statique ou dynamique) utilise dans cet exemple avec l'approche
Mandatory-First, le processeur sera occup dans cet exemple par les
parties obligatoires jusqu' l'instant t = 5. Sur l'intervalle
inoccup [5, 8] l'algorithme choisira de planifier O1 compltement
(soit une unit) tant donn qu'il fournit une plus grande rcompense
que O2. Le temps restant (2 units) sera consacr O2. Un algorithme
optimal produirait cependant l'ordonnancement reproduit sur la
figure 4.4. L'excution de M2 est retarde d'une unit afin de
permettre l'ordonnancement de O1 sur la premire priode de T1, ce
qui nous fournirait une plus grande rcompense que celle fournie par
l'excution d'une unit supplmentaire de O2 et les chances des
parties obligatoires sont toujours respectes. Comme k1 k2, on peut
conclure que la rcompense accrue par l'algorithme Mandatory-First
ne peut valoir qu'environ la moiti de celle accrue par l'algorithme
optimal. M1 oo M1
O1 1456
T1 O2 o 68 M2 14 T2 FIG. 4.3 - Ordonnancement gnr par un
algorithme Mandatory-First T1 T2 12 456 M2 24
33 sur 94
17/05/2012 17:32
Memoire Online - Securite dans les systmes temps reel - Thomas
Vande...
http://www.memoireonline.com/12/08/1700/Securite-dans-les-systemes...
FIG. 4.4 - Ordonnancement gnr par