Conception et développement d’une solution de sécurisation de l’échange et du stockage pour...

Post on 16-Apr-2017

209 views 0 download

Transcript of Conception et développement d’une solution de sécurisation de l’échange et du stockage pour...

“Conception et développement d’une solution de sécurisation de l’échange et du stockage pour un cloud

public”

Soutenance de mini-projet

Institut supérieur des études technologiques en communications de Tunis

2015-2016

Réalisé par : Abir BOUROUNIA & Iheb BEN SALEM Encadré par : M. Yacine DJEMAIEL

PLAN

Introduction

Problématique et objectifs

Conception

Réalisation

Conclusion et perspectives

2

INTRODUCTION (1/2)

⇒ Migration vers le Cloud

33

-Coût important

-Problème de sécurité

-Évolution des systèmes d’information

INTRODUCTION (2/2) : “Définition du Cloud”

« Un modèle Informatique qui permet un accès facile et à la demande par le réseau à un ensemble partagé de ressources informatiques configurables (serveurs, stockage, applications et services) qui peuvent être rapidement provisionnées et libérées par un minimum d’efforts de gestion ou d’interaction avec le fournisseur du service. » –NIST-

4

PROBLÉMATIQUE & OBJECTIFS

Optimisation du stockage pour

des données disposant d'une

taille importante

Stockage des données

sur un cloud public

5

Sécurisation des

données stockées

CONCEPTION

6

DIAGRAMME DE CAS D’UTILISATION GÉNÉRAL

Utilisateur simple

Utilisateur

Administrateur

S’authentifier

Stocker les données

Récupérer les données

Gérer les ressources de stockage

Gérer les utilisateurs

<include>

<include>

<include>

<include>

7

DIAGRAMME DE CAS D’UTILISATION : “S’authentifier”

Utilisateur

s’identifier<include>

s'authentifier

8

DIAGRAMME DE CAS D’UTILISATION : “Stocker les données”

Utilisateur simple Stocker les données

sélectionner les données<include>

Fragmenter les données<extend>

9

DIAGRAMME DE SÉQUENCE DU UC : “S’authentifier”

Ali: Utilisateur

IA: Interface authentification Cnx:Connexion A:Authentification IU:Interface User

1 : s’identifier ()2 : Verif login et mot de passe () 3:si login existe

4:si mot de passe existe

5:s’authentifier() 6:Afficher interface user()

7: sinon

Message: Identifiants incorrects

10

DIAGRAMME DE SÉQUENCE DU UC : “Stocker les données”

11

Ali: Utilisateur simple

IS: Interface Stockage D: Data

1 : Parcourir ()

3: Vérifier_taille()

7: Message: Données stockées avec succès

2: SelectData ()

4: [Si taille <=40MO] :Stocker()5:[Si taille >40MO] :Fragmenter()

6: Stocker()

12

emailpassuser-id

Utilisateur

ajouter-user()supprimer-user()créer_ressource()

Administrateur

login

Utilisateur simpleInter-id

créer_compte()

Interface-SignUp

Int-iduser-idonglet_profilonglet_download_upload

afficher_Interface()cacher_Interface()

Interface-Client

modifier_photo()modifier_username()poster_comment()

Interface-profile

Interface-DownloadUpload

id_restaille

Ressource

Int-authemailpass

s’authentier()vérifier()

Authentification

Int-datataille-datatypeetatdate-ajoutextension

download()upload()split()hash()

Data

Int-idonglet_gestioncompteUseronglet_gestionRessources

afficher_Interface()cacher_Interface()

Interface_admin

Int-opdateadr_IPNavigateurid_datauser_id

enregistrer_op()

Historique_operation

s’authentifier1..*

1

1

0..*

gérer_user

gérer_res

1

sélectionner

11si admin accède à 1 1

si user simple accède à

1

1..*

1..*

1..*

consulter

1

11

aller à

1

1

enregistrer

DIAGRAMME DE CLASSES

RÉALISATION

13

ENVIRONNEMENT & OUTILS DE DÉVELOPPEMENT

Linux:Backbox serveur apache Mysql server

bash linux bootstrap Material design lite

14Materilize Jquery+Ajax Sublime

15

SCÉNARIOS D’UTILISATION: “Création d’un compte utilisateur et authentification”

tableau: user_info

tableau: profile_info

id par user_info 1GO Photo par défaut

1

2

16

SCÉNARIOS D’UTILISATION: “Création d’un compte”

SCÉNARIOS D’UTILISATION: “Authentification”

Controller:page login.php

Model:class client

Client<==>class user

1 2

identifier l’utilisateurnom utilisateur

User agent@ip

Session

Trace,logs

3

17

tableau:login_info

Si vérifié redirection vers le profil⇒type d’utilisateur: client;admin

set cookies pour vérifier la tentative de loginlogin>=3 pas de droit de faire le login pendant 10min⇒(non brute forcing) 18

SCÉNARIOS D’UTILISATION: “Authentification(2/2)”

cliquet ici pour faire un “upload”Espace de cloud(pas encore de fichiersdisponibles)

choisir n’importe quel fichier taille<40Mo

19

SCÉNARIOS D’UTILISATION: “Stockage d’un fichier sur le cloud(1/3)”

Détection automatique du type du fichier

partie informative partie opération

tableau:upload_file

Blob

indicateur: pas de split

Assurer l’intégrité du fichier

Enregistrement sans faire le split

20

SCÉNARIOS D’UTILISATION: “Stockage d’un fichier sur le cloud(2/3)”

Taille de fichier > 40Mo

“Split” du fichier en plusieurs fragments ayant chacun comme taille 40 Mo dans controller/splits

21

SCÉNARIOS D’UTILISATION: “Stockage d’un fichier sur le cloud(3/3)”

tableau: upload_file

Blob vide 0 Bsplit fait

1

2

tableau: oc_split

22

SCÉNARIOS D’UTILISATION: “Intégrité des fichiers”

Téléchargement directe à partir du blob

Vérifier le champ splited du tableau upload_file

bash linux

23

SCÉNARIOS D’UTILISATION: “Téléchargement d’un fichier à partir du cloud(1/2)”

(indication sur la présence ou non de fragments)

dossier /cloud/controller/merge

concaténation des fragments =>fichier original

Forcer le téléchargement du fichier sous le“path” choisi par l’utilisateur vider la cache

24

SCÉNARIOS D’UTILISATION: “Téléchargement d’un fichier à partir du cloud(2/2)”

CONCLUSION & PERSPECTIVES

25

Upgrade payantPerformances élevées

Gestion de redondance

➢ Utilisation d’un langage de programmation orienté objet

➢ Outil de stockage des données sur un Cloud

➢ Optimisation du stockage: Fragmentation des données

➢ Sécurisation des données échangées : Confidentialité, intégrité et disponibilité

Migration vers des noeuds performants

Interface pour le mobile

Conclusion

Perspectives

MERCI POUR VOTRE ATTENTION

26