Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
des données. D’autres principes plus<br />
efficaces pourraient être mis en place<br />
au niveau logiciel.<br />
Morcellement des clés<br />
La première solution proposée consiste<br />
à morceler les clés en RAM. Cette solution<br />
empêche l’utilisation de aeskeyfind, qui<br />
effectue des recherches sur des blocs<br />
de 128, 256 bits contigus. Les clés étant<br />
morcelées, il n’est plus possible d’effectuer<br />
cette analyse. Prenons le cas ou l’on<br />
fragmente les clés octet par octet. On aurait<br />
donc 64 morceaux (2 clés de 256 bits)<br />
à disperser. Le principe est le suivant :<br />
lorsque l’on veut accéder en lecture ou en<br />
écriture à un fichier, le FDE va rassembler<br />
la clé en RAM et effectuer l’opération<br />
de chiffrement ou de déchiffrement. Une<br />
fois terminé, les clés seront à nouveau<br />
dispersées. La Figure 8 illustre le principe<br />
de morcellement avec une clé coupée<br />
en quatre parties. La partie supérieure du<br />
schéma représente la répartition en RAM de<br />
chaque bloc avant et après chaque étapes.<br />
Ce mode de fonctionnement donne la<br />
possibilité d’attaquer les clés lorsqu’elles<br />
sont rassemblées en RAM, surtout lors<br />
d'opérations sur des fichiers volumineux.<br />
Mais quels sont les impacts sur les<br />
performances? Nous allons mesurer de<br />
manière qualitative les conséquences<br />
de cette approche au niveau des<br />
performances sur un disque de données<br />
et un disque système. Les mesures ont<br />
été réalisées avec l’outil procmon de<br />
Sysinternals (cf. Figure 9).<br />
1 er cas : Disque de données<br />
Un disque contenant uniquement des<br />
données a été monitoré pendant trente<br />
Figure 10. Algorithme de génération des<br />
clés leurres<br />
Listing 5. Implémentation partielle du camouflage de clés<br />
minutes, en étant utilisé normalement<br />
(modification de fichier txt et visualisation<br />
d’images). Il en ressort que durant ces trente<br />
minutes, 32000 opérations ont été faites<br />
sur les fichiers ce qui représente un temps<br />
d’exécution de 42,3s soit 2,4% du temps<br />
total. Par conséquent si on morcelle les clés<br />
à la fin de chaque opération, on diminue le<br />
temps d'exposition à l’attaque de 97,6%. Ce<br />
résultat est à modérer en fonction du niveau<br />
d’utilisation du disque. Car le recours à des<br />
programmes utilisant beaucoup de fichiers,<br />
on obtiendra un résultat moins performant.<br />
2 ème cas : Disque système<br />
Cette fois un disque contenant Windows<br />
XP a été monitoré pendant 30 minutes. Ce<br />
qui représente 170000 opérations ayant un<br />
temps d’exécution de 232s, c'est-à-dire 12,9%<br />
du temps de l’analyse. Bien que ce résultat<br />
ne soit pas surprenant, on remarque que<br />
l’utilisation du morcellement de clé est moins<br />
avantageux que dans le cas précédent.<br />
Une autre conséquence de ce<br />
système est la dégradation des<br />
performances, car à chaque accès<br />
disque, il faudra rassembler les clés<br />
et les morceler ensuite. Cela entraînera<br />
fatalement une diminution des perfor-<br />
LA RAM<br />
//Generating decoy keys<br />
int nbKey=(100000-2)/2;<br />
clock_t start,end;<br />
start = clock ();<br />
unsigned char eltSecret[64] = {0x01,0x54,0x33,0xe1,0x99,<br />
0x9b,0xa6,0x5d,<br />
0x80,0x6e,0x2d,0x2b,0xbd,0x6a,0x10,0x34,<br />
0x3c,0xab,0x8a,0x95,0xab,0x49,0xe4,0x2d,<br />
0xd7,0x00,0x6e,0x78,0x0a,0xfe,0xc1,0x3c,<br />
0xdf,0xea,0x30,0x67,0xdb,0x77,0x30,0x64,<br />
0xf3,0xc2,0x29,0x9d,0x8e,0xbc,0x10,0xfd,<br />
0x57,0xb4,0x14,0x0a,0x57,0x0c,0x25,0x6b,<br />
0x53,0xde,0xfc,0x56,0x23,0x12,0x51,0x09};<br />
unsigned char hash[nbKey][64];<br />
sha512(hash[0],eltSecret,64);<br />
for(int i=1;i