Upload
others
View
17
Download
0
Embed Size (px)
Citation preview
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
CRYPTOPAGE : une architecture efficacecombinant chiffrement, integrite et protection
contre les fuites d’information
Guillaume DUC
ENST Bretagne
Journees des doctorants17/10/2006
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 1 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Plan de la presentation
1 Introduction
2 CRYPTOPAGE
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
3 Resultats et performances
4 Conclusion
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 2 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Plan
1 Introduction
2 CRYPTOPAGE
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
3 Resultats et performances
4 Conclusion
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 3 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
These
Sujet
Support materiel, logiciel et cryptographique pour uneexecution securisee de processus
Question
Pourquoi vouloir executer des processus (programmes) defacon securisee ?
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 4 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Grilles de calcul
Idee : executer des applications sur un grand nombred’ordinateurs distribues (les nœuds de la grille)
Nombreux projets grand public (Seti@home,Folding@home, etc.) et grand interet des entreprises etdes centres de recherche (GRID’5000)Mais problemes de securite possibles au niveau desnœuds :
Divulgation des algorithmes (IP)Divulgation des resultats (IP)Production de faux resultats
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 5 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Grilles de calcul
Idee : executer des applications sur un grand nombred’ordinateurs distribues (les nœuds de la grille)
Nombreux projets grand public (Seti@home,Folding@home, etc.) et grand interet des entreprises etdes centres de recherche (GRID’5000)Mais problemes de securite possibles au niveau desnœuds :
Divulgation des algorithmes (IP)Divulgation des resultats (IP)Production de faux resultats
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 5 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Grilles de calcul
Idee : executer des applications sur un grand nombred’ordinateurs distribues (les nœuds de la grille)
Nombreux projets grand public (Seti@home,Folding@home, etc.) et grand interet des entreprises etdes centres de recherche (GRID’5000)Mais problemes de securite possibles au niveau desnœuds :
Divulgation des algorithmes (IP)Divulgation des resultats (IP)Production de faux resultats
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 5 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Grilles de calcul
Idee : executer des applications sur un grand nombred’ordinateurs distribues (les nœuds de la grille)
Nombreux projets grand public (Seti@home,Folding@home, etc.) et grand interet des entreprises etdes centres de recherche (GRID’5000)Mais problemes de securite possibles au niveau desnœuds :
Divulgation des algorithmes (IP)Divulgation des resultats (IP)Production de faux resultats
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 5 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Grilles de calcul
Idee : executer des applications sur un grand nombred’ordinateurs distribues (les nœuds de la grille)
Nombreux projets grand public (Seti@home,Folding@home, etc.) et grand interet des entreprises etdes centres de recherche (GRID’5000)Mais problemes de securite possibles au niveau desnœuds :
Divulgation des algorithmes (IP)Divulgation des resultats (IP)Production de faux resultats
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 5 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Autres applications
Code mobile securise
Gestion des droits sur les œuvres numeriques (DRM)
Application en ligne (e-voting, e-banking, e-gaming, etc.)
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 6 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Autres applications
Code mobile securise
Gestion des droits sur les œuvres numeriques (DRM)
Application en ligne (e-voting, e-banking, e-gaming, etc.)
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 6 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemples de besoin
Autres applications
Code mobile securise
Gestion des droits sur les œuvres numeriques (DRM)
Application en ligne (e-voting, e-banking, e-gaming, etc.)
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 6 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
These
Sujet
Support materiel, logiciel et cryptographique pour uneexecution securisee de processus
Question
Pourquoi une solution purement logicielle est-elle insuffisante ?
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 7 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultatspour eviter l’injection de faux resultats dans l’applicationglobale
L’application emporte donc une cle secrete
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’applicationet produire de faux resultats
Necessite de mecanismes de securite au niveau materiel
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 8 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultatspour eviter l’injection de faux resultats dans l’applicationglobale
L’application emporte donc une cle secrete
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’applicationet produire de faux resultats
Necessite de mecanismes de securite au niveau materiel
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 8 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultatspour eviter l’injection de faux resultats dans l’applicationglobale
L’application emporte donc une cle secrete
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’applicationet produire de faux resultats
Necessite de mecanismes de securite au niveau materiel
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 8 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultatspour eviter l’injection de faux resultats dans l’applicationglobale
L’application emporte donc une cle secrete
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’applicationet produire de faux resultats
Necessite de mecanismes de securite au niveau materiel
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 8 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
These
Sujet
Support materiel, logiciel et cryptographique pour uneexecution securisee de processus
Necessite d’adaptation des logiciels
Utilisation intensive d’algorithmes et de protocolescryptographiques
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 9 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
These
Effectue
Premiere annee : ameliorations architecture, impacts surl’OS et sur les applications
Deuxieme annee : integrite memoire nouvellearchitecture materielle plus efficace
A venir
Troisieme annee : probleme du rejeu global, validation desschemas cryptographiques utilises
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 10 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Plan
1 Introduction
2 CRYPTOPAGE
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
3 Resultats et performances
4 Conclusion
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 11 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Objectifs
Concevoir une architecture garantissant deux proprietesaux processus securises :
Propriete de Confidentialite : un attaquant doit pouvoirobtenir le moins d’information possible sur le code ou lesdonnees d’un processusPropriete d’Integrite : bonne execution d’un processus nonalterable par attaque sauf denis de service
Execution des processus securises en parallele avecd’autres processus, securises ou non
Tout est sous controle total d’un attaquant (OS, memoire,etc.), excepte le processeur
Garder des performances raisonnables
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 12 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Mecanismes
Trois mecanismes a mettre en place :Chiffrement memoireProtection de l’integrite memoireProtection contre les fuites d’information
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 13 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fuites d’information sur le bus d’adresse
Utilisation du chiffrement memoire par de nombreusesarchitectures securisees (CRYPTOPAGE, XOM, AEGIS, etc.)
Cependant, bus d’adresse non modifie (parfois chiffre)
Possibilite de voir les motifs d’acces memoire
Zhuang et al. : Identification possible de certainsalgorithmes utilises par l’application malgre le chiffrementdes instructions et des donnees
Violation de la propriete de confidentialite. . .
Infrastructure HIDE pour minimiser ces fuites
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 14 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement sans HIDE
11
22
33
44
55
Memoire
Cache
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 15 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement sans HIDE
11
22
33
44
55
Memoire
1
Cache
1
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 16 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement sans HIDE
11
22
33
44
55
Memoire
1
2
Cache
1 2
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 17 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement sans HIDE
11
22
33
44
55
Memoire
2
3
Cache
1 2 3
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 18 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement sans HIDE
11
22
33
44
55
Memoire
3
1
Cache
1 2 3 1
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 19 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
11
22
33
44
55
Memoire
Cache
Hide buffer
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 20 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
11
22
33
44
55
Memoire
1 L
Cache
Hide buffer
1
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 21 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
11
22
33
44
55
Memoire
1 L
2 L
Cache
Hide buffer
1 2
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 22 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
11
22
33
44
55
Memoire
1 L
2 L
Cache345
Hide buffer
1 2
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 23 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
15
24
31
43
52
Memoire
1
2
Cache
Hide buffer
1 2
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 24 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
15
24
31
43
52
Memoire
2
3 L
Cache
Hide buffer
1 2 P 4
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 25 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement avec HIDE
15
24
31
43
52
Memoire
3 L
1 L
Cache
Hide buffer
1 2 P 4 3
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 26 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Le probleme : Attaques par rejeu
Peut etre le probleme le plus difficile a resoudre
Rejouer la valeur prise par une variable dans le passe
for(i = 0 ; i < TAILLE ; i++)
affiche(*p++) ;
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 27 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Fonctionnement
Utilisation de valeurs d’authentification locales (MAC)
Protection des informations sur les pages memoire via unarbre de hachage (MERKLE)Avantages :
Verification des MAC tres rapideArbre de hachage beaucoup plus petit et verifications peufrequentes
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 28 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Ecriture d’une ligne (ex. CBC-MAC)
Rc,p a
AESKm
H(0)a,c
C(0)a,c
AESKm
H(1)a,c
C(1)a,c
AESKm
H(2)a,c
H(2)a,c
CBC-MACLigne chiffree
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 29 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Lecture d’une ligne (ex. CBC-MAC)
Rc,p a
AESKm
H(0)a,c
C(0)a,c
AESKm
H(1)a,c
C(1)a,c
AESKm
H(2)a,c
H(2)a,c
= Resultatd’integrite
CBC-MACLigne chiffree
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 30 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Principes
Utilisation du mode compteur avec compteur choisialeatoirement a chaque permutation
Avantage : compteur disponible avant chaque accesmemoire et donc possibilite de calculer les informationsnecessaires au dechiffrement en parallele a l’accesmemoire
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 31 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Ecriture d’une ligne
R′
c,p a 0
AESKe
PAD(0)a,c
L(0)a,c
C(0)a,c
R′
c,p a 1
AESKe
PAD(1)a,c
L(1)a,c
C(1)a,c H(2)
a,cLigne chiffree
Mode compteur
Ligne
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 32 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
Lecture d’une ligne
R′
c,p a 0
AESKe
PAD(0)a,c
L(0)a,c
C(0)a,c
R′
c,p a 1
AESKe
PAD(1)a,c
L(1)a,c
C(1)a,c H(2)
a,cLigne chiffree
Mode compteur
Ligne dechiffree
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 33 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Plan
1 Introduction
2 CRYPTOPAGE
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
3 Resultats et performances
4 Conclusion
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 34 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Simulations
Modification du simulateur de micro-architectureSimpleScalar pour simuler CRYPTOPAGE
Utilisation des programmes etalons SPEC2000intexecutes par SimpleScalar pour obtenir des mesuresprecises (. . . ) de performance
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 35 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Comparaison avec HIDE
0
0.2
0.4
0.6
0.8
1
twol
f
bzip
2
vort
ex
gap
perlb
mk
pars
er
mcf
gcc
vpr
gzip
Nor
mal
ized
IPC
2.22 0.99 2.37 0.37 0.97 0.67 1.76 1.00 1.95 0.88
HIDE CP/HIDE CP/HIDE Lazy 512
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 36 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Plan
1 Introduction
2 CRYPTOPAGE
ObjectifsProtection contre les fuites d’informationIntegrite memoireChiffrement
3 Resultats et performances
4 Conclusion
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 37 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Conclusion
Performances de l’architecture tres bonnes (surcout 3 %en moyenne), comparees aux autres architectures(penalite de 20 % rien que pour l’integrite memoire)
Nouvelle architecture offrant chiffrement memoire,protection integrite memoire et protection contre fuitesd’informations sur bus d’adresses et donnees
Pas besoin d’OS de confiance
Permet calcul distribue enfin securise (projet ANR/ARA
SSIA SAFESCALE)
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 38 / 39
IntroductionCRYPTOPAGE
Resultats et performancesConclusion
Travaux futurs
Extensions des mecanismes proposes a des systemesmulti-processeurs et a des processeurs multi-cœurs
Linux adaptee a derniere version de CRYPTOPAGE
Certification d’execution
Gestion de la virtualisation des machines
Rajout de mecanisme anti-rejeu absolu via memoirepermanente a acces restreint
Message non subliminal
Des sujets de stage de master recherche et des sujets dethese disponibles sur ces thematiques...
G. DUC (ENST Bretagne) CRYPTOPAGE JD 17/10/2006 39 / 39