Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
IntroductionL’architecture CryptoPage
Conclusion
Support materiel, logiciel et cryptographique pour
une execution securisee de processus
Guillaume Duc
These dirigee par Jacques Stern (Ens Ulm)et encadree par Ronan Keryell (Enst Bretagne)
Journees des doctorants 2005
G. Duc (ENST Bretagne) CryptoPage JD 2005 1 / 24
IntroductionL’architecture CryptoPage
Conclusion
Plan de la presentation
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 2 / 24
IntroductionL’architecture CryptoPage
Conclusion
Plan
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 3 / 24
IntroductionL’architecture CryptoPage
Conclusion
These
Sujet
Support materiel, logiciel et cryptographique pour une executionsecurisee de processus
Question
Pourquoi vouloir executer des processus (programmes) de faconsecurisee ?
G. Duc (ENST Bretagne) CryptoPage JD 2005 4 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple 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 et des centres derecherche (Grid’5000)
Mais problemes de securite possibles au niveau des nœuds :
Divulgation des algorithmesDivulgation des resultatsProduction de faux resultats
G. Duc (ENST Bretagne) CryptoPage JD 2005 5 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple 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 et des centres derecherche (Grid’5000)
Mais problemes de securite possibles au niveau des nœuds :
Divulgation des algorithmesDivulgation des resultatsProduction de faux resultats
G. Duc (ENST Bretagne) CryptoPage JD 2005 5 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple 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 et des centres derecherche (Grid’5000)
Mais problemes de securite possibles au niveau des nœuds :
Divulgation des algorithmesDivulgation des resultatsProduction de faux resultats
G. Duc (ENST Bretagne) CryptoPage JD 2005 5 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple 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 et des centres derecherche (Grid’5000)
Mais problemes de securite possibles au niveau des nœuds :
Divulgation des algorithmesDivulgation des resultatsProduction de faux resultats
G. Duc (ENST Bretagne) CryptoPage JD 2005 5 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple 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 et des centres derecherche (Grid’5000)
Mais problemes de securite possibles au niveau des nœuds :
Divulgation des algorithmesDivulgation des resultatsProduction de faux resultats
G. Duc (ENST Bretagne) CryptoPage JD 2005 5 / 24
IntroductionL’architecture CryptoPage
Conclusion
These
Sujet
Support materiel, logiciel et cryptographique pour une executionsecurisee de processus
Pourquoi une solution purement logicielle est-elle insuffisante ?
G. Duc (ENST Bretagne) CryptoPage JD 2005 6 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultats poureviter l’injection de faux resultats dans l’application globale
L’application emporte donc une cle secrete permettant designer les resultats
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’application etproduire de faux resultats
à Necessite de mecanismes de securite au niveau materiel
G. Duc (ENST Bretagne) CryptoPage JD 2005 7 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultats poureviter l’injection de faux resultats dans l’application globale
L’application emporte donc une cle secrete permettant designer les resultats
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’application etproduire de faux resultats
à Necessite de mecanismes de securite au niveau materiel
G. Duc (ENST Bretagne) CryptoPage JD 2005 7 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultats poureviter l’injection de faux resultats dans l’application globale
L’application emporte donc une cle secrete permettant designer les resultats
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’application etproduire de faux resultats
à Necessite de mecanismes de securite au niveau materiel
G. Duc (ENST Bretagne) CryptoPage JD 2005 7 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple de solution logicielle
Grilles de calcul
Idee : le programme signe numeriquement ses resultats poureviter l’injection de faux resultats dans l’application globale
L’application emporte donc une cle secrete permettant designer les resultats
Mais, la cle est en clair dans le code de l’application
Donc n’importe qui peut se faire passer pour l’application etproduire de faux resultats
à Necessite de mecanismes de securite au niveau materiel
G. Duc (ENST Bretagne) CryptoPage JD 2005 7 / 24
IntroductionL’architecture CryptoPage
Conclusion
Exemple de materiel securise — Java Card Grid
à Performances. . .
G. Duc (ENST Bretagne) CryptoPage JD 2005 8 / 24
IntroductionL’architecture CryptoPage
Conclusion
These
Sujet
Support materiel, logiciel et cryptographique pour une executionsecurisee de processus
Necessite d’adaptation des logiciels
Utilisation intensive d’algorithmes et de protocolescryptographiques
G. Duc (ENST Bretagne) CryptoPage JD 2005 9 / 24
IntroductionL’architecture CryptoPage
Conclusion
Autres applications
Code mobile securise
Gestion des droits sur les œuvres numeriques
Application en ligne (e-voting, e-banking, e-gaming, etc.)
G. Duc (ENST Bretagne) CryptoPage JD 2005 10 / 24
IntroductionL’architecture CryptoPage
Conclusion
Autres applications
Code mobile securise
Gestion des droits sur les œuvres numeriques
Application en ligne (e-voting, e-banking, e-gaming, etc.)
G. Duc (ENST Bretagne) CryptoPage JD 2005 10 / 24
IntroductionL’architecture CryptoPage
Conclusion
Autres applications
Code mobile securise
Gestion des droits sur les œuvres numeriques
Application en ligne (e-voting, e-banking, e-gaming, etc.)
G. Duc (ENST Bretagne) CryptoPage JD 2005 10 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Plan
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 11 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Plan
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 12 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite de CryptoPage
Architecture materielle permettant l’execution de processussecurises :
Confidentialite : un attaquant doit pouvoir obtenir le moinsd’information possible sur le code ou les donneesIntegrite : la bonne execution d’un processus ne peut pas etrealteree par une attaque
En parallele avec des processus (securises ou non)
Avec un systeme d’exploitation non securise (mais adapte aCryptoPage)
G. Duc (ENST Bretagne) CryptoPage JD 2005 13 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite de CryptoPage
Architecture materielle permettant l’execution de processussecurises :
Confidentialite : un attaquant doit pouvoir obtenir le moinsd’information possible sur le code ou les donneesIntegrite : la bonne execution d’un processus ne peut pas etrealteree par une attaque
En parallele avec des processus (securises ou non)
Avec un systeme d’exploitation non securise (mais adapte aCryptoPage)
G. Duc (ENST Bretagne) CryptoPage JD 2005 13 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite de CryptoPage
Architecture materielle permettant l’execution de processussecurises :
Confidentialite : un attaquant doit pouvoir obtenir le moinsd’information possible sur le code ou les donneesIntegrite : la bonne execution d’un processus ne peut pas etrealteree par une attaque
En parallele avec des processus (securises ou non)
Avec un systeme d’exploitation non securise (mais adapte aCryptoPage)
G. Duc (ENST Bretagne) CryptoPage JD 2005 13 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite de CryptoPage
Architecture materielle permettant l’execution de processussecurises :
Confidentialite : un attaquant doit pouvoir obtenir le moinsd’information possible sur le code ou les donneesIntegrite : la bonne execution d’un processus ne peut pas etrealteree par une attaque
En parallele avec des processus (securises ou non)
Avec un systeme d’exploitation non securise (mais adapte aCryptoPage)
G. Duc (ENST Bretagne) CryptoPage JD 2005 13 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite CryptoPage
Tout ce qui est a l’exterieur du processeur est considerecomme etant sous le controle d’un attaquant potentiel
Attaques physiques contre le processeur non etudiees ici(injection de fautes, attaques par mesure de consommation,etc.)
Attaques par deni de service inevitables
. . . Garder des performances raisonnables
Differents compromis securite performance (zone lectureseule, zone lecture-ecriture, zone en clair, . . . )
G. Duc (ENST Bretagne) CryptoPage JD 2005 14 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite CryptoPage
Tout ce qui est a l’exterieur du processeur est considerecomme etant sous le controle d’un attaquant potentiel
Attaques physiques contre le processeur non etudiees ici(injection de fautes, attaques par mesure de consommation,etc.)
Attaques par deni de service inevitables
. . . Garder des performances raisonnables
Differents compromis securite performance (zone lectureseule, zone lecture-ecriture, zone en clair, . . . )
G. Duc (ENST Bretagne) CryptoPage JD 2005 14 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite CryptoPage
Tout ce qui est a l’exterieur du processeur est considerecomme etant sous le controle d’un attaquant potentiel
Attaques physiques contre le processeur non etudiees ici(injection de fautes, attaques par mesure de consommation,etc.)
Attaques par deni de service inevitables
. . . Garder des performances raisonnables
Differents compromis securite performance (zone lectureseule, zone lecture-ecriture, zone en clair, . . . )
G. Duc (ENST Bretagne) CryptoPage JD 2005 14 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite CryptoPage
Tout ce qui est a l’exterieur du processeur est considerecomme etant sous le controle d’un attaquant potentiel
Attaques physiques contre le processeur non etudiees ici(injection de fautes, attaques par mesure de consommation,etc.)
Attaques par deni de service inevitables
. . . Garder des performances raisonnables
Differents compromis securite performance (zone lectureseule, zone lecture-ecriture, zone en clair, . . . )
G. Duc (ENST Bretagne) CryptoPage JD 2005 14 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Objectifs de securite CryptoPage
Tout ce qui est a l’exterieur du processeur est considerecomme etant sous le controle d’un attaquant potentiel
Attaques physiques contre le processeur non etudiees ici(injection de fautes, attaques par mesure de consommation,etc.)
Attaques par deni de service inevitables
. . . Garder des performances raisonnables
Differents compromis securite performance (zone lectureseule, zone lecture-ecriture, zone en clair, . . . )
G. Duc (ENST Bretagne) CryptoPage JD 2005 14 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Plan
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 15 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Survol de l’architecture CryptoPage
Puce
Cœur duprocesseur
mmu
Unite CryptoPage
Cle secrete
Registres
de controle
Tampons
de contexte
Cache
Donnees
Cache
Instructions
EKd,pid
EKi,pid
Verification
integriteMemoire
G. Duc (ENST Bretagne) CryptoPage JD 2005 16 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Propriete de Confidentialite
Chiffrement donnees et instructions des processus securises
Utilisation algorithme de chiffrement symetrique par blocDeux cles par processus securiseEffectue entre le cache et la memoire sur des lignes de cache
Si interruption : chiffrement puis effacement du contextemateriel du processus securise en cours
G. Duc (ENST Bretagne) CryptoPage JD 2005 17 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Propriete de Confidentialite
Chiffrement donnees et instructions des processus securises
Utilisation algorithme de chiffrement symetrique par blocDeux cles par processus securiseEffectue entre le cache et la memoire sur des lignes de cache
Si interruption : chiffrement puis effacement du contextemateriel du processus securise en cours
G. Duc (ENST Bretagne) CryptoPage JD 2005 17 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Propriete d’Integrite
Protection des donnees et des instructions : mecanisme deverification de l’integrite memoire par fonction de hachagehierarchique (arbres de Merkle)
Protection des contextes materiels : Message Authentication
Code (mac)
G. Duc (ENST Bretagne) CryptoPage JD 2005 18 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Propriete d’Integrite
Protection des donnees et des instructions : mecanisme deverification de l’integrite memoire par fonction de hachagehierarchique (arbres de Merkle)
Protection des contextes materiels : Message Authentication
Code (mac)
G. Duc (ENST Bretagne) CryptoPage JD 2005 18 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Plan
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 19 / 24
IntroductionL’architecture CryptoPage
Conclusion
ObjectifsDescription generaleTravaux similaires
Travaux similaires
Projet Tcpa / Ngscb
Puce (tpm), independante du processeur, offrant desmecanismes de securiteNoyau securise (Nexus)Objectifs de securite differents de CryptoPage
Isolation forte entre processusStockage securiseAttestations cryptographiquesChemin securises pour l’utilisateur
Vulnerable a certaines attaques (attaques physiques sur le bus)
G. Duc (ENST Bretagne) CryptoPage JD 2005 20 / 24
IntroductionL’architecture CryptoPage
Conclusion
Plan
1 Introduction
2 L’architecture CryptoPage
ObjectifsDescription generaleTravaux similaires
3 Conclusion
G. Duc (ENST Bretagne) CryptoPage JD 2005 21 / 24
IntroductionL’architecture CryptoPage
Conclusion
Simulations
Implementation partie confidentialite dans simulateur de pc
complet Bochs
Programmes fonctionnent chiffres dans Bochs avec noyauLinux 2.6.10 adapte pour tourner sur CryptoPage/x86
Bochs (100 000 lignes en tout) :
+ 800 lignes pour le cache+ 2 000 lignes pour CryptoPage/x86
Noyau Linux (plusieurs millions lignes en tout) : + 500 lignesdietlibc : + 150 lignesChiffrement des fichiers elf : 1 500 lignes
G. Duc (ENST Bretagne) CryptoPage JD 2005 22 / 24
IntroductionL’architecture CryptoPage
Conclusion
Travaux Futurs
Mesures precises de l’impact en terme de performance
Etude de la partie verification memoire
Multiprocesseurs
Adaptation des concepts de CryptoPage a un processeursparc sur fpga
G. Duc (ENST Bretagne) CryptoPage JD 2005 23 / 24
IntroductionL’architecture CryptoPage
Conclusion
Support materiel, logiciel et cryptographique pour
une execution securisee de processus
Guillaume Duc
These dirigee par Jacques Stern (Ens Ulm)et encadree par Ronan Keryell (Enst Bretagne)
Journees des doctorants 2005
G. Duc (ENST Bretagne) CryptoPage JD 2005 24 / 24