La sécurité dans les grilles vs le Cloud Computing

La sécurité dans les grilles vs le Cloud Computing

 L’architecture du Cloud

Il existe plusieurs versions qui définissent l’architecture du Cloud ; Dans ce qui suit nous allons voir et expliquer deux modèles d’architecture : le premier a été présenté par [Foster I et Al., 2008] où les auteurs ont essayé de proposer un ensemble de couches en se basant sur l’architecture des grilles proposée dans la section 1.2.5. Le second modèle a été présenté par [Buyya R. et Al., 2013].

L’architecture proposée par Ian Foster et Al., 2008

Dans [Foster I et Al., 2008], les auteurs ont défini une architecture à quatre couches (figure 1.11) en se basant sur celle qui a été proposée pour les grilles.  La couche fabrique Cette couche se compose des ressources matérielles brutes, telles que : les unités de calcul de base, les disques de stockage et les bandes passantes réseau. Similaire aux grilles, dans cette couche la plupart des ressources sont hétérogènes. Par exemple, dans un data-center du Cloud, les machines physiques sous-jacentes peuvent être des PC, des stations de travail ou des superordinateurs [Liu X. et Al., 2012].  Figure 1. 11 Architecture du Cloud [Foster I et Al., 2008]  La couche ressource unifiée Cette couche est constituée de ressources hétérogènes qui se présentent généralement sous la forme de ressources virtuelles. Dans cette couche, les machines physiques sous-jacentes ont été abstraites / encapsulées généralement par des outils de virtualisation afin qu’elles puissent être exposées aux couches supérieures et aux utilisateurs finaux comme des ressources intégrées [Liu X. et Al., 2012].  La couche plateforme Cette couche consiste en un ensemble d’outils de gestion des ressources et de services du middleware au-dessus des ressources unifiées. La couche plateforme peut fournir une plateforme de développement et / ou de déploiement, par exemple, un environnement d’hébergement web, un service de modélisation de flux de travail et un service de planification et ainsi de suite [Liu X. et Al., 2012].  La couche application Cette couche se compose des applications utilisateur qui peuvent être n’importe quel type d’applications telles que : les applications de flux de travail dans le Cloud, les outils de réseaux sociaux et les sites web de commerce électronique [Liu X. et Al., 2012].

L’architecture proposée par Buyya R. et Al., 2013

Dans [Buyya R. et Al., 2013], les auteurs ont proposé une architecture de quatre couches (figure 1.12). Dans cette architecture le middleware est divisé en deux parties, le cœur du middleware et le middleware niveau-utilisateur. La couche la plus basse représente l’infrastructure du Cloud, qui peut être de nature hétérogène car une grande variété de ressources telle que : les clusters et les réseaux de pc, peuvent être utilisés pour la construire. De plus, les systèmes de base de données ainsi que les services de stockage peuvent faire partie de cette infrastructure. La couche suivante représente le cœur du middleware qui a pour objectif de gérer l’infrastructure du Cloud en fournissant un environnement d’exécution d’application et une meilleure utilisation des ressources. Cette couche prend également en charge les technologies de virtualisation qui sont utilisées pour garantir la personnalisation de l’environnement d’exécution, l’isolation des applications et la qualité de service [Buyya R. et Al., 2013]. La virtualisation matérielle est généralement utilisée à ce niveau. Elle prend en charge le groupement des ressources et expose l’infrastructure distribuée sous la forme d’une collection de machines virtuelles. En utilisant la technologie des machines virtuelles, il est possible de partitionner finement les ressources matérielles et de virtualiser des périphériques spécifiques, répondant ainsi aux exigences des utilisateurs et des applications [Buyya R. et Al., 2013]. La combinaison des plateformes d’hébergement du Cloud et les ressources sont généralement classés comme IAAS. Les solutions IaaS sont adaptées à la conception de l’infrastructure système mais fournissent des services limités pour la création d’applications. Ce service est fourni par des outils d’environnement de programmation Cloud, qui forment une nouvelle couche pour offrir aux utilisateurs une plateforme de développement pour les applications. La gamme d’outils comprend des interfaces web, des outils de ligne de commande et des frameworks. Dans ce scénario, les utilisateurs développent leurs applications spécifiquement pour le Cloud en utilisant l’API exposée au niveau du middleware niveau-utilisateur. Pour cette raison, cette approche est également connue sous le nom de Plateforme comme service (PaaS) car le service offert à l’utilisateur est une plateforme de développement plutôt qu’une infrastructure. Les solutions PaaS incluent également l’infrastructure, qui est fournie dans le cadre des services fournis. La couche supérieure de la figure de référence contient les services fournis au niveau de l’application. Ceux-ci sont principalement appelés logiciel comme service (SaaS). Dans la plupart des cas, il s’agit d’applications web qui s’appuient sur le Cloud pour fournir des services aux utilisateurs finaux. La puissance du Cloud fournie par les solutions IaaS et PaaS permet aux éditeurs de  logiciels indépendants de fournir leurs services applicatifs via internet. Les autres applications appartenant à cette couche sont celles qui exploitent fortement internet pour leurs fonctionnalités de base qui reposent sur le Cloud afin de supporter un plus grand nombre d’utilisateurs; C’est le cas des portails de jeux et, en général, des sites de réseaux sociaux [Buyya R. et Al., 2013]. Figure 1. 12 Architecture du Cloud [Buyya R. et Al., 2013] 1.3.6.3. L’architecture proposée par le NIST L’architecture de référence du Cloud Computing présentée par le NIST [Hogan M et Al., 2011] a défini cinq acteurs participants au fonctionnement de cette architecture à savoir : Le consommateur du Cloud, le fournisseur du Cloud, l’auditeur du Cloud, le courtier du Cloud et le transporteur du Cloud. Dans ce qui suit nous allons définir chaque acteur et expliquer les interactions possibles entre tous ces acteurs.  Le consommateur du Cloud Est l’acteur final pour lequel le service du Cloud a été créé. Un consommateur du Cloud représente une personne ou une organisation qui entretient une relation commerciale avec le fournisseur du Cloud et utilise le service créé. Cet acteur parcourt le catalogue de service du fournisseur du Cloud, demande le service voulu, établie des contrats de services avec le fournisseur, utilise le service et enfin il paye ce qu’il a consommé [Hogan M et Al., 2011].  Le fournisseur du Cloud Cet acteur peut être une personne, une organisation ou une entité chargée de mettre un service à la disposition des consommateurs [Hogan M et Al., 2011]. Le fournisseur du Cloud se charge des activités suivantes :  Construit les services de type logiciel, plateforme ou infrastructure demandés.  Gère l’infrastructure technique requise pour fournir les services demandés.  Fournit les services.  S’occupe de la sécurité de ces services.  L’auditeur du Cloud Est une partie qui peut effectuer une évaluation indépendante : des services du Cloud, des opérations du système d’information, des performances et de la sécurité du Cloud [Hogan M et Al., 2011].  Le courtier du Cloud Est une entité qui gère l’utilisation, la performance et la délivrance des services du Cloud. Cette entité négocie également les relations entre le fournisseur du service et le consommateur du Cloud. On fait appel au courtier lorsque les services sont difficiles à gérer par le consommateur, au lieu de les demander au fournisseur du Cloud, le consommateur les demande au courtier [Hogan M et Al., 2011].  Le transporteur du Cloud C’est un intermédiaire qui fournit la connectivité et le transport des services depuis le fournisseur vers le consommateur du Cloud. Le transporteur fournit l’accès au consommateur via les réseaux, la télécommunication et des dispositifs d’accès [Hogan M et Al., 2011].

Les différents projets de Cloud

Dans cette partie nous allons présenter les projets de Cloud les plus importants.

Google App Engine

Google App Engine est un service qui permet d’héberger des applications web dans l’infrastructure Google existante. Il permet également aux développeurs de concevoir, développer et déployer des applications Java et Python dans des environnements Java, Go et Python sans être obligé de maintenir des serveurs. En outre, cet outil offre un support pour une multitude de langages de programmation. Le service prend également en charge les  environnements standards et flexibles. Les utilisateurs ont juste besoin de choisir un environnement, sélectionner un langage et programmer [ikbooks, 2017].

Microsoft Azure

Microsoft propose une plateforme cloud au nom de Window Azure. Il s’agit d’un environnement de développement, d’hébergement et de gestion qui offre une capacité de calcul et de stockage à la demande au niveau de l’entreprise. Pour utiliser les fonctionnalités du Cloud Azure, vous devez utiliser l’API Azure. Windows Azure est hébergé dans le centre de données Microsoft et fournit des systèmes d’exploitation, des outils de développement pour créer des applications web pouvant également avoir une interface avec des périphériques locaux. Ces applications peuvent être développées à l’aide de l’environnement de développement Visual Studio et du framework .NET. Il prend également en charge plusieurs protocoles internet, notamment HTTP, REST, SOAP et le standard XML. Ses différents composants de support sont les suivants [ikbooks, 2017]:  SQL Azure : offre des fonctionnalités Microsoft SQL Server pour les applications basées sur le Cloud afin de stocker des données structurées, semi-structurées et non structurées.  Windows Azure Marketplace : est un marché en ligne permettant aux développeurs d’applications d’acheter et de vendre du code, des composants, des formations, des modèles de services et de nombreuses autres fonctionnalités nécessaires au développement d’applications Windows Azure.  Les services Windows Azure : aident à la collaboration au-delà des frontières organisationnelles en maintenant la sécurité dans les domaines avec simplicité. Il fournit des fonctionnalités d’authentification et de contrôle d’accès à l’aide d’une infrastructure puissante, sécurisée et normalisée.  Windows Azure HPC Scheduler : fournit des modules et des fonctionnalités permettant de lancer et de gérer des applications de calcul haute performance (HPC) dans un service Windows Azure.

SalesForce.com

Salesforce [salesforce, 2018] est un Cloud de type logiciel comme service (SaaS) qui propose un logiciel de gestion de la relation client (CRM) en tant que service. Au lieu de maintenir le matériel et les licences des logiciels, les clients utilisent le logiciel hébergé sur les serveurs  Salesforce pour un coût minime. Les clients de Salesforce utilisent le logiciel comme s’il était le leur et n’ont pas à se soucier des coûts de sa maintenance. Cela inclut la fourniture du matériel, l’installation, ainsi que tous les logiciels requis et les mises à jour de routine. Cependant, Salesforce n’est applicable qu’aux clients qui ont besoin de logiciels existants. Salesforce n’offre que des logiciels de CRM et n’autorise pas l’hébergement de services personnalisés. Bien que Salesforce est un Cloud facile à utiliser mais il reste le moins flexible [Buyya R. et Al., 2011]. 1.3.7.4. EC2 d’Amazon Amazon Elastic Compute Cloud (EC2) est un service IaaS qui fournit une capacité de calcul élastique dans le Cloud. Ce service peut être exploité via des services web (SOAP ou REST), une console de gestion web AWS (Amazon Web Service) ou les outils de ligne de commande EC2. Le service Amazon fournit des centaines d’AMI (Amazon Machine Images) prédéfinies avec divers systèmes d’exploitation (Linux, OpenSolaris ou Windows) et des logiciels pré chargés. Il offre un contrôle complet de nos ressources informatiques et nous permet une exécution facile sur l’infrastructure d’Amazon. Le service EC2 d’Amazon réduit le temps nécessaire à l’obtention et au démarrage des instances d’un nouveau serveur en minutes, permettant ainsi une capacité et des ressources évolutives et rapides [Buyya R. et Al., 2011].

La différence entre les grilles informatiques et le Cloud Computing

Dans cette partie, nous allons comparer les grilles et le Cloud Computing en se basant sur différents aspects qui jouent un rôle important sur la performance et la fiabilité des deux technologies. D’abord, il faut commencer par le modèle de calcul utilisé par chaque technologie, le calcul dans une grille se fait en divisant une tâche énorme en un grand nombre de sous-tâches indépendantes et non liées pour pouvoir les exécuter par un nombre de ressources (figure 1.13). Si l’une des ressources échoue et ne renvoie pas le résultat, cela n’aura pas d’importance car l’ensemble du processus ne sera pas affecté. Tout comme les grilles, le Cloud se constitue d’un grand nombre de ressources qui sont regroupés de manière à être prêtes pour l’exécution (virtualisation). Mais les ressources fournies par le Cloud sont pour accomplir une tâche spéciale, par exemple : un utilisateur peut utiliser une ressource du groupement pour déployer son application, ce n’est pas comme dans le cas ou il soumet sa tâche à la grille et laisse cette dernière la compléter. En outre, le Cloud prend en charge de nombreuses opérations qui ne sont pas adaptées aux grilles, telles que la gestion efficace des applications interactives sensibles à la latence. Figure 1. 13 Modèle de calcul d’une grille En ce qui concerne le modèle économique, les modèles de logiciels traditionnels utilisaient le principe d’un paiement unique pour une utilisation illimitée du logiciel. L’avènement du Cloud Computing a donné naissance à un nouveau modèle économique, qui consiste à faire payer au client uniquement ce qu’il consomme. Par contre, le modèle économique des grilles est orienté projets où les organisations qui l’adoptent partagent les ressources de manière collaborative avec d’autres organisations faisant partie de cette grille. Les utilisateurs de la grille ont un accès direct aux ordinateurs, aux logiciels, aux données et aux autres ressources. Cet accès est possible en utilisant des stratégies conditionnelles de partage qui réalisent un processus organisationnel pour les utilisateurs et les fournisseurs de ressources [Pourqasem J et Al., 2014]. Dans le tableau 1.1 nous allons donner les différences qui existent entre les grilles et le Cloud Computing.  

Table des matières

Chapitre 1 : Les grilles versus le Cloud Computing
1.1. Introduction
1.2. Les grilles informatiques
1.2.1. Définition des grilles
1.2.2. Histoire et origine des grilles
1.2.3. Domaines d’utilisation des grilles
1.2.3.1. Les sciences de la vie
1.2.3.2. L’analyse financière
1.2.3.3. La collaboration scientifique
1.2.3.4. L’ingénierie et le design
1.2.3.5. Les jeux collaboratifs
1.2.3.6. Le gouvernement
1.2.4. Avantages et inconvénients des grilles
1.2.5. Architecture d’une grille
1.2.5.1. La couche fabrique
1.2.5.2. La couche connectivité
1.2.5.3. La couche ressource
1.2.5.4. La couche collective
1.2.5.5. La couche application
1.2.6. Les différents types de grilles informatiques
1.2.6.1. Les grilles d’information
1.2.6.2. Les grilles de stockage
1.2.6.3. Les grilles de calcul
1.2.7. Les topologies des grilles
1.2.7.1. Intra-grille (En analogie avec Intranet)
1.2.7.2. Extra-grille (En analogie avec Extranet)
1.2.7.3. Inter-grille (En analogie avec Internet)
1.2.8. Les différents projets de grilles informatiques et les Middlewares
1.2.8.1. Les middlewares
1.2.8.2. Les différents projets de grilles réalisés
1.2.9. Les besoins de sécurité dans les grilles
1.3. Le Cloud Computing (Informatique en nuage)
1.3.1. Définition et caractéristiques
1.3.2. Histoire du Cloud Computing
1.3.3. Avantages et obstacles du Cloud
1.3.4. Les modèles de services du Cloud
1.3.4.1. Le logiciel comme service (SAAS : Software As A Service)
1.3.4.2. La plateforme comme service (PAAS : Platform As A Service)
1.3.4.3. L’infrastructure comme service (IAAS : Infrastructure As A Service)
1.3.5. Les modèles de déploiement du Cloud
1.3.5.1. Cloud privé
1.3.5.2. Cloud public
1.3.5.3. Cloud communautaire
1.3.5.4. Cloud hybride
1.3.6. L’architecture du Cloud
1.3.6.1. L’architecture proposée par Ian Foster et Al., 2008
1.3.6.2. L’architecture proposée par Buyya R. et Al., 2013
1.3.6.3. L’architecture proposée par le NIST
1.3.7. Les différents projets de Cloud
1.3.7.1. Google App Engine
1.3.7.2. Microsoft Azure
1.3.7.3. SalesForce.com
1.3.7.4. EC2 d’Amazon
1.3.8. La différence entre les grilles informatiques et le Cloud Computing
1.3.9. Les besoins de sécurité dans le Cloud
1.4. Conclusion
Chapitre 2 : La sécurité dans les grilles informatiques (Etat de l’art)
2.1. Introduction
2.2. Un aperçu sur la sécurité des grilles informatiques
2.3. Etat de l’art sur la sécurité des grilles
2.3.1. Le contrôle d’accès
2.3.1.1. L’authentification
2.3.1.2. Le contrôle d’accès (autorisation)
2.3.2. L’intégrité
2.3.3. La confidentialité
2.3.4. Issues multiples
2.3.4.1. Travail proposé par Sudalai Muthu T. et Al., 2010
2.3.4.2. Travail proposé par Razieh M. et Al., 2010
2.3.4.3. Travail proposé par Rajesh I. and Sivakumar G., 2010
2.3.4.4. Travail proposé par Ashrafijoo B. et Al., 2010
2.3.4.5. Travail proposé par Khider H. et Al., 2010
2.3.4.6. Travail proposé par Jaspher G.W.K. et Al., 2011
2.3.4.7. Travail proposé par Kumari A.K. et Al., 2011
2.4. Conclusion
Chapitre 3 : La sécurité dans le Cloud Computing (Etat de l’art)
3.1. Introduction
3.2. Les problèmes de sécurité introduits par le Cloud Computing
3.3. Etat de l’art sur la sécurité du Cloud Computing
3.3.1. Le contrôle d’accès
3.3.1.1. L’authentification
3.3.1.2. Le contrôle d’accès (Autorisation)
3.3.2. L’intégrité
3.3.3. La confidentialité
3.3.4. Issues multiples
3.3.4.1. Travail proposé par Luo W. and Bai G., 2011
3.3.4.2. Travail proposé par Zhu T. et Al., 2011
3.3.4.3. Travail proposé par Chugh S. and Peddoju S.K., 2012
3.3.4.4. Travail proposé par Gonzalez N.M. et Al., 2013
3.3.4.5. Travail proposé par Liu X. et Al., 2013
3.3.4.6. Travail proposé par Sun L. et Al., 2013
3.3.4.7. Travail proposé par Zhou L. et Al., 2013
3.3.4.8. Travail proposé par Abbdal S.H., 2014
3.3.4.9. Travail proposé par Khedkar S.V. and Gawande A.D., 2014
3.3.4.10. Travail proposé par Sulochana M. and Dubey O., 2015
3.3.4.11. Travail proposé par Nair N.K. and Navin K. S, 2015
3.3.4.12. Travail proposé par Pawar P. and Sheikh R., 2016
3.3.4.13. Travail proposé par Rucha D. et Al., 2017
3.3.4.14. Travail proposé par Balusamy B. et Al., 2017
3.4. Conclusion
Chapitre 4 : Une étude comparative entre la sécurité des grilles et celle du Cloud
4.1. Introduction
4.2. Etat de l’art détaillé sur la sécurité dans les grilles vs le Cloud Computing
4.2.1. La sécurité dans les grilles
4.2.1.1. L’authentification
4.2.1.2. Le contrôle d’accès
4.2.1.3. L’intégrité
4.2.1.4. La confidentialité
4.2.1.5. Issues multiples
4.2.2. La sécurité dans le Cloud Computing
4.2.2.1. L’authentification
4.2.2.2. Le contrôle d’accès
4.2.2.3. L’intégrité
4.2.2.4. La confidentialité
4.2.2.5. Issues multiples
4.2.3. Comparaison entre la sécurité dans les grilles et la sécurité dans le Cloud Computing
4.2.3.1. L’authentification
4.2.3.2. Le contrôle d’accès
4.2.3.3. L’intégrité
4.2.3.4. La confidentialité
4.2.3.5. Les issues multiples
4.3. Conclusion
Chapitre 5: Les différents modèles de contrôle d’accès proposés dans un environnement de grille et dans un environnement de Cloud
5.1. Introduction
5.2. Un modèle de contrôle d’accès parallèle dans un environnement de grille inter domaines
5.2.1. Comparaison entre les travaux existants
5.2.2. Analyse et synthèse
5.2.3. Le paradigme du calcul parallèle
5.2.4. Le mécanisme de conversion de rôle inter-domaines
5.2.5. Description du modèle de contrôle d’accès parallèle proposé
5.2.5.1. Motivation
5.2.5.2. L’architecture d’autorisation XACML étendue
5.2.5.3. Cas d’une demande d’accès générée par un utilisateur d’un autre domaine
5.2.5.4. Cas d’une demande d’accès générée par un utilisateur du même domaine
5.2.6. Simulation et résultats
5.2.7. Evaluation du modèle proposé
5.2.7.1. Le contrôle d’accès
5.2.7.2. Une architecture multi-domaines
5.2.7.3. La performance
5.3. Le graphe pondéré d’autorisation dans les grilles (WGAG: Weighted Grid Authorization Graph)
5.3.1. Description du modèle de contrôle d’accès proposé
5.3.1.1. Mode d’autorisation « groupe de ressources »
5.3.1.2. Mode d’autorisation « Une seule ressource »
5.3.1.3. Algorithme WGAG
5.3.2. Simulation et résultats
5.4. Le graphe pondéré basé sur l’action pour l’autorisation dans les grilles (ActionWGAG : Action-Weighted Grid Authorization Graph)
5.4.1. Comparaison entre les différents travaux existants
5.4.2. Le modèle proposé
5.4.2.1. Motivation
5.4.2.2. Description du modèle proposé
5.4.2.3. L’implémentation du parseur de politiques de sécurité (SP-Parser)
5.4.3. Simulations et résultats
5.4.3.1. La complexité
5.4.3.2. Le nombre de ressources parcourues dans le graphe pour trouver la ressource désirée
5.4.3.3. Analyse du temps de réponse à une requête de contrôle d’accès
5.4.3.4. Les faux positifs
5.5. Un modèle de contrôle d’accès à des données organisées d’une manière hiérarchique dans un environnement de Cloud
5.5.1. Comparaison entre les différents travaux existants
5.5.2. Contrôle d’accès à des données organisées d’une manière hiérarchique basé sur les modèles RBAC, ABAC et une extension du standard XACML
5.5.2.1. Motivation
5.5.2.2. Le modèle proposé
5.5.2.3. Exemple d’un contrôle d’accès à des données d’une organisation hébergées dans un environnement de Cloud
5.6. Conclusion

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *