Beruflich Dokumente
Kultur Dokumente
THÈSE DE DOCTORAT
Présentée par :
Zaïd KARTIT
Discipline: Sciences de l’ingénieur
Spécialité : Informatique et Télécommunications
Titre :
Président :
Mr. Moulay Driss RAHMANI PES, Faculté des Sciences de Rabat
Examinateurs :
Mr. Mohamed EL MARRAKI PES, Faculté des Sciences de Rabat
Mr. Chafik NACIR PES, Ecole Normale Supérieure de
l’Enseignement Technique de Rabat
Mr. Abdelalim SADIQ PH, Faculté des Sciences de Kenitra
Mr. Youssef FAKHRI PH, Faculté des Sciences de Kenitra
Invité :
Mr. Ali RADI Docteur, Ingénieur à Maroc Telecom
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 1
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 2
Avant-propos
Les travaux présentés dans ce mémoire de thèse ont été effectués au Laboratoire de
Recherche en Informatique et Télécommunications (LRIT), à la Faculté des Sciences de
Rabat (FSR) Université Mohammed V, Unité associée au CNRST (URAC29), sous la
direction du Professeur Mohamed EL MARRAKI.
Monsieur Ali RADI, Docteur, Ingénieur Qualité Réseau à Maroc Telecom, pour avoir co-
encadré ce travail de thèse, son aide, ses recommandations, sa patience et ses qualités
humaines. Sans oublier bien sûr, le partage inconditionnel de ses connaissances avec le monde
de la recherche.
Monsieur Abdelalim SADIQ, Professeur Habilité à la faculté des sciences de Kenitra, pour
avoir accepté de rapporter et d'examiner ce travail. Ses suggestions lors de la lecture de ma
thèse m'ont permis d'apporter des améliorations à la qualité de cette dernière.
Monsieur Youssef FAKHRI, Professeur Habilité à la faculté des sciences de Kenitra, pour
avoir examiné mon rapport.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 3
(LRIT) associé au CNRST (URAC29) pour la confiance qu'il m'a accordée en m'autorisant à
mener mes travaux de recherche dans ce laboratoire.
Tous les membres du laboratoire LRIT, Professeurs et Doctorants, pour leur esprit de groupe.
Qu'ils trouvent ici le témoignage de toute mon estime et ma sincère sympathie.
En fin, merci à ceux que je n'ai pas pu les citer, mais auxquels je réitère mes sincères
Remerciements.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 4
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 5
Résumé
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 6
Abstract
Cloud Computing has emerged as a new paradigm that permits to deliver IT resources on
demand and outsource software and hardware infrastructure. On other hand, protection of
privacy is one of the major challenges of modern society in which Internet is omnipotent. The
main motivation of this thesis is to develop solutions to the problem of dematerialized storage
to ensure the protection and security of confidential data. We’re interested to protect data
stored in the Cloud environment while allowing the owner to share them with authorized
persons. The ciphers systems offered by cryptography are the solution that we decided to
choose.
First, we give an improved approach for the implementation of the firewall security policy
in order to secure a Datacenter. Then we propose a model which encrypts data before storing
them in the Cloud, this approach is based on symmetric encryption algorithms (AES) and
asymmetric (RSA) to secure data stored in external servers. We also deal with ciphers
homomorphic systems that allow performing operations with the encrypted content in the
Cloud to benefit from Cloud’s calculation power and avoid saturation of bandwidth, which
can cause degradation of the QoS of other business applications. Finally, we applied this
concept to achieve an electronic voting system that uses an additive homomorphic encryption
system (EL Gamal, Paillier), and we have proposed a model for achieving secure vote using
Cloud platforms.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 7
TABLE DES Matières
Introduction générale
1- Introduction …………………………………………………………….………..….17
2- Contexte……………………………………………………………………………..18
3- Motivation…………………………………………………………………...............19
4- Contribution ………………………………………………………………...............20
5- Organisation de la thèse …………………………………………………...………..21
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 8
Chapitre II : Sécurité dans le Cloud Computing
2.1 Introduction……………………………………………………….……………..…42
2.2 Terminologies et principes……………………………………………….…….......42
2.3 Exigences de sécurité pour l’architecture………………………………………......45
2.4 Sécurité physique…………………………………………………………………...46
2.5 Normes et stratégies de sécurité du Cloud………………….………………………47
2.6 Modèles de sécurité……………………………………………….………………..48
2.7 Déploiement des politiques de sécurité au sein du firewall d’un
Datacenter ……….…………………………………………….……………………...48
2.7.1 Centre de données (Datacenter) …………………………….………………...49
2.7.2 Firewall…………………………………………………………….……..…...50
2.7.2.1 Pare-feu et politique de sécurité ………………………………………....51
2.7.2.2 Déploiement des politiques de sécurité …………………..………..….....52
2.7.2.2.1 Déploiement de type I …………………………………..……..53
2.7.2.2.2 Déploiement de type II ……………………………..……….....53
2.8 Equilibrage de charge (Load balancing) ………….………………..………..……..56
2.8.1 Load Balancing et le Cloud Computing……………………….….….…..56
2.8.3Métriques du Load Balancing ………………………………..………..….57
2.8.4 Algorithmes du Load Balancing………………………………..….……..58
1.12.5 Approche proposée…………………………….……............…….60
2.8 Conclusion ………………………………………………………….……….……..62
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 9
3.5.2.1 Algorithme de chiffrement AES ………………….…………..………71
3.5.3 Cryptographie asymétrique (à clé publique) …………………….……..………72
3.5.3.1 Algorithme RSA …………………………………………….…….….74
3.5.3.2 Sécurité de RSA ………………………………………….……….….76
3.5.3.3 Algorithme de Diffie-Hellman …………………..…………………...79
3.5.3.4 PGP de Philip Zimmermann …………………………..……………...80
3.5.2 Signatures numériques ………………………………………………..………..80
3.5.3 Fonctions de hachage ……………………………………….………..………...81
3.5.4 Certificats numériques …………………………………………….…..………..81
3.5.5 Validité et confiance ……………………………………………..……….…….83
3.6 Notre contribution pour de stockage sécurisé de données …………………..…………...83
3.6.1 Algorithme proposé ………………………………………………….………....85
3.6.1.1 Algorithme de stockage des données ………………..………………85
3.6.1.2 Algorithme de récupération des données …………………..…….….86
3.6.1.3 Implémentation et analyse des résultats …………………………..…87
3.7 Conclusion ……………………………………………………………………..…….......89
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 10
4.5 Travaux existants et contributions ……………………………………………………...103
4.6 Scenario du vote électronique …………………………...…………………………..….104
4.6.1 Description du scenario ………………………………………………….........106
4.6.2 Algorithme proposé pour notre scénario de vote …………………………..…106
4.6.3 Exemple d’un vote électronique avec EL Gamal ……………………………..107
4.6.4 Avantages de notre proposition ……………………………………….…........109
4.6.5 Complexité et Résultat de l’implémentation de notre système ……………… 110
4.7 Conclusion ……………………………………………………………………...…..…..113
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 11
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 12
LISTE DES FIGURES
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 13
LISTE DES TABLEAUX
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 14
LISTE DES ALGORITHMES
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 15
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 16
1. Introduction
Depuis plusieurs décennies, IT a acquis une place de choix dans la plupart des domaines de
notre société et surtout dans nos communications. Ordinateurs, Smartphones ou tablettes
électroniques sont devenus des intermédiaires essentiels permettant aux gens de surmonter des
distances pour parler à l'autre ou de gagner du temps en effectuant des procédures
administratives en ligne sans avoir à faire la queue dans les bâtiments officiels. Ils ont aussi
tendance à remplacer l'interaction humaine dans les opérations très sensibles comme les
virements bancaires ou les paiements. Que ce soit par leur vitesse, la facilité d'utilisation, ou
le fait qu'ils permettent aux gens de rester connectés au monde entier, peu importe où ils sont,
ces dispositifs ont devenus, parfois, sans remettre en cause, une véritable confiance chargé de
secrets tels que les numéros de comptes bancaires, informations de carte de crédit, les détails
privés, etc.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 17
début des concepts de virtualisation. Tous ces concepts ont amené, petit à petit, à inventer une
nouvelle manière de proposer l'informatique « comme un service ».
Dans un contexte économique où nous cherchons à rentabiliser au maximum les
investissements et limiter l'empreinte écologique (Green IT), le Cloud Computing prétend à
devenir, la solution de demain.
Le recours au Cloud est de plus en plus remarquable compte tenu de plusieurs facteurs,
notamment ses architectures rentables, prenant en charge la transmission, le stockage et le
calcul intensif de données.
2. Contexte
L'informatique dématérialisée, couramment désignée par le terme anglais Cloud, consiste à
ne plus gérer ses données sur son propre dispositif (ordinateur, téléphone, . . .) mais à en
confier la gestion à une entité tierce accessible par Internet. De nos jours, on entend souvent
parler de l'avènement du Cloud avec les nouveaux produits technologiques qui sont connectés
en permanence à Internet, comme les Smartphones/tablettes, et avec des connexions réseaux
de plus en plus performantes (3G/4G, ADSL/Fibre, . . .). Les utilisateurs peuvent ainsi
accéder à leurs données de n'importe où et à n'importe quel moment. Cependant, un des
risques majeurs de ces technologies est la perte de confidentialité de leurs données
puisqu'elles sont confiées à une entité tierce, qui leur est souvent inconnue.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 18
Ces deux informatiques peuvent être compatibles entre elles, comme le propose, par exemple,
le système Amazon Cloud Drive [1]. Nous décidons cependant de nous focaliser sur le
stockage dématérialisé et de concevoir une réalisation de celui-ci possédant certaines
propriétés :
un utilisateur doit pouvoir partager ses données avec les utilisateurs en qui il a
confiance.
un utilisateur non autorisé ne doit pas pouvoir accéder aux données, notamment le
serveur qui est un utilisateur non autorisé.
un utilisateur stockant des données dans un serveur doit pouvoir gérer les droits
d'accès comme il le souhaite.
3. Motivation
Le Cloud Storage consiste à offrir aux utilisateurs la possibilité de stocker des données sur
un serveur distant. L'intérêt d'un tel système est que le serveur va a priori être connecté en
permanence à Internet. De n'importe où et à n'importe quel moment, un utilisateur pourra
accéder à ses données, en récupérer et en stocker, en passant par les différents réseaux de
connexion. Ceci est d'autant plus intéressant lorsque le dispositif qu'il utilise dispose de peu
de mémoire, comme par exemple un téléphone mobile. Toutefois, la question de la sécurité
des données doit encore être résolue de manière adéquate.
Même si cette technologie est bien connue depuis de nombreuses années par le public, les
gens ne sont pas toujours conscients des risques. L'un d'eux est l’usurpation d'identité. En
France, selon une étude du CREDOC [2] en 2009, le nombre de vols d'identité signalés était
d'environ 250 milles. Il repose principalement sur la possibilité pour une personne
malveillante de récupérer des informations personnelles et utile à propos de quelqu'un sur de
nombreux documents qui pourraient être stocké sans protection. Ainsi, bien que ce problème
ne soit pas inhérent à cette nouvelle technologie, le nombre croissant de documents officiels,
bancaires ou des informations personnelles stocké dans le Cloud Storage offre de nouvelles
possibilités pour les individus malveillants pour atteindre leurs objectifs. En effet, le CIFAS
[3] service de prévention de la fraude au Royaume-Uni, rapporte un nombre toujours croissant
de fraudes d'identité, de 2007 à 2012.
Ces menaces posent quelques questions: Comment ces systèmes fonctionnent? Comment
sont-ils protégés contre les attaques potentielles [11c] [11d]? Comment pouvons-nous faire
confiance aux garanties de sécurité réclamées par le système? Pour garantir la confidentialité
et la sécurité des données sur les différents réseaux et plateformes.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 19
Les données stockées dans le Cloud sont confidentielles et peuvent être sensibles à
l'entreprise et sont susceptibles d'être exploitées par un tierce non autorisées. Actuellement, la
plupart des utilisateurs du Cloud Storage ne protègent pas leurs données, d’autres utilisent des
contrats SLA (Service Level Agreement). Ces Contrats sont basés, généralement, sur la
confiance et la réputation du fournisseur. Cette faiblesse nous a motivé à réfléchir à des
solutions qui permettent aux utilisateurs de sécuriser leurs données pour éviter leurs
utilisations malveillantes.
4. Contribution
Lors de la définition des solutions pour la confidentialité des données stockées dans le
Cloud, nous prenons en considération les aspects suivants: la facilité de déploiement, de la
robustesse, et de performances (délai d’exécution). En considérant les constatations et les
objectifs cernés dans la section précédente, nous avons défini les contributions majeures ci-
dessous :
- Contribution 1 :
Au niveau du chapitre III qui concerne la sécurisation des données stockées
dans un Cloud Storage : Lorsque on discute des solutions sur la confidentialité des
données stockées par un fournisseur externe, on prend en considération les aspects
suivants: la facilité de déploiement, la robustesse, la rapidité de traitement et de
performances. Nos contributions sont résumées comme suit:
- Contribution 2 :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 20
Proposition d'un schéma pour le stockage dans le Cloud, basé sur l’utilisation
originale de la cryptographie [3] [4]. Tout d'abord, le schéma proposé garantit
la confidentialité meilleure de données. Notre algorithme [5] [6] vise à fournir
une solution qui assure le stockage des données en toute sécurité dans le Cloud.
Les données doivent être cryptées avant de les envoyer. Nous avons utilisé
l'algorithme de chiffrement symétrique AES afin de bénéficier de ses avantages
en termes de robustesse et de la rapidité de traitement. Ce modèle hybride que
nous avons proposé permet de sécuriser les données et de les protéger contre
les attaques.
Développement d’une autre solution sécurisé, fiable et rapide pour sécuriser les
données stockées dans le Cloud Storage. Cette solution, qui améliore notre
première approche [7] [8], est basée sur le chiffrement EL GAMAL.
- Contribution 3 :
5. Organisation de la thèse
Tout d'abord, Le premier chapitre donne une introduction du Cloud Computing, y compris
la définition, l'architecture, les modèles de déploiement, les services de Cloud Computing et
ses origines depuis l'informatique utilitaire en passant par les grilles de calculs, ainsi que les
différents types de Cloud qui existent à l'heure actuelle et les différents types d'utilisateurs
visés par les solutions de Cloud Computing et les besoins qui leur sont reliés.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 21
Le deuxième chapitre aborde les principes, les exigences, les normes, les stratégies et les
modèles de la sécurité dans le Cloud Computing. Ensuite, ce chapitre traite la politique de
sécurité, les problèmes de formalisation et d’évaluation de politiques, décrit les techniques
d’optimisation d’une telle politique et en fin, présente les problèmes liés au déploiement de
ces politiques au sein d’un pare-feu d’un Datacenter. Ensuite nous abordons la question de
l’équilibrage de charge dans le Cloud qui permet de distribuer la charge entre plusieurs
ressources dans un système distribué ou en parallèle afin d'égaliser les charges de travail de
manière efficace et d'améliorer le temps d'exécution d'une tâche afin d’améliorer les
performances et la disponibilité.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 22
CHAPITRE I
1.1 Introduction
Les progrès technologiques récents soulagent une croissance explosive des contenus
numérique. International Data Corporation (IDC) aux Etats-Unis proclament que l'univers
numérique se développera par un facteur de 300, jusqu'à 40 trillion de giga-octets de données
repliées d'ici 2020 [GR12]. Cette prolifération d'univers numérique continue à monter la
demande de nouvelles utilités de stockage et de réseau, avec un besoin croissant d'utilisation
plus rentable des capacités de stockage et la largeur de bande de réseau pour le transfert des
données. En soi, l'utilisation des systèmes de stockage à distance gagne un intérêt en
expansion, à savoir les services basés sur le Cloud Storage, puisqu'ils fournissent des
architectures rentables. Ces architectures soutiennent la transmission, le stockage, et le calcul
intensif des données externalisées dans un modèle d'affaires pay-per-use.
Cet intérêt répandu pour des services du Cloud Storage émane principalement des
associations d'entreprises et des organismes gouvernementaux cherchant des systèmes plus
rentables et plus élastiques. C'est-à-dire, les avantages de l'adoption du Cloud sont très réels
dans une nouvelle ère de la réactivité et de l'efficacité dans la prestation de service de
technologie de l'information. Par conséquent, il n'y a plus le besoin de dépenser un grand
nombre de capital pour acheter un logiciel d'application cher ou un matériel sophistiqué dont
ils pourraient ne jamais avoir besoin encore. Ces avantages économiques présentent les
motivations essentielles principales pour l'adoption de nuage comme ils aident des entreprises
réduisant les dépenses d'investissement (CapEx), réservées pour acheter l'immobilisation fixe
et la dépense opérationnelle (OpEx) qui est un coût actuel pour exploiter un produit, une
affaire, ou un système.
Faire face à ces questions de plus près, nous percevons que la plupart des problèmes de
sécurité dans le Cloud sont essentiellement des anciens problèmes des réseaux dans un nouvel
arrangement. Par exemple, les partenariats d'entreprise et l'externalisation offshore impliquent
la confiance similaire et des questions de réglementation. De même, les logiciels open source
permettent aux services informatiques de construire et déployer rapidement des applications,
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 23
mais au détriment du contrôle et de la gouvernance. En outre, les attaques de machines
virtuelles et les vulnérabilités des services Web existaient bien avant le Cloud Computing, et
est devenu à la mode. Ainsi, la diversité de ces services fournis par des infrastructures de
Cloud Computing accroît leur vulnérabilité aux incidents de sécurité et les attaques. Par
conséquent, ces défis doivent être abordés tout en respectant la sécurité et de la confidentialité
dans le contexte du Cloud.
1.2 Historiques
Il n'y a pas de date-clé à laquelle nous puissions dire que le Cloud Computing est né !
La notion de Cloud fait référence à un nuage, tel que l'on a l'habitude de l'utiliser dans des
schémas techniques lorsque l’on veut représenter Internet. Un réseau comme Internet est
constitué d'une multitude de systèmes fournissant des services et des informations. Le Cloud
Computing est dans cette lignée : un ensemble de services et de données consommables.
Cette notion de consommation a été proposée en 1961, lors d'une conférence au MIT
(Massachusetts Institute of Technology), par John McCarthy aussi connu comme l'un des
pionniers de l'intelligence artificielle (dont il proposa le nom en 1955) et pour avoir inventé
du LISP en 1958. John McCarthy suggéra que la technologie informatique partagée (« time-
sharing ») pouvait construire un bel avenir dans lequel la puissance de calcul et même les
applications spécifiques pouvaient être vendues comme un service public.
Cette idée, très populaire dans les années 60, disparu au milieu des années 70 : à l'époque, les
technologies matérielles, logicielles et réseaux n'étaient tout simplement pas prêtes.
Le Cloud Computing met en œuvre l'idée d'informatique utilitaire du type service public,
proposée par John McCarthy. Il peut aussi être comparé au cluster de calcul dans lequel un
groupe d'ordinateurs se relient pour former un ordinateur virtuel unique permettant le calcul
de haute performance (HPC), mais aussi à l'informatique en grille (Grid Computing) où des
ordinateurs reliés et répartis géographiquement permettent la résolution d’un problème
commun. C'est dans cette philosophie, que depuis les années 70, on inventa la notion de «
service bureau » pour qualifier une entreprise louant des lignes téléphoniques, répondeurs,
services informatiques etc. Généralement, les clients des « services bureau » n'ont ni l'ampleur
ni l'expertise pour intégrer en interne ces services, c’est pourquoi ils passent par un
prestataire.
À l'époque, le coût d'achat et d'exploitation de mainframes IBM était hors de prix. C’est
pourquoi, des solutions permettant aux entreprises de pouvoir exploiter ces technologies à
moindre frais avec la notion de « paiement à la consommation » furent proposées.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 24
Les ASP, « Application Service Provider » ont aussi leur part dans l'historique du Cloud
Computing. Une ASP désigne une application fournie comme un service, c'est ce que l'on
nomme maintenant SaaS pour « Software as a Service » dans la terminologie actuelle du
Cloud Computing.
C'est ensuite, vers la fin des années 90, que ce concept a pris de l'importance avec
l’avènement du Grid Computing [22]. Le terme Cloud est une métaphore exprimant la
similarité avec le réseau électrique, dans lequel l'électricité est produite dans de grandes
centrales, puis disséminée à travers un réseau jusqu'aux utilisateurs finaux. Ici, les grandes
centrales sont les Datacenter, le réseau est le plus souvent celui d'Internet et l'électricité
correspond aux ressources informatiques. Le Cloud Computing n'est véritablement apparu
qu'au cours de l’année 2006 [23] avec l'apparition d'Amazon EC2 (Elastic Compute Cloud).
C'est en 2009 que la réelle explosion du Cloud survint avec l'arrivée sur le marché de sociétés
comme Google (Google App Engine), Microsoft (Microsoft Azure), IBM (IBM Smart
Business Service), Sun (Sun Cloud) et Canonical Ltd (Ubuntu Enterprise Cloud). D'après une
étude menée par Forrester [21], le marché du Cloud Computing s'élevait à environ 5,5
milliards de dollars en 2008, il devrait atteindre plus de 150 milliards d'ici 2020, comme
l’illustre la figure 1.1.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 25
La virtualisation a été la première pierre vers l'ère du Cloud Computing. En effet, cette
notion permet une gestion optimisée des ressources matérielles dans le but de pouvoir y
exécuter plusieurs systèmes « virtuels » sur une seule ressource physique et fournir une
couche supplémentaire d’abstraction du matériel. Les premiers travaux peuvent être attribués
à IBM, qui dans les années 60, travaillait déjà sur les mécanismes de virtualisation en
développant dans les centres de recherche de Cambridge et de Grenoble, CMS (Conversation
Monitor System), le premier hyperviseur.
Avec les différents progrès technologiques réalisés durant ces 50 dernières années, tant sur
le plan matériel, logiciel et conceptuel, aux avancées des mécanismes de sécurité, à
l'élaboration de réseaux complexes mais standardisés comme Internet, et à l'expérience dans
l'édition et la gestion de logiciels, services, infrastructures et stockage de données, nous
sommes maintenant prêts à entrer dans l’ère du Cloud Computing, telle que rêvait par John
McCarthy en 1961.
Beaucoup de gens sont confus au sujet de ce que le Cloud Computing est, d'autant plus que
le terme est galvaudé. En gros, il décrit les ressources hautement évolutives fournies comme
un service externe via l'Internet sur un paiement à l'utilisation. Cloud Computing peut être
défini comme un modèle spécialisé de calcul distribué, qui est configuré dynamiquement et
livré à la demande. Ce nouveau paradigme massivement évolutif est différent des réseaux
traditionnels. Il est très abstrait pour offrir trois niveaux de services.
Economiquement, l'attrait principal du Cloud Computing est que les utilisateurs utilisent
seulement ce dont ils ont besoin, et ne paient que pour ce qu'ils utilisent réellement. Des
ressources sont disponibles pour être accessible, à tout moment, et en tout lieu à travers les
réseaux. Il n'y a pas besoin de vous soucier de comment les choses sont maintenues.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 26
Figure 1.3 : Vue générale de l’environnement Cloud Computing
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 27
essentielles, trois modèles de services et quatre modèles de déploiement (figure 1.3 et figure
1.4). Ces éléments sont énumérés par la suite.
1.4 Caractéristiques
Les utilisateurs de Cloud Computing sont portés à un niveau d'abstraction qui cache les
détails de matériel ou de logiciels, les infrastructures déployées pour soutenir le calcul intensif
et le stockage de données. De cette définition, trois principaux points clés doivent être pris en
considération. Tout d'abord, le NIST décrit le développement de technologies qui prennent en
charge un nouveau modèle d'affaires omniprésent, universel et appropriée. Deuxièmement,
elle implique l'importance des techniques d'accès au réseau à des ressources partagées qui
assurent une interaction fluide entre les fournisseurs du Cloud et de leurs clients.
Troisièmement, cette définition met l'accent sur le modèle de tarification associée du Cloud
qui permet aux utilisateurs de ne payer que les ressources consommées.
Pour mieux comprendre les concepts de base et des technologies dans le Cloud, nous
extrayons du document de définition de NIST cinq attributs. Ces attributs décrivent un
système basé sur le Cloud comme un modèle général fournissant des services mesurés et à la
demande des clients. Généralement, un service, une solution ou un environnement
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 28
d’exécution devrait satisfaire une liste de caractéristiques pour qu’il soit considéré comme
étant du Cloud Computing. Parmi ces caractéristiques, il y a celles qui sont reconnues comme
fondamentales. Par exemple, NIST définit cinq caractéristiques essentielles qui sont [12] et
[20] :
Ressources à la demande :
Un utilisateur peut allouer unilatéralement des ressources informatiques (serveurs,
réseau, capacités de stockage, environnement d’exécution, application et des
performances de calcul) au besoin, de façon automatique et sans nécessité
d’interaction humaine avec chaque fournisseur de services.
Élasticité rapide
Les ressources sont allouées et libérées d’une façon élastique, idéalement d’une façon
automatiquement, pour s’adapter rapidement à la demande qu’elle soit croissante ou
décroissante. Pour le consommateur, les ressources disponibles à l’allocation
apparaissent comme illimitées et peuvent s’allouer à tout moment. Cette propriété
démontre une évolutivité des ressources plus importantes.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 29
Services mesurés
Toutes les ressources allouées peuvent être surveillées et contrôlées afin de mesurer
leurs consommations avec un niveau d’abstraction approprié selon le type du service
(ex stockage, temps de calcul, bande passante).
En plus des cinq caractéristiques définies par NIST, il y a d’autres caractéristiques dont
nous citons les plus pertinentes Figure 1.5 :
Autonome :
Le Cloud Computing est un système autonome et géré de façon transparente pour les
utilisateurs. Le matériel, le logiciel et les données au sein du Cloud peuvent être 10
automatiquement reconfigurés, orchestrés et consolidés en une seule image qui sera
fournie à l’utilisateur [24].
Paiement à l’usage :
La consommation des ressources dans le Cloud s’adapte au plus près aux besoins de
l’utilisateur. Le fournisseur est capable de mesurer de façon précise la consommation
(en durée et en quantité) des différents services (CPU, stockage, bande passante,…).
Cela lui permettra de facturer l’utilisateur selon sa réelle consommation [25].
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 30
fiabilité (Par exemple, la probabilité de perte de donnée doit être quasi nulle, de
l’ordre de ) pour les applications qui peuvent en bénéficier [26].
Évolutivité :
Les services de type Cloud Computing devraient être évolutifs et doivent satisfaire
toute demande de croissance de la part des utilisateurs selon le besoin des services et
des ressources allouées. Cette évolutivité doit se faire d’une façon automatique et en
cours d’exécution.
Simplicité d’utilisation :
L’allocation, la gestion et l’utilisation des ressources Cloud Computing doivent être
simples. Idéalement, elles doivent se faire à travers des interfaces et des Application
Programming Interfaces(APIs) efficaces et génériques.
Garantie QoS :
Les environnements de Cloud peuvent garantir la qualité de service pour les
utilisateurs, par exemple, la performance du matériel, comme la bande passante du
processeur et la taille de la mémoire [27].
Basé-SLA :
Les Clouds sont gérés dynamiquement en fonction des contrats d’accord de niveau de
service (SLA) [26] entre le fournisseur et l’utilisateur. Le SLA définit des politiques,
telles que les paramètres de livraison, les niveaux de disponibilité, la maintenabilité, la
performance, l'exploitation, ou autres attributs du service, comme la facturation, et
même des sanctions en cas de violation du contrat. Le SLA permet de rassurer les
utilisateurs dans leur idée de déplacer leurs activités vers le Cloud, en fournissant des
garanties de QoS.
1.6 Acteurs
L’écosystème du Cloud Computing est composé principalement par cinq acteurs majeurs
(Cloud Provider, Cloud Consumer, Cloud Carrier, Cloud Broker, Cloud Auditor) :
Cloud Provider :
Le fournisseur des ressources Cloud Computing. Il est responsable de fournir un
service Cloud Computing qui satisfait les caractéristiques définies dans la précédente
section, tout en respectant les Service Level Agreements (SLAs) établies avec les
autres acteurs (en particulier le Cloud Consumer). Le Cloud Provider a comme activité
l’allocation, l’orchestration et la gestion des ressources qu’il offre tout en assurant le
bon niveau de sécurité.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 31
Cloud Consumer :
L’utilisateur des ressources Cloud Computing. Cet utilisateur peut être un utilisateur
final ou un développeur selon le type du service Cloud alloué. Cet utilisateur peut être
une personne, un groupe de personnes, les petites et moyennes entreprises, les
multinationales ou les gouvernements.
Cloud Broker :
Le courtier Cloud est un intermédiaire qui négocie la relation entre les Cloud
Providers et les Cloud Consumers. Il peut offrir de nouveaux services qui simplifient
les tâches de gestion du Cloud Consumer. Ce dernier peut demander les ressources
Cloud Computing auprès du Cloud Broker au lieu du Cloud Provider directement.
Cloud Auditor :
L’auditeur Cloud s’occupe de la vérification et l’audition des services Cloud
Computing. Il évalue les services offerts par les Cloud Providers, Cloud Carriers et
Cloud Brokers du point de vue performances et sécuritaires. Le but principal est de
vérifier que les fournisseurs respectent bien les SLAs qu’ils proposent.
- Grid Computing
Le Grid Computing est un paradigme de calcul réparti qui coordonne des ressources
autonomes et géographiquement distribuées pour atteindre un objectif de calcul commun. Le
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 32
Grid est basé sur le partage dynamique des ressources entre des participants, des organisations
et des entreprises dans le but de pouvoir les mutualiser, et faire ainsi exécuter des applications
scientifiques, qui sont généralement des calculs intensifs ou des traitements de très gros
volumes de données. Le Cloud Computing est similaire au Grid Computing : les deux
adoptent le concept d’offrir les ressources sous forme de services. Toutefois, ils sont
différents dans leur finalité : tandis que la technologie des grilles vise essentiellement à
permettre à des groupes différents de partager l’accès en libre-service à leurs ressources, le
Cloud a pour objectif de fournir aux utilisateurs des services « à la demande », sur le principe
du « paiement à l’usage ». De plus le Cloud exploite les technologies de virtualisation à
plusieurs niveaux (matériel et plateforme d'application) pour réaliser le partage et
l'approvisionnement dynamique des ressources.
- L'Autonomic Computing
L’Autonomic Computing vise à construire des systèmes informatiques capables de s’auto-
administrer en s’adaptant à des changements internes et externes sans intervention humaine.
Le but de l'informatique autonome est de surmonter la complexité de la gestion des systèmes
informatiques d'aujourd'hui. Bien que le Cloud Computing présente certaines caractéristiques
autonomes, telles que l’approvisionnement automatique des ressources, son objectif est de
diminuer le coût des ressources, plutôt que de réduire la complexité du système.
- Virtualisation
La virtualisation est une technologie qui fait abstraction des détails du matériel physique et
fournit des ressources virtualisées pour les applications de haut niveau. En effet, la
virtualisation regroupe l’ensemble des techniques matérielles ou logicielles permettant de
faire fonctionner, sur une seule machine physique, plusieurs configurations informatiques
(systèmes d’exploitation,…), de sorte à former plusieurs machines virtuelles, qui reproduisent
le comportement des machines physiques. La virtualisation constitue le socle du Cloud
Computing, car elle offre la possibilité de mettre en commun des ressources informatiques à
partir de clusters de serveurs, et ainsi d’affecter ou réaffecter dynamiquement des machines
virtuelles aux applications à la demande. Le moniteur de machine virtuelle (VMM),
également appelé hyperviseur, partitionne la ressource physique du serveur physique sous-
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 33
jacente en plusieurs machines virtuelles différentes, chacune fonctionnant sous un système
d'exploitation distinct et une pile de logiciels utilisateur.
Afin de mieux définir la classification selon le type du service Cloud Computing et comme
illustré dans la figure 2.3, un environnement informatique standard peut être composé par
plusieurs couches qui partent du bas niveau (le matériel physique) vers le haut niveau (les
applications à utiliser). Ces couches sont : Calcul, Réseau, Stockage, Virtualisation, Système
d’exploitation, Intergiciel, Environnement de développement, Environnement d’exécution,
Données et Applications. La classification selon le type du service correspond au niveau de
responsabilité dans la gestion de ces couches que ce soit par les fournisseurs ou par les
utilisateurs. Traditionnellement, toutes les couches sont gérées par l’utilisateur lui-même.
Avec le Cloud Computing, l’utilisateur n’a plus en charge la totalité des couches et en
fonction du niveau des sous-ensembles de couche nous distinguons le type de service. Selon
NIST [20] et comme illustré dans la figure 2.3, il y a principalement trois types de services
Cloud Computing qui sont Infrastructure as a Service (IaaS), Platform as a Service (PaaS) et
Software as a Service (SaaS) :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 34
Figure 1.7 : Types de service Cloud Computing
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 35
Software as a Service (SaaS)
Les services Cloud Computing de type SaaS correspondent tout simplement à des
applications prêtes à l’utilisation offertes à la demande. L’utilisateur n’a qu’à utiliser le
service Cloud Computing offert. Il n’a rien à gérer et c’est le fournisseur qui a toute la
responsabilité de maintenir le service en gérant toutes les couches. Parmi les exemples
d’applications d’entreprise offertes par cette couche on trouve : CRM, outils collaboratifs,
messagerie, Business Intelligence, ERP, etc.
Bien que les trois types de services Cloud Computing (IaaS, PaaS et SaaS) soient la base
de distinction du type de service, le style de nomenclature * as a Service » a été utilisé ailleurs
pour caractériser des services et ressources Cloud Computing. Chacune des nouvelles
abréviations peut-être vues comme un sous-ensemble d’un ou plusieurs des trois types de
base. Parmi ces abréviations, nous citons quelqu’une d’entre elles dans le tableau 2.1.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 36
1.8 Modèles de déploiement
Selon la définition du Cloud Computing donnée par le NIST, il existe quatre modèles de
déploiement des services de Cloud, à savoir : Cloud privé, Cloud communautaire, Cloud
public et Cloud hybride, comme illustré dans la figure 1.8.
Cloud privé :
L’ensemble des ressources d’un Cloud privé est exclusivement mis à disposition d’une
entreprise ou organisation unique. Le Cloud privé peut être géré par l’entreprise elle-même
(Cloud privé interne) ou par une tierce partie (Cloud privé externe). Les ressources d’un
Cloud privé se trouvent généralement dans les locaux de l’entreprise ou bien chez un
fournisseur de services. Dans ce dernier cas, l’infrastructure est entièrement dédiée à
l’entreprise et y est accessible via un réseau sécurisé (de type VPN). L’utilisation d’un Cloud
privé permet de garantir, par exemple, que les ressources matérielles allouées ne seront jamais
partagées par deux clients différents.
Cloud public :
L’infrastructure d’un Cloud public est accessible à un large public et appartient à un
fournisseur de services. Ce dernier facture les utilisateurs selon la consommation et garantit la
disponibilité des services via des contrats SLA.
Cloud hybride :
L’infrastructure d’un Cloud hybride est une composition de plusieurs Clouds (privé,
communautaire ou public). Les différents Clouds composant l’infrastructure restent des
entités uniques, mais sont reliés par une technologie standard ou propriétaire permettant ainsi
la portabilité des données ou des applications déployées sur les différents Clouds.
Cloud communautaires :
L’infrastructure d’un Cloud communautaire est partagée par plusieurs organisations
indépendantes ayant des intérêts communs. L’infrastructure peut être gérée par les
organisations membres ou par un tiers. L’infrastructure peut être située, soit au sein des dites
organisations, soit chez un fournisseur de services.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 37
Figure 1.8 : Modèles de déploiement Cloud Computing
Le Cloud Computing offre de nombreux avantages que plusieurs travaux ont listés [28],
[29]. Parmi ces avantages on trouve :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 38
1.10 Obstacles du Cloud Computing
Le Cloud Computing n’a pas que des avantages, il possède quelques obstacles et désavantages
qui sont abordés dans [30], [31], [32]. Parmi ces obstacles, il y a :
Données Lock-in.
Confidentialité des données.
Chiffrement des données.
Nécessité d’un accès réseau constant.
Mauvais fonctionnement avec les connexions à basse vitesse.
Faible niveau de la qualité de service dans le réseau.
Risque d’engorgements lors des transferts de données.
Problème d’interopérabilité.
Problème de portabilité.
Faible contrôlabilité.
Manque de fonctionnalités d’audit.
Des contrats de service SLAs non normalisés.
Même si certaines des caractéristiques essentielles du Cloud Computing ont été réalisées
par des efforts commerciaux et universitaires, de nombreux problèmes existants n'ont pas été
pleinement pris en compte, et d’autres nouveaux défis continuent d'émerger [33]. Dans ce
chapitre, nous résumons quelques enjeux de recherche dans le Cloud Computing.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 39
1.11.3 Migration de machines virtuelles
La virtualisation peut offrir des avantages importants dans le Cloud Computing en
permettant la migration de machine virtuelle pour équilibrer la charge de travail entre les
Datacenter. Elle permet un approvisionnement robuste et très réactif dans les Datacenter. Les
principaux avantages de la migration de VM est d'éviter les points chauds (hot spots);
Toutefois, cela n'est pas simple à réaliser. Actuellement, la détection de points chauds et
l’initiation d’une migration manque de souplesse pour répondre aux changements brusques de
charge de travail [33].
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 40
L’ordonnancement des tâches intégrant une gestion de l’énergie et la consolidation des
serveurs sont deux autres façons de réduire la consommation d'énergie. Un défi majeur dans
toutes les méthodes ci-dessus est de trouver un bon compromis entre l’économie d'énergie et
les performances des applications.
1.11.6 Ordonnancement
L’ordonnancement est un enjeu important qui influence considérablement les
performances de l'environnement de Cloud Computing. Il existe plusieurs niveaux
d’ordonnancement dans le Cloud, notamment : l’ordonnancement au niveau application et
l’ordonnancement au niveau infrastructure. Le premier consiste en l’ordonnancement
(affectation) des tâches composant les applications des utilisateurs sur les services IaaS ou
Haas du Cloud, et le deuxième niveau concerne l’affectation de machines virtuelles sur les
infrastructures physiques (machines physiques) du Cloud. Les deux niveaux
d’ordonnancement sont des problèmes complexes.
Dans cette thèse, notre intérêt porte sur le volet de la sécurité et la confidentialité des
données.
1.13 Conclusion
Dans ce chapitre, nous avons abordé le concept du Cloud Computing, nous avons présenté
la définition objective et générale de la notion de l’informatique dans le nuage, le modèle de
déploiement et les caractéristiques essentielles. Cloud Computing est encore un paradigme en
évolution, il intègre de nombreuses technologies existantes, c’est vrai qu’il est un modèle de
prestation de services, où le logiciel, la plate-forme, l'infrastructure, les données, le matériel
peut être livré directement en tant que service aux clients finaux. Une brève rétrospective de
l'histoire de son évolution nous aide à clarifier les conditions, les opportunités et les défis
existants dans son développement. Ces définitions, ces attributs et ces caractéristiques
évolueront et changer au fil du temps. Les efforts actuels sont à la base pour le développement
de ce concept. Après avoir analysé les produits commerciaux existants et des projets de
recherche, plusieurs défis en termes de sécurité, middleware, modèle de programmation,
gestion des ressources et le modèle d'affaires sont mis en évidence. Ces lacunes inspirent
notre intérêt pour nos recherches futures. Les chapitres suivants traitent le problème de la
sécurité. En particulier, des questions telles que le stockage sécurisé des données dans le
Cloud Storage.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 41
CHAPITRE II
2.1 Introduction
Le recours au Cloud est de plus en plus remarquable compte tenu de plusieurs facteurs,
notamment ses architectures rentables, prenant en charge la transmission, le stockage et le
calcul intensif de données. Il est devenu incontournable dans la mise en place et la fourniture
des services informatiques. Parmi ces services on trouve le stockage externalisé des données.
Storage as a service (STaaS) est un modèle permettant à un fournisseur de services de louer
de l'espace dans son infrastructure de stockage à des individus ou à des entreprises. Au cours
des dernières années, STaaS dans le Cloud a gagné en popularité chez les entreprises et les
utilisateurs privés. Il permet à l'utilisateur final de profiter de la capacité de calcul maximale
avec des configurations matérielles minimales requises. Toutefois, les questions de
confidentialité des données, de sécurité, de fiabilité et d'interopérabilité doivent encore être
résolus de manière adéquate. Mais le problème le plus important est la sécurité des données et
de la conformité aux réglementations, considérablement due à la perte de maîtrise et de
gouvernance. Cet obstacle a limité la propagation de ce service. Les données stockées dans le
Cloud peuvent être sensibles à l'entreprise et sont susceptibles d'être exploitées par le
fournisseur lui-même ou d'autres personnes non autorisées. Actuellement, la plupart des
utilisateurs du Cloud Storage protègent leurs données avec des contrats SLA. Ces Contrats
sont basés, généralement, sur la confiance et la réputation du fournisseur. Cette faiblesse nous
a motivé à réfléchir à des solutions qui permettent aux utilisateurs de sécuriser leurs données
pour éviter leurs utilisations malveillantes.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 42
historiques de la sécurité de l’information plongent dans le chiffrement, le
subterfuge et d’autres pratiques dont l’objectif était de protéger la confidentialité
des messages écrits. La sécurité de l’information inclut généralement des domaines
qui sont impliqués dans la sécurité des systèmes d’information ainsi que les
processus non informatique qui interagissent avec les systèmes d’information.
L’objectif est de protéger les informations et les systèmes d’information contre les
accès, les utilisations, les divulgations, les interruptions, les modifications ou les
destructions non autorisés
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 43
les certificats. La gestion des identités peut devenir très complexe sur de nombreux
points.
Autorisation. Les droits ou les privilèges qui sont accordés à une personne, un
utilisateur ou un processus. Leurs versions électroniques peuvent prendre plusieurs
formes. les listes de contrôles d’accès (ACL) sont de simple liste d’utilisateurs
accompagnées de leurs droits comme écriture, lecture modification, suppression ou
exécution sur des ressources ou de classe de ressources spécifiques.
Cryptographie. Le chiffrement correspond au processus de conversion des
informations en texte clair en un texte codé, le déchiffrement est l’opération
inverse. La cryptographie informatique moderne se mesure en plusieurs
dimensions. Elle demande des ressources de calcul importantes, mais, en général,
plus l’algorithme est résistant, plus le surcoût est élevé. La cryptographie présente
bien d’autres usages en informatique, par exemple les signatures numériques, grâce
auxquelles un individu ou une entité peut authentifier des données en les signant.
Cela peut également servir à authentifier deux parties ou plus qui communiquent.
on va détailler ces notions dans les chapitres qui suivent.
Audit. Ce sujet comprend différentes activités qui englobent la génération, la
collecte et l’analyse d’évènements du réseau, d’un système et d’une application de
manière à maintenir une vue actuelle sur la sécurité. La surveillance de la sécurité
informatique se fonde sur une estimation automatisée de ces données d’audit. Il se
focalise sur les contrôles de sécurité, les procédures de la sécurité, les procédures
de sauvegarde, les plans de secours, la sécurité du Datacenter et d’autres domaines.
Traçabilité. L’objectif est de déterminer a posteriori qui fait quoi, quand et
comment. La traçabilité dépend de l’identité et de l’audit. Si ce point est important,
nous devons protéger de manière appropriée toutes les données et contrôler les
informations utilisées pour accorder les accès, sans oublier d’en faire un audit.
En fonction des besoins, des exigences règlementaires et d’autres demandes générales, nous
placerons plus ou moins d’emphase sur les contrôles de sécurité de manière à assurer la
confidentialité, l’intégrité et la disponibilité. Autrement dit, selon le domaine dont lequel nous
travaillons (banque, finance, recherche et développement, gouvernement, défense, etc.), nos
besoins de sécurité du Cloud varieront. Une solution de sécurité est un assemblage qui peut
être difficile ou facile à vérifier, qui peut afficher une simplicité d’utilisation bonne ou
mauvaise et qui peut ou non introduire une configuration et une gestion constantes. La figure
2.1 illustre ces relations.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 44
Figure 2.1 : Sécurité : principe et qualité
La sécurité implique des compromis. Autrement dit, les contrôles doivent être à la mesure
de la valeur à protéger. Puisque toutes les menaces et les vulnérabilités ne seront pas connues
à l’avance, nous expliquons parfois que la sécurité à trois objectifs indépendants : prévention,
détection et réponse. En production, nous ferons des économies du coût si nous protégeons
contre les risques de sécurité au lieu de répondre perpétuellement aux incidents de sécurité qui
auraient pu être évités.
Coûts et ressources.
Les ressources financières du fournisseur de Cloud vont délimiter ses possibilités
d’investissements dans les technologies, notamment dans les contrôles de sécurité.
Toutefois, il est important de reconnaître que des ressources limitées vont obliger à bien
réfléchir à la conception, à l’architecture et à la construction. Par exemple, si vous savez
que votre équipe sera réduite, vous serez obligé d’aller vers une amélioration des
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 45
procédures et une plus grande automatisation. De la même manière, le coût sert
également de motivation aux clients des services en nuage. La nature de ces contraintes
tend à un développement des services dont les caractéristiques opérationnelles ne sont
pas adaptées à tous les clients.
Fiabilité.
Cette qualité définit jusqu’à quel point vous pouvez compter sur un système pour
fournir les services annoncés. La fiabilité peut être vue comme la garantie que la
technologie sous-jacente est capable de fournir des services.
Performances.
La mesure d’une ou plusieurs qualités qui sont en rapport avec l’utilité d’un système.
Par exemple, les mesures classiques comprennent la réactivité du système aux entrées et
la charge qu’il est capable de supporter.
Le trio de la sécurité.
Les principes fondamentaux de la sécurité (confidentialité, intégrité et disponibilité)
s’appliquent à la plupart des systèmes. L’architecte sécurité doit mettre en
correspondance les contrôles de sécurité et les exigences de sécurité qui sont parfois
dictées par le besoin d’assurer les trois autres éléments fondamentaux (fiabilité,
performances et coûts).
En commençant par le bâtiment dans lequel le Datacenter du Cloud est hébergé, la sécurité
physique est aussi importante que tout autre contrôle qui vise à protéger la sécurité et
l’exploitation du Cloud. Les locaux font l’objet de différentes menaces, y compris les dangers
naturels, les actions humaines et les désastres. Construire le Datacenter de votre Cloud dans
une zone inondable est aussi imprudent qu’accorder des accès privilégiés à tous les
utilisateurs.
Les éléments de la sécurité physique doivent être soutenus par des procédures appropriées
et mises en œuvre par un personnel professionnel expérimenté.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 46
Certaines exigences de sécurité seront probablement uniques à l’implémentation d’un
Cloud, mais il est important qu’elles soient cohérentes avec les standards appropriés, comme
l’ISO 27001 et l’ISO 27002, si vous voulez bénéficier de nombreuses expériences pratiques et
de meilleures pratiques. Par ailleurs, tous les aspects de la sécurité doivent être intégrés à la
stratégie de sécurité d’un Cloud, qu’il est préférable de concevoir sous forme d’un document
formel ayant reçu l’approbation et la bénédiction totale de la direction. Une stratégie de
sécurité sert de référence à partir de laquelle sont déduites les exigences de sécurité. Elle ne
doit pas détailler les approches techniques ou architecturales, car elles risquent de changer
plus fréquemment que la stratégie, mais doit présenter les exigences sous-jacentes d’un point
de vue organisationnel ou métier. Par exemple, elle doit expliquer la nécessité d’utiliser un
chiffrement standard par l’intermédiaire d’un produit commercial qui aura été évalué, plutôt
qu’indiquer l’utilisation de TLS (Transport Layer Security), de SSL (Secure Sockets Layer)
ou de tout autre mécanisme de sécurisation des communications.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 47
comprendre les rôles et les responsabilités, et préciser à quel moment les tests
et les comptes rendus des tiers doivent être réalisés.
- Chiffrement des données et des communications. Ce standard doit détailler
les domaines fonctionnels (comme le trafic du serveur web), les algorithmes
cryptographiques approuvés et la longueur requise pour les clés.
- Standards pour les mots de passe. Ce document doit préciser les
caractéristiques des mots de passe acceptables, notamment leur longueur et leur
forme, et la manière dont le fournisseur du Cloud en vérifiera la conformité.
- Surveillance en continu. Vous devez détailler la manière dont la gestion de la
configuration et le contrôle des changements sont effectués de manière à
garantir une sécurité permanente de la base de référence alors qu’elle évolue et
est mise à jour.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 48
conflits et le problème d’optimisation, mais très peu de travaux se sont intéressés au
déploiement de politiques.
Dans ce chapitre, nous allons proposer des stratégies de déploiement pour les deux
importantes catégories d’édition de politiques. Ensuite, nous fournissons deux algorithmes
corrects, efficaces et sûrs pour le déploiement de politiques de sécurité.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 49
Les bases de données étant souvent cruciales au fonctionnement des entreprises, celles-ci
sont très sensibles à leur protection. Pour cette raison, ces centres maintiennent de hauts
niveaux de sécurité et de service dans le but d'assurer l'intégrité et le fonctionnement des
appareils sur place. Le Datacenter est composé de plusieurs équipements « réseau »
notamment : les routeurs, les commutateurs, les passerelles, les IDS, les firewalls …
Le firewall est utilisé pour sécuriser le Datacenter contre les attaques et permet le filtrage
du trafic suivant les politiques de sécurité adoptée par l’administrateur.
2.7.2 Firewall
Un pare-feu (firewall en anglais), est un logiciel et/ou un matériel, permettant de faire
respecter la politique de sécurité du réseau, celle-ci définissant quels sont les types de
communications autorisés sur ce réseau informatique. Il mesure la prévention des applications
et des paquets. Le pare-feu est considéré comme une des pierres angulaires de la sécurité d'un
réseau informatique. Il a pour principale tâche de contrôler le trafic entre différentes zones de
confiance, en filtrant les flux de données qui y transitent. Généralement, les zones de
confiance incluent Internet (une zone dont la confiance est nulle) et au moins un réseau
interne (une zone dont la confiance est plus importante) figure 2.3. Le but est de fournir une
connectivité contrôlée et maîtrisée entre des zones de différents niveaux de confiance, grâce à
l'application de la politique de sécurité d'un modèle de connexion basé sur le principe du
moindre privilège.
S
F TP DN www
DMZ
Server
Open network
Router
Host
Firewall
PC
l'origine ou la destination des paquets (adresse IP, ports TCP ou UDP, interface
réseau, etc.)
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 50
les options contenues dans les données (fragmentation, validité, etc.)
les données elles-mêmes (taille, correspondance à un motif, etc.)
les utilisateurs pour les plus récents.
Un pare-feu fait souvent office de routeur et permet ainsi d'isoler le réseau en plusieurs zones
de sécurité appelées zones démilitarisées ou DMZ. Ces zones sont séparées suivant le niveau
de confiance qu'on leur porte.
Une politique de pare-feu est une liste ordonnée de règles. Une règle r de pare-feu définit
une action, généralement accepter ou rejeter, pour l'ensemble des paquets correspondant à ses
critères. La majorité des firewalls filtre le trafic en fonction de la sémantique de la première
correspondance, lorsqu’ un paquet p arrive, il est comparé à des règles de haut en bas jusqu'à
ce qu'une règle de correspondance est trouvée et le processus est répété pour le paquet
suivant. Toutes les politiques ont une règle invisible par défaut « match-all » à la fin. Par
conséquent, quand un paquet ne correspond pas à une règle de la politique, l'action par défaut
est appliquée. Dans la plupart des firewalls, la règle par défaut est « deny-all », mais la règle
par défaut « permit-all » est également possible. La majorité des firewalls ne permettent pas
de règles identiques dans la même politique. Par conséquent, nous supposons que cette
restriction ne permet pas la duplication des règles dans une politique. Une règle est un
ensemble de champs, chaque champ peut avoir une valeur atomique ou une plage de valeurs.
Il est possible d'utiliser n'importe quel champ de l’entête IP, UDP et TCP. Toutefois, les cinq
champs suivants sont les plus couramment utilisés: le type de protocole, l'adresse IP source, le
port source, l’adresse IP de destination et le port destination [46].
Tout le champ de l’en-tête de paquet peut être utilisé pour le processus de correspondance.
Cependant, les cinq champs qu’on a cités auparavant sont les plus couramment utilisés. Dans
un paquet, chacun de ces champs a une valeur atomique. Si tous les champs d'un paquet p
coïncident avec les champs correspondants d'une règle r, alors p est accepté ou rejeté selon la
décision de r. Si p ne correspond pas à aucune règle en matière de politique, alors la valeur
par défaut « match-all » de la règle est appliquée. Le tableau 2.1 donne un exemple de deux
politiques d’un firewall basées sur le langage des firewalls PIX.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 51
Tableau 2.1 : Exemple de Deux politiques d’un pare-feu
Les langages d'édition de politique peuvent être classés en deux catégories: Type I et Type II.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 52
Le langage d’édition type II autorise la modification aléatoire de la politique du pare-feu. Il
prend en charge trois opérations: la commande (ins i r) insère la règle r comme la ième règle
dans la politique en cours d’exécution R, sauf si la règle r est déjà présente; la commande (del
i) supprime la ième règle de R et enfin la commande (mov i j) déplace la ième règle à la jème
position dans R. Le langage d’édition type II peut transformer toute politique en cours
d'exécution en une politique cible sans accepter des paquets illégaux ou rejeter paquets légaux
[47], par conséquent, il est à la fois complet et sûr. Il est évident que pour un ensemble donné
de politiques initiales et cibles, un déploiement de Type II utilise normalement moins de
commandes d’édition que son équivalent utilisant le déploiement de type I. SunScreen 3,1
Lite et Enterasys Matrix X [51] sont des exemples de pare-feu utilisant le langage d’édition
type II.
Notre algorithme ci-dessous propose une solution correcte pour le déploiement d’une
politique de sécurité dans un firewall [1] :
1. ENHANCEDTwoPhaseDeployment (I, T) {
4.
8. if T[t] I then
9. IssueCommand(ins t T[t])
11. else
13.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 53
18. }.
Malgré que cet algorithme est correcte, mais on a détecté par la suite qu’il contient les
anomalies ci-dessous :
- D'autre part, la complexité de cet algorithme est quadratique . Cela aura un impact
sur la vitesse de déploiement, et durera plus longtemps au cours de la mise à jour. Ceci est
indésirable parce que le pare-feu peut être dans l'état instable de la sécurité au moment de la
mise à jour.
Par conséquent, nous avons amélioré notre première contribution, et nous avons proposé
un nouveau algorithme 2.2 plus sécurisé et plus rapide [2].
1. IMPROVEDTwoPhaseDeployment (I, T) {
4.
8. {
9. IssueCommand(ins t T[t])
10. }
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 54
13. {
15. }.
16. }.
- Réduire la période de mise à jour. Cela signifie que nous avons gagné en termes de
performance, puisque la complexité de l'algorithme est devenue linéaire (voir figure
2.4).
- La nouvelle politique T est insérée au début de la politique en cours d'exécution, cette
mesure nous permet de garder toutes les règles de l'ancienne sécurité de la politique au
cours de la mise en œuvre de la nouvelle politique. La suppression des anciennes
règles ne commence qu’après l'insertion totale de la nouvelle politique T. Cette étape
de transition garde la robustesse du système et ne l'expose pas à des vulnérabilités.
1200
1000
Nombre d'opération *1000
800
600
Algorithme 2
400 Algorithme 1
200
0
0k 1k 10k 20k 30k 40k
Nombre de régles de la politique
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 55
efficace et d'améliorer le temps d'exécution d'une tâche [36], [37]. En fait, il évite une
situation où certains nœuds sont fortement chargés tandis que d'autres nœuds ne font aucun
travail. L’équilibrage de charge garanti que tous les processeurs du système ou de chaque
nœud fournissent des efforts du travail, approximativement, égaux à tout instant.
Ce concept ramène d'abord à décomposer le calcul globale en tâches et assigner les tâches
aux nœuds [38]. Les étapes de décomposition et d'affectation sont ainsi souvent appelés
partitionnement. L'objectif d'optimisation par le partitionnement est d'équilibrer la charge
entre les nœuds et de minimiser les besoins de communication entre eux. L'exécution d'une
tâche dans cet environnement distribué nécessite la cartographie des processus de nœuds. Le
nombre de ressources générées par l'étape de séparation peut ne pas être égal au nombre total
de nœuds. Ainsi, un nœud peut être ralenti ou chargé avec de multiples emplois.
Comme l'a démontré avant et sur la base [39], [40].
L'indice fondamental du Cloud Computing est de fournir des actifs tels que les machines
virtuelles comme des services à la demande. L’affectation de la machine virtuelle efficace à la
demande s’effectue à l’aide des algorithmes d'équilibrage de charge dans le Cloud Computing
[40]. L'algorithme d'équilibrage de charge joue un rôle important lors de la détermination de
la MV à attribuer à l’occasion de la demande de l'utilisateur.
Les fournisseurs du Cloud se basent sur les services d'équilibrage de charge automatique
[41], qui permettent aux clients d'accroître le nombre de processeurs, la mémoire ou le disque
dur pour leurs ressources. Ce service est implicite et dépend des exigences professionnelles
des clients. Donc, le Load balancing fournit deux bases importantes, principalement à
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 56
promouvoir la disponibilité des ressources et secondairement de maintenir une performance
globale, ainsi qu’à l'économie de l’énergie en cas de sous charge.
Un système d’équilibrage de charge est dit parfait s’il peut mesurer la charge d’un nœud
spécifique. La sélection de l'algorithme d'équilibrage de charge n’est pas facile, car il
implique des restrictions supplémentaires tels que la sécurité, la fiabilité, le débit, etc. Par
conséquent, l'objectif principal d'un algorithme d’équilibrage de charge dans un
environnement de Cloud Computing est d'améliorer le temps de réponse en simplifiant
l'interaction entre les nœuds, en choisissant la nature des travaux à transférer et en
sélectionnant les nœuds possibles qui pourraient contenir la tâche ou le processus et de le
déplacer en cas de défaillance de son nœud d'hébergement.
Le débit : est utilisé pour calculer le nombre de tâches dont l'exécution est
terminée. Il doit être élevé afin d'améliorer la performance du système.
Le coût général impliqué en mettant en œuvre un algorithme d'équilibrage
de charge : Il est composé des frais généraux en raison du mouvement de
tâches, inter-processeur et de la communication interprocessus. Cela devrait
être réduit au minimum afin que la technique d'équilibrage de charge puisse
fonctionner efficacement.
la tolérance aux pannes : c’est à dire la capacité d'un algorithme pour
effectuer l'équilibrage de la charge uniforme en dépit de nœud arbitraire ou
défaillance de la liaison. L'équilibrage de charge devrait être une bonne
technique à tolérance de pannes.
Le temps de migration : est le temps de migrer les emplois ou les
ressources d'un nœud à un autre. Il devrait être minimisé afin d'améliorer les
performances du système.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 57
Temps de réponse : est la quantité du temps nécessaire pour répondre par
un algorithme d'équilibrage de charge dans un système distribué. Ce
paramètre doit être minimisé.
Utilisation des ressources : il sert à vérifier l'utilisation des ressources et
doit être optimisé pour un équilibrage de charge efficace.
La performance : est utilisée pour vérifier l'efficacité du système et doit
être amélioré à un coût raisonnable, par exemple, de réduire les temps de
réponse des tâches en gardant les délais acceptables.
Afin de parvenir à une répartition équitable des ressources entre les tâches exigeantes et
d'avoir une certaine performance dans l'ensemble du système, le Load balancing est recours à
différents algorithmes d'ordonnancement. Puisque la recherche dans ce domaine est dans ses
débuts, aucune technique ne peut être considérée comme la meilleure. Par conséquent,
l'algorithme choisi à utiliser dépend de nombreux facteurs, en particulier la taille du système
Cloud, de la nature des demandes, le montant des ressources disponibles ...
Ces algorithmes peuvent être classés de différentes façons. Ainsi, ils peuvent être classés
en deux catégories : statique ou dynamique. Un algorithme d'équilibrage de charge statique ne
tient pas compte de l'état antérieur ou le comportement d'un nœud lors de la répartition de la
charge. D'autre part, l’algorithme d’équilibrage de charge dynamique vérifie l'état précédent
d'un nœud lors de la répartition de la charge. L'algorithme d'équilibrage de charge dynamique
est appliqué soit comme distribués ou non distribués.
Le Load balancing peut fonctionner de deux manières: coopératif et non coopératif. En
mode coopération : les nœuds fonctionnent simultanément afin d'atteindre l'objectif commun
pour optimiser le temps de réponse global. En mode non-coopératif : les tâches sont exécutées
de manière indépendante dans le but d'améliorer le temps de réponse des tâches locales.
Les algorithmes les plus connus sont répertoriés par Mathew, T et al [54] dans le tableau 2.2.
Comme le montre ce tableau, chaque algorithme a ses propres caractéristiques, les avantages
et les inconvénients. Ainsi, il est selon le contexte dans lequel un algorithme est choisie pour
effectuer l'équilibrage de charge, tels que le type de demande, si elles sont toutes de même
nature ou non, ...
Minimum
Load Balancing
Execution Time Expected execution time Selects the fastest machine for
Utilization Load imbalanced
Algorithm scheduling
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 58
Minimum Completion Time Expected completion Load balancing is Considered Optimization in selection of best
Algorithm time, Load balancing resource is not there
Min-Min, Max-Min Makespan, Expected completion Better makespan compared to other Poor load balancing and QoS
time algorithms factors are not considered
Genetic Algorithm Makespan, Efficiency, Better performance and efficiency in Complexity and long time
Performance, Optimization terms of makespan consumption
Simulated Annealing Makespan, Optimization Finds more poorer solutions in large QoS factors and heterogeneous
solution space, better makespan environments can be considered
Switching Algorithm Makespan, Load balancing, Schedules as per load of the system, Cost and time consumption in
Performance better makespan switching as per load
K-percent Best Makespan, Performance Selects the best machine for Resource is selected based on the
scheduling completion time only
Sufferage Heuristic Minimum completion time, Better makespan along with load Scheduling done is only based on a
Reliability balancing sufferage value
Benefit Driven, Power Best Fit, Energy Consumption, Cost, Load Power consumption is reduced and Other QoS factors and completion
Load Balancing balancing cost is reduced even more number of time of tasks are less considered
servers used
Energy efficient method using Energy Consumption, Makespan, Energy saving as per load in the Cost and implementation
DVFS Execution time system producing better makespan complexity can be make
better in future
DENS Traffic load balancing, Congestion, Communication load is considered Consider only data intensive
Energy Consumption and job consolidation is done to save applications with less
energy computational needs
e-STAB Energy efficiency, Network Load balancing and energy efficiency QoS factors can be considered for
awareness, QoS, performance is achieved based on traffic load, improvement in overall
congestion and delay are avoided. performance
Task Scheduling & Server Energy Consumption, Energy is reduced meeting the Makespan and cost are less
Provisioning Task response time, deadline of tasks considered here
Deadline
Improved Cost Based Algorithm Processing cost, Makespan Resource cost and computation Dynamic Cloud environment and
performance is considered before other QoS attributes are not
scheduling considered
Priority based Job Scheduling Priority of tasks, Expected Priority is considered for scheduling. Makespan, consistency and
Algorithm completion time Designed based on multiple criteria complexity of the proposed
decision making model method can be considered for
improvement
Job Scheduling based on Fault tolerance, Load balancing, Probabilistic assignment based on Algorithm never mentions how the
Horizontal Load Balancing Response time, Resource cost. Highest probable resource and total completion time of the tasks
utilization, Cost, Execution time task are selected for assignment. will remain
User Priority guided Min- Min Priority , Makespan, Resource Prioritized is given to users improving Rescheduling of tasks to perform
Utilization, Load balancing load balancing and without increasing load balancing will increase the
total completion time. complexity and time
WLC based Scheduling Load balancing, Efficiency, Dynamic task assignment strategy Considering only load
Processing Speed proposed, task heterogeneity is balancing feature
considered
Cost Based Multi QoS Based Load balancing, Makespan, QoS, DLT based optimization model is Machine failure, communication
DLT scheduling Performance, Cost designed for getting better overall overheads and dynamic workloads
performance are not considered
Enhanced Max-Min Algorithm Makespan, Load balance, Average Improves makespan and load Parameters considered are limited
execution time balancing when large difference and only theoretical analysis is
occurres in the length of longest task performed
and other tasks or speed of
processors
Les paramètres et les algorithmes ci-dessus ont pour but de relever le défi qui est de
réaliser un partage de charge parfait dans le Cloud Computing. Ainsi, pour ce faire, les
objectifs suivants doivent être atteints:
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 59
Eviter la famine des tâches traitées, ceci peut être réalisé en améliorant le
rendement et en minimisant la réponse ainsi que les temps de migration.
Fiabilité, qui peut être obtenu par une approche à tolérance de panne.
Les problèmes de sécurité, ce qui est un côté important du système. Les flux de
données et de la communication doivent être protégés de toute forme d'activités
indésirables.
Pour réaliser ces objectifs, tout en prenant en considération les défis associés, nous avons
proposé une approche multi-cluster. La section suivante détaille cette approche et décrit
comment il traite les difficultés énoncées.
Un Load balancing entre les différents nœuds est considéré efficace s’il traite les tâches client,
de manière sécurisée, ainsi que l'élimination du possible point unique de défaillance et de
préserver l'utilisation continue de toutes les ressources disponibles, en fait, aucune ressource
ne peut pas rester inutilisé en raison de tout type de problème, comme l'échec de l'équilibreur
de charge centrale par exemple, qui peut conduire à l’arrêt partiel ou total du système (nœuds
de ressources). Ainsi, la méthode proposée a l’avantage de l’équilibrage de charge efficace.
Elle assure la disponibilité continue du service en sécurisant les flux de données entre les
nœuds du système. La description détaillée de l'architecture ci-dessus est la suivante [9] :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 60
Il a sa propre table de clusters, chaque cluster avec un poids représentant sa capacité
moyenne de traitement, donc le principal équilibreur de charge peut choisir le bon cluster pour
transférer une demande de client et la charge est assez partagée entre tous les clusters. Aucune
file d’attente n’est nécessaire à ce niveau, et que chaque groupe a sa propre file d'attente
locale.
Chaque cluster se compose d'un groupe de nœuds (ressources), il a son propre équilibreur
de charge locale (LLB), ce dernier reçoit des demandes de la MLB et traite l'équilibrage de
charge à l'intérieur de son groupe local. Il a une file d'attente où les demandes à venir sont
stockées jusqu'à ce qu'un nœud à l'intérieur du groupe soit disponible pour les traiter. Les
équilibreurs de charge locaux utilisent un algorithme d'ordonnancement pour effectuer
l'équilibrage de charge, ils gardent aussi une table de ressource qui est constamment mis à
jour s'il y a un changement dans les nœuds du cluster correspondant (par exemple, en cas de
défaillance d'un nœud, l'ajout de un nouveau nœud ...). En fonction des changements dans ce
tableau, le poids du cluster est mis à jour dans la table MLB. Le tableau d'équilibrage de
charge local contient également le poids de chaque nœud, d'où la charge locale est assez
équilibrée entre les éléments du cluster.
Pour assurer la disponibilité du système et d’éliminer les points de défaillance uniques, une
autre fonctionnalité proposée de cette architecture est de faire de chaque LLB un candidat
MLB, il remplacera la MLB dans le cas où il vient d'échouer. Dans ce cas, la première LLB
qui détecte l'échec MLB, devient le nouveau MLB, il informe les autres de ce changement,
recueille des données sur les autres LLBs, distribue les nœuds de ses clusters entre les autres
clusters et commence de fonctionner en tant que nouvelle MLB en envoyant les éléments dans
sa file d'attente aux autres LLBs. Cela garantit la disponibilité continue du système et
l’utilisation efficace des ressources.
La gestion d’une couche d'authentification de la sécurité est nécessaire, de sorte que seuls
les utilisateurs authentifiés peuvent envoyer des tâches par le biais de notre architecture
d'équilibrage de charge.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 61
Figure 2.5 : Architecture Proposée pour le Load Balancing
2.8 Conclusion
Dans ce chapitre nous avons présenté deux volets, le premier concerne les exigences, la
stratégie et les modèles de la sécurité dans le Cloud, on peut conclure que si on arrive à
maitriser la faiblesse de la sécurité, les solutions IT de l’avenir seront du Cloud et les
dirigeants des entreprises décideront de migrer vers le Cloud Computing. Le deuxième volet
s’intéresse au déploiement des politiques de sécurité de pare-feu d’un Datacenter et dont nous
avons montré que les approches récentes [88] pour le déploiement de stratégies de pare-feu
contiennent des erreurs critiques. En effet, ces approches peuvent présenter des failles de
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 62
sécurité temporaires qui autorisent le trafic illégal et/ou interrompent des services de réseau en
bloquant le trafic légal lors d'un déploiement. Nous avons proposé une formalisation pour le
déploiement sûr et nous avons utilisé cette formalisation comme une base pour fournir des
algorithmes sûrs, efficaces et rapides. Les chapitres qui viennent traitent les solutions de
sécurisation des données stockées dans l’environnement Cloud.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 63
CHAPITRE III
3.1 Introduction
Le Cloud Storage consiste à ne plus gérer ses données sur son propre dispositif (serveur,
ordinateur, téléphone, . . .) mais à en corner la gestion à une entité tierce accessible par
Internet. De nos jours, on entend souvent parler de l'avènement du Cloud avec les nouveaux
produits technologiques qui sont connectes en permanence à Internet, comme les
smartphones/tablettes, et avec des connexions réseaux de plus en plus performantes (3G/4G,
ADSL/fibre/satellite . . .). Les utilisateurs peuvent ainsi accéder à leurs données de n'importe
où et à n'importe quel moment. Ceci est d'autant plus intéressant lorsque le dispositif qu'il
utilise dispose de peu de mémoire, comme par exemple un téléphone mobile. Bon nombre de
systèmes proposent ce type de service. C'est le cas de DropBox, Amazon, google, HP, IBM,
Microsoft, iCloud ….
Dans ce chapitre, nous présentons notre contribution, basée sur les avantages des deux
catégories de la Cryptographie : symétrique et asymétrique pour un stockage sécurisé de
données dans le Cloud.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 64
D’un côté, la préservation de la confidentialité des données, dans des environnements
multi-tenants, devient plus difficile et conflictuelle. Ceci est largement dû au fait que les
utilisateurs stockent leurs données dans des serveurs distants contrôlés par des fournisseurs de
service (CSP) non fiables. Il est communément admis que le chiffrement des données, du côté
client, est une bonne solution garantissant la confidentialité des données [62] et [63].
D’un autre côté, l’intégrité des données est considérée comme une préoccupation
majeure, dans des environnements Cloud. Afin de renforcer la résilience, les fournisseurs de
service ont généralement recours à la distribution des fragments de données selon des
politiques de réplication. Néanmoins, afin de réduire les coûts d’exploitation et de libérer des
capacités de stockage, les fournisseurs malhonnêtes pourraient volontairement négliger ces
procédures de réplication, entraînant des erreurs irréversibles ou même des pertes de données.
Même lorsque les fournisseurs de Cloud mettent en œuvre une politique de tolérance aux
pannes, les clients n’ont pas les moyens techniques pour vérifier que leurs données ne sont
pas vulnérables. Il pourrait y avoir des implémentations de vérification, à distance de
l’intégrité et la possession des données externalisées, selon trois niveaux, comme suit:
Entre un client et un CSP : un client devrait avoir un moyen efficace, lui permettant
d’effectuer des vérifications périodiques d’intégrité à distance, sans garder les
données en local. En outre, le client doit également détecter la violation du SLA,
par rapport à la politique de stockage. La préoccupation de ce client est accentuée
par ses capacités de stockage et de calcul limitées, et de la grande taille des données
externalisées.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 65
Entre deux CSPs : dans un environnement des Clouds imbriqués, où les données
sont réparties sur de différentes infrastructures de Cloud, un CSP, à travers sa
passerelle, doit périodiquement vérifier l’authenticité de blocs de données
hébergées par une autre plate-forme de service.
Ces problèmes de sécurité sont d’autant plus importants, que les règlements à venir
prévoient des mesures de protection plus sévères et rigides pour protéger efficacement les
données à caractère personnel qui sont externalisées sur des serveurs distants.
Ces deux informatiques peuvent être compatibles entre elles, comme le propose, par
exemple, le système Amazon Cloud Drive. Nous décidons cependant de nous focaliser sur le
stockage dématérialisé et de concevoir une réalisation de celui-ci possédant certaines
propriétés :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 66
Un utilisateur doit pouvoir partager ses données avec les utilisateurs en qui il a
confiance.
Un utilisateur non autorisé ne doit pas pouvoir accéder aux données, notamment le
serveur qui est un utilisateur non autorisé.
Un utilisateur stockant des données dans un serveur doit pouvoir gérer les droits
d'accès comme il le souhaite.
Les préoccupations de sécurité des données stockées dans le Cloud ont émergé pour
devenir d'un intérêt croissant d’une grande importance dans la communauté de recherche en
cryptographie et informatique appliquée. En effet, Les serveurs du Cloud agissent comme des
boîtes noires distribuées du point de vue du client. Dans ce chapitre, nous donnons un aperçu
sur les fondamentaux de cryptographie, nous étudions l'utilisation de mécanismes
cryptographiques dans des environnements Cloud et ensuite nous allons proposer une
architecture et modèle de sécurité des données permettant de répondre aux difficultés citées
ci-dessous afin d’établir un service efficace et digne de confiance.
Architecture
L’architecture d’un service de stockage dans un Cloud s’appuie sur les entités suivantes,
permettant à un client de stocker, récupérer et partager des données avec plusieurs utilisateurs:
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 67
Fournisseur de service Cloud (CSP) – un CSP dispose de ressources importantes
pour contrôler les serveurs de stockage. Il fournit également une infrastructure
virtuelle pour héberger des services d’application. Ces services peuvent être utilisés
par le client pour gérer ses données stockées dans les serveurs Cloud.
Client (C) – un client est le propriétaire de données. Il utilise les ressources du
fournisseur de service pour stocker, récupérer et partager des données avec
plusieurs utilisateurs.
Utilisateurs (U) – les utilisateurs sont en mesure d’accéder au contenu stocké dans
le nuage, en fonction de leurs droits d’accès s’agissant des autorisations accordées
par le client, comme les droits de lecture et d’écriture. Ces droits d’accès
permettent de déterminer plusieurs groupes d’utilisateurs.
3.4.1 Définition
La cryptographie est la science qui utilise les mathématiques pour chiffrer et déchiffrer des
données. La cryptographie vous permet de stocker des informations sensibles ou de les
transmettre à travers des réseaux non sûrs (comme Internet) de telle sorte qu’elles ne puissent
être lues par personne à l’exception du destinataire convenu.
Alors que la cryptographie est la science de la sécurisation des données, la cryptanalyse est
la science de l’analyse et du cassage des communications sécurisées. La cryptanalyse
classique mêle une intéressante combinaison de raisonnement analytique, d’application
d’outils mathématiques, de découverte de redondances, de patience, de détermination, et de
chance. Les cryptanalystes sont aussi appelés attaquants. La cryptologie embrasse à la fois la
cryptographie et la cryptanalyse.
Depuis de nombreuses années, la cryptographie était le domaine exclusif des militaires, des
services diplomatiques et gouvernementales secrètes, et a été utilisé pour fournir
principalement des propriétés de sécurité, telles que la confidentialité des données, l'intégrité
des données et l'authentification de l'origine des données [56]. Présentée comme l'art de
codage de l'information dans les secrets, la cryptographie permet aux récepteurs à récupérer le
contenu original des messages. Au cours de la deuxième partie du XXe siècle, le domaine de
la cryptographie a élargi en raison de la prolifération des ordinateurs et des réseaux et
l'apparition de nouveaux systèmes cryptographiques.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 68
texte chiffré différent si l’on utilise des clés différentes. La sécurité des données chiffrées est
entièrement dépendante de deux choses: la force de l’algorithme cryptographique et le secret
de la clé. Un algorithme cryptographique et toutes les clés possibles et tous les protocoles qui
le font fonctionner constituent un cryptosystème.
5.5 Cryptosystème
Le but de la cryptographie, est de permettre à Bob d’envoyer des messages à Alice avec
des garanties sur :
L’intégrité du message : le message n’a pas été modifié entre son envoi et sa
réception
la confidentialité : seuls Bob et Alice connaissent le contenu du message
la non-répudiation : il est possible de prouver que Bob est bien l’expéditeur du
message
Nous ne nous intéresserons pas aux autres aspects de la sécurité informatique tels que
l’authentification, la disponibilité, ou le contrôle d’accès.
3.5.1 Définition
Un cryptosystème est un ensemble d’algorithmes permettant de chiffrer et déchiffrer des
messages. Éventuellement, un cryptosystème pourra être accompagné d’un algorithme
permettant la génération des clés de chiffrement et déchiffrement.
Les algorithmes à clés symétriques sont une classe d'algorithmes de cryptographie qui
utilisent les mêmes clés cryptographiques pour le chiffrement du texte en clair et le dé
chiffrement du texte chiffré. Les clés, dans la pratique, représentent un secret partagé entre
deux ou plusieurs parties qui peuvent l’utiliser pour maintenir un lien d'information privée.
Cette exigence que les deux parties doivent partager la clé secrète est l'un des principaux
inconvénients de chiffrement à clé symétrique, par rapport au chiffrement à clé publique.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 69
La cryptographie asymétrique est basée sur l'utilisation de deux algorithmes connexes pour
le chiffrement des messages et le déchiffrement (Figure 3.2).
Soit C : l’espace des messages chiffrés, M : l’espace des messages en clair et K l'espace
des clés. On désigne par E l'algorithme de chiffrement, et D l'algorithme de déchiffrement,
défini comme suit:
Nous disons qu'un système de cryptographie symétrique est bien défini, si elle remplit
l'équation suivante :
On a D(E(m, k); k) = m
Les algorithmes de chiffrement symétrique ont des avantages. En général, ils sont très
rapides. D'une part, ils ont une complexité moins élevée qu'un algorithme de chiffrement à clé
publique tel que RSA et, d'autre part, ces algorithmes sont souvent très bien adaptés à
l'architecture du processeur utilisé. Ils sont donc très bien appropriés au chiffrement de grande
quantité de données. Les plus connus sont les algorithmes DES et AES.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 70
Problème de gestion des clés : Le nombre de clés nécessaire augmente
considérablement avec le nombre d'utilisateurs.
Problème de la distribution de la clé : Comment communiquer la clé au destinataire
sans que personne ne puisse l’intercepter? Pour cette raison, la combinaison
cryptosystème publique et privé est très employée. Les cryptosystèmes publiques
permettent une distribution efficace des clés tandis que les cryptosystèmes privés
servent à chiffrer à proprement dit les données avec les clés distribuées
précédemment.
L'AES est une variante de Rijndael qui a une taille de bloc fixe de 128 bits et d'une taille de
clé de 128, 192 ou 256 bits. La taille de la clé utilisée pour un chiffrement AES indique le
nombre de répétitions de transformations rounds. Le nombre de cycles de répétition est la
suivante (voir figure 3.3):
Les avantages de l'AES sont nombreux. L’AES n’est pas sensible à toute attaque.
Cependant, Brute Force attaque n’est pas une tâche facile, même pour un super-ordinateur. En
effet, la taille de la clé de cryptage utilisée par l'algorithme AES est de l'ordre de 128, 192 ou
256 bits, ce qui conduit à des milliards de permutations et combinaisons. La rapidité et la
faible exigence de la RAM étaient des critères du processus de sélection de l’AES [3] :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 71
AES fonctionne bien sur une grande variété de matériel, de 8 bits des cartes à puce
à des ordinateurs de haute performance.
AES est également beaucoup plus rapide que les algorithmes traditionnels (voir
figure 3.4).
Récemment S-box AES Compact est conçu pour être plus efficace [59].
Figure 3.4: Vitesse de l’AES par taille de la clé : 128, 192 et 256
En cryptographie asymétrique, Alice possède une paire de clés, une publique, l’autre
privée. Tout le monde peut envoyer des messages à Alice en les chiffrant avec sa clé
publique, seule Alice peut les déchiffrer en utilisant sa clé privée.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 72
Les chiffrements asymétriques utilisent un système de paires de clefs. L'utilisateur génère
une clef aléatoire dite clef publique que l'utilisateur distribue par exemple via un serveur de
clefs. De cette clef est déduite la seconde, appelée clef privée qu'il est seul à connaître. La clé
publique est utilisée pour chiffrer un message ou pour vérifier une signature numérique; tandis
que la clé privée est utilisée pour déchiffrer un texte chiffré ou pour créer une signature
numérique.
Cette paire de clés est définie sur une relation mathématique. La résolution de cette
équation mathématique vient de briser un problème de calcul dur. En fait, le domaine de la
cryptographie à clé publique a motivé un certain nombre de problèmes de calcul complexes,
tels que la factorisation entière liée au cryptosystème bien connu RSA [60]. La supposition
que ces problèmes engendrent en général des délais de calculs très importants et difficiles à
résoudre en temps polynomial définit les systèmes cryptographiques les plus contemporains.
Le principal avantage de la cryptographie à clé publique est qu’elle permet à des gens qui
n’ont pas d’accord de sécurité préalable d’échanger des messages de manière sûre. La
nécessité pour l’expéditeur et le destinataire de partager des clés secrètes via un canal sûr est
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 73
éliminée, toutes les communications impliquent uniquement des clés publiques, et aucune clé
privée n’est jamais transmise ou partagée.
D’autre part la cryptographie à clé publique permet la facilité de gestion du parc des clés
des utilisateurs. En effet, l'augmentation du nombre d'utilisateurs ne complexifie pas le
protocole. De plus, l'arrivée de nouveaux utilisateurs et leur intégration demande très peu
d'efforts et ne modifie en rien les paramètres des autres. Pour le groupe d'utilisateurs il suffit,
de manière simplifiée, de :
choisir un administrateur digne de confiance qui sera chargé de gérer les clés.
chaque utilisateur demande à l'administrateur son inscription
pour chaque utilisateur, l'administrateur crée une paire de clés (clé privée / clé
publique)
l'administrateur informe secrètement chaque utilisateur de sa clé privée
il publie toutes les clés publiques dans un annuaire
Si un nouvel utilisateur arrive, il suffit de lui créer une paire de clés et de la distribuer.
Ainsi, la cryptographie à clé publique résout le problème de distribution des clés que l'on
peut rencontrer dans la cryptographie à clé privée. En effet, dans le cas symétrique, chaque
membre du groupe doit s'entendre avec tout autre membre pour convenir d'une clé commune.
Essayez de trouver le nombre de clés nécessaires pour un groupe de 10 personnes. Pour la
cryptographie asymétrique, c'est très simple, il suffit de 10 couples de clés soit 20 clés. On
vous laisse tracer un schéma pour voir qu'avec la cryptographie symétrique, 45 clés sont
nécessaires. Cet écart grandira de façon impressionnante avec l'augmentation du nombre
d'utilisateurs.
Néanmoins, les techniques asymétriques souffrent de leur grande lenteur (voir figure 3.5
pour le cas du RSA). Bien sûr, il ne faut pas une heure pour chiffrer un message mais c'est
bien 100 à 1000 fois plus lentes que certaines techniques symétriques. Dans la pratique, la
cryptographie symétrique et asymétrique est souvent combinée et on exploite leurs avantages
du mieux possible pour rendre les systèmes performants. La cryptographie symétrique sert à
chiffrer les messages puisque cette fonction est très rapide et la cryptographie asymétrique
sert à échanger les clés entre deux utilisateurs puisqu'il faut leur donner des clés identiques et
de manières sûres pour qu'ils chiffrent et déchiffrent leur message. Comme l'échange de clés
ne se fait qu'une seule fois, le système n'en est que très peu ralenti.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 74
signatures numériques : RSA. C’est un algorithme facile à comprendre et à réaliser. C’est le
plus populaire. Il a été inventé par les mathématiciens Ronald Rivest, Adi Shamir et Léonard
Adlman. Il a résisté depuis à des années de cryptanalyse. Bien que la cryptanalyse n’ait jamais
prouvé la sécurité ou la non-sécurité de RSA, cela inspire un certain niveau de confiance dans
l’algorithme.
La sécurité de RSA dépend de la difficulté de factoriser des grands nombres. Les clefs
publique et privée sont des fonctions d’une paire de grands nombres premiers (plus de 200
chiffres). Retrouver le texte en clair à partir d’une des clefs et du texte chiffré est supposé
équivalent à la factorisation du produit des deux nombres premiers. La figure 3.6 représente le
délai de déchiffrement par longueur de la clé RSA.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 75
En d’autres termes d est l’inverse modulaire de e modulo (n).
Le nombre d est la clef privée. Les deux nombres premiers p et q ne sont plus nécessaires. Ils
peuvent être écartés mais jamais révélés.
Grâce aux algorithmes probabilistes, on sait engendrer des nombres premiers de plusieurs
milliers de chiffres de long en peu de temps ; le calcul de p et q est donc rapide. Trouver e et d
est aussi une opération rapides car l’algorithme d’Euclide qui permet de calculer ces deux
nombres est un algorithme peu difficile à exécuter. En conclusion, la constitution d’un
quadruplet (p, q, e, d) est donc une opération rapide pour un ordinateur, même si l’on souhaite
que p et q aient quelques milliers de chiffres.
Chiffrement
Pour chiffrer un message M, on le découpe en blocs numériques tels que chaque bloc ait
une représentation unique modulo n (avec des données binaires, on choisit la plus grande
puissance de 2 inférieur à n). Ainsi, si p et q sont tous deux des nombres premiers de 100
chiffres, alors n aura tout juste moins de 200 chiffres et chaque bloc de message doit avoir
juste moins de 200 chiffres. Le message chiffré C sera constitué de manière similaire de
blocs. La formule de chiffrement est simplement :
= mod (n)
Déchiffrement
Pour déchiffrer un message, il faut effectuer l’opération inverse, c’est à dire pour chaque
on calcule :
= mod (n)
Il faut distinguer les attaques par la force brute, qui consistent à retrouver p et q sur base de
la connaissance de n uniquement, et les attaques sur base de la connaissance de n mais aussi
de la manière dont p et q ont été générés, du logiciel de cryptographie utilisé, d'un ou
plusieurs messages éventuellement interceptés etc.
La sécurité de l'algorithme RSA contre les attaques par la force brute repose sur deux
conjectures :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 76
Avec les algorithmes classiques, le temps que prend cette factorisation croît
exponentiellement avec la longueur de la clé.
Il est possible que l'une des deux conjectures soit fausse, voire les deux. Jusqu'à présent, ce
qui fait le succès du RSA est qu'il n'existe pas d'algorithme connu de la communauté
scientifique pour réaliser une attaque force brute avec des ordinateurs classiques.
Le 12 décembre 2009, le plus grand nombre factorisé par ce moyen, en utilisant une
méthode de calculs distribués, était long de 768 bits. Les clés RSA sont habituellement de
longueur comprise entre 1 024 et 2 048 bits. Quelques experts croient possible que des clés
de 1 024 bits seront cassées dans un proche avenir, mais peu voient un moyen de casser de
cette manière des clés de 4 096 bits dans un avenir prévisible. On peut néanmoins présumer
que RSA reste sûr si la taille de la clé est suffisamment grande. On peut trouver la
factorisation d'une clé de taille inférieure à 256 bits en quelques minutes sur un ordinateur
individuel, en utilisant des logiciels librement disponibles. Pour une taille allant
jusqu'à 512 bits, et depuis 1999, il faut faire travailler conjointement plusieurs centaines
d'ordinateurs. Par sûreté, il est couramment recommandé que la taille des clés RSA soit au
moins de 2 048 bits.
Si une personne possède un moyen « rapide » de factoriser le nombre n, tous les
algorithmes de chiffrement fondés sur ce principe seraient remis en cause ainsi que toutes les
données chiffrées dans le passé à l'aide de ces algorithmes.
En 1996, un algorithme permettant de factoriser les nombres en un temps non exponentiel
a été écrit pour les ordinateurs quantiques. Il s'agit de l'algorithme de Shor. Les applications
des ordinateurs quantiques permettent théoriquement de casser le RSA par la force brute, ce
qui a activé la recherche sur ce sujet ; mais actuellement ces ordinateurs génèrent des erreurs
aléatoires qui les rendent inefficaces.
Les autres types d'attaques, beaucoup plus efficaces, visent la manière dont les nombres
premiers p et q ont été générés, comment e a été choisi, si l'on dispose de messages codés ou
de toute autre information qui peut être utilisée. Une partie de la recherche sur ce sujet est
publiée mais les techniques les plus récentes développées par les entreprises
de cryptanalyse et les organismes de renseignement comme la NSA restent secrètes.
Il faut enfin noter que casser une clé par factorisation du nombre n ne nécessite pas
d'attendre d'avoir un message chiffré à disposition. Cette opération peut débuter sur base de la
connaissance de la clé publique seulement, qui est généralement libre d'accès. Dans ces
conditions, si n est factorisé, la clé privée s'en déduit immédiatement. Les conséquences de
cette observation sont également qu'un code peut être cassé avant même son utilisation.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 77
3.5.1.2.3 Algorithme de Diffie-Hellman
En 1976, Whitfield Diffie et Martin Hellman ont proposé l'algorithme de Diffie Hellman
(DH). Cet algorithme est maintenant célèbre son 40ème anniversaire pendant qu'il joue encore
un rôle actif dans les protocoles Internet d'aujourd'hui.
DH est un mécanisme d'échange en toute sécurité d’un secret partagé entre deux entités
communicantes, Alice et Bob, en temps réel sur un réseau non sécurisé. Un secret partagé est
important entre deux parties qui peuvent ne pas avoir jamais communiquées précédemment.
Les éléments publics fournis à chaque partie est un grand nombre premier p et un générateur g
non nul de .
{ } mod(p))
Après avoir échangé ces valeurs publiques, Alice et Bob utilisent leurs clés privées, encore
une fois pour calculer
Bien que l'algorithme d'échange de clés Diffie Hellman fournit une méthode pour partager
publiquement une clé secrète aléatoire, il n'a pas atteint l'objectif d'être pleinement un système
cryptographique à clé publique qui permet d'échanger des messages, pas seulement une
chaîne aléatoire de bits.
Le premier système cryptographique à clé publique qui a utilisé l’algorithme de Diffie
Hellman est celui proposé par Taher EL Gamal en 1985 [61]. La sécurité de DH est basée sur
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 78
la définition de deux problèmes de calcul, à savoir le problème de Diffie Hellman (DHP) et le
problème du logarithme discret (DLP),
PGP [Pretty Good Privacy] est un cryptosystème inventé par Philip Zimmermann, il combine à la
fois les meilleures fonctionnalités de la cryptographie conventionnelle et de la cryptographie à
clé publique. PGP est un cryptosystème hybride.
Quand un utilisateur chiffre du texte clair avec PGP, PGP compresse d’abord le texte clair.
La compression de données économise du temps de transmission par modem et de l’espace
disque et, ce qui est plus important, renforce la sécurité cryptographique. La plupart des
techniques de cryptanalyse exploitent les redondances trouvées dans le texte clair pour
craquer le texte chiffré. La compression réduit ces redondances dans le texte clair, ce qui
augmente grandement la résistance à la cryptanalyse. (Les fichiers qui sont trop petits pour
être compressés ou qui ne se compressent pas bien ne sont pas compressés.) PGP crée ensuite
une clé de session, qui est une clé secrète qui ne sert qu’une fois. Cette clé est un nombre
aléatoire généré à partir des mouvements aléatoires de la souris et des touches du clavier sur
lesquelles on tape. Cette clé de session fonctionne avec un algorithme de chiffrement
conventionnel très sûr et rapide qui chiffre le texte clair; le résultat est le texte chiffré. Une
fois que les données sont chiffrées, la clé de session est elle-même chiffrée avec la clé
publique du destinataire. Cette clé de session chiffrée par la clé publique est transmise avec le
texte chiffré au destinataire.
Les clés
Une clé est une valeur qui est utilisée avec un algorithme cryptographique pour produire un
texte chiffré spécifique. Les clés sont, à la base, de très grands nombres. La taille d’une clé se
mesure en bits; et le nombre qui peut être représenté par une clé de 1024 bits est vraiment
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 79
immense. En matière de cryptographie à clé publique, plus la clé est grande, plus le
chiffrement est sûr. Cependant, la taille d’une clé publique n’est absolument pas comparable
avec la taille des clés secrètes employées en cryptographie conventionnelle.
Une clé conventionnelle de 80 bits offre une sécurité équivalente à celle d’une clé publique
de 1024 bits. Une clé conventionnelle de 128 bits équivaut à une clé publique de 3000 bits.
Encore une fois, plus grande est la clé, plus grande est la sécurité, mais les algorithmes utilisés
pour chaque type de cryptographie sont très différents, et donc, comparer les tailles de clés
revient à comparer des pommes et des oranges.
Bien que la clé publique et la clé privée soient liées, il est très difficile de déduire la clé
privée en partant de la seule clé publique; toutefois, il est toujours possible de déduire la clé
privée si l’on dispose de suffisamment de temps et de puissance de calcul. Il est donc très
important de choisir une clé d’une taille convenable; assez grande pour être sûre, mais
suffisamment petite pour pouvoir être utilisée relativement rapidement. De surcroît, vous
devez prendre en considération la nature des attaquants susceptibles de vouloir lire vos
fichiers, leur détermination, le temps dont ils disposent, et leurs ressources éventuelles.
Les clés les plus grandes resteront crypto graphiquement sûres pour une plus longue
période. Si ce que vous chiffrez doit rester caché de nombreuses années, vous voudrez sans
doute utiliser une clé très grande. Qui peut dire en effet combien de temps il faudra pour
casser votre clé en utilisant les ordinateurs du futur, plus rapides et plus efficaces? Il fut un
temps où une clé symétrique de 56 bits était considérée comme extrêmement sûre.
Les clés sont stockées sous forme chiffrée. PGP stocke les clés dans deux fichiers sur votre
disque dur; l’un pour les clés publiques et l’autre pour les clés privées. Ces fichiers sont
appelés des trousseaux de clés. Quand vous utiliserez PGP, vous ajouterez les clés publiques
de vos correspondants à votre trousseau public. Vos clés privées sont stockées dans votre
trousseau privé. Si vous perdez votre trousseau privé, vous serez incapable de déchiffrer tout
message destiné à l’une des clés qui était dans ce trousseau.
Un des avantages majeurs de la cryptographie à clé publique est qu’elle procure une
méthode permettant d’utiliser des signatures numériques. Une signature est une primitive
cryptographique introduite par Diffie et Hellman et qui permet d'authentifier une donnée.
Les signatures numériques permettent à la personne qui reçoit une information de contrôler
l’authenticité de son origine, et également de vérifier que l’information en question est intacte.
Ainsi, les signatures numériques des systèmes à clé publique permettent l’authentification et
le contrôle d’intégrité des données. Une signature numérique procure également la non-
répudiation, ce qui signifie qu’elle empêche l’expéditeur de contester ultérieurement qu’il a
bien émis cette information.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 80
Ces éléments sont au moins aussi importants que le chiffrement des données, sinon
davantage. Une signature numérique a le même objet qu’une signature manuelle. Toutefois,
une signature manuelle est facile à contrefaire. Une signature numérique est supérieure à une
signature manuelle en ce qu’elle est pratiquement impossible à contrefaire et, de plus, elle
atteste le contenu de l’information autant que l’identité du signataire.
Le système décrit ci-dessus comporte des inconvénients. Il est lent, et il produit un volume
énorme de données – il double au minimum la taille de l’information originale. Une
amélioration de ce concept est l’addition d’une fonction de hachage à sens unique dans le
processus. Une fonction de hachage à sens unique utilise une entrée de longueur variable –
dans notre cas, un message de n’importe quelle longueur, jusqu’à des milliers ou millions de
bits – et produit une sortie de longueur fixe, par exemple 160 bits. La fonction de hachage
assure que, si l’information était changée en quoi que ce soit – même d’un seul bit – une sortie
totalement différente serait produite.
PGP applique une fonction de hachage crypto graphiquement robuste, sur le texte clair que
l’utilisateur veut signer. Ceci génère comme résultat une donnée de longueur fixe appelée
contraction de message. (Encore une fois, toute modification du contenu du message
produirait un condensé totalement différent.) Ensuite, PGP utilise le condensé et la clé privée
pour créer la “signature”. PGP transmet la signature et le texte clair ensemble. A la réception
du message, le destinataire utilise PGP pour recalculer le condensé, et le comparer avec celui
reçu avec le message, ce qui permet de vérifier la signature. PGP peut chiffrer le texte clair ou
non; signer un texte clair est utile si certains destinataires ne sont pas désireux de vérifier la
signature, ou pas équipés pour le faire. Tant qu’une fonction de hachage sûre est utilisée, il
n’y a aucun moyen de recopier la signature de quelqu’un sur un document pour l’attacher à un
autre, ni d’altérer en quoi que ce soit un document signé. Le plus petit changement dans un
document signé provoquerait l’échec de la vérification de la signature.
Les signatures numériques jouent un rôle majeur dans l’authentification et la validation des
clés PGP des autres utilisateurs.
Un problème, avec les crypto systèmes à clés publiques, est que les utilisateurs doivent être
constamment vigilants pour s’assurer qu’ils chiffrent leurs messages en utilisant la véritable
clé de leur destinataire. Dans un environnement où l’on peut échanger des clés à travers des
serveurs publics, les attaques utilisant une personne interposée sont un danger potentiel. Dans
ce type d’attaque, un imposteur fournit une clé bidon portant le nom et l’identifiant
d’utilisateur du destinataire réel des messages de l’utilisateur. Les données chiffrées pour – et
interceptées par – le vrai propriétaire de cette fausse clé, seront tombées en de mauvaises
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 81
mains. Dans un environnement de clés publiques, il est vital que vous vous assuriez que la clé
publique que vous vous apprêtez à utiliser pour chiffrer un message appartient bien au
destinataire désiré, et n’est pas une contrefaçon. Vous pourriez vous limiter à utiliser les clés
publiques qui vous ont été remises physiquement, de la main à la main, par leur propriétaire.
Mais supposez que vous deviez échanger des informations avec des gens que vous n’avez
jamais rencontrés; comment vous assurer que vous en possédez les véritables clés?
Les certificats numériques [ou signatures], ou sert simplifient la tâche d’établir la réelle
appartenance d’une clé à son propriétaire supposé. Le dictionnaire de Webster définit un
certificat comme “un document contenant une affirmation certifiée, spécialement quant à la
véracité de quelque chose”. Un certificat est une sorte de pièce d’identité. Comme par
exemple votre passeport, votre carte de Sécurité Sociale, ou votre extrait de naissance.
Chacun de ces certificats contient des informations vous identifiant, et la signature d’une
autorité qui certifie cette identité. Certaines de ces pièces d’identité, comme votre permis de
conduire, sont suffisamment importantes pour que vous preniez soin de ne pas les perdre,
pour éviter que quelqu’un ne puisse usurper votre identité. Un certificat numérique fonctionne
en gros comme une pièce d’identité matérielle. Un certificat numérique est une information
attachée à une clé publique, et qui permet de vérifier que cette clé est authentique, ou valide.
Les certificats numériques sont utilisés pour contrecarrer les tentatives de substituer une clé
falsifiée à la clé véritable.
Un certificat numérique comporte trois éléments:
L’objet de la signature numérique sur un certificat est de garantir que les informations de
certification ont été contrôlées par une autre personne ou organisme. La signature numérique
ne garantit pas l’authenticité du certificat complet, elle garantit seulement que les
informations d’identité ainsi signées correspondent bien à la clé publique à laquelle elles sont
attachées. Bien que certains experts en sécurité considèrent qu’il n’est pas de bonne pratique
de mélanger des informations d’identité personnelles et professionnelles sur une même clé,
mais qu’il vaut mieux utiliser une clé séparée pour chacune, vous rencontrerez néanmoins des
certificats contenant une clé publique à laquelle sont associées plusieurs identités diverses
(comme par exemple, le nom complet d’une utilisatrice avec son adresse e-mail
professionnelle, son surnom avec une adresse email personnelle, un “nom de jeune fille” avec
une adresse e-mail universitaire – le tout dans un seul et même certificat). La liste des
signatures validant chacune de ces identités peut être différente; chaque signature n’atteste
l’authenticité que de l’une de ces identités, mais pas forcément des trois.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 82
Par exemple, supposez que votre collègue Alice vous demande de signer sa clé. Vous la
recherchez sur le serveur, et vous vous apercevez qu’elle a deux informations d’identité
distinctes attachées à cette clé. La première est “Alice Petrucci <alice@societesure.com>”. La
seconde est “Cleopatra <cleo@cheops.org>”. En fonction de votre connaissance d’Alice, vous
choisirez peut-être de ne signer que son identité telle que vous la connaissez au bureau.
Chaque utilisateur d’un système à clés publiques court le risque de confondre une clé
falsifiée (certificat) avec une véritable. La validité est la créance qu’une clé donnée appartient
réellement à son propriétaire supposé. La validité est essentielle dans un environnement à clés
publiques où l’on doit à chaque instant être en mesure d’établir l’authenticité d’un certificat
donné. Quand vous vous êtes assuré qu’un certificat qui appartient à autrui est valide, vous
pouvez en signer la copie dans votre trousseau pour attester le fait que vous avez contrôlé ce
certificat, et qu’il est valide. Si vous voulez que d’autres personnes puissent savoir que vous
avez donné à ce certificat votre propre approbation, vous pouvez exporter la signature que
vous lui avez apposée vers un serveur de certificats, afin que d’autres puissent la voir.
Certaines sociétés désignent une ou plusieurs Autorités de Certification (A.C.), dont le rôle
est de vérifier la validité de tous les certificats à l’intérieur de l’organisation, et de signer ceux
qui sont valides. L’A.C. est le grand Manitou de la validation à l’intérieur de l’organisation,
en qui tout le monde a confiance et, dans certains environnements à clés publiques, aucun
certificat n’est considéré comme valide s’il n’a pas été certifié par l’A.C.
Pour protéger les données stockées sur des serveurs publiques de Cloud, Après s’être
authentifié avec succès avec le CSP, le client démarre le processus de stockage. Notre
protocole repose sur le chiffrement hybride, un mécanisme de chiffrement qui présente deux
niveaux: le chiffrement symétrique des données et le chiffrement asymétrique de la clé:
Chiffrement symétrique des données : avant de stocker les données sur les serveurs
du Cloud, le déposant chiffre le contenu des fichiers, en utilisant un algorithme
symétrique. Par conséquent, les capacités de stockage sont conservées puisque le
même contenu sera chiffré de la même manière.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 83
La figure 3.7 illustre les différents échanges entre le client et son fournisseur de Cloud. Le
scénario de stockage se base sur les étapes suivantes :
Le scénario de récupération des données dans le Cloud se base sur les étapes suivantes :
Encrypt with
AES Algorithm
4
Cipher text
1 Host 1
Clair text
2
Encrypt AES key
with RSA Algorithm
Data owner
5 3
Access control
veerr policies
sseerrv
cloud
9 8
DB
DB
Decrypt AES key
with RSA Algorithm
6
Users
10 Host 2
Clair text
Cipher text
7
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 84
3.6.1 Algorithme proposé
Notre idée consiste à utiliser la cryptographie pour sécuriser les données dans le Cloud. En
fait, notre proposition bénéficie des avantages des deux systèmes de chiffrements : symétrique
et asymétrique, à savoir la rapidité du système de chiffrement symétrique et la sécurité de la
communication des clés du système de chiffrement asymétrique.
Notre algorithme a deux phases. Dans la première phase, l'algorithme encrypte le texte en
clair avec le chiffrement AES. Dans la deuxième phase, nous chiffrons la clé AES en utilisant
l'algorithme RSA-1024.
1. Encryptfile (F) {
2. /* algorithm to encrypt file onto Cloud storage */
3. /* to transform Clair text in file F into Cipher text in file F’ */
4.
5. /* Phase 1: Encrypt Clair text with AES Algorithm */
6.
7. For B←1 to numberOfBlock(F) do
8. {
9. B’=ENCAES(B,K)
10. }
11. sendtoCloud(F’)
12. /* Phase 2: Encrypt AES key with RSA Algorithm */
13. For k←1 to SizeOf(K) do
14. {
15. k’=ENCRSA(k)
16. }.
17. Saveinserver(K’)
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 85
18. }.
Cet algorithme a également deux phases. Dans la première phase, l'algorithme déchiffre la
clé AES en utilisant le RSA. Dans la deuxième phase, il déchiffre le texte chiffré en utilisant
la clé AES récupérés à partir du serveur.
1. Decryptfile (F’) {
2. /* algorithm to decrypt file downloaded from Cloud storage */
3. /* to transform Cipher text in file F’ into Clair text in file F */
4.
5. /* Phase 1: Decrypt AES Key with RSA Algorithm */
6.
7. For k’←1 to SizeOf(K’) do
8. {
9. k=DECRSA(k’)
10. }
11. return(K)
12.
13. /* Phase 2: Decrypt Cipher text with AES Algorithm */
14. For B’←1 to numberOfBlock(F’) do
15. {
16. B=DECAES(B’,K)
17. }.
18. return(F)
19. }.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 86
3.6.1.3 Implémentation et analyse des résultats
Time in Upload
0,2025 0,4051 0,8118 1,6201 3,2903
(second)
Time in download
0,4225 0,8452 1,6905 3,3802 6,7711
(second)
La figure 3.8 et le tableau 3.2 montrent le temps d'exécution requis par différents fichiers
de différentes tailles avec différentes tailles des clés AES pour le processus du chiffrement.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 87
File size
Key size 128 256 512 1024 2048
Figure 3.9: Graphe du temps de l'exécution avec différentes tailles de la clé AES
Les données sont cryptées de bout en bout c’est-à-dire de la machine source jusqu’à
la machine de destination et la clé de déchiffrement n’est pas communiqué dans le
Cloud.
Algorithme AES utilisé est un algorithme symétrique rapide sûr et est l'un des
algorithmes de chiffrement les plus sûrs. Il n'a pas été brisé à ce jour. Cela signifie
que notre algorithme est rapide dans les deux sens: upload et download.
Possibilité de changer la clé symétrique fréquemment pour améliorer la sécurité.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 88
La clé AES utilisé pour le chiffrement des données est cryptée par un algorithme
RSA-1024 robuste et n'a jamais été rompu.
Le décryptage des données nécessite une double authentification. L'utilisateur doit
disposer des droits d'accès au serveur des clés et au Cloud.
3.7 Conclusion
Nous avons présenté dans ce travail quatre contributions, pour pallier à deux besoins de
sécurité dans des environnements de stockage en nuage, à savoir la confidentialité des
données. Notre objectif consiste à définir de nouvelles méthodes pour améliorer la
confidentialité des données dans des applications Cloud, tout en améliorant le partage
dynamique entre les utilisateurs. En réponse à cet objectif, nous avons proposé une approche
basée sur l’utilisation de la cryptographie hybride. Les résultats expérimentaux ont montré
l’efficacité de notre solution en termes de sécurité et de performance. Nos perspectives de
recherche consistent à définir de nouvelles méthodes pour améliorer l’intégrité des données
dans des applications Cloud.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 89
CHAPITRE IV
4.1 Introduction
Le service de stockage du Cloud Computing permet la sauvegarde des données dans les
serveurs d’un fournisseur de Cloud. On a vu dans le chapitre précèdent que, pour sécuriser
davantage ces données, les données sont chiffrées au préalable avant leurs envoi afin
d’assurer la confidentialité. Par contre, dans le cas d'un service de Cloud Computing du genre
SaaS (Software as a Service) ou encore de type IaaS (Infrastructure as a Service), bien que les
données puissent être chiffrées lors de la phase du transfert, celles-ci se doivent d'être en clair
lorsqu'elles sont dans le Cloud. Ce que nous avons fait répond seulement à la confidentialité
des données, mais dans le cas de l’entreperçage de données chiffrées et stockées dans un
Cloud, le client a besoin de pouvoir exécuter, au sein même du Cloud, une recherche ou une
manipulation sur les données sans devoir, à chaque fois, déchiffrer et re-chiffrer tout. Ce tas
de chose engendre les délais de traitement importants et consomme les ressources matériels et
réseaux (Bande passante, capacité de calcul, RAM, routage,…). Les algorithmes de
chiffrements bruts symétriques ne sont pas efficaces dans ce type d’opérations. Pour remédier
à ce problème une solution théorique est développée, il s’agit des systèmes de chiffrements
Homomorphiques.
Le système de chiffrement homomorphique permet de traiter, au sein du Cloud, des
requêtes sur les données chiffrées, sans devoir les téléchargées, les décryptées et ensuite les
re-chiffrées et les envoyées au Cloud.il permet de protéger les données des utilisateurs à tout
moment, tout en conservant certaines propriétés utiles de services Cloud comme la recherche
des chaînes dans les fichiers. En effet, il peut permettre à des opérations et des fonctions pour
être préformés sur des données chiffrées, ce qui signifie que les données ne sont jamais en
clair à l'extérieur de l'environnement de l'utilisateur. Il empêche les employés malveillants des
fournisseurs de services de Cloud d'accéder aux données privées. Un rapport [64] d'un
employé à Google en 2010 décrit qu’un ancien ingénieur a abusé de ses privilèges pour
afficher des informations privées. Il a utilisé ces informations pour traquer les adolescentes et
espionner leurs sessions de chat. De nombreux employés de services de Cloud Computing ont
les privilèges nécessaires pour voir nos données, et nous avons besoin de prévenir de tels
incidents pour qu’elles ne se reproduisent.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 90
Il y a deux variantes de chiffrement homomorphique : partiel et complet. On dit que Le
chiffrement homomorphique est Partiel (PHE) si une seule opération peut être effectuée sur le
texte chiffré, par exemple, l'addition ou la multiplication, exemple de RSA, El Gamal,
Pailier...etc. Cependant, de nombreux services de Cloud Computing ont besoin de plus de
fonctionnalités que l’addition ou la multiplication. C'est là où le système de chiffrement
Homomorphique complet, Fully Homomorphic Encryption (FHE), aussi connu comme le
«Saint Graal» du chiffrement, a commencé à jouer un rôle énorme dans la sécurisation des
services de Cloud Computing. FHE peut prendre en charge les opérations multipliables
(additions et multiplications), ce qui permet plus de flexibilité des calculs à effectuer sur des
données chiffrées.
4.2 Homomorphisme
4.2.1 Définition
Soit deux groupes (G,+) et (H,*). On note et les éléments neutres respectifs de G
et H. On dit qu'une application f : G H est un homomorphisme de groupe si:
f( )=
Si x et y sont éléments de G, f (x + y) = f (x) * f (y).
Propriété :
4.3.1 Définition
Un système de chiffrement homomorphique est un cryptosystème permettant de faire des
calculs sur les données chiffrées. Formellement, si (respectivement ) est un chiffré de
(respectivement ), il existe deux opérations et ○ telles que :
Typiquement, sera une addition ou une multiplication modulaire, mais ce n’est pas
toujours le cas. Un système de chiffrement homomorphe Complet n’est rien d’autre qu’un
système de chiffrement homomorphe où toute fonction peut être évaluée sur les données
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 91
chiffrées. Comme toute fonction peut être exprimée comme un polynôme et qu’un polynôme
consiste en une série d’additions et de multiplications, un système de chiffrement sera
complètement homomorphe dès lors qu’il permettra d’évaluer un nombre arbitraire
d’additions et de multiplications sur les données chiffrées.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 92
Homomorphic encryption from learning with errors: Conceptually
2013 simpler, asymptotically faster, attribute-based (Gentry et al., 2013)
2010 Fully homomorphic encryption over the integers (Van Dijk et al., 2010)
A fully homomorphic encryption scheme (Gentry, 2009a) Fully
2009 homomorphic encryption using ideal lattices (Gentry, 2009b)
A new approach for algebraically homomorphic encryption (Armknecht
2008 and Sadeghi, 2008)
A provably secure additive and multiplicative privacy homomorphism
2002 (Domingo-Ferrer, 2002)
1996 A new privacy homomorphism and applications (Ferrer, 1996)
1988 On privacy homomorphisms (Brickell and Yacobi, 1988)
1987 Processing encrypted data (Ahituv et al., 1987)
A database encryption scheme that allows the computation of statistics
1985 using encrypted data (Blakley and Meadows, 1985)
Signature protocols for RSA and Other Public-Key Cryptosystems
1982 (Denning, 1982)
* mod n= = modn
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 93
Algorithme du chiffrement multiplicatif RSA
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 94
logarithmes discrets. Conceptuellement, El Gamal supporte les opérations de multiplication
sur des données chiffrées. Il est utilisé par le logiciel libre GNU Privacy Guard, les versions
récentes de PGP et d'autres systèmes de chiffrement, et n'a jamais été sous la protection d'un
brevet contrairement à RSA. Il peut être utilisé pour le chiffrement, mais aussi pour la
signature électronique.
Implémentation:
Pour commencer, Bob choisis un élément aléatoire du groupe, et il l’envoie à Alice avec
l’ordre p et le générateur du groupe. Il garde secret le paramètre a, où . En utilisant
les paramètres publiques, Alice calcule les deux éphémères clés et la clé de
masquage .
Elle utilise la clé de masquage pour chiffrer y encrypt( , et envoie la clé
éphémère pour Bob pour avoir un avantage en essayant de décrypter son message. Son
cryptogramme est alors c=(x, y).
Bob calcule ensuite . Il doit alors effectuer une recherche de force
brute pour récupérer le message m.
En ce qui concerne le déchiffrement, il peut être utile de noter que la correction est
obtenue par l'expansion ci-dessous, où la récupération de m à partir de est supposé être
efficacement mis en œuvre [76].
Homomorphisme:
Étant donné deux messages clairs et deux cryptogrammes correspondants =
Encrypt( ) = ( , ) et = Encrypt( ) = ( , ), nous pouvons calculer
Encrypt( )* Encrypt( )= ( , )
=( )
=( )
= Encrypt( )
Ainsi, on peut obtenir un chiffrement de la somme des textes en clair à partir du produit par
morceaux des cryptogrammes.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 95
1. Fonction KeyGen()
2. Choisir un large nombre premier p
3. Choisir un élément primitif
4. Choisir un entier a {0,...p-2}
5.
6. Retourner = (p, , ), =a
7. Fin
Proposé en 1999 par Paillier (1999) [69], le cryptosystème Paillier est basée sur le
problème que le calcul de n classes de résidus est de calcul intensif. La nature de l'algorithme
permet des opérations d'addition homomorphique pour produire la réponse courante une fois
décryptée. La génération de clés pour le cryptosystème Paillier est donnée dans l'algorithme 2,
est un peu plus compliqué que celui d'El Gamal.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 96
Pour chiffrer un message, le message est utilisé comme exposant pour g, une valeur
aléatoire est portée à l'autre clé publique de valeur n, comme illustré dans l'algorithme. Cela
produit une valeur de chiffrement modulo . Le décryptage est à nouveau une équation
simple et est donnée dans l'algorithme. A noter que la définition de est donnée avec la
génération des clés.
La preuve du cryptage et le décryptage sera maintenant donnée pour montrer comment les
valeurs clés publiques et privées s’annulent. Ceci est important car il aidera à montrer
pourquoi le Cryptosystème Paillier peut prendre en charge des opérations d'addition
homomorphes.
Déchiffrer le message c où c
1: Calculer )×u
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 97
4.3.4 Sécurité d’un cryptosystème homomorphique
Un crypto système est dit indistingable (IND) si un attaquant ne peut reconnaître lequel des
deux messages, qu’il a préalablement choisis, a été chiffré. C’est-à-dire il envoie au système
deux message { , }, le système renvoi le crypté de l’un de ces messages, et l’attaquant ne
peut pas savoir le message qui a été chiffré.
Nous allons présenter les différents types d’indistingabilité et voir dans quelles mesures ils
peuvent ou non s’appliquer aux systèmes de chiffrement homomorphe.
Dans ce cas l’attaquant choisit deux messages clairs, les envoient au système, ce dernier
retourne le chiffré de l’un d’eux, si l’attaquant ne peut pas connaitre le message qui a été
chiffré par le système, on dit que ce cryptosystème résiste à cette attaque, et est dit IND-CPA
Secure, c’est la plus faible des formes de sécurité (Figure 4.1 ).
Dans ce cas même procédure que le dernier mais avant d’envoyer les deux clairs,
l’attaquant a la possibilité d’effectuer plusieurs cryptages et décryptages mais dès que le
système envoie le chiffré (défit), l’accès au décryptions oracle (système qui permet de
décrypter) est suspendu. Lorsqu’un crypto système résiste à cette attaque, il est dit IND-CCA1
Secure (Figure 4.2).
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 98
Figure 4.2 : Scénario d’attaque à chiffrés choisis
C’est comme l’autre la différence c’est que après que le système envoie le défi l’attaquant
e m
peut crypter et décrypter n’importe qu’il chiffre sauf le défi k b . On dit qu’un crypto
système est IND-CCA2 Secure s’il résiste à cette attaque. Cette forme de sécurité est la plus
forte (Figure 4.3).
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 99
Figure 4.3 : Scénario d’attaque adaptative à chiffrés choisis
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 100
On considère les messages suivants tel que est la fonction qui crypte un message de n-
bits :
ek (a1 ) 1,0, 0, . . . , 0
ek (a 2 ) 0,1, 0, . . . , 0
.
.
ek (a m ) 0,0,0, . . . , 1
Si un adversaire peut connaitre le clair de ces message (les ), il peut ensuite connaitre le
clair de n’importe quel chiffré. En effet soit le chiffré c = pour un message m, avec c=
[ ], l’adversaire peut connaitre m avec le calcule : m=∑
Cette attaque marche car le chiffré choisi est une base pour l’espace des chiffrés, et le
clair pour chaque élément de base est connu, et la fonction de chiffrement est linéaire.
Dans une société démocratique, une des choses les plus importantes est la liberté de choisir
quelque chose de mieux pour vous. Dans tous les pays démocratiques, le processus de vote est
un événement très important où les gens choisissent le nouveau gouvernement pour les
prochaines années. Avec un tel progrès puissant des technologies de l'information, les gens
commencent à proposer d'élever ce processus de vote à un nouveau niveau, un niveau de vote
électronique où les électeurs peuvent être sûrs que leur vote ne sera pas manipulé ou d'autres
personnes ne savent pas pour quel candidat il ont voté. Le vote électronique est un moyen qui
maintient en secrètes les opinions individuelles.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 101
4.5 Travaux existants et contributions
D’autres méthodes se basent sur le protocole des signatures aveugles proposées par Chaum
[81]. Le votant chiffre et masque son bulletin avant de le présenter à une autorité électorale
pour validation. Son bulletin est accompagné de la preuve de son droit de vote. Après que
l’autorité responsable ait valide le bulletin, le votant enlève le masque sur le message chiffré
et signé afin de récupérer un bulletin signé qui ne peut pas être associe au message chiffré
original [82] [83].
Notre approche s’articule sur les méthodes basées sur le chiffrement homomorphique [5]
[10a][11a] font usage de certaines propriétés des cryptosystèmes probabilistes, ou l’on a
démontré l’existence de correspondances entre les opérations sur un certain groupe dans
l’espace des messages en clair et les opérations sur le groupe correspondant dans l’espace des
messages chiffres.
Etant donné que de nouveaux cryptosystèmes efficaces avec d’intéressantes propriétés
Homomorphiques ont été proposés dans la littérature (El Gamal [68], et Paillier [69]), les
systèmes de vote électronique basés sur cette méthode ont gagné en attention. Dans la
littérature, ces propriétés homomorphique ont le plus souvent été utilisées pour compter les
votes comme des agrégats, sans déchiffrer un seul vote (ce qui assure la, ou pour combiner les
parties du bulletin d’un votant).
Des approches hétérodoxes du vote électronique ont également été proposées. L’article
[84] présente une méthode probabiliste ou la robustesse au sens fort n’est pas atteinte, du fait
que les résultats sont seulement valides de manière probabiliste.
Un premier challenge pour les protocoles électroniques est le format des bulletins.
Plusieurs protocoles parmi les plus robustes et plus pratiques ont été conçus à la base pour de
simples choix binaires. Avec le temps, ils ont été modifiés pour supporter les choix multiples.
Plus récemment, ces protocoles ont commencé à prendre en compte les questions ouvertes. Il
est également souhaitable de garantir l’absence de reçu et le fait que le système prévienne les
comportements coercitifs (menaces envers le votant, corruption, achat ou vente de votes, . . .).
Beaucoup de protocoles ont atteint ces propriétés en s’aidant d’hypothèses physiques (comme
des canaux anonymes ou prives, des cartes à puce, des boites noires offrant du chiffrement, . .
.) ou de partis tiers honnêtes en qui l’on a confiance. Les questions ouvertes augmentent
encore la difficulté de concevoir un système empêchant toute coercition. Une personne
désirant acheter le vote d’un électeur, ou une personne menaçant un votant peut demander à
ce dernier d’inclure dans son vote une chaine de caractères identifiable de manière unique, de
façon à ce que le vote puisse être reconnu plus tard.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 102
Une grande partie des protocoles théoriques se sont concentrés sur le concept de
vérifiabilité universelle plutôt que sur le comptage pratique, vérifiable par le votant.
Néanmoins, plusieurs critiques récentes font ressentir le besoin de bulletins physiques, de
traces auditables dans les implémentations des systèmes électroniques utilisés, ainsi que de
mécanismes compréhensibles par un être humain.
La figure 4.4 montre notre système de vote électronique. Dans ce schéma, nous avons
utilisé un cryptage homomorphique additif et nous avons besoin d’une paire de clés unique
pour le chiffrement et le déchiffrement. Les électeurs s’authentifient en utilisant des
algorithmes d'authentification sécurisée qui existent actuellement.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 103
Candidat N ° 1 a l'identificateur
Candidat N ° 2 a l'identificateur
⋮
Candidat N ° n a l'identifiant
Notes:
Un identifiant peut être ajouté pour les personnes qui ne veulent pas voter à aucun
candidat: identificateur de vote neutre avec 1≤j≤n.
Nous pouvons appliquer cet algorithme pour le vote multiple. Si l'électeur vote
pour m candidats. Nous prenons m × b au lieu de b.
b est gardé secret pour éviter les attaques.
C= ( ) *…* ( ) * ( ) *…* ( ) * …* ( )
*…* ( )
Nous pouvons écrire C sous la forme suivante :
Donc :
C=∏ = ∑ )= ∑
Déchiffrons C : (C) = (∑ )
=∑ = P(b)
Et P polynôme de degré n
Afin de trouver ki on ava utiliser notre théorème ci-dessous :
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 104
Théorème:
Preuve :
Soit P [x] : P(b) ∑
Donc P(b) mod(bi) =k1 b1 + ….+ki-1 bi-1
Parce que ∑
=> k1+…+ki-1 < b
=> k1 b1 +…+ki-1 bi-1 < bi-1 ( k1+…+ki-1) < bi
Puis P(b) –(p(b) mod(bi)) =ki bi+…+kn bn
( ( ))
Alors Ki+ki+1 b+….+kn bn-i
( ( ))
Ensuite =ki
De cette façon, le décryptage du produit des bulletins chiffrés donne le résultat du vote
sans déchiffrer individuellement chaque bulletin.
1. VoteManaging()
2. /* algorithm for managing the voting process */
3. {
4. Encryptvote(v)
5. Processingvote()
6. Treatmentvote()
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 105
7. }
8. /* Phase 1: Encrypt vote At the voting machine */
9.
10. Encryptvote(v)
11. {
12. for i←1 to E do
13. {
14. Ci ← Enc(v = )
15. sendtopublicCloud(Ci)
16. }
17. }
18. /* Phase 2 : processing the vote in public Cloud */
19. Processingvote()
20. {
21. C← 1
22. for j←1 to E do
23. {
24. C ← C * Cj
25. }
26. sendtoprivateCloud(C)
27. }
28. /* Phase3 : decrypt, treatment and displaying results*/
29. Treatmentvote(C)
30. {
31. D← Dec(C)
32.
33. for i←1 to n do
34. {
( ( ))
35. =
36. }
37. Displayresult(ki)
38. }
Dans ce cas, nous choisissons le nombre premier p tel que : p> Max (P (b))
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 106
Généralement pour maximiser P(b) nous supposons que tous les électeurs votent pour le
candidat ayant le grand Id = bn
Alors Max(P(b))=E * bn et E <b donc Max(P(b)) <bn +1
Ensuite, nous pouvons choisir p >bn+1
Dans cet exemple, nous supposons que nous avons deux candidats et trois électeurs.
Pour choisir une bonne valeur du paramètre p, on suppose que les trois électeurs votent
pour le deuxième candidat
Le résultat sera M=42+42+42=48
Pour chiffrer 48 nous devons choisir un premier p> 48
Key Generation:
p=53 ; α=2 ; a= 3
β=2 3 =8
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 107
Chiffrement de m=16 (3ème électeur pour le deuxième candidat) :
Calcul de C :
C=C1 * C2*C1
C=(512 mod 53 ,36120 mod 53)
C=(35 mod 53 ,10 mod 53)
Déchiffrement de C :
On a Kp=a=3
m*=44-3 * 10 mod 53
m*= αm =2m
So 35-3 * 27 mod 53 =2m (Equation)
La solution de l’équation est P(b)=m=24
Finalement :
Le candidat 1 à deux voix (k1=2)
Le candidat 2 à une voix (k2=1)
Notre système de vote électronique proposé possède de nombreux avantages, dont on peut
citer l’essentiel ci-dessous:
Les opérations dans nos systèmes sont très rapides, parce que nous avons
manipulé m opérations de chiffrement (m nombre d'électeurs) et une opération
de déchiffrement, par contre d’autres conceptions de vote électronique utilisent
un vecteur de n valeurs (n nombre de candidats) basés sur le vecteur
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 108
homomorphique de vote à distance [85], conduit à n×m opérations de
chiffrement et n opérations de déchiffrement.
Notre approche profite des avantages des ressources de Cloud public en termes
de force de calcul pour faire la multiplication des messages chiffrés. En plus
cet environnement Cloud ne peut pas infecter la vie privée de notre système de
vote.
- Complexité
Dans notre solution, nous utilisons les schémas Homomorphiques additifs comme El
Gamal et Paillier. Le problème avec cette modification est que m= αm, présentant le problème
du logarithme discret dans le déchiffrement. Pour les assez grands textes, cela devient
impossible. Par conséquent, nous aimerions un autre cryptosystème qui tire parti de cette
propriété additive d’exponentiation, sans des délais de déchiffrement supplémentaire. La
solution de ce problème est le Cryptosystème Paillier.
Le tableau 4.2 [86] présente la comparaison de la complexité des protocoles des deux
régimes EL Gamal et Paillier.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 109
Schema Complexité de Complexité de déchiffrement
chiffrement du vote
El Gamal O((log(n))3) O((log(n))3)
additif et le problème du logarithme discret avec la Complexité
de l’algorithme de Schanks [87] : O (√p . (log(n))3)
La performance pour les systèmes d’EL Gamal additif et de Paillier est donnée par
Virginia Tech et est présenté dans le tableau 4.3, Figure 4.5 et Figure 4.6. Dans [89], les
auteurs choisissent Paillier qui a un niveau de sécurité à peu près équivalent de celui d’EL
Gamal à 2048 bits.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 110
Encryption
140
115,71
120
100
Time (Millisecond)
80
60
40
25,9
20
0
ElGamal Paillier
Figure 4.5: Comparaison des délais du chiffrement d’El Gamal avec Paillier
Decryption
90
79,63
80
70
60
Time (second)
50
40
30
20
10
0,0249
0
ElGamal Paillier
Figure 4.6: Comparaison des délais du déchiffrement d’El Gamal avec Paillier
D'après le tableau 4.3, nous pouvons voir que le système de Paillier est environ 4 fois plus
rapide que celui d’El Gamal additif en chiffrement dans des niveaux de sécurité comparables.
Aussi la performance de décryptage d’El Gamal additif est visiblement très lent que celui de
Paillier.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 111
- Implémentation
Nombre de
10 20 30 40 50 60 70 80 90 100
votants
Temps de
chiffrement du 0,3 0,45 0,7 1,25 2,04 3,27 4,7 6,06 8,17 10,48
vote (s)
120
100
Nombre de votants
80
60
40
20
0
0,3 0,45 0,7 1,25 2,04 3,27 4,7 6,06 8,17 10,48
temps de chiffrement du vote (s)
Figure 4.8 : Graphe des délais d’exécution du chiffrement du vote par nombre de votants
Le graphe de la figure 4.9 représente une comparaison entre notre méthode et la méthode
de MATEU. Il est clair que le temps du vote de note méthode est optimale avec
l’augmentation du nombre d’électeurs. Cela est expliqué par l’utilisation du vecteur par la
méthode MATEU, par contre nous nous chiffrons une valeur unique pour chaque vote.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 112
Comparaison
60
50
Temps d'éxecution (s)
40
30
Notre Méthode
20 Méthode MATEU
10
0
10 20 30 40 50 60 70 80 90 100
Nombre de votant
Figure 4.9 : Comparaison du délai d’exécution de notre méthode et celle de MATEU par
nombre de votants
4.7 Conclusion
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 113
1. Conclusion
Cette thèse s'est intéressée aux challenges liés au Cloud Computing et en particulier à la
problématique de la sécurité des données stockées dans les Datacenters du fournisseur du
Cloud. Nous avons étudié la cryptographie ainsi que son utilisation pour la réalisation d'un
stockage de données sécurisé sur serveur. Cette conclusion est l'occasion de rappeler les
différentes contributions de ce mémoire et de donner quelques perspectives pour la recherche
future.
2. Contributions
Dans le premier chapitre, nous sommes focalisés sur le concept du Cloud Computing nous
avons présenté la définition objective et générale de la notion de l’informatique dans le nuage,
Ensuite on a décrit l'architecture du système, le modèle de déploiement et les caractéristiques
essentielles. Nous avons aussi clarifié les conditions, les opportunités et les défis existants
dans son développement, ainsi qu’aux obstacles qui entravent l’adoption de cette nouvelle
solution par les professionnels.
Au deuxième chapitre, nous avons présenté les exigences de la sécurité dans l’architecture
Cloud, les normes et stratégies de la sécurité. Nous avons abordé les stratégies de déploiement
pour les deux importantes catégories d’édition de politiques, et nous avons proposé deux
algorithmes corrects, efficaces et sûrs pour le déploiement de politiques de sécurité. Ensuite,
nous avons proposé notre approche concernant le Load balancing dans le Cloud Computing
permettant de réaliser le partage de charge et d’assurer la disponibilité du service.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 114
Le dernier et quatrième chapitre traite les systèmes de chiffrement Homomorphiques. Nous
avons montré que ces systèmes permettent aux utilisateurs de réaliser des opérations avec le
contenu chiffré dans le Cloud, ce concept fait bénéficier l’utilisateur des forces de calculs du
Cloud et évite les va et vient des données qui a un impact flagrant sur la bande passante et
peut causer la dégradation de la qualité de service d’autres applications métiers. Enfin, nous
avons appliqué ce concept pour réaliser un système de vote électronique sécurisé dans
l’environnement Cloud.
3. Perspectives
Pour la première partie : Compte tenu des limites des firewalls recensées au niveau de la
sécurisation du trafic contre de nouveaux types d’attaques, nous aimerons développer un
système de détection d’intrusions dédié et spécifique au Cloud (IDS) [11b].
Pour la deuxième partie : D'un point de vue théorique, l'un des problèmes majeurs évoque
dans de nombreux articles est de trouver un schéma permettant de sécuriser les données
stockées, et garantissant la confidentialité dans l’environnement Cloud et qui soit IND-CCA
secure dans le modèle standard. Un autre problème est de concevoir des schémas qui
permettent de contrôler l’intégrité des données. Il serait alors intéressant d'étudier la
cryptographie fondée sur les signatures numériques, les empreintes, le hachage..., il est donc
théoriquement envisageable de l'utiliser pour s’assurer que les données ne sont pas altérées.
De cette manière, on pourrait espérer obtenir un schéma qui soit plus efficace.
Pour la troisième partie : le schéma du vote électronique que nous avons proposé s’articule
sur les polynômes. Il pourrait être intéressant de construire un autre schéma basé sur les
nombres premiers atteignant une meilleure sécurité, En outre, les processus d'authentification
biométriques peuvent également être utilisés dans ce schéma proposé, cela rendra plus
difficile pour les malveillants de compromettre le système. Ce sera une perspective
souhaitable d'avoir le résultat d'une application entièrement crypté dans le niveau SaaS de
Cloud.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 115
Annexe 1
1- Fonction main () :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public CandidateInformations
public void actionPerformed(ActionEvent arg0)
…
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 116
public class UserVote extends JFrame implements ActionListener{
import java.awt.Color;
import java.awt.Font;
import java.text.DecimalFormat;
import javax.swing.*;
public class resultat extends JFrame
public resultat();
…
}
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 117
[1] A.Kartit, Z.Kartit, M. El Marraki, “Towards a New Algorithm More Efficient for
Updating Firewall Policies”, Journal of Theoretical and Applied Information
Technology), ISSN: 1992-8645, Volume 59, n°2, pages 250–254, 20th January 2014.
(SCOPUS)
[4] Kartit Zaid, Azougaghe Ali, El Marraki Mohammed, “Using Encryption Algorithm
to enhance the Data Security in Cloud storage”, La 5ème édition des Journées
Nationales de la Sécurité (JNS5), IEEE, 07-08 Mai 2015, ENSA Kenitra, Maroc.
[6] Zaid Kartit and M. El Marraki, “Sécurisation des données dans un environnement
Cloud ” Journée doctorales 2015, Faculté des sciences de Rabat, Maroc.
[7] Ali Azougaghe, Zaid Kartit, M. Hedabou, M. Belkasmi, M. El Marraki “An efficient
algorithm for data security in Cloud storage” The International Conference on
Intelligent Systems Design and Applications (ISDA 15) 14-16 December,
IEEE,DBLP Marrakesh, Morocco.
[8] Zaid Kartit, Kamal Idrissi Hamza and Mohamed El Marraki “Application des
algorithmes de chiffrements pour sécuriser les données dans un Cloud Computing ”,
Journée URAC'15, 28 novembre 2015 à l'Institut Scientifique, Rabat, Maroc.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 118
[9] Kartit Ali, Kamal Idrissi Hamza and Mohamed Belkhouraf and KARTIT Zaid, “A
secured load balancing architecture for Cloud Computing based on multiple clusters”,
International Conference on Cloud Computing Technologies and Applications
(CLOUDTECH’15), , 2-4 June 2015, Marrakech, Maroc (SCOPUS)
[10b] Zaid Kartit and M. El Marraki, “ For an Efficient E-voting system in a Cloud
Environment Using Homomorphic Encryption” Journée doctorales 2016, Faculté des
sciences de Rabat, Maroc.
[11b] Kamal Idrissi, H., Zaid KARTIT, Mohamed El Marraki. “CKMSA: An anomaly
detection process based on K-means and simulated annealing algorithms”
International Review on Computers and Software (IRECOS) SCOPUS, Volume 11,
n°1 2016
[11c] Kartit Zaid, Hamza Kamal Idrissi, El Marraki Mohammed and Kartit Ali, “Network
Issues in Cloud Computing and countermeasures”, La quatrième édition des Journées
Nationales de la Sécurité (JNS4), IEEE, 12-13 Mai 2014, FS Tetuan, Maroc.
[11d] Zaid Kartit and M. El Marraki, “ Security Issues in Cloud Computing and
countermeasures ”Journéedoctorales2014, Faculté des sciences de Rabat, Maroc.
[12] M. Peter and G. Tim. The NIST Definition of Cloud Computing. National Institute of
Standards and Technology, 53(6):50, 2009.
[13] Ian Foster, Yong Zhao, Ioan Raicu, and Shiyong Lu. Cloud Computing and Grid
Computing 360-Degree Compared. In 2008 Grid Computing Environments Workshop,
volume abs/0901.0, pages 1–10. Ieee, Ieee, 2008.
[14] Luis M. Vaquero, Luis Rodero-Merino, Juan Caceres, and Maik Lindner. A break in
the Clouds Towards a Cloud Definition. ACM SIGCOMM Computer Communication
Review, 39(1):50, 2009.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 119
[15] Hassan Rajaei and Jeffrey Wappelhorst. Clouds & grids : a network and simulation
perspective. In Proceedings of the 14th Communications and Networking Symposium,
CNS ’11, pages 143–150. Society for Computer Simulation International, 2011.
[16] DS Kushwaha and A Maurya. Cloud Computing-A Tool For Future. International
Journal Of Mathematics and Computer Research, 1(1) :09–14, 2013
[17] Mohiuddin Ahmed, Abu Sina, Raju Chowdhury, Mustaq Ahmed, and Mahmudul
Hasan Rafee. An Advanced Survey on Cloud Computing and State-of-the-art
Research Issues. IJCSI International Journal of Computer Science Issues, 9(1) :201–
207, 2012.
[18] Lutz Schubert, Keith Jeffery, and Burkhard Neidecker-Lutz. The Future of Cloud
Computing - Opportunities for European Cloud Computing beyond 2010. Technical
report, European Commission, 2010.
[19] Lutz Schubert and Keith Jeffery. Advances in Clouds - Research in Future Cloud
Computing. Technical report, European Commission, 2012.
[20] Peter Mell and Timothy Grance. The NIST Definition of Cloud Computing. Technical
Report 6, National Institute of Standards and Technology, 2011.
[21] Ried, S., Kisker, H., Matzke, P., Bartels, A. and Lisserman, M. Understanding and
quantifying the future of Cloud Computing. Technical report, 2011.
[22] Foster, I. and Kesselman, C. The grid: blueprint for a new Computing infrastructure
Morgan Kaufmann Publishers Inc., 1999.
[24] Yang, Y., Liu, K., Chen, J., Liu, X., Yuan, D. and Jin, H. An Algorithm in SwinDeW-
C for Scheduling Transaction-Intensive Cost-Constrained Cloud Workflows, Proc. of
4th IEEE Int. Conf. on e-Science, pages 374-375, Indianapolis, USA, December 2008.
[25] Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R. Konwinski, A., Lee, G.
Patterson, D., Rabkin, A. and Stoi, I. Above the Clouds: A Berkeley View of Cloud
Computing, Technical Report, UCB/EECS-2009-28, UC Berkeley Reliable Adaptive
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 120
Distributed Systems Laboratory, EECS Department, University of California,
Berkeley, February, 2009.
[27] Wang, L., Tao, J., Kunze, M., Castellanos, A., C. Kramer, D. and Karl, W. Scientific
Cloud Computing : Early Definition and Experience, Proc. of the 10th IEEE Int. Conf.
on High Performance Computing and Communications, pages 825-830, Washington,
DC, USA, September, 2008.
[28] Keke Gai and Saier Li. Towards Cloud Computing : A Literature Review on Cloud
Computing and Its Development Trends. In 2012 Fourth International Conference on
Multimedia Information Networking and Security, pages 142–146. IEEE, 2012.
[29] Robert F Roggio, Tetiana Bilyayeva, and James R Comer. Everyday Cloud Computing
with SaaS. In The 2012 International Conference on Software Engineering Research
and Practice SERP12, 2012.
[30] Shivaji P Mirashe and N V Kalyankar. Cloud Computing. Journal of Computing, 2(3)
:78–82, 2010.
[31] By Armbrust, Rean Griffith, Anthony D Joseph, Randy Katz, Andy Konwinski,
Gunho Lee, David Patterson, and Ariel Rabkin. A view of Cloud Computing.
Communications of the ACM, 53(4) :50–58, 2010.
[32] Michael Armbrust, Anthony D Joseph, Randy H Katz, and David A Patterson. Above
the Clouds : A Berkeley View of Cloud Computing. Technical Report UCB/EECS-
2009-28, EECS Department, University of California, Berkeley, 2009.
[33] Zhang, Y., Sharon X., Hu, D., Chen, Z. Task scheduling and voltage selection for
energy minimization. In: Design Automation Conf., pages 183-188, New Orleans,
Louisiana, USA, June 10-14, 2002,
[34] Wood, T., Shenoy, P., Venkataramani, A., Yousif, M. Black-box and gray-box
strategies for virtual machine migration, Proceedings of the 4th USENIX conference
on Networked systems design & implementation, pages 17-17, Cambridge, MA, April
11-13, 2007.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 121
[35] Hamilton, J. Cooperative expendable micro-slice servers (CEMS): low cost, low
power servers for Internet-scale services, In: Proc of CIDR, 2009.
[38] C. Xu and F. C. Lau, Load Balancing in Parallel Computers: Theory and Practice.
Norwell, MA, USA: Kluwer Academic Publishers, 1997.
[42] R. Gupta and R. Bhatia, “An Enhanced and Secure Approach of Load Balancing in
Cloud Computing,” 2014.
[45] T. Mathew, K. C. Sekaran, and J. Jose, “Study and analysis of various task scheduling
algorithms in the Cloud Computing environment,” in Advances in Computing,
Communications and Informatics (ICACCI, 2014 International Conference on, 2014,
pp. 658–664
[46] S. Cobb. ICSA Firewall Policy Guide v2.0. Technical report, NCSA Security White
Paper Series, 1997.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 122
[47] C. C. Zhang, M. Winslett, and C. A. Gunter. On the Safety and Efficiency of Firewall
Policy Deployment. In SP ’07: Proceedings of the 2007 IEEE Symposium on Security
and Privacy, pages 33–50,Washington, DC, USA, 2007. IEEE Computer Society.
[52] A. Kartit and M. El Marraki “On the Correctness of Firewall Policy Deployment”,
Journal of Theoretical and Applied Information Technology, ISSN: 1817-3195,
Volume 19, n°1, pages 22 – 27, 2010.
[53] M. Englund. Securing systems with host-based firewalls. In Sun BluePrints Online,
September 2001.
[54] T. Mathew, K. C. Sekaran, and J. Jose, “Study and analysis of various task scheduling
algorithms in the Cloud Computing environment,” in Advances in Computing,
Communications and Informatics (ICACCI, 2014 International Conference on, 2014,
pp. 658–664.
[58] R. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and
public-key cryptosystems. Commun. ACM, 21(2):120–126, 1978.
[59] Xiaoqiang ZHANG, Ning WU, Gaizhen YAN, and Liling DONG, "Hardware
Implementation of Compact AES S-box," IAENG International Journal of Computer
Science, vol. 42, no.2, pp125-131, 2015
[60] R. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures
and public-key cryptosystems. Commun. ACM, 21(2):120–126, 1978.
[61] T Elgamal. A public key cryptosystem and a signature scheme based on discrete
logarithms. Information Theory, IEEE Transactions on, 31(4):469–472, 1985.
[62] S. Kamara and K. Lauter. Cryptographic Cloud storage. In Proceedings of the 14th
international conference on Financial cryptograpy and data security, FC’10,
Berlin, Heidelberg, 2010. Springer-Verlag.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 123
[63] R. Chow, P. Golle, M. Jakobsson, E. Shi, J. Staddon, R. Masuoka, and J. Molina.
Controlling data in the Cloud: outsourcing computation without outsourcing control.
In Proceedings of the 2009 ACM workshop on Cloud Computing security, pages 85–
90. ACM, 2009.
[64] Chen, A., 2010. Google Engineer Stalked Teens, Spied on Chats, Published on
Gawker, september 2010. [Online] http://gawker.com/5637234/gcreep-google-
engineer-stalkedteens- spied-on-chats (accessed 26/08/14).
[65] R.L. Rivest, L. Adleman, and M.L. Dertouzos. On data banks and privacy
homomorphisms. In Foundations on Secure Computation, Academia Press, pages
169–179, 1978.
[66] Joan Feigenbaum and Michael Merritt. Distributed Computing and Cryptography,
volume 2 of DIMACS Series in Discrete Mathematics and Theoretical Computer
Science, chapter Open Questions, Talk Abstracts, and Summary of Discussions, pages
1–45. The American Mathematical Society, 1991.
[67] Shafi Goldwasser and Silvio Micali. Probabilistic encryption & how to play mental
poker keeping secret all partial information. In Proceedings of the fourteenth annual
ACM symposium on Theory of Computing, STOC ’82, pages 365–377, New York,
NY, USA, 1982. ACM.
[68] Taher ElGamal. A public key cryptosystem and a signature scheme based on discrete
logarithms. In GeorgeRobert Blakley and David Chaum, editors, Advances in
Cryptology, volume 196 of LNCS, pages 10–18. Springer Berlin Heidelberg, 1985.
[70] Carlos Aguilar Melchor, Philippe Gaborit, and Javier Herranz. Additively
homomorphic encryption with d-operand multiplications. In Proceedings of the 30th
annual conference on Advances in cryptology, CRYPTO’10, pages 138–154, Berlin,
Heidelberg, 2010. Springer-Verlag.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 124
[71] Craig Gentry. A Fully Homomorphic Encryption Scheme. PhD thesis, Stanford
University, 2009.
[72] Gentry, C., 2009b. Fully homomorphic encryption using ideal lattices. In: Proceedings
of the 41st Annual ACM Symposium on Symposium on Theory of Computing—
STOCn’09. ACM Press, New York, p. 169.
[73] Van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V., 2010. Fully homomorphic
encryption over the integers. In: Advances in Cryptology—EUROCRYPT 2010,
Springer, Berlin, pp. 24–43.
[74] Gentry, C., Sahai, A., Waters, B., 2013. Homomorphic encryption from learning with
errors: conceptually-simpler, asymptotically-faster, attribute-based. In: Advances in
Cryptology— CRYPTO 2013, Springer, Berlin, pp. 75–92.
[75] Taher ElGamal. A public key cryptosystem and a signature scheme based on discrete
logarithms. IEEE Transactions on Information Theory, 469-472, 1985.
[78] D. Chaum, Untraceable electronic mail, return addresses, and digital pseudonyms,
Communications of the ACM, (1981), p. 84–88.
[79] C. Park, K. Itoh et K. Kurosawa, All-nothing election scheme and anonymous channel,
EUROCRYPT ’93, (1993), p. 248–269.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 125
[83] T. Okamoto, Receipt-free electronic voting schemes for large scale elections, Security
Protocols Workshop, (1997), p. 25–35.
[85] MATEU, Víctor, MIRET, Josep M., et SEBÉ, Francesc. A hybrid approach to vector-
based homomorphic tallying remote voting. International Journal of Information
Security, 2015, p. 1-11.
[86] Ibtissem Zaafrani and Michael Bulois, Cryptographie, June 30, 2014
[87] D. Shanks, "Class number. A theory of factorization and genera," in: Proc. Symp. Pure
Math., Vol. 20, AMS (1970), pp. 415-440.
[88] C. C. Zhang, M. Winslett, and C. A. Gunter. On the Safety and Efficiency of Firewall
Policy Deployment. In SP ’07: Proceedings of the 2007 IEEE Symposium on Security
and Privacy, pages 33–50,Washington, DC, USA, 2007. IEEE Computer Society.
[89] HU, Yin. Improving the Efficiency of Homomorphic Encryption Schemes. 2013.
Thèse de doctorat. Virginia Tech.
UNIVERSITÉ MOHAMMED V
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 126
FACULTÉ DES SCIENCES
Rabat
DOCTORAT
Résumé de la Thèse
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc
Tel: 0537 77 18 34/35/38, Fax: 05 37 77 42 61, http://www.fsr.ac.ma 127