Une architecture de sécurité hiérarchique, adaptable et dynamique pour la grille Arnaud Contes.

Slides:



Advertisements
Présentations similaires
22 mai 2007 Clauvice Kenfack – Équipe MODEME
Advertisements

SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Laccès distant aux bases bibliographiques J. Gutierrez / B.Nominé – Université Nancy 2.
Introduction aux environnements répartis
Réflexivité et réseaux d’ information
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Urbanisation de Systèmes d'Information
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
DUDIN Aymeric MARINO Andrès
La politique de Sécurité
Jean-François Deverge, Sébastien Monnet
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
UML (Unified Modeling Langage)
Sélection automatique d’index et de vues matérialisées
Plateforme de gestion de données de capteurs
Etude des Technologies du Web services
Une approche pour un espace de confiance des collectivités locales.
XML-Family Web Services Description Language W.S.D.L.
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Programmation Approche composants Ing5 SI
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PRÉCISION DES RÉSULTATS
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
.Net Remoting.
Interopérabilité JOnAS - CORBA
WINDOWS Les Versions Serveurs
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Projet de Master première année 2007 / 2008
Sécurité et Vie Privée Dans les Réseaux Sociaux
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
GDS – Paris, 13 Octobre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de M2RI.
Partage de mémoire à très grande échelle sur des réseaux pair-à-pair
Expose sur « logiciel teamviewer »
Plan Définitions et exemples Composants de cluster
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction à la plateforme .NET
Plan Qu’est-ce que Windows Server 2008 ?
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Mastère Professionnel Systèmes de Communication et Réseaux
Introduction à Visual Studio C++ (VC++)
GESTION DE COMPOSANTS ELECTRONIQUES
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Module 3 : Création d'un domaine Windows 2000
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
COMPARAISON ENTRE GNUTELLA ET FREENET
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Un service de partage de données pour DIET : GDS basé sur JuxMem Mathieu Jan Projet PARIS Lyon, 5 décembre 2003.
L’enseignement de spécialité SLAM
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Web Services : WS-*. Sommaire Définition Historique Description Conclusion.
L’authentification Kerberos
04/06/2015BATOUMA Narkoy1 An OGSI CredentialManager Service ( Par:Jim Basney, Shiva Shankar Chetan, Feng Qin, Sumin Song, Xiao Tu et Marty Humphrey ) Présentation:
Les bases du protocole Modbus
Les fermes de PCs au Centre de Calcul de l’IN2P3 Journée « ferme de PCs » 27 juin 2000 Benoit Delaunay
Module 2 : Planification de l'installation de SQL Server
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Projet ALLEGRO IFLEG Développement d’outils sophistiqués pour l’apprentissage interactif des langues étrangères Treveur Bretaudière Encadrement: Guy Achard.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Transcription de la présentation:

Une architecture de sécurité hiérarchique, adaptable et dynamique pour la grille Arnaud Contes

Sommaire Contexte et objectifs Modèle de sécurité Intégration avec ProActive Conclusions et perspectives Contexte et objectifs Modèle de sécurité Intégration avec ProActive Conclusions et perspectives

Architecture d’une application Runtime = Service offert par un fournisseur Nœud = Espace d’exécution propre à une application Runtime A Runtime B Nœud 1 / app. A Nœud 2 / application A Nœud 3 / app. A Nœud 1 / app. C Nœud 1 / app. B

Déploiement sur grille de calcul Grappe A Même application, multiples déploiements Multiples politiques de sécurité Grappe B

Analyse de solutions de sécurité Legion Globus Corba EJB .NET Communications (A,I,C) + Plusieurs niveaux de Politiques - Sécurité de l’application : Développeur, administrateur Utilisateur Négociation dynamique (+) Sécurité configurable selon le déploiement

Objectifs Faciliter l’utilisation des mécanismes de sécurité par une intégration implicite au code métier de l’application Modèle de sécurité Fonctionnalités de sécurité de base (Authentification, Intégrité, Confidentialité) Prise en compte des politiques de tous les acteurs, notions de hiérarchie: machines, administration (virtuelle) Configurable par l’utilisateur Adaptable en fonction du déploiement

Sommaire Contexte et objectifs Modèle de sécurité Intégration avec ProActive Conclusions et perspectives

Problème initial Contrôle d’accès Diverses entités à sécuriser Entités appartenant à divers acteurs Nécessité d’identifier ces entités Exprimer des politiques de sécurité

Entités sécurisées Définition générique Architecture hiérarchique Objet protégé + gestionnaire de sécurité Pas de supposition faite sur l’objet protégé Architecture hiérarchique Sécurité non intrusive Pas de modification de l’objet protégé Interception des communications par objet d’interposition

Entité sécurisée - Identité Politiques de sécurité Objet Gestionnaire de sécurité - Identité Communications sécurisées Politiques de sécurité Objet protégé - Sessions (connexions aux autres entités) Communications en clair

Authentification Architecture à clé publique de type SPKI Une entité sécurisée == un certificat SPKI Clé publique/privée + identifiant Certificats égaux, peuvent générer des certificats Création de chaînes de certificats Arnaud INRIA INRIA Sophia Équipe OASIS Laurent

Certificat d’application Identifier les objets appartenant à la même application Entité 4 Arnaud Arnaud App. A Entité 2 Entité 3 App. B Entité 1 Entité 2 Entité 1 Entité 1 Approche simple Approche avec certificat d’application Création d’un contexte de sécurité par application Espace de nommage local à l’application

Domaines de sécurité Imposer une même politique de sécurité à un ensemble de runtimes Exemple : regrouper tous les ordinateurs d’une même grappe de calcul sous une même politique Un domaine est une entité sécurisée Organisation hiérarchique des domaines

Taxonomie des politiques Dn Politique des domaines Identité Politiques D0 Identité Politiques Politique de l’application Runtime Identité Politiques Noeud Identité Politiques Politiquede sécurité Objet Politique du fournisseur de ressources Identité Politiques

Langage déclaratif 1/2 -> : Interactions # Attributs Attributs : Entités sources Entités cibles -> : Interactions # Attributs Attributs : Authentification [A] Integrité [I] Confidentialité [C] Chaque attribut: Requis [+] Optionel [?] Refusé [-] Entité : Domaine Runtime Certificat d’application Noeud Objet Certificat Interactions : Requête Réponse Création Runtime Création Noeud Création d’objet

Langage déclaratif 2/2 Pour les interactions intra-domaine A, pas besoin de sécurité Domaine[A]->Domaine[A]:requête, réponse, migration, création noeud, création objet #[?A,?I,?C] Authentification requise des appels de méthodes pour les objets se trouvant dans le domaine A vers le domaine B : Domaine[A]->Domaine[B]:requête, réponse#[+A,?I,?C] Localisation précise Noeud[N1] -> Domaine[A]:requête, réponse#[+A,+I,+C] Runtime[R1],Noeud[N1] -> Domaine[A]: requête, réponse#[+A,?I,?C]

Politiques de sécurité Plusieurs niveaux de politiques Plusieurs politiques pour une situation donnée Calcul d’une politique résultante Sélection des politiques adéquates Composition de ces politiques

Composition de politiques Support de l’interopération La politique résultante préserve les attributs de chaque politique Si incompatibilité, interdiction de l’interaction Appelé Requis (+) Optionnel (?) Refusé (-) Appelant Requis (+) + + invalide Optionnel (?) + ? - Refusé (-) invalide - -

Négociation dynamique Sécurisation transparente des interactions entre les entités I Domaine Inria A Objet A Objet B <Psession> A Id objet A B Id objet B session B I 1. Récupérer la localisation des entités source (A) et cible (B) 2. Calcul de la politique en fonction des entités en présence 3. Validation par l’appelé de la politique <Psession> proposée par l’appelant 4. Création de l’objet session contenant la politique entre A et B

Propagation dynamique du contexte de sécurité Support de la dynamicité des applications Automatiser la création des entités sécurisées Conserver le contexte de sécurité de l’application Nouvelle entité sécurisée: Utilisation du certificat d’application pour créer le certificat de l’entité Copie de la politique de sécurité de l’application

Sécurité induite par le déploiement Communication normale Descripteur de déploiement Grappe A et B Descripteur de sécurité Grappe A et B Identité Politiques Processus de déploiement Descripteur de déploiement Grappe A Communication sécurisée Grappe A Processus de déploiement Descripteur de sécurité Grappe A Identité Politiques Grappe B

Sommaire Contexte et objectifs Modèle de sécurité Intégration avec ProActive Conclusions et perspectives

ProActive Bibliothèque Java pour le calcul distribué Modèle à objet actifs Objet racine (activité) + graphe d’objets passifs Pas de partage d’objets passifs Communication Invocation de méthode à distance Asynchrone avec rendez-vous Protocole à méta objets Interception transparente des communications Sémantique insensible au déploiement Modèle de déploiement abstrait

Modèle de déploiement abstrait Repose sur la notion de nœuds virtuels (VN) Nœud == projection d’un VN sur un runtime Développement Code source Déploiement Descripteur XML Objets  VN VN  Runtimes  Hosts

Entités sécurisées et interactions Objet actif, Nœud (nœud virtuel), Runtime Interactions : Requêtes / réponses Migration Création d’objet actif Création de nœuds

Communications sécurisées Pendant la phase de rendez-vous : Initialisation de la session (si nécessaire) Transmission du message sécurisé Si autorisée, conserve la garantie de la délivrance du message Expéditeur peut être informé de l’échec de la communication et agir en conséquence

Exemple Une grille composée de deux grappes Application : Domaine [GrappeA] -> Domaine [GrappeA]: Q,P,M # [?A,?I,?C] Domaine [GrappeB] -> Domaine [GrappeB]: Q,P,M # [?A,?I,?C] Domaine [GrappeA] -> Domaine [GrappeB]: Q,P,M # [+A,+I,+C] Domaine [GrappeB] -> Domaine [GrappeA]: Q,P,M # [+A,+I,+C] Application : 2 nœuds virtuels (vn1,vn2) 2 objects actifs

Descripteurs : déploiement et sécurité Nœuds virtuels: vn1, vn2 Projections: vn1 --> OrdinateursGrappeA, OrdinateursGrappeB vn2 --> OrdinateursGrappeA Sécurité : VN [vn1] -> VN [vn2] : Q,P # [+A,?I,?C] VN [vn1] -> VN [vn1] : M # [+A,?I,?C]

Code standard, pas de sécurité … proActiveDescriptor.activateMappings(); vn1 = proActiveDescriptor.getVirtualNode("vm1"); vn2 = proActiveDescriptor.getVirtualNode("vm2"); Flower rose = (Flower) ProActive.newActive(Flower.class,new Object[]{« Rose »}, vn1.getNode()}; Flower daliah = (Flower) ProActive.newActive(Flower.class,new Object[]{« Daliah »}, vn2.getNode()}; /* migration vers le même nœud virtuel, même domaine */ rose.migrateTo(vn1); /* communication dans le même domaine */ rose.sayHelloTo(daliah); /* migration vers le même nœud virtuel, autre domaine */ /* communication entre les deux domaines */

Exemple Politiques de sécurité VN1 Runtime VN2 Domaine GrappeA Domaine GrappeB Politiques de sécurité VN1 Runtime VN2

Exemple Politiques de sécurité VN1 Runtime VN2 Domaine GrappeA Domaine GrappeB Politiques de sécurité VN1 Runtime VN2

Exemple Politiques de sécurité VN1 Runtime VN2 Domaine GrappeA Domaine GrappeB Rose Daliah Politiques de sécurité VN1 Runtime VN2

Exemple Migration : - même VN - même domaine Domaine GrappeA Domaine GrappeB Migration : - même VN - même domaine Rose Daliah Politique de l’application : VN1 -> VN1 : migration # [+A,?I,?C] Politique du domaine : GrappeA -> GrappeA : [?A,?I,?C] Politique résultante : Migration : [+A,?I,?C] Politiques de sécurité VN1 Runtime VN2

Exemple Appel de meth. - même domaine Domaine GrappeA Domaine GrappeB Appel de meth. - même domaine Rose Daliah Politique de l’application : VN1 -> VN2 : requête # [+A,?I,?C] Politique du domaine : GrappeA -> GrappeA : [?A,?I,?C] Politique résultante communication sécurisée [+A,?I,?C] Politiques de sécurité VN1 Runtime VN2

Exemple Migration : - même VN - autre domaine Domaine GrappeA Domaine GrappeB Migration : - même VN - autre domaine Rose Rose Rose Daliah Politique de l’application : VN1 -> VN1 : migration # [+A,?I,?C] Politique du domaine : GrappeA -> GrappeB : [+A,+I,+C] Politique résultante migration sécurisée [+A,+I,+C] Politiques de sécurité VN1 Runtime VN2

Exemple Appel de meth. - même VN - autre domaine Domaine GrappeA Domaine GrappeB Appel de meth. - même VN - autre domaine Rose Daliah Politique de l’application : VN1 -> VN2 : requête # [+A,?I,?C] Politique du domaine : GrappeB -> GrappeA : [+A,+I,+C] Politique résultante communication sécurisée [+A,+I,+C] Politiques de sécurité VN1 Runtime VN2

Performances Création objet actif Génération d’une clé de session AES Sans sécurité : 80 ms Avec sécurité (clé RSA 1024bits) : 540 ms Dont temps de génération de clé 460 ms Génération d’une clé de session AES 192 bits : 0.8 ms Test réalisés sur des pentium IV@3GHz, 1Go RAM, linux kernel 2.4.22, JVM Sun 1.5.0, bibliothèque bouncycastle 1.20

Performances (+A,+I,+C) Pire cas possible, pas de calcul, pas de recouvrement Test réalisés sur des pentium IV@3GHz, 1Go RAM, linux kernel 2.4.22, JVM Sun 1.5.0, bibliothèque bouncycastle 1.20

Les iterations de Jacobi Diagonalisation de matrice JVM 2 5 7 9 1 0 1 0 5 6 7 8 … …

Durée d’une itération 8 ordinateurs (PIV@3.2GHz, 1Go ram, Ethernet 1Gb/s) / 16 objets actifs Coût de la sécurité : de 120% à 18% Version distribuée plus rapide que séquentiel pour matrice >= 8 M doubles Distribuée et sécurisée + rapide >= 22M doubles

Sommaire Contexte et objectifs Modèle de sécurité Intégration avec ProActive Conclusions et perspectives

Conclusions Modèle de sécurité : Sécurité : Concept générique : entités sécurisées Sécurité : Transparente au code métier des applications (développeurs) Configurable selon le déploiement (utilisateurs) Gestion de plusieurs niveaux de politiques de sécurité Calcul dynamique de la politique Propagation dynamique du contexte de sécurité Langage de sécurité déclaratif Politiques composables supportant l’interopération

Perspectives Support du contrôle de flux Reconfiguration dynamique des entités sécurisées : Mise à jour de la politique de sécurité Changement d’identité Preuve formelle du modèle Utilisation pratique: projet Européen Provenance

Merci de votre attention Questions ?