• Aucun résultat trouvé

Chiffrement Homomorphe appliqué au Cloud Bancaire

N/A
N/A
Protected

Academic year: 2021

Partager "Chiffrement Homomorphe appliqué au Cloud Bancaire"

Copied!
118
0
0

Texte intégral

(1)

Rabat

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax : +212 (0) 37 77 42 61, http://www.fsr.ac.ma

N° d’ordre : 2804

THÈSE DE DOCTORAT

Présentée par

Maha TEBAA

Discipline : Informatique

Spécialité : Informatique, Cloud Computing, Réseaux, Sécurité des SI

Titre :

Chiffrement Homomorphe appliqué au

Cloud Bancaire

Soutenue le 12/11/2015

Devant le jury

Président :

M. El Mamoun SOUIDI

Professeur d’Enseignement Supérieur (PES) à la

Faculté des Sciences, Rabat.

Examinateurs :

M. Saïd EL HAJJI

Professeur d’Enseignement Supérieur (PES) à la

Faculté des Sciences, Rabat.

M. Ahmed ROUKHE

Professeur d’Enseignement Supérieur (PES) à la

Faculté des Sciences, Meknès.

Mme Nissrine SOUISSI

Professeur Habilité (PH) à l’Ecole des Mines,

Rabat.

M. Jalal LAASSIRI

Professeur Habilité (PH) à la Faculté des

Sciences, Kénitra.

Invitée :

Mme Ghizlane ORHANOU Professeur Assistant (PA) à la Faculté des

Sciences, Rabat.

(2)

La thèse n’a jamais été un effort solitaire, maintenant je suis convaincue que je n’aurais jamais pu avancer dans mes recherches sans l’implication de plusieurs personnes. Combien ils étaient généreux, ils ont manifesté beaucoup d’intérêt pour mon travail et m’ont permis de progresser.

Je tiens à exprimer toute ma reconnaissance et ma gratitude à mon Directeur de thèse Monsieur Said EL HAJJI, qui m’a offert l’opportunité d’appartenir à ce laboratoire de recherche (LabMIA) et d’être parmi ses thésards. Monsieur Said El HAJJI n’a ménagé aucun effort pour guider mes réflexions, et prodiguer ses conseils et ses remarques qui étaient bénéfiques pour mes recherches.

Votre savoir être et savoir faire m’ont permis de découvrir l’autre facette d’un professeur d’enseignement supérieur digne de ce noble métier. Je suis très honorée de vous avoir eu comme Directeur de thèse. Merci de m’avoir encadrée, orientée, aidée et conseillée. Je tiens à vous remercier pour votre investissement personnel dans l’aboutissement de cette thèse, et à vous assurer de mon profond respect.

Je tiens aussi à remercier les membres du jury :

Monsieur El Mamoun SOUIDI, Professeur de l’Enseignement Supérieur à la faculté des Sciences de Rabat.

Je vous remercie vivement d’avoir accepté de présider le jury de ma soutenace, et pour avoir accepté de juger ce travail en tant que rapporteur. Je tiens à vous exprimer ma reconnaissance et à vous assurer de mon profond respect.

Monsieur Ahmed ROUKHE, Professeur de l’Enseignement Supérieur à la faculté des Sciences de Meknès.

Je tiens à vous exprimer toute ma gratitude pour l’honneur que vous me faites en acceptant de faire parti de ce jury en tant qu’examinateur. Je tiens à vous exprimer ma très respectueuse considération.

Madame Nissrine SOUISSI, Professeur Hbilité à l’Ecole Nationale des Mines de Rabat.

Je vous remercie vivement pour l’intérêt que vous avez porté à ce travail et pour avoir accepté de le juger en tant que rapporteur, ce fut un énorme plaisir d’assurer des vacations au sein de votre département, je vous exprime ma très respectueuse considération.

Monsieur Jalal LAASSIRI, Professeur Hbilité à la faculté des Sciences de Kénitra.

Je tiens à vous exprimer mes remerciements d’avoir accepté de participé à ce jury, et d’examiner ce travail. Je tiens à vous exprimer ma profonde reconnaissance.

(3)

Madame Ghizlane ORHANOU, Professeur Assistant à la faculté des Sciences de Rabat.

Je vous remercie pour votre soutien, vos conseils et vos connaissances partagées, aussi d’avoir accepté de participer à mon jury et vous exprime ma très respectueuse considération.

Je désire aussi remercier tous les professeurs du Laboratoire LabMIA pour leur soutien et leur dispo-nibilité. Je tiens à remercier spécialement Madame Souad EL BERNOUSSI qui était toujours présente lors des séminaires organisés au sein du laboratoire sans lesquels ma recherche serait certainement moins riche, et Monsieur Jilali MIKRAM pour sa disponibilité et ses encouragements.

Je voudrais exprimer ma reconnaissance envers tous les doctorants du LabMIA qui m’ont apporté leur soutien moral tout au long de ma démarche, la bonne humeur et l’ambiance de travail font du laboratoire un cadre exceptionnel pour la recherche.

(4)

À mes très chers parents

Votre intelligence, tendresse, confiance et amour me portent et me guident tous les jours. Merci d’avoir fait de moi ce que je suis aujourd’hui, puisse Dieu vous donner longue vie pour que je puisse vous

combler à mon tour.

À mes soeurs et mon frère

Je mets entre vos mains, à travers ce modeste travail, le fruit de longues années d’études, de longs mois de distance de votre amour de votre tendresse, de longs jours d’apprentissage et de sacrifices.

(5)

R�����

Le Cloud Computing permet d’accéder à de nombreux services en ligne ainsi qu’aux ressources informatiques distants selon le besoin, la problématique majeure qui retient de nombreuses entreprises, et notamment les banques à migrer vers le Cloud, est la sécurité des données sensibles hébergées chez le fournisseur du Cloud, chiffrer les données avant de les envoyer au Cloud est obligatoire, mais pour pouvoir répondre à une requête du client, il faut que le serveur Cloud ait l’accès au données en clair (donc le client doit lui fournir la clé de déchiffrement).

Une méthode permettant d’exécuter des opérations sur des données chiffrées sans avoir aucune information sur ces derniers (donc sans les déchiffrer), est le Chiffrement Homomorphe, ce type de chiffrement a été étudié d’un point de vue théorique sans aucune application concrète. Nous appliquons ce type de chiffrement sur les données bancaires hébergées dans le Cloud, en choisissant l’algorithme homomorphe qui a la plus courte durée de traitement en fonction de la taille de la clé de chiffrement. Le premier algorithme complètement Homomorphe a vu le jour en 2009 par Craig Gentry, ce dernier permet de réaliser plusieurs opérations sur des données chiffrées sans les déchiffrer.

Dans ce travail, nous avons développé un cryptosystème homomorphe hybride basé sur deux algorithmes partiellement homomorphes pour l’appliquer sur les données bancaires stockées dans les serveurs Cloud, afin de garantir la confidentialité et le respect de la vie privée à ces données sensibles. Après une étude comparative entre les algorithmes partiellement homomorphes existants et celui de DGHV, nous proposons une nouvelle approche basée sur deux algorithmes (RSA qui est homomorphe pour la multiplication et Paillier qui est homo-morphe pour l’addition), qui offre de meilleurs rapports (taille du chiffré/taille du texte clair), aussi une durée de traitement optimal applicable sur notre plateforme du Cloud Bancaire, en exécutant les calculs à distance sans divulguer la clé de déchiffrement au fournisseur du Cloud, en permettant ainsi au propriétaire de ces données (seul possesseur des clés de chiffrement/déchiffrement) de déchiffrer le résultat du calcul comme si ce dernier a été effectué sur des données en clair.

Mots-clés : Cloud Computing, Chiffrement Homomorphe, Sécurité, Confidentialité, Vie privée, Virtualisation, RSA, Paillier, Craig Gentry, DGHV, Données Bancaires.

(6)

A�������

Cloud computing provides access to many online services, and remote computing resources as needed, the major problem that keeps many companies, including banks to migrate to the cloud is the security of sensitive data hosted in the Cloud, encrypt data before sen-ding it to the cloud server is mandatory, but to respond to a client request, it is necessary that the cloud server has access to the clear data (so the client must provide the decryption key). A method to perform operations on encrypted data without having any information about it (without decrypting), is the Homomorphic Encryption, this type of encryption has been studied from a theoretical point of view without any concrete application. We use this type of encryption on banking data hosted in the cloud, by choosing the homomorphic algorithm that has the shortest duration of treatment depending on the size of the encryption key. The first fully homomorphic algorithm was established in 2009 by Craig Gentry, it allows for more operations on encrypted data without decrypting.

In this work, we developed a hybrid homomorphic cryptosystem based on two partially homomorphic algorithms to apply it on banking data stored in the cloud servers to ensure confidentiality and privacy of sensitive data. After a comparative study between the existing partially homomorphic algorithms and DGHV algorithm, we propose a new approach based on two algorithms (RSA which is homomorphic for multiplication and Paillier which is homomorphic for addition), which offers better reporting (size of the ciphertext/size of the cleartext), also an optimal treatment duration applicable on our Banking Cloud platform, performing remote computations without disclosing the decryption key to the cloud provider, thus allowing the owner of the data (alone owner of the encryption/decryption keys) to decrypt the result of the calculation as if it was performed on clear data.

Keywords : Cloud Computing, homomorphic encryption, Security, Confidentiality, Privacy, Virtualization, RSA, Paillier, Gentry, DGHV, Banking Data.

(7)

T���� ��� ��������

Remerciements i

Dédicaces iii

Résumé iv

Abstract v

Table des figures 1

Liste des tableaux 3

Introduction Générale 4 1 Généralités sur le Cloud Computing 7

1.1 Introduction . . . 8

1.2 Trois modèles de services du Cloud Computing . . . 10

1.2.1 Software as a Service (SaaS) . . . 10

1.2.2 Plateforme as a Service (PaaS) . . . 11

1.2.3 Infrastructure as a Service (IaaS) . . . 11

1.3 Quatre modèles de déploiement du Cloud Computing . . . 12

1.3.1 Le Cloud privé . . . 12

1.3.2 Le Cloud Communautaire . . . 13

1.3.3 Le Cloud public . . . 13

1.3.4 Le Cloud Hybride . . . 13

1.4 Adoption du Cloud Computing en chiffre . . . 15

1.5 Conclusion . . . 17

2 Sécurité et évolution du Cloud Computing 19 2.1 Introduction . . . 20

2.2 Les mesures de sécurité dans le Cloud Computing . . . 21

2.2.1 Les risques liés à la mutualisation des ressources . . . 24 vi

(8)

2.2.2 Les différentes techniques de virtualisation . . . 26

2.3 Normes et standards du Cloud Computing . . . 32

2.3.1 Normes liées au Cloud Computing . . . 33

2.3.2 Cadre juridique du Cloud Computing . . . 34

2.4 Du Cloud au Multi-Clouds Computing . . . 35

2.4.1 Le principe de DepSky (Dependable Storage) . . . 36

2.4.2 Le principe de RACS (Redundant Array of Cloud Storage) . . . 37

2.4.3 Le principe de HAIL (High Availability and Integrity Layer) . . 38

2.4.4 Le principe de IC Store (Intercloud Storage) . . . 38

2.5 Conclusion . . . 39

3 Chiffrement Homomorphe 40 3.1 Introduction . . . 41

3.2 Chiffrement Homomorphe additif . . . 43

3.2.1 Le chiffrement Homomorphe de Paillier . . . 45

3.2.2 Le chiffrement Homomorphe de Goldwasser-Micalli . . . 47

3.3 Chiffrement Homomorphe multiplicatif . . . 48

3.3.1 Le chiffrement Homomorphe de RSA . . . 49

3.3.2 Le chiffrement Homomorphe d’El Gamal . . . 52

3.4 Chiffrement complètement Homomorphe . . . 53

3.4.1 Chiffrement de Craig Gentry . . . 54

3.4.2 Algorithme de DGHV . . . 55

3.5 Chiffrement partiellement Homomorphe . . . 58

3.5.1 Chiffrement de Benaloh . . . 58

3.5.2 Chiffrement d’Okamot-Uchiyama . . . 58

3.5.3 Chiffrement de Sander-Young-Yung . . . 59

3.5.4 Chiffrement de Schmidt Samoa-Takagi . . . 60

3.6 Simulation des algorithmes Homomorphes . . . 61

3.6.1 Choix le l’algorithme et de la taille de la clé . . . 63

3.6.2 Résultats et comparaisons . . . 79

3.7 Conclusion . . . 79

4 Application du Chiffrement Homomorphe au Cloud Bancaire 81 4.1 Introduction . . . 82

4.2 Problématique liée à la sensibilité des données bancaires . . . 83

4.3 Retrait d’information privé (RIP) basé sur le chiffrement Homomorphe 84 4.4 Plateforme de test et simulations . . . 85

4.5 Conclusion . . . 92

Conclusion Générale 94

Perspectives 95

(9)

Annexe A :

Normes ISO/IEC 17788 :08/2014 100 Annexe B :

(10)

T���� ��� �������

1.1 Optimisation des ressources avant et après l’adoption du Cloud . . . . 10

1.2 Les caractéristiques, les modèles de service et de déploiement du Cloud Computing selon NIST . . . 14

1.3 SaaS, PaaS et IaaS qui gère quoi ? . . . 15

1.4 Taux d’adoption du Cloud par modèle de service en France [29] . . . 16

1.5 Taux d’adoption du Cloud par les PME en France [29] . . . 16

1.6 Les facteurs d’adoption des solutions Cloud - Décembre 2014 [29] . . . 17

1.7 Les freins à l’adoption du Cloud en France - Décembre 2014 . . . 17

2.1 Les différentes techniques de Virtualisation [36] . . . 27

2.2 Technique des Machines virtuelles . . . 28

2.3 Technique de l’émulation . . . 29

2.4 Technique de l’isolation . . . 29

2.5 Technique de l’Hyperviseur complet . . . 30

2.6 Technique de la paravirtualisation . . . 31

2.7 Communication entre les SE hôtes et les ressources matérielles . . . . 32

2.8 Principe de l’algorithme DepSky-A . . . 37

2.9 Principe de l’algorithme DepSky-CA [22] . . . 37

3.1 Les votes des électeurs chiffrés un par un . . . 46

3.2 Application de "Paillier" pour retrouver la somme des votes . . . 47

3.3 Conversion de c1 et c2 en binaire . . . 51

3.4 Multiplication de c1◊ c2 bloc par bloc . . . 51

3.5 Temps du chiffrement RSA . . . 64

3.6 Temps de multiplication de deux chiffrés avec RSA . . . 64

3.7 Temps du déchiffrement du produit de deux chiffrés avec RSA . . . 65

3.8 Exemple de multiplication avec le chiffrement homomorphe de RSA . . 65

3.9 Temps du chiffrement Paillier . . . 67

3.10 Temps de multiplication de deux chiffrés avec Paillier . . . 68

3.11 Temps du déchiffrement du produit de deux chiffrés avec Paillier . . . . 68

3.12 Exemple d’addition avec le chiffrement homomorphe de Pailler . . . 69

3.13 Exemple d’addition avec le chiffrement homomorphe de DGHV . . . 70 1

(11)

3.14 Exemple de multiplication avec le chiffrement homomorphe de DGHV . 74

4.1 Application du Chiffrement Homomorphe au Cloud Computing . . . 82

4.2 Le chiffrement complètement homomorphe appliqué au protocole RIP . 85 4.3 Aperçu sur le fonctionnement de RSA homomorphe dans le Cloud . . . 86

4.4 Schéma de notre application bancaire . . . 88

4.5 Paramétrage de l’application et choix des tailles des clés RSA et Paillier 89 4.6 Les opérations à effectuer pour interagir avec la base des données dans le serveur cloud . . . 89

4.7 Aperçu sur la base des données coté client . . . 90

4.8 Données en clair en attente du chiffrement . . . 90

4.9 Données chiffrées stockées dans le serveur Cloud . . . 90

4.10 Aperçu du chiffré d’un nom en RSA . . . 91

4.11 Aperçu du chiffré du solde d’un client en Paillier . . . 91

(12)

L���� ��� ��������

2.1 L’intégrité, la disponibilité et la confidentialité dans les systèmes de stockage Multi-Clouds . . . 39 3.1 Résultats de simulation du chiffrement Homomorphe RSA . . . 63 3.2 Résultats de simulation du chiffrement Homomorphe Paillier . . . 67 3.3 Résultats de simulation du chiffrement Homomorphe DGHV Additif . . 70 3.4 Résultats de simulation du chiffrement Homomorphe DGHV Multilplicatif 74 4.1 Tableau comparatif des fonctionnalités des Hyperviseurs ESX, Hyper-V

et XenServer . . . 87

(13)

I����������� G�������

L’informatique en nuage, connu communément sous l’appellation «Cloud Compu-ting» est un nouveau concept de la Technologie de l’Information qui a révolutionné ces dernières années le monde, et qui a attiré l’attention des chercheurs dans ce domaine, au lieu de déballer des ordinateurs et de les empiler dans une salle machine, le Cloud permet de télécharger virtuellement du matériel et de l’infrastructure associée à la demande.

Malgré qu’il n’a pas encore atteint le niveau de maturité attendu par ces utilisateurs, le marché du Cloud affiche des taux d’utilisation remarquables et intéresse de plus en plus les entreprises désireuses de booster leur système d’information et leur pro-ductivité. Son concept de base est d’externaliser des applications, des services ou des infrastructures informatiques vers des serveurs distants qui sont gérés par des fournisseurs de Cloud Computing. Il se réfère à l’utilisation des capacités de stockage et de calcul des serveurs répartis dans le monde entier, liés par le réseau internet. Certes, les utilisateurs ne sont plus propriétaires de leurs serveurs mais peuvent ainsi accéder de manière évolutive à de nombreux services en ligne sans avoir à gérer l’infrastructure sous-jacente, souvent complexe. Les applications et les données ne se trouvent plus en local, mais dans un nuage composé d’un grand nombre de serveurs distants interconnectés au moyen d’une grande bande passante indispensable à la fluidité du système.

Le mode de paiement est lui aussi différent. Finis les achats des serveurs et des licences de logiciels (qui deviennent obsolètes au bout de quelques années d’utilisa-tion) ainsi que les investissements dans de grandes salles informatiques (climatisation, consommation d’énergie, maintenance...). Lorsque vos applications tournent dans le cloud, vous ne payez que l’accès aux ressources (pay as you go), tout est compris dans un abonnement mensuel.

Le domaine du Cloud est vaste qu’il est impossible de traiter l’ensemble de ces aspects, dans ce travail, nous nous intéressons à la problématique majeure soulevée par les utilisateurs finaux, par les chercheurs et aussi par les fournisseurs du Cloud Computing, c’est la sécurité et la confidentialité des données hébergées dans les serveurs Cloud.

La sécurité du Cloud Computing nécessite une profonde remise en question des 4

(14)

mesures de sécurité actuelles, partager une clé privée avec un serveur Cloud est indispensable pour qu’il puisse accéder aux données en clair et effectuer tout type de traitement sur ces derniers afin de répondre à une requête client ; cette utilisation traditionnelle de la cryptographie n’est peut-être pas la meilleure solution en termes de confidentialité et respect de la vie privée, surtout lorsqu’il s’agit des données sensibles tel que les données bancaires. Jusqu’à présent, il était impossible de confier des données privées à un tiers et pouvoir effectuer des opérations sur ces données chiffrées sans les déchiffrer.

C’est alors qu’apporte en 2009 (Craig Gentry), la toute première représentation théorique d’un cryptosystème complètement homomorphe qui permet d’exécuter des opérations sur des données chiffrées sans les déchiffrer.

Dans cette thèse, nous nous intéressons à l’application du chiffrement homomorphe au Cloud Computing, particulièrement au Cloud Bancaire, afin d’assurer la confi-dentialité des données sensibles stockées dans les serveurs distants, et gérées par les fournisseurs de Cloud. Pour ce faire, nous étudions les cryptosystèmes homo-morphes existants, et nous comparons les durées de chiffrement, de déchiffrement et de traitement des cryptosystèmes partiellement homomorphes choisis, avec celles du cryptosystèmes de Craig Gentry, pour appliquer l’algorithme adéquat à notre applica-tion bancaire, avec les tailles de clés optimales permettant un temps de traitement convenable.

Ce manuscrit est organisé de la façon suivante :

Le Chapitre 1 introduit le concept du Cloud Computing, ces modèles de déploiement et ces services, ainsi que quelques chiffres sur les facteurs de son adoption par les entreprises et les freins qui les empêchent de migrer vers le Cloud.

Le Chapitre 2 détaille quelques mesures de sécurité actuelles utilisées dans le Cloud Computing, mais qui restent limitées uniquement au stockage et au télécharge-ment des fichiers entreposés dans les serveurs Cloud, sans la possibilité d’exécuter des traitements sur ces données chiffrées sans les déchiffrer. Aussi dans le même chapitre, nous mettons en clair les normes et le cadre juridique du Cloud Computing et introduisons l’aspect évolutive du Cloud vers le Multi-Clouds pour assurer une haute disponibilité et une tolérance aux pannes.

L’état de l’art des algorithmes du Chiffrement Homomorphes est exposé dans le Chapitre 3. Nous évaluons l’application de ces algorithmes dans le même chapitre en étudiant le temps de traitement des cryptosystèmes RSA (homomorphe pour la multiplication) et Paillier (homomorphe pour l’addition), en fonction de la taille de la clé du chiffrement et du texte à chiffrer, nous comparons ensuite, ces résultats à ceux obtenus par le cryptosystème de DGHV.

(15)

Enfin, le Chapitre 4 valide l’application des algorithmes homomorphes RSA et Paillier via l’emploi de ces deux algorithmes sur le Cloud bancaire, en se basant sur les paramètres des simulations faites dans le chapitre 3, pour permettre un traitement confidentiel qui respecte la vie privée des clients de la banque.

Nous concluons et donnons quelque perspectives à notre travail dans la section réservée à la conclusion générale.

(16)

G���������� ��� �� C���� C��������

Sommaire

1.1 Introduction . . . . 8

1.2 Trois modèles de services du Cloud Computing . . . 10

1.2.1 Software as a Service (SaaS) . . . 10

1.2.2 Plateforme as a Service (PaaS) . . . 11

1.2.3 Infrastructure as a Service (IaaS) . . . 11

1.3 Quatre modèles de déploiement du Cloud Computing . . . 12

1.3.1 Le Cloud privé . . . 12

1.3.2 Le Cloud Communautaire . . . 13

1.3.3 Le Cloud public . . . 13

1.3.4 Le Cloud Hybride . . . 13

1.4 Adoption du Cloud Computing en chiffre . . . 15

1.5 Conclusion . . . 17

(17)

1.1 Introduction

L’histoire du Cloud Computing a commencé en 2002, quand Amazon1, avait alors investi dans un parc informatique afin de palier les surcharges des serveurs dédiés au commerce en ligne constatées durant les fêtes de fin d’année. A ce moment-là, Internet comptait moins de 600 millions d’utilisateurs mais la fréquentation de la toile et les achats en ligne étaient en pleine expansion. En dépit de cette augmentation, les ressources informatiques d’Amazon restaient peu utilisées une fois que les fêtes de fin d’année étaient passées. Cette dernière a alors eu l’idée de louer ses capacités informatiques le reste de l’année à des clients pour qu’ils stockent les données et qu’ils utilisent les serveurs. Ces services étaient accessibles via Internet et avec une adaptation en temps réel de la capacité de traitement, le tout facturé à la consommation. Cependant, ce n’est qu’en 2006 qu’Amazon comprit qu’un nouveau mode de consommation de l’informatique et d’Internet faisait son apparition.

Nous utilisons le Cloud quotidiennement sans le savoir, et ce depuis longtemps (dans tout type de messagerie électronique, le stockage distant des données, les réseaux sociaux...). Le Cloud Computing existait déjà sous différents noms comme «externalisation» et «hébergement sur serveur». Mais la faible performance des processeurs employés, la lenteur des connexions internet et les coûts exorbitants des matériels employés, ne permettaient pas l’exploitation des services et des espaces de stockage. Et les progrès de la technologie actuelle ont ouvert la voie pour ces opérations. La virtualisation des serveurs a apporté une architecture nettement plus performante et moins coûteuse. De plus, les connexions en hauts débits, ont permis un traitement plus rapide des fluctuations des demandes.

Il est difficile de définir précisément le terme Cloud Computing. Le NIST américain (L’Institut National des Standards et de la Technologie) [27] a élaboré une quinzaine de versions de sa définition pour finalement retenir la suivante : Le Cloud Computing est

un modèle qui permet d’offrir, à la demande, un accès réseau commode à un ensemble de ressources informatiques configurables partagées (par exemple des réseaux, des serveurs, des systèmes de stockage, des applications et des services) qui peuvent d’être rapidement mises à disposition et libérées avec un effort de gestion ou une intervention du fournisseur de services minimale. Ce modèle de Cloud met en avant la disponibilité et présente cinq caractéristiques essentielles, trois modèles de services et quatre modèles de déploiement [27] .

1. "Une entreprise de commerce électronique américaine basée à Seattle. Sa spécialité la plus connue est la vente de livres, mais elle est diversifiée dans d’autres produits, notamment dans la vente de tous types de produits culturels : disques CD, musique en téléchargement, DVD, appareils photos numériques, informatique et dans l’équipement de la maison, etc."

(18)

Les cinq caractéristiques essentielles du Cloud Computing sont :

1 Libre-service à la demande : Un client peut reserver unilatéralement des capacités informatiques, comme du temps serveur et du stockage, en fonction de ces besoins et de manière automatique, sans nécessiter une interaction humaine avec chaque fournisseur de services.

2 Accès ubiquitaire au réseau : Les capacités sont disponibles au travers du réseau et les accès à ces capacités se font via des mécanismes standards qui promeuvent une utilisation depuis des plateformes clientes légères ou lourdes hétérogènes (par exemple téléphones mobiles, ordinateurs portables et assistants personnels).

3 Mise en commun des ressources : Les ressources informatiques du fournisseurs sont mises en commun de manière à servir plusieurs clients au travers d’un modèle multilocataire, avec les différentes ressources virtuelles et physiques allouées dynamiquement et réaffectées en fonction de la demande du client. Il existe une notion d’indépendance de lieu car le client n’a généralement aucun contrôle ni connaissance de l’emplacement exact des ressources fournies, bien qu’il puisse être en mesure de préciser un lieu à un niveau d’abstraction plus élevé (par exemple un pays, un Etat ou un datacenter). Un espace de stockage, du temps de calcul, de la mémoire, de la bande passante réseau et des machines virtuelles sont autant d’exemples de ressources.

4 Elasticité rapide : Les capacités peuvent être mises à la disposition de manière rapide et élastique, voire automatiquement, pour répondre à une augmentation d’échelle et libérées rapidement en cas de réduction d’échelle. Pour le consom-mateur, les capacités disponibles apparaissent souvent illimités et peuvent être achetées en toute quantité à tout moment.

5 Service mesuré : Les systèmes de Cloud contrôlent et optimisent automatique-ment l’utilisation des ressources en exploitant des possibilités de mesures à un niveau d’abstraction adapté au type de service (par exemple espace de stockage, temps de calcul, bande passante et comptes d’utilisateurs actifs). L’usage des ressources peut être surveillé, contrôlé et indiqué de manière à offrir une certaine transparence au fournisseur et au client du service.

Les fournisseurs de cloud computing qui ne parviennent pas à assurer la trans-parence et à fournir une ou plusieurs des caractéristiques essentielles énumérées ci-dessus, ce qui les distingue des hébergeurs et des fournisseurs de service tradi-tionnels, (par exemple : un rapport détaillé de la consommation par service de vos services consommés, la disponibilité des ressources en cas de besoin) ne sont pas de vrais fournisseurs de cloud computing.

Ces caractéristiques doivent être respectées dans tous les modèles de services offerts par ces fournisseurs.

(19)

1.2 Trois modèles de services du Cloud Computing

L’adoption rapide du modèle du Cloud Computing a commencé en 2009. Les entreprises dans tous les pays ont détecté cette opportunité économique chose qui les a obligée à accélérer les manoeuvres, la Figure 1.1 montre l’optimisation des capacités IT par rapport à la charge réelle sans et avec le modèle Cloud, par ailleurs la réduction des coûts (les investissements initiaux), l’agilité, la collaboration, l’innovation et la transformation IT en quelques minutes au lieu de quelques jours voire quelques mois sont les principaux leviers de ce nouveau concept [16].

F����� 1.1 – Optimisation des ressources avant et après l’adoption du Cloud Les fournisseurs du Cloud proposent leurs services sous différents modèles que NIST a énuméré selon les types de fonctionnalités et les besoins des entreprises.

1.2.1 Software as a Service (SaaS)

Dans ce modèle, le client est en capacité d’utiliser les applications du fournisseur qui s’exécutent dans une infrastructure de Cloud, les applications sont accessibles à partir de différents périphériques clients au travers d’une interface légère (navigateur web par exemple).

Le client ne gère ni ne contrôle l’infrastructure de Cloud sous-jacente, comme : le réseau, les serveurs, les systèmes d’exploitation, le stockage ou les possibilités de déployer ses propres applications, mais il pourra éventuellement configurer certains paramètres de l’application destinés à l’utilisateur.

C’est la fourniture clé en main d’applications prêtes à l’emploi, avec une prise en charge du paramétrage du service concerné et une facturation en abonnement sur la base d’une tarification à l’usage, historiquement le SaaS est un peu la première brique Cloud apparue [5].

(20)

- Messagerie électronique

- CRM (Customer Relationship Management) - GED (Gestion électronique de documents) - Collaboration en ligne

- Logiciels de gestion de paie et RH - Sauvegardes en ligne

Les principales offres SaaS proposées sont [3] :

- Google offre Google Apps (messagerie et bureautique) - SalesForce offre CRM (Customer Relationship Management)

- Microsoft offre Office 365 (messagerie, outils collaboratifs, bureautique)

1.2.2 Plateforme as a Service (PaaS)

Dans ce modèle, le client est en capacité de déployer dans l’infrastructure du Cloud des applications qu’il a créées ou qu’il a achetées et qui ont été développées à l’aide des languages de programmation et des outils pris en charge par le fournisseur. Le client ne gère ni ne contrôle l’infrastructure de Cloud sous-jacente, comme le réseau, les serveurs, les systèmes d’exploitation ou le stockage, mais dispose d’un contrôle sur les applications déployées et éventuellement sur l’environnement qui les héberge.

Le PaaS propose à l’utilisateur, en plus d’un service d’utilisation de logiciel à distance, d’avoir accès à une véritable plateforme de développement, équipée d’un langage de programmation, d’outils de développements, de modules. L’utilisateur bénéficie donc d’un environnement de développement managé, hébergé, maintenu par un fournisseur Cloud, basé sur une infrastructure externe à son entreprise. Il aura donc la possibilité de développer des outils uniques pour son activité à l’aide d’une interconnexion collective de plusieurs intervenants internes ou externes.

Les principales offres PaaS proposées sont : - Microsoft avec Windows AZURE - Google avec Google App Engine - Orange Business Services.

1.2.3 Infrastructure as a Service (IaaS)

Dans ce modèle, le client est en capacité d’approvisionner des ressources de calcul, de stockage, de réseau et d’autres, où il est en mesure de déployer et d’exécuter des logiciels quelconques, comme des systèmes d’exploitation et des applications.

Le client ne gère ni ne contrôle l’infrastructure de Cloud sous-jacente, mais dispose d’un contrôle sur les systèmes d’exploitation, le stockage, les applications déployées et éventuellement sur l’ensemble des composants réseau sélectionnés (par exemple le pare-feu de l’hôte).

(21)

La définition du service comprend des offres telles que l’espace serveur, des connexions réseau, de la bande passante, des adresses IP et des load balancers. Physiquement, les ressources hardware proviennent d’une multitude de serveurs et de réseaux généralement distribués à travers de nombreux Datacentres, que le fournisseur de services Cloud a la responsabilité d’entretenir. Parallèlement, l’accès aux composants virtualisés est donné à l’entreprise cliente afin que celle-ci puisse construire ses propres plateformes IT.

Les principales offres IaaS proposées sont :

- Amazon Web Services (AWS) avec Elastic Compute Cloud (EC2) - Microsoft avec Azure

- Google avec Compute Engine

Le Cloud Computing est une solution qui fournit un espace dans lequel il est possible de placer virtuellement des infrastructures serveur ou réseau, des plateformes de développement ou d’exécution, et tout cela peut être déployé sur différentes typologies du Cloud appelées les modèles de déploiement du Cloud Computing.

1.3 Quatre modèles de déploiement du Cloud

Compu-ting

Le NIST a défini quatre modèles de déploiement du Cloud Computing qui peuvent faire l’objet de variantes importantes en fonction d’autres facteurs que nous allons détailler dans les sections suivantes (sécurité, sensibilité des données, prix...)

1.3.1 Le Cloud privé

L’infrastructure du Cloud est réservée à une entreprise. Elle peut être gérée par l’entreprise ou par un tiers et peut se trouver dans les locaux de l’entreprise ou ailleurs.

Les deux caractéristiques du Cloud privé sont la délimitation d’un Cloud pour l’utilisation d’une seule organisation ainsi qu’un degré plus élevé de sécurité du réseau. Les ressources des services du Cloud privé proviennent d’un pool distinct de serveurs physiques, pouvant être hébergés en interne ou hors de l’entreprise, et accessibles par des liaisons louées privées ou des connexions sécurisées via les réseaux publics. La sécurité supplémentaire que fournit le modèle de Cloud privé est idéale pour tout type d’organisation ou d’entreprise ayant besoin de stocker et de traiter des données privées, ou alors d’exécuter des tâches sensibles. Par exemple, un service de Cloud privé peut typiquement être utilisé par une société financière obligée par la législation en vigueur de stocker des données sensibles internes, mais qui souhaite également avoir recours à certains avantages du Cloud computing dans son infrastructure, comme l’allocation de ressources sur demande.

(22)

1.3.2 Le Cloud Communautaire

L’infrastructure du Cloud est partagée par plusieurs entreprises et est destinée à une communauté précise aux préoccupations communes (par exemple une mission, des exigences de sécurité, une stratégie ou des questions de conformité). Elle peut être gérée par des entreprises ou un tiers et peut se trouver dans leurs locaux ou ailleurs.

C’est un modèle dédié à une communauté professionnelle spécifique incluant partenaires, sous-traitants..., pour qu’il puisse travailler de manière collaborative sur un même projet ou il peut s’agir d’un Cloud gouvernemental dédié aux institutions étatiques.

1.3.3 Le Cloud public

L’infrastructure du Cloud est rendue disponible au grand public ou à un grand groupe industriel et elle appartient à une entreprise qui vend des services en nuage.

C’est le modèle le plus connu vis-à-vis les utilisateurs Cloud. Les services sont fournis dans un environnement virtualisé, construit en utilisant des ressources physiques partagées et accessibles via un réseau public (Internet). Le principe du Cloud public peut être défini par opposition à celui du Cloud privé, via lequel de nombreux clients accèdent à des services virtuels qui tirent tous leurs ressources du même pool de serveurs à travers des réseaux publics. En revanche, le Cloud public fournit des services à des clients multiples en utilisant la même infrastructure partagée.

Les offres de Software as a Service (SaaS), comme le stockage Cloud et les applications office en ligne, sont peut-être les plus connues, mais les offres disponibles d’Infrastructure as a Service (IaaS) et de Platform as a Service (PaaS), qui incluent l’hébergement web et des environnements de développement basés sur le Cloud, peuvent également correspondre à ce modèle (bien que toutes puissent exister au sein de Clouds privés). Les Clouds publics sont largement utilisés dans les offres adressées aux grand public, moins susceptibles d’avoir besoin de l’infrastructure et de la sécurité des Clouds privés. Toutefois, les entreprises peuvent toujours avoir recours au Cloud public pour rendre leurs opérations plus efficaces, par exemple pour le stockage de contenu non-sensible, la collaboration avec des documents en ligne et la messagerie web.

1.3.4 Le Cloud Hybride

L’infrastructure du Cloud est constituée de deux Clouds ou plus (privés, commu-nautaires ou publics) qui restent des entités indépendantes mais sont reliés par une technologie standardisée ou propriétaires afin d’autoriser une portabilité des données et des applications (par exemple le "Cloud bursting" pour la répartition de charge entre les differents Clouds).

(23)

Ce modèle permet la cohabitation entre deux ou plusieurs Clouds privés et des Clouds publics pour remplir différentes fonctions au sein d’une même organisation. Si tous les types de services Cloud sont sensés offrir un certain niveau d’efficacité, à des degrés divers, les services Cloud public sont susceptibles d’être plus avantageux au niveau des coûts et plus évolutifs que les Clouds privés. C’est pourquoi une organisa-tion peut maximiser son efficacité en utilisant des services de Cloud public pour ses opérations non-sensibles et s’appuyer en revanche sur un Cloud privé lorsqu’elle en a besoin, faisant en sorte que toutes ses plateformes soient intégrées harmonieusement. Les modèles du Cloud hybride peuvent être mis en oeuvre par de nombreuses façons : - Les différents fournisseurs de Cloud s’unissent afin de fournir des services intégrés

en Cloud privé et public ;

- Les fournisseurs de Cloud individuels proposent un pack hybride complet ;

- Les organisations gérant elles-mêmes leur propre Cloud privé souscrivent à un service de Cloud public qu’elles intègrent ensuite dans leur infrastructure.

Il est important de préciser qu’un client peut obtenir un meilleur contrôle sur la sécurité d’un plus grand nombre de ressources lorsqu’il passe de SaaS au PaaS et plus encore de PaaS à IaaS, de même que lorsqu’il passe d’un Cloud public à un Cloud communautaire et plus encore d’un Cloud communautaire à un Cloud privé comme exprimé sur la Figure 1.2 ci-dessous.

F����� 1.2 – Les caractéristiques, les modèles de service et de déploiement du Cloud Computing selon NIST

(24)

1.4 Adoption du Cloud Computing en chiffre

L’adoption du cloud computing en entreprise répond à des exigences financières et a tendance à la réduction et la maîtrise des coûts de maintenance et d’exploitation en souscrivant à un service sous forme d’abonnement et en n’ayant pas ainsi à investir dans du matériel (serveurs) et des licences logicielles qui sont mises à la disposition des clients par le fournisseur du Cloud, la Figures 1.3 présente les parties de l’infra-structure gérées par l’entreprise cliente et celles gérées par le fournisseur selon le modèle de service adopté.

Les principaux avantages dont bénéficient les entreprises qui mettent en oeuvre la technologie du Cloud, est l’optimisation des processus, la redéfinition de leurs activités, leurs pratiques et leurs expériences et donc l’amélioration de leurs productivités. Comme la plupart des avancée technologique, le Cloud représente des risques liés à la confidentialité des données sensibles, ceci a toujours été un souci majeur envers son adoption par les entreprises, à cause des inquiétudes qu’elle engendre.

F����� 1.3 – SaaS, PaaS et IaaS qui gère quoi ?

Malgré que le Cloud Computing n’a pas encore atteint de niveau des exigences en terme de sécurité et de confidentialité demandé par ses clients, le taux d’adoption des services Cloud a subit une croissance remarquable surtout ces dernières années, la Figure 1.4 illustre les statistiques liées à l’adoption du Cloud pour chaque modèle de service en France (vu la disponibilité des statistiques datant de décembre 2014).

(25)

F����� 1.4 – Taux d’adoption du Cloud par modèle de service en France [29] Les statistiques sur la Figure 1.4 datent de décembre 2014, on remarque que le pourcentage d’adoption du modèle SaaS est de 54%, tandis que celui du IaaS et du PaaS est de 46% et 16% respectivement, ceci est dû au fait que les solutions SaaS sont des solutions clé en main qui n’exigent des clients dans la plupart des cas, aucune compétence supplémentaire, les utilisateurs finaux sont, en fait, habitués à manier les services qui leurs sont offerts comme la messagerie électronique, les CRM ainsi que les outils de gestion de projet, de stockage en ligne, de collaboration...Par contre, les solutions IaaS et/ou PaaS nécessitent de solides compétences techniques afin de répondre aux besoins clés de toute entreprise.

Les fournisseurs de Cloud doivent encore fournir un effort pour gagner la confiance des entreprises clientes, en determinant leurs besoins fonctionnels et techniques, en les accompagnant tout au long du changement, et en les sensibilisant aux respects des règles sécuritaires et/ou juridiques surtout lorsqu’il s’agit des domaines critiques (financiers ou stratégiques), ce qui va jouer un rôle crucial pour encourager ces entreprises à migrer vers le Cloud, la Figure 1.5 montre l’évolution de l’adoption de la technologie Cloud par les PME en France depuis l’an 2012 jusqu’à 2015.

F����� 1.5 – Taux d’adoption du Cloud par les PME en France [29]

La flexibilité engendrée par le fait d’augmenter ou de diminuer les capacités des ressources accessibles par les applications Cloud (CPU, capacité de stockage, RAM...)

(26)

ainsi que la réduction des coûts sont les facteurs majeurs qui incitent les utilisateurs à acquérir des services Cloud, la Figure 1.6 exprime en détails ces facteurs selon leurs niveaux d’importance.

F����� 1.6 – Les facteurs d’adoption des solutions Cloud - Décembre 2014 [29] La sécurité des données stockées chez le fournisseur de Cloud présente une barrière à l’adoption de ce dernier par les entreprises, la Figure 1.7 traite le cas de la France comme exemple, et détaille en chiffre, les différents facteurs freins qui empêchent les entreprises d’aller vers le Cloud. (plus de détails concernant la sécurité liée au Cloud Computing seront clarifiés dans le chapitre 2).

F����� 1.7 – Les freins à l’adoption du Cloud en France - Décembre 2014

1.5 Conclusion

le Cloud Computing est un nouveau concept de la Technologie de l’Information qui a révolutionné le monde. Vos logiciels, vos applications et vos données vous suivent partout. Au lieu d’investir dans l’achat des serveurs, des licences de logiciels ou encore

(27)

dans un contrat de maintenance, les fournisseurs de Cloud vous offrent des services à la demande et accessibles depuis n’importe quel terminal connecté à Internet, à la fin du mois vous recevrez votre facture détaillée avec tout ce que vous avez consommé (capacité de stockage, bande passante, durée de traitement etc...). La mise en oeuvre de ces nouveaux services suppose toutefois une révision complète des procédure et des mesures de sécurité à mettre en place pour la réussite de cette migration vers le Cloud qui n’est pas aussi simple que les fournisseurs laissent croire. Ces milliers d’entrepôts électroniques qui hébergent et conservent des milliards de données sont-ils vraiment sécurisés ? Sommes-nous les seuls à avoir avoir accès à nos données ? Les questions de sécurité et de confidentialité restent ouvertes d’où le nombre de recherches qui se font dans ce sens [23].

Dans ce chapitre nous avons décrit le principe du Cloud Computing, ces trois modèles de services, ces quatre modèles de déploiement et nous avons donné quelques statistiques liées à son utilisation par les entreprises, ainsi que l’aspect de la sécurité qui bloque son adoption. Dans ce qui suit nous allons traiter en détail ces questions de sécurité et de confidentialité des données hébergées chez le fournisseurs du Cloud.

(28)

S������� �� ��������� �� C����

C��������

Sommaire

2.1 Introduction . . . 20 2.2 Les mesures de sécurité dans le Cloud Computing . . . 21

2.2.1 Les risques liés à la mutualisation des ressources . . . 24 2.2.2 Les différentes techniques de virtualisation . . . 26

2.3 Normes et standards du Cloud Computing . . . 32

2.3.1 Normes liées au Cloud Computing . . . 33 2.3.2 Cadre juridique du Cloud Computing . . . 34

2.4 Du Cloud au Multi-Clouds Computing . . . 35

2.4.1 Le principe de DepSky (Dependable Storage) . . . 36 2.4.2 Le principe de RACS (Redundant Array of Cloud Storage) . 37 2.4.3 Le principe de HAIL (High Availability and Integrity Layer) 38 2.4.4 Le principe de IC Store (Intercloud Storage) . . . 38

2.5 Conclusion . . . 39

(29)

2.1 Introduction

Le Cloud présente de nombreux avantages d’agilité, de souplesse et de réduction des coûts, mais l’offre actuelle de Cloud est susceptible d’exposer les données sensibles des entreprises à de grands risques, il n’est plus important de comprendre ce que le Cloud Computing ou l’informatique à la demande apporte à l’informatique d’aujourd’hui et de demain -car on le sait tous- mais il s’agit plutôt de comprendre la problématique liée à la sécurité des données hébergées chez le fournisseur de Cloud, comment garantir une meilleure sécurité à ces données et comment un client pourra garder ses informations privées confidentielles. Pour bien cerner l’aspect de sécurité sur lequel nous allons travailler, nous allons présenter d’abord les objectifs de la sécurité mais dans le contexte du Cloud :

Ê

La disponibilité : Les fournisseurs de Cloud s’engage contractuellement à assurer

un niveau de disponibilité de 99,9% de n’importe où et n’importe quand. De plus la virtualisation assure une haute disponibilité des données en les dupliquant dans une autre machine virtuelle sur le même hyperviseur, le serveur physique lui même est dupliqué sur un autre dans le même datacenter, et tout le datacenter est répliqué mais dans une autre zone géographique sur des plaques tectoniques différentes en cas de sinistre.

Ê

L’intégrité : il s’agit de la protection des données contre la destruction,

l’altéra-tion, la modifical’altéra-tion, qu’elle soit intentionnelle ou accidentelle. Les protocoles utilisés pour assurer l’intégrité dans le Cloud sont des protocoles standards qui permettent le transfert des données entre l’entreprise et le serveur Cloud à travers un navigateur web multiplateforme, protocoles SSL dans le cas de HTTPS ou SSL VPN dans le cas d’une connexion via un réseau privé entre l’entreprise et le fournisseur du Cloud.

Ê

La traçabilité : consiste à recueillir les informations sur "Qui a fait quoi, quand, sur

quelle donnée, depuis où ? " Elle est garantie par l’utilisation de différents profils d’utilisateurs, la mise en place de permissions d’accès fines sur les ressources et les données, l’extraction de traces suffisamment complètes (les fichiers journaux) avec la possibilité de les consulter ou les transmettre automatique au client du Cloud.

Ê

L’authentification : l’identification des utilisateurs est fondamentale pour gérer

les accès à leurs comptes Cloud et maintenir la confiance dans les relations d’échange. Pour les authentifier, les fournisseurs de Cloud utilisent des outils d’authentification à deux facteurs tel que « cloud token » ou l’envoi d’un code via un message ou un appel téléphonique.

Ê

La non-répudiation et l’imputation : aucun utilisateur ne doit pouvoir contester

les opérations qu’il a réalisées dans le cadre de ses actions autorisées, et aucun tiers ne doit pouvoir s’attribuer les actions d’un autre utilisateur.

(30)

Ê

La confidentialité : est l’objectif le plus difficile à atteindre dans les cas des

don-nées sensibles hébergées chez le fournisseurs de Cloud. Les clés de chiffrement sont forcément stockées en clair dans le serveur Cloud pour pouvoir les utiliser afin de répondre à chaque requête du client. Par conséquent, il est difficile d’interdire l’accès aux clés ensuite aux données chiffrées par les administrateurs du Cloud. Dans la suite de ce rapport nous nous intéresserons à ce concept de confidentialité et de respect de la vie privée dans le Cloud.

A cet effet, nous avons posé deux questions majeures : comment s’assurer que même si les datacenters du fournisseur du Cloud sont attaqués les données des utilisateurs ne seront pas réutilisées et comment ces données restent confidentielles et invisibles même pour le fournisseur de Cloud lui-même ?

Les fournisseurs de Cloud tel que IBM, Google et Microsoft utilisent la virtualization dans leurs plateformes Cloud, ainsi sur une même machine physique peut cohabiter des espaces de stockage et de traitement virtualisés qui appartiennent à des enterprises concurrentes, par consequent l’aspect de sécurité et de confidentialité [23] doivent intervenir pour protéger les données de chacune des enterprises. Sécuriser le stockage et le traitement des données nécessitent l’utilisation des aspects cryptographiques modernes qui répondent à des critères de rapidité en temps de traitement de la requête envoyée par le client ainsi que de la taille des données chiffrées qui vont être stockées chez le fournisseur du Cloud.

2.2 Les mesures de sécurité dans le Cloud Computing

Les nombreux avantages du Cloud computing en font le sujet majeur d’évolution de l’informatique d’entreprise des prochaines années. Toutefois, ces services comportent encore de nombreuses incertitudes concernant leur sécurité, leur conformité réglemen-taire et le régime de responsabilité du client et du prestaréglemen-taire.

Le Cloud public soulève de nombreuses questions en termes de sécurité et de respect de la vie privée car son utilisation conduit globalement à une perte de contrôle du client sur le traitement de ses données.

La sécurité dans le Cloud repose principalement sur la confiance, qui constitue un obstacle majeur à son adoption. Le choix d’un Cloud privé, implique la confiance en soi, ce comportement fait perdre les économies d’échelle, contrairement au Cloud public. Mais, de par la définition de ce type de Cloud, les clients doivent faire également confiance à tous les utilisateurs du même centre de données et doivent s’assurer qu’ils sont bien identifiés.

L’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI), dans son Référentiel de qualification de prestataires de services sécurisés d’informatique en nuage (Cloud Computing) -référentiel d’exigences- publié en 2014 [1], a précisé dans la rubrique "Cryptologie" sur le chiffrement des données stockées que :

(31)

mécanisme en accord avec les règles et les recommandations de l’Annexe B1 du Référentiel Général de Sécurité.

(b) La solution de chiffrement doit être qualifiée au moins au niveau élémentaire. (c) Niveau standard : la solution de chiffrement doit être qualifiée au moins au

niveau standard.

De ce fait, les mesures de sécurité exigé par l’ANSSI pour la protection des données sensibles dans le Cloud sont standards, basées sur les méthodes de chiffrement traditionnelles. Par exemple AWS (Amazon Web Services) utilise pour le stockage de données chiffrées l’algorithme AES-256 (Advanced Encryption Standard), un système chiffrement par clé symétrique de 256 bits.

Les outils connus pour assurer la confidentielles des données dans le Cloud, sont des outils dont l’utilisation est restreinte au stockage et le partage des fichiers en ligne (Dropbox, Google Drive, OneDrive...)

Ê

Boxcryptor : c’est un SaaS qui réalise un processus de chiffrement combiné basé

sur un chiffrement asymétrique RSA et symétrique AES. Chaque fichier a sa propre clé unique qui est générée au hasard lors de sa création. Cet outil, qu’on paye selon la capacité de stockage à chiffrer et chaque utilisateur avec qui on veut partager un ficher doit disposer d’un abonnement (c.à.d d’une clé publique). La clé du fichier est utilisée pour chiffrer et déchiffrer le contenu du fichier comme suit :

Chiffrement :

– L’outil Boxcryptor crée une clé de fichier sécuritaire aléatoire, ensuite il

chiffre les données de texte brut en utilisant la clé de fichier, chiffre aussi la clé de fichier avec la clé publique de l’utilisateur ;

– Ensuite, il entrepose la clé de fichier chiffrée à côté du texte chiffré dans

le fichier, si des utilisateurs multiples ont accès à un même fichier, la clé du fichier sera chiffrée plusieurs fois avec les différentes clés publiques des utilisateurs et chaque résultat est stocké avec le chiffré du fichier.

Déchiffrement :

– Boxcryptor déchiffre la clé de fichier en utilisant la clé privée de l’utilisateur ; – Déchiffre le fichier chiffrée en utilisant la clé obtenue.

Le partage des fichiers entre des utilisateurs de Boxcryptor se base sur le concept suivant :

– Un utilisateur est quelqu’un qui crée un compte Boxcryptor et qui est

(32)

– Les clés d’utilisateur sont générées sur l’appareil de l’utilisateur durant

la configuration et la création du compte. Avant la soumission des clés au serveur des clés Boxcryptor, l’information sensible est chiffrée afin que seulement l’utilisateur y ait accès ;

– La clé AES est chiffrée avec la clé publique RSA de l’utilisateur, l’accès à

la clé privée RSA sera requis pour déchiffrer la clé AES ;

– La clé privée RSA est chiffrée avec le mot de passe de l’utilisateur, la

connaissance du mot de passe sera requise pour déchiffrer la clé privée RSA.

Même si ce procédé parait assez sécurisé, l’outil Boxcryptor ne permet pas la recherche par mot clé (car les fichiers sont stockés chiffrés). Ainsi en dehors de BoxCryptor les noms des dossiers et les données ne peuvent pas être lus, de plus l’utilisateur de ce service Cloud, doit à chaque changement de son dispositif de connexion vers le Cloud installer l’application qui est la seule façon d’accéder au contenu de tous ces documents chiffrés dans le Cloud, ce qui est contradictoire avec le concept d’un service SaaS accessible de n’importe où, n’importe quand et via un navigateur web.

Ê

Viivo : Cet outil offre également un service de chiffrement des fichiers d’utilisateurs

sur le Cloud. Théoriquement, l’application Viivo reconnait tous les fournisseurs, mais c’est avec Dropbox, Box, Google Drive et OneDrive de Microsoft qu’elle fonctionne le mieux.

De plus, Viivo ne se contente pas de chiffrer les fichiers, elle les comprime pour optimiser l’espace de stockage. Pour partager ses fichiers avec d’autres utilisateurs, il faut qu’ils aient au préalable installé l’application. Quant aux protocoles, Viivo a recours à l’algorithme AES-256 bits pour le chiffrement et au standard RSA pendant le transfert des informations (même principe de BoxCryptor).

Ê

TrueCrypt : C’est un logiciel open-source qui utilise le même principe de

Box-Cryptor ;

– Crée un répertoire virtuel chiffré – Chiffre et partage des fichiers

– Supporte les algorithmes cryptographiques standards – Existe pour Windows, Mac OS X et Linux

Ê

TeamDrive : Produit propriétaire payant avec version gratuite disposant de

fonctionnalités limitées ;

– Stocke, chiffre, déchiffre et partage des fichiers dans le Cloud – Existe pour Windows, Mac OS X, Linux, Android et iOS

(33)

Tous les fichiers synchronisés vers le Cloud sont stockés avec leurs clés de chiffrement.

Pour partager des données avec d’autres utilisateurs qui ne souhaitent pas créer un compte (qui ne disposent pas du couple (clé publique privée, clé privée)), une seule option est possible, partager le répertoire complet ainsi que le mot de passe.

Les applications SaaS proposées par les fournissurs, permettent de chiffrer les fichiers d’utilisateurs pendant le transfert vers les serveurs Cloud, mais pas après. Les solutions citées plus haut représentent un intermédiaire entre les fichiers d’utilisateur et le serveur Cloud, permettant ainsi le chiffrement des fichiers lors du transfert et pendant le stockage, mais en limitant les fonctionnalités de traitement sur ces fichier qui ne sont plus que la lecture, l’écriture et le partage (avec risque de divulgation du mot de passe).

Dans le Cloud, l’utilisateur n’est pas forcément la seule personne qui peut accéder à ses propres données. S’il loue les services d’un fournisseur, ce dernier a aussi accès à ces données puisqu’il doit gérer l’infrastructure. Il est parfois difficile de déterminer si l’utilisateur reste la seule personne à pouvoir déchiffrer ses données. Il ne faut pas se laisser éblouir par des termes alambiqués mais il faut s’assurer que l’utilisa-teur final est le seul à détenir les clés de chiffrement et de déchiffrement de ses données.

C’est pourquoi il est nécessaire d’utiliser un outil de chiffrement, qui permet de chiffrer et déchiffrer les données, de les stocker dans le Cloud en toute confidentialité et pouvoir effectuer tout type de traitement sur ces données sans les déchiffrer.

Dans la prochaine section, nous allons soulever les risques engendrés par la virtualisation et la mutualisation des ressource qui est le concept sur lequel s’est bâtit le Cloud Computing.

2.2.1 Les risques liés à la mutualisation des ressources

Le Cloud Computing n’est pas une technologie qui va tout révolutionner à court terme mais une tendance de fond dans laquelle s’inscrivent désormais tous les futurs projets informatiques. Le Cloud permet de mutualiser les ressources entre plusieurs clients et donc d’optimiser leur taux d’occupation [39]. Le fournisseur peut également lisser la charge sur des ressources situées dans différentes zones géographiques et garantir une meilleure disponibilité, mais cette mutualisation comporte des risques liés à la confidentialité et au respect de la vie privée des utilisateurs qui partagent une même plateforme physique.

Le Cloud Computing se caractérise par ce qui suit :

(34)

• Une flexibilité immédiate en fonction des besoins de l’utilisateur ; • Une mutualisation des ressources au sein d’un data center ; • Une virtualisation des systèmes ;

• Un usage à la demande ;

• Une accessibilité par le biais d’un réseau depuis n’importe quel point géogra-phique ;

• Une possibilité de paiement à l’usage (pay per use).

Une des approches qu’utilise le fournisseur consiste à mutualiser les ressources dont il dispose afin de les partager entre plusieurs entreprises. Dans ce contexte, plusieurs défis, parmi lesquels l’isolation des espaces utilisateur et l’administration optimale des ressources, se posent pour permettre un réel développement du cloud. Actuellement, la plupart des développements de plateformes de cloud utilisent la virtualisation [12] comme support technologique pour assurer l’isolation. Les différents déploiements de ces applications occupent des partitions virtuelles et non des espaces physiques distincts. D’autre part, l’allocation ou désallocation des ressources, qu’elles soient physiques ou virtuelles, se fait en fonction des besoins utilisateurs. Cela implique des architectures avec un haut niveau d’abstraction aussi bien pour l’ensemble des ressources mises à disposition (stockage, temps CPU, mémoire, bande passante, machines virtuelles, ...) que pour la localisation géographique des instances.

Le Cloud Computing s’est basé sur une architecture virtuelle, et cette virtualisation soulève de nombreux risques de sécurité.

– Chaque nouvelle machine ajoute un système d’exploitation supplémentaire, qui entraine lui même un risque de sécurité ;

– Les systèmes de détection d’intrusions classiques destinés à une utilisation au niveau d’un réseau physique ne fonctionnent pas nécessairement pour les serveurs virtuels localisés sur le même hôte ;

– En cours de l’exploitation des ressources allouées aux machines virtuelles, des données sont écrites sur un support physique ou en mémoire, et si celui-ci n’est pas effacé avant que cette ressource ne soit réaffectée à une autre machine virtuelle, il existe donc un risque de divulgation des données.

Chaque client hébergé est généralement séparé d’un autre juste au niveau de la machine virtuelle, un fournisseur de Cloud peut utiliser un seul hyperviseur pour la gestion des machines virtuelles appartenant à différentes organisations ou même à des organisations concurrentes.

Afin de garantir la sécurité de ses machines virtuelles, le fournisseur de Cloud doit implémenter la gestion des identités et des accès au niveau de l’hyperviseur.

(35)

Tout comme dans un Cloud privé, les outils de gestion des identités et des accès peuvent être configurés afin de restreindre l’accès aux différentes machines virtuelles sur la base des paramètres de sécurité associés à chaque hyperviseur afin que, même dans un environnement partagé, seuls les administrateurs appropriés aient accès aux machines virtuelles d’une organisation.

Les techniques de virtualisation adoptées dans les environnements Cloud sont nombreuses, elles sont utilisées et adaptées selon le besoin et les demandes des clients vis à vis les services auxquels ils ont accès.

2.2.2 Les différentes techniques de virtualisation

La virtualisation [13] en théorie : « En informatique, on appelle virtualisation l’en-semble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d’exploitation et/ou plusieurs applications, séparément les uns des autres, comme s’ils fonctionnaient sur des machines physiques distinctes.»

La virtualisation en pratique : Le nombre grandissant de services proposés aux utilisateurs (Annuaire, mails, sites internet/intranet, applications métier...) en entreprise oblige les administrateurs à maintenir une infrastructure de plus en plus complexe en multipliant le nombre de serveurs, le nombre d’applications par serveurs, ou encore en maintenant plusieurs versions d’une même application sur plusieurs machines (à cause des héritages des applications métier).

La virtualisation et la consolidation permettent de simplifier la gestion du parc ser-veurs, en réduisant le nombre de machines à entretenir, en optimisant au maximum l’utilisation des ressources et en permettant une haute disponibilité. La virtualisation, des bureaux et des applications, permet d’homogénéiser le parc machine utilisateurs, d’autoriser l’utilisation de plusieurs versions d’une même application et tout ceci indépendamment du système d’exploitation installé.

Les avantages de la virtualistion sont : – Centraliser l’architecture des serveurs ;

– Plusieurs serveurs virtuels sont répartis sur peu de machines physiques ; – Une administration à distance des serveurs virtualités ;

– L’économie d’énergie (consommation électrique) ;

– La limitation d’espace (petites sales de machines au lieu de grandes salles avec une climatisation élevée) ;

– La migration facile et transparente d’un serveur virtuel d’une machine physique à une autre ;

(36)

– Le déploiement de nouveau serveur en moins de 30 min : lors de la mise en place d’un nouveau service, il n’est plus nécessaire d’acheter un serveur physique dédié à ce service, une simple copie de machine virtuelle à partir d’un modèle permet de déployer le nouveau serveur en moins de 30 min ;

– La possibilité de créer des points de restauration des serveurs virtuels par le biais de « snapshot» : image d’une machine virtuelle à un instant donné ; – La migration à chaud, les machines virtuelles peuvent être déplacées très

facilement entre deux serveurs physiques sans subir de panne importante, ce qui minimise les interruptions de fonctionnement et favorise la continuité de service : Nous entendons par transfert de services la possibilité de déplacer l’exécution d’un service d’une machine réelle à une autre sans interruption. Elle permet d’exploiter les ressources d’une machine réelle sous-utilisée par un service en cours d’exécution sur une machine réelle sur-utilisée. Inversement, elle permet de consolider sur un nombre réduit de machines, des services en cours d’exécution sur plusieurs machines sous-utilisées.

Les techniques de virtualisation [19] sont nombreuses et le choix de la technique adéquate passe par une étude détaillée de la plateforme informatique à virtualiser. La Figure 2.1 illustre les 4 techniques de virtualisation que nous détaillerons une par une.

F����� 2.1 – Les différentes techniques de Virtualisation [36]

Les quatre techniques de virtualisation sont : les machines virtuelles, l’isolation, l’hyperviseur complet et la paravirtualisation.

Ê

Les Machines Virtuelles : une machine virtuelle est un logiciel qui tourne sur le

système d’exploitation hôte comme illustre la Figure 2.2 ci-dessous. Ce logiciel permet de lancer un ou plusieurs SE invités, chacun de ces derniers n’a l’accès qu’au matériel virtualisé par la machine, mais il pense dialoguer directement avec le matériel physique, cette solution permet d’isoler les systèmes d’exploitation invités mais en contre partie elle a un point négatif qui est son importante

(37)

consommation des ressources (réduction des performances au niveau des en-trées/sorties, limitation des performances du processeur, économie en mémoire impossible), par contre cette technique offre de meilleures performances que l’émulation expliqué dans la Figure 2.3, du fait de l’accès plus rapide au matériel. Les logiciels permettant l’utilisation de cette technique de machines virtuelles sont : Virtual PC/Server, VirtualBox et VMWare Player/GSX/Workstation.

F����� 2.2 – Technique des Machines virtuelles

Ê

L’émulation : dans ce cas, un environnement est créé où l’on simule les

périphé-riques matériels. Chaque application donne des instructions via des pilotes à l’hyperviseur qui doit passer par le système d’exploitation pour exécuter celles-ci. Cette solution est très comparable à une machine virtuelle, et parfois même confondue. Cependant, l’unité centrale de traitement, la mémoire centrale ainsi que la mémoire de stockage (via un fichier) sont directement accessibles aux machines virtuelles, alors que sur un émulateur l’unité centrale est simulée, les performances en sont donc considérablement réduites par rapport à la vir-tualisation. Ce type de virtualisation permet de travailler avec des systèmes prévus pour un matériel totalement différent de celui sur lequel il tourne, grâce à l’émulation du matériel. En revanche, cette technique engendre une grande perte de performance du fait du nombre de couches traversées et de la conversion nécessaire pour passer d’un langage correspondant à un matériel à l’autre.

(38)

F����� 2.3 – Technique de l’émulation

Ê

Les Isolateurs : l’isolation est une technique permettant d’emprisonner l’exécution

des applications dans des contextes. Cette solution est très performante (le surcoût d’une application isolée/virtualisée est minime par rapport au temps d’exécution de la même application installée sur un système d’exploitation). La performance est donc au rendez-vous. Cependant on ne peut pas parler de virtualisation de systèmes d’exploitation car l’isolation ne consiste à virtualiser que des applications. On pourrait donc avoir par exemple plusieurs instances de Tomcat qui écoutent le même port ou bien plusieurs Apaches sur le port 80, etc. La figure 2.4 ci-dessous stipule cette technique d’isolation.

(39)

Ê

L’hyperviseur complet (La virtualisation complète) : la virtualisation est dite

complète lorsque le système d’exploitation invité n’a pas conscience d’être virtualisé. Le SE qui est virtualisé n’a aucun moyen de savoir qu’il partage le matériel avec d’autres SE. Ainsi, l’ensemble des systèmes d’exploitation virtualisés s’exécutant sur un unique ordinateur, peuvent fonctionner de manière totalement indépendante les uns des autres et être vu comme des ordinateurs à part entière sur un réseau.

F����� 2.5 – Technique de l’Hyperviseur complet

Ê

La paravirtualisation : par opposition à la virtualisation, on parle de

paravirtuali-sation lorsque les systèmes d’exploitation doivent être modifiés pour fonctionner sur un hyperviseur de paravirtualisation. Les modifications sont en fait des insertions de drivers permettant de rediriger les appels système au lieu de les traduire.

Références

Documents relatifs