Laboratoire Bordelais de Recherche en Informatique Réunion Technique CESTI Équipe : Systèmes et Objets Distribués Le projet TM “Java Card Grid” Damien Sauveron [email protected] http:/www.labri.fr/~sauveron/ 24 mai 2004 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Présentation des grilles de calculs Grille : ensemble de machines interconnectées. Principe : Partager de GROS calculs entre plusieurs machines. Utilisateurs : Organismes de la défense, CEA, laboratoires de recherche et universités, ... Domaine d’utilisation : Cryptographie, physique des particules, bio-informatique, observation de la terre, ... Un des problèmes important : La sécurité ! Damien Sauveron [email protected] Page 2 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Quelques projets utilisant la grille Décrypton Damien Sauveron [email protected] Page 3 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Seti@home But : Recherche de signaux extra-terrestres. Damien Sauveron [email protected] Page 4 Laboratoire Bordelais de Recherche en Informatique Seti@home Équipe : Systèmes et Objets Distribués Les calculs L’utilisateur télécharge un screensaver puis les données. Damien Sauveron [email protected] Page 5 Laboratoire Bordelais de Recherche en Informatique Seti@home Équipe : Systèmes et Objets Distribués Les résultats Nous ne sommes PAS SEULS dans l’univers ? SI ! =⇒ Il s’agit de résultats truqués ! :-( Damien Sauveron [email protected] Page 6 Laboratoire Bordelais de Recherche en Informatique Seti@home Équipe : Systèmes et Objets Distribués Les problèmes Côté Seti@home : ☞ Les résultats positifs ou négatifs ne sont pas sûr. =⇒ solution : Faire calculer les mêmes données plusieurs fois par différents utilisateurs Côté utilisateur final : ☞ Code source non disponible. =⇒ éviter les faux résultats. ☞ Que fait le code sur la machine de l’utilisateur ? Damien Sauveron [email protected] Page 7 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Objectifs : ☞ Garantir la sécurité du code et des calculs sur la grille. ☞ Proposer un framework logiciel exploitant du matériel sécurisé pour assurer la confiance des utilisateurs. Avantages pour : ➤ les utilisateurs du distributed computing : une plus grande confiance dans le fournisseur des ressources de calculs ; ➤ les fournisseurs des ressources de calculs : accroı̂tre son marché avec des nouveaux clients comme le CEA, ... Damien Sauveron [email protected] Page 8 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Java Card fournit la Pull Security Pull Security (resource provider) : le fait d’être sûr que quand vous téléchargez un programme sur le réseau, il ne sera pas dangereux ni pour votre machine ni pour les autres codes qui tournent dessus ☞ Approche Sand box : Firewall (JCRE) + verifier Java Card (JCVM) Damien Sauveron [email protected] Page 9 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Java Card fournit la Push Security Push Security (grid user) : le fait d’être sûr que quand vous installez un programme sur une ressource de calcul du réseau, le code restera confidentiel et ne sera espionné par personne. ☞ Firewall (JCRE) Damien Sauveron [email protected] Page 10 Laboratoire Bordelais de Recherche en Informatique Le projet “Java Cards Grid” Équipe : Systèmes et Objets Distribués Notre proposition Untrusted Environment Grid of Java Cards = Trusted Env. Customer Environment Grid of Java Cards = Trusted Env. PC/SC Secure channel Physical links NETWORK Damien Sauveron [email protected] Page 11 Laboratoire Bordelais de Recherche en Informatique Le projet “Java Cards Grid” Équipe : Systèmes et Objets Distribués La plate-forme logicielle Software Framework A distributed JVM or JVMs communicating over the network JPC/SC JPC/SC JPC/SC PC/SC PC/SC PC/SC Station with many readers Station with many readers Station with many readers Damien Sauveron [email protected] Page 12 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” PC/SC PC/SC Reader’s driver Applet Application layer : APDU Transport layer TPDU Transport layer (e.g. TLP) (e.g. T=0 or T=1) Java Card Operating System Reader Hardware layer Physical layer (e.g. serial port or USB) (e.g. serial or USB) Physical layer (e.g. contact or contactless) Chip Fig. 1 – The PC/SC solution PC/SC est un standard qui fournit : ☞ coté utilisateur une API de haut niveau pour dialoguer avec les lecteurs de carte à puce ; ☞ coté lecteur une interface à implémenter. Damien Sauveron [email protected] Page 13 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” La réalisation Damien Sauveron [email protected] Page 14 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Avantages de la plate-forme ☞ Peu coûteux : 1500 euros pour toute la plate-forme. ☞ Sécurité intégrée. ☞ Langage de programmation et runtime identiques sur toute la plate-forme : Java. ☞ Tests faciles de certaines caractéristiques (e.g. mobilité). Damien Sauveron [email protected] Page 15 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Première démonstration Damien Sauveron [email protected] Page 16 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Quelques benchmarks 9 Java Card onto Fujitsu mb94r215b (FRAM) 122 min 9 GemXpresso Pro R3 E32PK 202 min 9 JCOP31bio 253 min 9 GemXpresso Pro R3 64PK 376 min 9 SmartC@fé Expert 389 min Tab. 1 – Benchmarks sans secure channel Scalabilité en cours d’expérimentation. 1 Java Card onto Fujitsu mb94r215b (FRAM) =⇒ 18heures = 9 ∗ 120min Damien Sauveron [email protected] Page 17 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Les partenaires Sponsors IBM BlueZ Secure Systems Supports Damien Sauveron [email protected] Page 18 Laboratoire Bordelais de Recherche en Informatique Équipe : Systèmes et Objets Distribués Le projet “Java Cards Grid” Résultats et perspectives ☞ 1 papier élu meilleur article de la session Computer and Systems Security CCCT’03. ☞ 1 poster présenté à Cartes 2003. ☞ 2 applications de démo. ☞ 1 papier en cours. ☞ 2 thèses en préparation (début septembre 2004). Damien Sauveron [email protected] Page 19