Secure Cloud - Rapport

Dimension: px
Commencer à balayer dès la page:

Download "Secure Cloud - Rapport"

Transcription

1 Projet de diplôme Bachelor - Rapport Auteur: Année: Professeur responsable: Marc-Henri Primault IL-2012 Markus Jaton 26 juillet 2012

2 Cahier des charges Nous allons établir le cahier des charges du projet de diplôme de Bachelor (SC) dans le cadre de la Haute École d Ingénierie et de Gestion du Canton de Vaud (Heig-vd). Ce document commence par une description générale de l application. Puis, nous établissons les spécifications principales. Ensuite, nous précisons quelques points concernant l expérience utilisateur. Et enfin, nous exposons une brève description des outils techniques utilisés pour la réalisation de ce projet. Description Le projet SC a pour but de réaliser un prototype de couche supplémentaire de sécurisation à un service de Cloud Computing(Cloud) dans le cadre de partage de fichiers. Nous spécifions que le partage est dirigé dans le cadre collaboratif avec des documents à durée de vie limitée. Ce service est mis en place par le biais de trois parties: une partie client, une partie gestion de clés publiques et le service de Cloud. La partie client doit réaliser la synchronisation avec le service de Cloud. Elle doit aussi s assurer de l identification de la personne et de ses droits sur les fichiers. Elle gère la clé privée de l utilisateur et utilise les clés publiques des ayants droit. Pour finir, elle dé-chiffre les fichiers qui lui sont attribués. La partie gestion des clés publiques doit permettre à la partie client d obtenir facilement les clés publiques des ayants droit. La partie service de Cloud est utilisée pour le partage des fichiers chiffrés et d un fichier de configuration qui contient les informations sur le type de partage pour le fichier de base. L implémentation doit aussi proposer différents niveaux d authentification permettant une granulation des droits d accès sur les dossiers et fichiers partagés. Spécifications Dans cette section, nous énumérons les fonctions que nous désirons implémenter dans le projet SC. I

3 Généralités à SC 1. Un fichier ne possède pas de propriétaire. 2. La gestion du fichier peut être faite par n importe quel ayant droit. 3. Un utilisateur doit créer un compte. Ce compte est composé d un nom d utilisateur et d un mot de passe. La création de ce compte engendre aussi une création d un couple de clés publiques/privées. 4. Le système possède plusieurs niveaux d authentification pour l accès aux fichiers. a) Premier niveau : l identifiant et le mot de passe utilisateur uniquement. Ces informations peuvent être enregistrées sur la machine si le client le désir. b) Second niveau : en plus du premier niveau, il faut entrer un mot de passe supplémentaire. c) Troisième niveau : en plus du premier niveau, il faut entrer un numéro unique. d) Quatrième niveau : en plus du second ou troisième niveau, il faut être dans un environnement spécial. 5. En fonction du niveau d authentification, la durée de vie des clés peut varier. 6. Une clé en fin de vie doit être changée. Ce qui implique un nouveau chiffrement du fichier pour tous. 7. Chaque fichier partagé par SC possède un fichier de configuration qui indique le niveau de sécurité et les ayants droit. Il contient aussi de manière chiffrée, un éventuel mot de passe et la clé symétrique de dé-chiffrement. 8. La gestion du partage de fichiers peut être faite par n importe quel ayant droit. 9. Un fichier déchiffré est accessible en lecture et en écriture dans tous les cas. 10. Un fichier déchiffré n est plus sous la responsabilité de SC. Partie client 1. Authentification de l utilisateur par un identifiant unique et un mot de passe. 2. Gestion de la clé privée du client sur différents postes. 3. L application client peut garder en mémoire les informations de connexion des utilisateurs qui se sont déjà connectés. 4. Création des clés de dé-chiffrement. 5. Dé-chiffrement de tous fichiers traités par SC. 6. Le client doit gérer le fichier de configuration du fichier chiffré. 7. L utilisateur doit avoir une vue d ensemble des fichiers traités par SC dont il a accès. 8. En cas de partage, l utilisateur doit définir les autres clients pour lesquels il autorise le partage de fichiers ainsi que le niveau d authentification pour obtenir le droit d accès au fichier. II

4 9. L utilisation de divers services de Cloud proposant le partage de fichiers, doit être gérée. 10. Toutes les options et listes doivent être accessibles par le biais d une interface graphique. 11. Possibilité d effacer des fichiers dans le dossier de déchiffrement sous certaines conditions. Partie gestion de clés publiques 1. Le système de gestion des clés publiques doit être accessible dans les mêmes conditions que le service de Cloud. 2. Partage des clés publiques pour tous les utilisateurs de SC. 3. Identification des utilisateurs par leurs données de login ou leur clé publique. Partie service de Cloud 1. Le service de Cloud doit permettre le partage de fichiers par le biais d un dossier partagé sur le poste client. 2. Le dossier partagé doit être facilement accessible depuis l environnement de travail. 3. Le service de Cloud doit proposer une API de gestion de fichiers (partage de fichiers au minimum). Expérience utilisateur Après les spécifications techniques, nous décrivons différents points spécifiques à l utilisation de l application client. Du point de vue ergonomique, l application doit rester la plus simple possible. L application se veut plus mobile qu un outil de sécurité pur avec multiples procédures difficiles à la compréhension. Il faut donc garder à l esprit que l utilisateur doit effectuer le moins possible d interventions lors de l utilisation de SC. Voici quelques exemples issus des différents niveaux de sécurité: Pour le premier niveau, l utilisateur ne doit pas intervenir pour lire des fichiers chiffrés. Pour le deuxième et troisième niveau, l utilisateur doit entrer le mot de passe et/ou le numéro unique à chaque ouverture de fichiers. Pour le quatrième niveau, l utilisation doit rester transparente. Nous pouvons aussi rendre le dossier de déchiffrement plus étoffé en fonctionnalités. Par exemple, pour le second et troisième niveau, le fichier déchiffré peut rester temporairement ouvert sans devoir rentrer à nouveau les identifiants. Puis, une fois l application fermée, les fichiers dans ce dossier sont supprimés. III

5 Points technologiques Marc-Henri Primault Pour la réalisation de ce projet, nous allons utiliser le langage de programmation Python. Ce dernier possède tous les outils nécessaires pour la communication réseau, la gestion de clés symétriques et asymétriques, le dé-chiffrement et la réalisation d une interface graphique. Sa facilité d utilisation et son coût réduit en terme de lignes de code imposent une perte de performance. Mais cette perte est négligeable pour une application comme SC ou la performance pure n est pas un critère éliminatoire. Les parties graphiques sont réalisées à l aide du framework QT qui permet un développement multiplateforme sans modification du code source. Pour la partie stockage des informations, la technologie principale utilisée est le XML. IV

6 Remerciements Dans le cadre de ce projet, je tiens à remercier M. Markus Jaton pour ses conseils et remarques dans la conception de ce travail. À M. Sylvain Pasini pour m avoir expliqué les différentes possibilités liées à la cryptographie symétrique et asymétrique. Et enfin, à M me Aurélie Meyent pour la relecture de ce document. V

7 Résumé Le partage de documents par l intermédiaire du Cloud Compunting est en plein essor depuis quelques années. Les solutions les plus populaires proposent divers fonctionnalités comme le partage de dossiers à plusieurs utilisateurs, la gestion des versions et bien plus. Le touts accessible depuis des ordinateurs fixes ou portables, mais aussi par l intermédiaire de smartphones. Les inconvénients majeurs de ces solutions sont: la sécurité et la confidentialité des données. En effet, vous ne savez pas comment sont traités vos données et qui y a accès. a pour but de garder les fonctionnalités offertes par ces services tout en chiffrant vos données avant l envoi de celles-ci dans le Cloud. VI

8 Table des matières Table des figures Liste des tableaux IX XI 1. Introduction 1 2. État de l art Les différents services du Cloud Partage de fichiers via le Cloud Analyse des besoins du projet Description du but de SC Scénarios d utilisation de SC Spécification du projet SC Expérience utilisateur de SC Conception de l application Description générale de la conception Architecture de l application Les cas d utilisation Gestion des fichiers Gestion des utilisateurs Gestion des clés Structure de l application Stockage des informations Interfaces graphiques Réalisation de l application Environnement de développement Le chiffrement dans SC Gestion des bases de données L application client L annuaire de clés L interface utilisateur Tests de l application Cas tests VII

9 7. Qualification de l application Les fonctionnalités validées Les fonctionnalités incomplètes ou non implémentées Les fonctionnalités futures Validation de l implémentation Conclusion 73 Références bibliographiques 75 Bibliographie générale 76 A. Manuel d utilisation 77 A.1. Installation de SC A.2. Utilisation de SC A.3. Installation de l annuaire B. Journal de travail 88 B.1. Planning VIII

10 Table des figures 4.1. Exemple de partage d un fichier avec un serveur centralisé Exemple de partage d un fichier avec clé publique/privée Cas d utilisation de l utilisateur Cas d utilisation du gestionnaire de fichiers Cas d utilisation du gestionnaire d utilisateurs Cas d utilisation du gestionnaire de clés Cas d utilisation de l identification Cas d utilisation de l annuaire Arborescence du dossier principal de SC Schéma de la composition d une archive SC Schéma de synchronisation de dossier local à dossier partagé Schéma de synchronisation de dossier partagé à dossier local Digramme de synchronisation du dossier de partage au dossier local Digramme de synchronisation du dossier local au dossier de partage Schéma du fonctionnement TOTP Digramme de classes du gestionnaire de fichiers Digramme de classes du gestionnaire d utilisateurs Digramme de classes de l annuaire Schéma conceptuel de la base de données de l application client Schéma relationnel de la base de données de l application client Schéma conceptuel de la base de données de l annuaire Schéma de la fenêtre principale Schéma de la fenêtre de gestion des adresses s Schéma de la fenêtre de gestion des options du fichier Schéma de chiffrement d un fichier Schéma de déchiffrement d un fichier Schéma de chiffrement par clé publique Schéma de déchiffrement par clé privée Schéma du chiffrement du secret OTP Schéma du déchiffrement du secret OTP Diagramme de séquence du lancement de l application Schéma du désarchivage de l archive SC Arborescence du dossier principal de SC avec les dossiers cachés Fenêtre de Google Authenticator sous Android Schéma du temps à disposition pour l identification OTP IX

11 5.12. Digramme de séquence pour la communication client-annuaire Syntaxe des communications entre clients et annuaire Capture d écran de la fenêtre principale Capture d écran de la fenêtre d identification Capture d écran de la fenêtre de compte Capture d écran de la fenêtre du carnet d adresses Capture d écran de la fenêtre d options Schéma d un remplacement d une archive sans accès au départ A.1. Fenêtre de connexion A.2. Fenêtre de création de compte - étape A.3. Fenêtre de création de compte - étape A.4. Fenêtre principale de SC A.5. Contenu du menu compte A.6. Fenêtre de consultation des informations du compte A.7. Fenêtre d importation du compte A.8. Contenu du menu services A.9. Fenêtre d ajout de services A.10.Fenêtre de suppression de services A.11.Fenêtre du carnet d adresses A.12.Suppression d une adresse A.13.Fenêtre d options sur un fichier A.14.Nouvelle archive disponible A.15.Fenêtre d identification A.16.Fenêtre de génération de code OTP sous Android X

12 Liste des tableaux 1.1. Définitions des icônes des schémas Définition des balises du fichier de propriétés Définition des balises du fichier de clés États du fichier en fonction du niveau de sécurité Informations sur un compte utilisateur Définition des codes du protocole de communication client-annuaire XI

13 1. Introduction Le projet (SC) est réalisé dans le cadre du projet de Bachelor à la Haute École d Ingénierie et de Gestion du Canton de Vaud(Heig-vd) [1]. Il a pour but de répondre au cahier des charges fourni en début de document. SC est un prototype qui implémente une couche supplémentaire de sécurisation à un service de Cloud Computing(Cloud) [2] dans le cadre de partage de fichiers. Ce projet utilise un partage axé dans le cadre collaboratif avec des documents à durée de vie limitée. De plus, SC offre une granularité des droits d accès en modifiant la méthode d authentification de l utilisateur lors d un accès à un fichier chiffré. Dans le second chapitre, nous étudions les structures existantes du Cloud ainsi que celles spécifiques au partage de fichiers. Dans le troisième chapitre, nous analysons les besoins du projet. À savoir, son but, les scénarios d utilisation, les spécifications et l expérience utilisateur que nous voulons donner à SC. Dans le quatrième chapitre, nous passons à la conception du projet. Nous y étudions l architecture et ses cas d utilisation. Puis, nous passons à la description des gestionnaires de fichiers, d utilisateurs et de clés de dé-chiffrement. Enfin, nous structurons l application pour la mise en commun des différents gestionnaires et définissons le stockage des informations ainsi que l interface graphique. Dans le cinquième chapitre, nous réalisons l application. Après avoir décrit l environnement de développement, nous décrivons la manière dont est géré le chiffrement. Puis, nous expliquons les parties importantes de l implémentation de SC. Dans le sixième chapitre, nous effectuons les tests de validation. Ces tests sont décrits par l intermédiaire de cas tests où nous définissons l environnement de test et la démarche à suivre pour arriver au résultat voulu. Dans le septième chapitre, nous faisons la qualification du projet. Nous comparons le résultat final et les tests au cahier des charges afin de vérifier si l application répond à la demande. Enfin dans le dernier chapitre, nous résumons chaque chapitre dans une conclusion générale et nous en tirons le bilan du projet SC. 1

14 Légende Dans la suite de ce document, nous illustrons certaines techniques par des schémas. Ces derniers comportent des icônes bien précises dont la signification est donnée dans la table 1.1. Fichier Clé symétrique Fichier chiffré Clé publique Fichier certifié Clé privée Table 1.1.: Définitions des icônes des schémas 2

15 2. État de l art L utilisation des serveurs informatiques dans les entreprises subit actuellement un changement radical. Le modèle de conception préconisé est de placer dans chaque entreprise un parc de serveurs pour répondre aux besoins de l entreprise. Le nouveau concept est de délocaliser les serveurs. La gestion de ces derniers est effectuée par une entreprise spécialisée dans la location de services informatiques. Les entreprises s abonnent donc à des services, plutôt que de devoir gérer leurs propres serveurs. C est cette transformation qui est à l origine de l émergence du Cloud Computing Les différents services du Cloud Le Cloud propose différents types de services en fonction des besoins de l entreprise. Dans cette section, nous allons détailler les principaux axes de ces services. Pour plus d informations sur le sujet, voir Cloud computing : implementation, management, and security [3] SaaS - Software as a Service Le Software as a Service(SaaS) propose un service où l utilisateur ne voit que l interface. Tout le traitement est effectué côté serveur chez le prestataire. L utilisateur n a donc aucun moyen de contrôler ses données ni de gérer le service. Par contre, il ne s occupe de rien, ni de la maintenance, ni de la gestion et le service est toujours disponible ainsi qu à jour PaaS - Platform as a Service Le Plaform as a Service(PaaS) propose aux clients de faire tourner leurs applications sur les serveurs mis à disposition par l entreprise. Les clients ne s occupent plus de la partie matérielle mais seulement de la partie logicielle. Cela diminue très fortement les coûts pour les clients qui bénéficient toujours de leurs propres applications. Cependant, les données sont enregistrées sur les serveurs du fournisseur de services, il est donc difficile de connaître le niveau de sécurité établi sur ces données IaaS - Infrastructure as a Service L Infrastructure as a Service(IaaS) propose les mêmes services que le PaaS. La seule différence est au niveau des langages utilisés. Dans le cas du PaaS se sont des langages 3

16 interprétés comme Java, Python, Ruby, PHP, etc. Par contre, dans le cas du IaaS, les langages sont de plus bas niveaux comme le C, C++, voir Assembleur Utilisation actuelle des services Bien que le mot de Cloud ne soit évoqué plus fortement que depuis deux à trois ans, nous pouvons dire qu il est actif depuis les années En effet, les SaaS ont émergé avec les webmails et autre outils collaboratifs. Le Web 2.0 a poussé plus largement l adoption des services en ligne que ce soit pour les entreprises comme pour les particuliers. Le grand changement est venu par la mobilité. Les smartphones ont considérablement modifiés l utilisation des données et surtout leurs accès. C est ce changement qui a provoqué la popularité du Cloud. Plus besoin de rester sur son bureau pour travailler, les modifications de la journée se retrouvent instantanément sur notre smartphone ainsi que sur notre ordinateur personnel. Tout est synchronisé en temps réel: agendas, s, albums photos, musiques, fichiers, nous retrouvons notre environnement identique, sur tous nos périphériques informatiques que nous utilisons au quotidien. Et tout ça, nous pouvons le partager avec toutes les personnes qui utilisent les mêmes services Partage de fichiers via le Cloud Ce document se concentre uniquement sur le partage de fichiers par l intermédiaire des services du Cloud. Nous allons décrire les différentes possibilités mises à disposition actuellement aux utilisateurs Les services intégrés Avec la démocratisation de la mobilité et du Cloud, les éditeurs de logiciels mettent à disposition pour leurs clients, des plateformes d échanges directement intégrées dans leurs logiciels. La plus remarquée est l intégration dans les systèmes d exploitation(os). Apple avec icloud [4] permet de synchroniser toutes nos données entre les différents appareils de la marque. Microsoft avec SkyDrive [5] offre le stockage de données pour les utilisateurs de Windows et de Mac Os. Canonical propose Ubuntu One [6] qui gère la synchronisation de différents types de fichiers entre divers appareils. Ces offres montrent l intérêt des développeurs à intégrer dans les systèmes d exploitation les services de synchronisation pour que le client retrouve son environnement sur son PC, son téléphone et autres appareils. Les avantages de ces services sont la transparence, la facilité de mise en place et l utilisation de ces technologies. Les utilisateurs finaux ne voient que des avantages à ces offres et, le plus souvent, sans dépenser un franc de plus. Par contre, l inconvénient majeur est que le client n a aucun contrôle sur ses données une fois qu elles sont sorties de son 4

17 terminal. De plus, comme le système est intégré à l OS, il est difficile de protéger nos informations avant le partage de données Les services de partage généraux Comparé aux services intégrés, c.f. section 2.2.1, les services de partage généraux sont spécifiques au partage de fichiers. Nous les comparons à des services de stockage en ligne avec synchronisation et possibilité de partage entre plusieurs clients. Le principe de fonctionnement est simple, un dossier sur votre bureau, tout ce que vous mettez dedans est directement synchronisé avec vos autres appareils par le biais des serveurs de l entreprise. De plus, l application existe pour tout OSs ainsi que pour les appareils mobiles. Enfin, il est possible de partager les fichiers stockés dans les nuages avec tous nos contacts via leurs adresses s. Actuellement, nous pouvons citer les services les plus connus comme DropBox [7], SugardSync [8], Amazon Simple Storage Service [9] ou encore Google Drive [10]. Ces services proposent des APIs pour intégrer leurs systèmes dans des applications externes. La haute disponibilité de toutes ces informations et la possibilité de les retrouver au sein d autres systèmes, procurent un avantage que les clients ont bien compris. Malheureusement, malgré tous ces avantages, la confidentialité des données n est pas prise en compte par ces services. En effet, une pseudo sécurité est parfois mise en place en chiffrant les données côté serveur. Mais cette sécurité est relative, car nous ne sommes pas maître des protocoles de sécurisation et rien nous garanti que cette sécurisation est acceptable. Les moyens actuels pour sécuriser ces services Le principe de sécuriser ces services est une idée qui a trouvé plusieurs solutions. Certaines purement techniques, d autres un peu plus conviviales. Nous allons faire un descriptif des différentes propositions. TrueCrypt TrueCrypt [11] est un outil qui permet de créer des disques chiffrés de manière très sécurisée. En plaçant ce disque dans votre dossier de synchronisation, vous arrivez à le partager avec les autres utilisateurs. Le problème est de savoir comment transmettre le mot de passe d accès au disque. SafeBox SafeBox [12] est un petit utilitaire qui chiffre vos données avant de les mettre dans votre dossier de synchronisation. Cet outil est apparemment utilisable uniquement avec un seul poste (il est encore en développement). BoxCryptor BoxCryptor [13] est une application qui fonctionne comme SafeBox mais qui est disponible sur plusieurs types de terminaux. Elle est compatible avec plusieurs types de stockages en ligne. Par contre, les options de partage de fichiers ne sont pas considérées. Des solutions de sécurisation des services de stockage de fichiers en ligne existent mais pour l instant aucune ne permet de conserver la faculté de partager entre plusieurs 5

18 personnes, un fichier chiffré. C est là le but de SC, proposer une application qui sécurise les fichier tout en gardant la possibilité de les échanger Les services sécurisés Certains services ont compris l importance de la confidentialité que certains clients souhaitent. C est le cas de SpiderOak [14] ou encore de Wuala [15]. Ces services chiffrent les données côté client avant de les envoyer sur leurs serveurs. Du fait que tout est géré par l application, la possibilité de partage reste intégrée à l offre de base. Ces services sont donc identiques aux services généraux mais offrent la confidentialité des données Lectures complémentaires Dans la recherche d informations sur le sujet de la sécurité sur le Cloud, nous avons découvert deux documents intéressants. Le premier, with Encrypted Data using File-Based Authentification [16], propose de protéger le partage de fichiers en utilisant une authentification basée sur les fichiers. L approche est originale car seul le hash du fichier permet de savoir si oui ou non, l utilisateur y a accès. Par contre, il faut trouver un moyen de s échanger la clé de chiffrement proprement entre les utilisateurs. Le second document, Identity-Based Crpytography for Cloud Security [17], est plus technique et parle des performances des systèmes de cryptage et de signature spécifiquement adaptés au Cloud. 6

19 3. Analyse des besoins du projet Dans ce chapitre, nous allons effectuer l analyse du projet afin de déterminer les besoins des utilisateurs face à SC. Nous établirons ensuite des scénarios d utilisation qui nous permettrons de définir les lignes directrices de la conception Description du but de SC Le projet SC a pour but de réaliser une implémentation d une couche supplémentaire de sécurisation à un service de Cloud dans le cadre de partage de fichiers. Nous spécifions que le partage est dirigé dans le cadre collaboratif avec des documents à durée de vie limitée. Ce service est mis en place part le biais de trois parties: une partie client, une partie gestion de clés publiques et le service de Cloud. La partie client doit réaliser la synchronisation avec le service de Cloud. Elle doit aussi s assurer de l identification de la personne et de ses droits sur les fichiers. Elle gère la clé privée de l utilisateur et utilise les clés publiques des ayants droit. Pour finir, elle dé-chiffre les fichiers qui lui sont attribués. La partie gestion des clés publiques doit permettre à la partie client d obtenir facilement les clés publiques des ayants droit. La partie service de Cloud est utilisée pour le partage des fichiers chiffrés et d un fichier de configuration qui contient les informations sur le type de partage pour le fichier de base. L implémentation doit aussi proposer différents niveaux d authentification permettant une granulation des droits d accès sur les fichiers partagés Scénarios d utilisation de SC Afin d établir comment SC va nous aider dans la sécurisation de nos données, nous avons rédigé des scénarios d utilisation afin de définir les spécifications finales de SC. Nous avons défini les cas suivants: 1. La sauvegarde ou partage personnel L utilisateur utilise SC pour sauvegarder des fichiers en ligne ou pour de l autopartage. Il n a pas besoin d une authentification spécifique et souhaite juste que 7

20 ses fichiers soient chiffrés. Son authentification personnelle doit être transparente et demande aucune intervention de sa part. 2. Le simple partage L utilisateur souhaite partager un fichier sans demander une authentification sûre des destinataires. L authentification des utilisateurs finaux est identique dans la démarche que pour le point Le partage à niveau d authentification Dans ce cas, l utilisateur souhaite partager un fichier mais désire être certain que c est la bonne personne qui va l ouvrir. Dans cette position, nous avons défini deux types d identification du destinataire. a) Mot de passe Le destinataire entre un mot de passe pour confirmer que c est bien lui. Ce mot de passe est différent de celui du compte utilisateur de SC. b) One Time Password (OTP) En plus du mot de passe, le destinataire utilise un OTP, afin d établir une authentification forte. Ces scénarios représentent les différentes utilisations de SC dans le cadre de ce projet. C est à partir de ceux-ci que nous avons établi les bases de la conception de SC Spécification du projet SC Dans cette section, nous énumérons les fonctions que l on désire implémenter dans le projet SC Généralités à SC 1. Un fichier ne possède pas de propriétaire. 2. La gestion du fichier peut être faite par n importe quel ayant droit. 3. Un utilisateur doit créer un compte. Ce compte est composé d un , d un mot de passe, d une phrase de passe et d un code OTP. La création de ce compte engendre aussi une création d un couple de clés publiques/privées. 4. Le système possède plusieurs niveaux d authentification pour l accès aux fichiers. a) Premier niveau : l identifiant et le mot de passe utilisateur uniquement. b) Second niveau : en plus du premier niveau, il faut entrer la phrase de passe supplémentaire. c) Troisième niveau : en plus du second niveau, il faut entrer l OTP associé au compte. 5. Chaque partage d un fichier engendre une nouvelle clé symétrique pour le chiffrement des données. 8

21 6. Lors d un partage d un fichier par SC, un fichier de configuration doit accompagner le fichier chiffré afin de transmettre les conditions de partage et la clé symétrique. 7. Un fichier déchiffré est accessible en lecture et en écriture dans tous les cas. 8. Un fichier déchiffré n est plus sous la responsabilité de SC Partie client 1. Authentification de l utilisateur par un identifiant unique et un mot de passe. 2. Gestion de la clé privée du client sur différents postes. 3. Création des clés de dé-chiffrement. 4. Dé-chiffrement de tous les fichiers traités par SC. 5. Le client doit gérer le fichier de configuration du fichier chiffré. 6. L utilisateur doit avoir une vue d ensemble des fichiers traités par SC dont il a accès. 7. En cas de partage, l utilisateur doit définir les ayants droit sur le fichier ainsi que le niveau d authentification pour obtenir le droit d accès au fichier. 8. L utilisation de divers services de Cloud, proposant le partage de fichiers, doit être gérée. 9. Toutes les options et listes doivent être accessibles par le biais d une interface graphique Partie gestion de clés publiques 1. Le système de gestion des clés publiques doit être accessible dans les mêmes conditions que le service de Cloud. 2. Partage des clés publiques pour tous les utilisateurs de SC. 3. Identification des utilisateurs par l adresse Partie service de Cloud 1. Le service de Cloud doit permettre le partage de fichiers par le biais d un dossier partagé sur le poste client. 2. Le dossier partagé doit être facilement accessible depuis l environnement de travail Expérience utilisateur de SC À la suite des spécifications plutôt techniques de la section 3.3, nous donnons différents points sur l interface de l application client. 9

22 Du point de vue ergonomique, l application doit rester la plus simple possible. L application se veut plus mobile qu un outil de sécurité pur avec multiples procédures difficiles à la compréhension. Il faut donc garder à l esprit que l utilisateur doit effectuer le moins d interventions possibles lors de l utilisation de SC. Voici quelques exemples des interventions de l utilisateur: Pour le premier niveau, l utilisateur ne doit pas intervenir pour lire des fichiers chiffrés. Pour le deuxième et troisième niveau, l utilisateur doit entrer le mot de passe et/ou le numéro unique à chaque ouverture de fichier. Les informations sur le fichier doivent être visibles lors de la sélection de ce dernier dans la liste des fichiers. Les fichiers à déchiffrer doivent être accessibles en un clic de souris. L utilisateur doit pouvoir gérer le carnet d adresses des ayants droit. L utilisateur doit pouvoir créer et supprimer un compte. L utilisateur doit pouvoir exporter/importer ses données sur différents postes utilisant SC. 10

23 4. Conception de l application Nous avons défini le but et les spécifications du projet SC dans la chapitre 3. Nous continuons avec la conception. Dans la première partie, nous donnerons une description générale de la conception ainsi que l architecture choisie pour le développement. Puis, nous définirons les cas d utilisation de SC et enfin, nous décrirons chaque point central de l application afin de bien comprendre son fonctionnement et son interaction avec les autres parties Description générale de la conception SC gère principalement des fichiers qui doivent, soit être chiffrés, soit être déchiffrés. Nous devons parcourir des dossiers où se trouvent des fichiers à analyser. Ces fichiers possèdent des propriétés comme leurs ayants droit et leurs types d accès. Ces ayants droit sont des utilisateurs possédant un compte sur SC. Enfin, toutes les opérations de partage doivent être chiffrées sur le poste client. SC fonctionne avec un dossier principal qui contient tous les fichiers déchiffrés par SC. Différentes sources peuvent être utilisées comme dossiers de partage avec les services de Cloud. De ces observations, nous déduisons que nous avons besoin d un gestionnaire de fichiers, d un gestionnaire d utilisateurs et d un gestionnaire de clés. Il faut également une interface graphique permettant le contrôle des différents gestionnaires de manière transparente Architecture de l application Le choix de l architecture de l application va diriger la suite de la conception. Il est donc important de prendre le chemin qui nous semble le plus juste en comparaison à la description du problème. Nous avons élaboré deux solutions qui répondent à la description de base. Nous vous présentons les deux solutions dans cette section Approche par un serveur centralisé Dans cette solution, l approche est de centraliser toutes les informations concernant le partage de fichiers sur un serveur externe. Ce serveur est la clé de l application. Il gère 11

24 les comptes utilisateurs, les clés de chiffrement et les droits d accès aux fichiers. Seul l échange des fichiers est réalisé par le service de Cloud. Le rôle principal du serveur est de stocker les clés symétriques qui chiffrent les fichiers échangés par le Cloud. La figure 4.1 illustre une simple transaction entre deux personnes utilisant un serveur centralisé. La démarche est la suivante: 1. Alice chiffre son document. 2. SC d Alice place le document chiffré sur le service de Cloud. 3. SC d Alice transmet la clé symétrique de chiffrement au serveur pour le document chiffré. 4. SC de Bob récupère le document chiffré. 5. SC de Bob demande au serveur la clé symétrique de chiffrement. 6. Le serveur vérifie l identité de Bob et ses droits sur le fichier, puis transmet la clé en cas de requête positive. 7. SC de Bob déchiffre le document. Cloud Serveur Figure 4.1.: Exemple de partage d un fichier avec un serveur centralisé Ce scénario simple montre le principe du serveur. Tout doit passer par lui, chaque décision de l application client doit demander une confirmation au serveur. Avantages et inconvénients Avec cette architecture centralisée, les avantages découlent de la centralisation de toutes les informations en un endroit. Toutes les communications et transformations sont gérées par une application. Nous sommes maîtres de tous les processus de transmission et de contrôle. Il est donc aisé de connaître l état d un fichier partagé à tout moment. L application client est esclave du serveur et ne peut rien faire sans lui, donc la sécurité côté client est mieux gérée en ce qui concerne les offres de SC. Malheureusement, cette centralisation apporte plusieurs inconvénients. En effet, si notre serveur tombe en panne ou s il est piraté, tout le système est hors service. De plus, 12

25 avec ce type d architecture, l application dépend de deux services, le Cloud et le serveur central. Cela diminue la flexibilité et la mobilité de l application Approche du système à clé publique Ici, le but est de ne pas recourir à un autre serveur que celui du service de Cloud. La solution est donc d utiliser un système à clé publique/privée. Chaque utilisateur possède une paire de clés. C est cette dernière qui va permettre l identification du destinataire. Par contre, il n est pas possible de partager les clés publiques sans utiliser un moyen d échange. Notre solution est d utiliser un annuaire en ligne pour récupérer la clé publique du destinataire et ainsi transmettre toutes les informations voulues, chiffrées avec cette clé. Comme pour l architecture précédente, nous proposons un schéma de partage de fichiers simple. Ce schéma est illustré par la figure 4.2 avec la description suivante: 1. Alice chiffre son document avec la clé symétrique. Puis, SC chiffre cette clé avec la clé publique de Bob. 2. SC d Alice récupère la clé publique dans le cache de l application ou sur un serveur de clés. 3. SC d Alice place un dossier contenant le document chiffré ainsi que la clé symétrique chiffrée sur le service de Cloud. 4. SC de Bob récupère le dossier et déchiffre la clé symétrique à l aide de sa clé privée. 5. SC de Bob déchiffre le document avec la clé symétrique. Figure 4.2.: Exemple de partage d un fichier avec clé publique/privée 13

26 Avantages et inconvénients Cette architecture a comme avantages d utiliser seulement le service de partage du Cloud et de proposer une application client autonome. De cette manière, nous ne faisons pas appel à un autre service ce qui simplifie le déploiement et la mobilité. Tout le développement est axé sur l application client. Malheureusement ce système repose sur l exactitude de la correspondance entre la clé publique et l utilisateur. En effet, pour récupérer la première fois la clé publique associée aux autres ayants droit, nous devons nous connecter à un annuaire de clés ou trouver un autre moyen pour s échanger les clés de manière sûre Choix pour le développement Après analyse des avantages et inconvénients ainsi que de la procédure d un échange de fichiers, nous avons choisi une approche par l architecture à clé publique/privée. Ce choix est motivé pour les raisons suivantes: 1. Pas de serveur tiers applicatif 2. Utilisation au maximum du potentiel du service de Cloud 3. Centralisation sur une seule application 4. Utilisation du protocole à clé publique/privée qui est éprouvé 5. Simplification des échanges d information sur les fichiers chiffrés Ces points sont les principaux qui nous ont fait choisir la deuxième architecture. Le seul inconvénient est l identification de la personne. Avec ce système, tout repose sur l échange des clés publiques, nous devons être convaincus que c est la bonne clé avant de l utiliser. Si nous avions choisi l autre architecture, l identification lors de la connexion au serveur nous aurait suffi pour identifier la personne et être sûr de la procédure à réaliser. Afin de palier à cette ambiguïté possible, nous utilisons un annuaire de clés publiques qui identifie la personne par son adresse . En effet, ce dernier réduit le risque de fraudes mais sans le supprimer Les cas d utilisation Maintenant que l architecture est établie, nous précisons les axes de conception à l aide des cas d utilisation. Nous établissons les cas autour des unités suivantes: 1. Utilisateurs 2. Gestion des fichiers 3. Gestion des utilisateurs 4. Gestion des clés 5. Identification 6. Annuaire de clés Nous décrivons dans les sous-sections suivantes les différents points mentionnés. 14

27 Les cas d utilisation de l utilisateur L utilisateur est actif dans la gestion des fichiers et la gestion des utilisateurs. La figure 4.3 illustre les différents cas d utilisation que l utilisateur peut activer. Ajouter fichiers Créer un compte utilisateur Supprimer fichiers Utilisateur Partager fichiers Supprimer son compte utilisateur Figure 4.3.: Cas d utilisation de l utilisateur Ajouter fichiers L utilisateur ajoute des fichiers dans le dossier SC dans le navigateur de fichiers de l OS hôte. SC se charge d observer les changements et les applique à l index de fichiers de SC. Supprimer fichiers L utilisateur supprime des fichiers dans le dossier SC dans le navigateur de fichiers de l OS hôte. SC se charge d observer les changements et les appliquent à l index de fichiers de SC. Partager fichiers L utilisateur partage des fichiers avec des autres personnes utilisant SC. Il indique avec qui il veut partager et le niveau de sécurité. SC se charge de chiffrer les fichiers avec les propriétés de lecture et place les fichiers dans les dossiers de synchronisation. Créer un compte utilisateur La création d un compte utilisateur est unique dans tout le système SC. C est à ce moment que la génération des clés asymétriques est réalisée. Un compte crée ne peut être modifié. Supprimer un compte utilisateur La suppression du compte utilisateur efface toutes les traces de l utilisateur et ses droits sur les dossiers. Le procédé supprime aussi les clés asymétriques Les cas d utilisation du gestionnaire de fichiers Le gestionnaire de fichiers est actif lors de la recherche de fichiers, le dé-chiffrement des fichiers, la synchronisation des fichiers entre SC et les services de partage ainsi que dans la configuration de partage. Nous établissons les différents cas d utilisation donnés par la figure

28 Synchronisation de fichiers Ajouter fichiers extends extends Supprimer fichiers extends Gestion de fichiers extends Gestion du dé-chiffrement include include Partager fichiers Gestion des propriétés du fichier Figure 4.4.: Cas d utilisation du gestionnaire de fichiers Gestion de fichiers Centre du traitement de tous les fichiers de SC. Ajouter fichiers Le gestionnaire active un parser sur le dossier principal de SC. Il met à jour les données de l index de fichiers. Supprimer fichiers Le gestionnaire active un parser sur le dossier principal de SC. Il met à jour les données de l index de fichiers. Partager fichiers Le gestionnaire chiffre les fichiers désignés par l utilisateur par l intermédiaire de la gestion du chiffrement. Synchronisation de fichiers Le gestionnaire synchronise les fichiers entre SC et les services de partage. Il ne garde que la version la plus récente. Gestion des propriétés Chaque fichier possède des propriétés de partage, de sécurité et de synchronisation. Ces dernières doivent être maintenues à jour après chaque modification du fichier. Gestion du chiffrement Les fichiers et leurs propriétés sont dé-chiffrées avec la clé symétrique. Cette dernière est à son tour dé-chiffrée par la clé publique de chaque destinataire. Les cas d utilisation du gestionnaire d utilisateurs Le gestionnaire d utilisateurs intervient lors de la création de compte utilisateur ou de la gestion des ayants droit. Un compte utilisateur représente un utilisateur de l application sur le terminal actuel et un ayant droit est un utilisateur sur un autre terminal qui utilise SC. Les informations sur les utilisateurs sont requises lors de partage de fichiers et d identification de personnes. Nous établissons les différents cas d utilisation donnés par la figure 4.5. Gestion des utilisateurs Centre de traitement de tous les utilisateurs de SC. 16

29 Partager fichiers Gestion des clés include include Créer un compte utilisateur include Gestion des utilisateurs extends Obtenir utilisateur include Supprimer son compte utilisateur Cache adresses s Interrogation annuaire Figure 4.5.: Cas d utilisation du gestionnaire d utilisateurs Partager fichiers Pour le partage de fichiers, le gestionnaire d utilisateurs fournit les informations sur l de la personne. Créer un compte utilisateur Enregistre les informations de l utilisateur dans la base de données. Création de la paire de clés asymétriques. Création du secret OTP. Enregistrement du mot de passe et de la phrase de passe. Supprimer son compte utilisateur Supprime les informations de l utilisateur de la base de données ainsi que la paire de clés asymétriques. Gestion des clés L utilisateur possède une paire de clés asymétriques qu il faut mettre en correspondance avec son adresse . Obtenir L adresse est le lien entre l utilisateur et SC. Cette adresse permet aussi d identifier la clé publique correspondante. L obtention de l se fait soit par une requête sur l annuaire de clés, soit par la base de données de l utilisateur Les cas d utilisation du gestionnaire de clés Le gestionnaire de clés intervient lors du chiffrement ou déchiffrement d un fichier que ce soit par clé symétrique ou clé asymétrique. C est lui aussi qui crée et supprime les clés. Enfin, il est chargé de récupérer les clés publiques des autres utilisateurs de SC. Nous établissons les différents cas d utilisation donnés par la figure 4.6. Gestion des clés Centre de traitement de toutes les clés de dé-chiffrement de SC. Obtenir clés Pour obtenir les clés symétriques ou asymétriques, le gestionnaire peut soit les récupérer dans le fichier de propriétés, soit utiliser l annuaire de clés publiques, soit utiliser son cache local. Créer les clés Le gestionnaire crée des clés symétriques comme des clés asymétriques. Supprimer les clés Le gestionnaire peut supprimer les clés asymétriques. 17

30 Clés dans fichier de propriétés Clés sur annuaire Clés locales Gestion des utilisateurs Obtenir clés Supprimer clés extends include extends Créer clés Déchiffrer un fichier include Gestion des clés extends include extends Clé symétrique Clé asymétrique Chiffrer un fichier Envoi clé publique sur annuaire Gestion du dé-chiffrement Figure 4.6.: Cas d utilisation du gestionnaire de clés Envoi clé publique sur annuaire Le gestionnaire envoie la clé publique et l à l annuaire de clés pour enregistrement. Gestion du chiffrement Le gestionnaire est capable de chiffrer ou déchiffrer n importe quel fichier que ce soit avec une clé symétrique ou asymétrique Les cas d utilisation de l identification L identification de la personne a lieu lors du déchiffrement de fichiers. Nous avons mis en place une granulation des droits d accès sur le fichier. Cette granulation est gérée par différents types d authentification. Nous établissons les différents cas d utilisation donnés par la figure 4.7. Identification include Déchiffrer un fichier Simple Par phrase de passe Par OTP Figure 4.7.: Cas d utilisation de l identification 18

31 Identification Identification de la personne qui veut déchiffrer un fichier. Marc-Henri Primault Simple L identification de la personne lors de l ouverture de SC suffit pour ce niveau. Par phrase de passe L utilisateur doit entrer une phrase de passe qu il a donné lors de son enregistrement sur SC. Par OTP L utilisateur utilise en plus une identification forte par l utilisation d un OTP Les cas d utilisation de l annuaire L annuaire de clés permet l accès aux clés des utilisateurs de SC, une clé est associée à une adresse . Cette dernière est l identifiant de l utilisateur de SC. Nous établissons les différents cas d utilisation donnés par la figure 4.8. Obtenir liste utilisateurs Obtenir clé Client Enregistrer clé Figure 4.8.: Cas d utilisation de l annuaire Obtenir liste utilisateurs Permet au client d obtenir toutes les adresses s des personnes utilisant SC. Obtenir clé Permet au client d obtenir la clé associée à l . Enregistrer clé Le client enregistre la clé associée à l Gestion des fichiers Le gestionnaire de fichiers s occupe de parcourir les dossiers à synchroniser, à savoir le dossier principal de SC, où sont stockés tous les fichiers déchiffrés et les dossiers des services de partage. Il gère aussi la cohérence de la base de données concernant les fichiers. 19

32 Le dossier principal de SC Le dossier principal de SC est un dossier où est rassemblé tous les fichiers déchiffrés gérés par SC. À sa base nous trouvons des sous-dossiers représentant chaque service de partage. La figure 4.9 illustre l arborescence du dossier principal de SC. SecureCloud dropbox... sugarsync... box Figure 4.9.: Arborescence du dossier principal de SC Les sous-dossiers de service Les sous-dossiers de service représentent les dossiers de synchronisation avec le service nommé. Ils contiennent les fichiers déchiffrés qui peuvent être partagés par le service. Par exemple, sur la figure 4.9, le dossier dropbox contient la même arborescence que le dossier de service géré par Dropbox à la différence prêt qu il contient les fichiers déchiffrés alors que son homologue géré par le service contient les fichiers chiffrés Les dossiers des services de partage Les autres dossiers gérés par SC sont ceux qui se trouvent du côté des services de partage et qui contiennent les fichiers chiffrés. Tous ces dossiers ont la même arborescence que le dossier de synchronisation dans le dossier principal de SC. Leur rôle est de synchroniser simplement les dossiers chiffrés dans le Cloud entre les différents ayants droit Le fichier chiffré de SC SC chiffre les fichiers qu il veut transmettre dans le Cloud. Pour avoir une gestion de ses fichiers sans utiliser un serveur externe, il faut aussi transmettre en même temps un fichier de propriétés. Donc, nous ne transmettons pas un fichier chiffré mais une archive ZIP non compressée qui contient des fichiers chiffrés. La figure 4.10 illustre la composition de l archive utilisée par SC. Toutes les archives sont composées du nom du fichier de base suivit de l extension puis se termine par.scd. Cela nous permet de reconnaître facilement les archives utilisées par SC dans les différents dossiers de partage. 20

33 nom.ext.scd fichier.enc conf.enc cles.xml Figure 4.10.: Schéma de la composition d une archive SC Nous avons choisi une archive ZIP comme conteneur pour sa facilité à être manipulée lors d ajouts ou d extractions. Pour faciliter le développement, l archive n est pas compressée. Cette archive contient trois fichiers dont voici leur rôle: fichier.enc Fichier chiffré qui est le fichier à partager. conf.enc Fichier chiffré qui contient les informations sur le niveau de sécurité, sur les ayants droit, la date de modification du fichier et autres paramètres. cles.xml Fichier qui contient le chiffrement de la clé symétrique permettant de déchiffrer les deux autres fichiers de l archive. Ce chiffrement est réalisé par la clé publique de chaque destinataire qui correspond à une entrée dans le fichier. Pourquoi nous chiffrons le fichier de propriétés? Notamment pour éviter une attaque du type Man-in-the-Middle. En effet, si nous laissons le fichier en clair, n importe qui peut s ajouter dans la liste des ayants droit et lors de la prochaine synchronisation, SC lui chiffrerait la clé symétrique avec sa clé publique et il aurait accès au fichier. C est pour cela que nous utilisons le fichier de clés qui contient plusieurs fois le chiffrement de la clé symétrique avec la clé publique de chaque destinataire. Le fichier de propriétés Le fichier de propriété qui accompagne le fichier principal contient les informations nécessaires au déchiffrement et aux droits d accès. La structure du fichier est faite en XML. Nous donnons la DTD du fichier avec le listing 4.1. La structure contient des données enregistrées dont les valeurs sont définies dans la table 4.1. Listing 4.1: DTD du fichier de propriétés <?xml version ="1.0" encoding ="UTF 8"?> 21

34 <!ELEMENT f i c h i e r ( i d e n t i f i a n t, securite, datemodification, p r o p r i e t a i r e s ) > <!ELEMENT i d e n t i f i a n t (#PCDATA) > <!ELEMENT s e c u r i t e EMPTY> <!ELEMENT datemodification (#PCDATA) > <!ELEMENT p r o p r i e t a i r e s ( p r o p r i e t a i r e +)> <!ELEMENT p r o p r i e t a i r e ( ) > <! ELEMENT (#PCDATA) > <! ATTLIST s e c u r i t e niveau ( ) "0"> Balise fichier identifiant securite datemodification proprietaires proprietaire Définition Balise racine contenant les informations d un fichier Contient l identifiant du fichier Attribut définissant le niveau de sécurité du fichier Contient la date de la dernière modification du fichier Contient un ou plusieurs proprietaire Contient les informations d un propriétaire Contient l adresse du propriétaire Table 4.1.: Définition des balises du fichier de propriétés Le fichier de clés Le fichier de clés contient la clé symétrique chiffrée par chaque clé publique des ayants droit. Cette manière de procéder nous assure que seul les personnes définies comme ayants droit puissent déchiffrer le fichier de propriétés et le fichier de base. Pour savoir si nous avons découvert une clé symétrique valide, chaque chiffrement est précédé de la phrase valide_. Donc, lors du déchiffrement, si la valeur trouvée ne commence pas par valide_, nous n avons pas la clé symétrique. La structure du fichier de clés est un fichier XML dont nous donnons la DTD avec le listing 4.2. La définition des valeurs est expliquée dans la table 4.2. Listing 4.2: DTD du fichier de clés <?xml version ="1.0" encoding ="UTF 8"?> <!ELEMENT cles ( cle +)> <!ELEMENT cle (#PCDATA) > La synchronisation entre les dossiers Le gestionnaire de fichiers doit aussi gérer la synchronisation entre le dossier principal et les dossiers des services de partage. La synchronisation est décomposée en deux phases à 22

35 Balise cles cle Définition Balise racine contenant une ou plusieurs cle Contient la clé symétrique chiffrée par la clé publique d un ayant droit Table 4.2.: Définition des balises du fichier de clés savoir, du dossier principal aux dossiers de partage et des dossiers de partage au dossier principal. Nous décrivons comment SC opère pour réaliser ces deux phases. Du dossier principal aux dossiers de partage Pour décrire la synchronisation entre le dossier principal et les dossiers de partage, nous nous basons sur la figure 4.11 qui contient un numéro pour chaque étape que nous définissons maintenant: 1. Demande de partage du fichier test.txt. Les ayants droit ainsi que le niveau de sécurité sont déjà définis. 2. Récupère les clés publiques des ayants droit dans le cache local. 3. Génère la clé symétrique qui sera utilisée pour le chiffrement des fichiers. 4. Chiffre le fichier test.txt avec la clé symétrique et l enregistre sous le nom fichier.enc. Puis, génère le fichier de propriétés pour le chiffrer avec la clé symétrique et l enregistrer sous le nom conf.enc. Enfin, SC chiffre la clé symétrique avec la clé publique de chaque ayant droit et l enregistre sous le nom cles.xml. 5. SC place les fichiers fichier.enc, conf.enc et cles.xml dans l archive test.txt.scd. 6. Pour finir, SC place l archive dans le dossier de partage qui sera synchronisé via le service de Cloud. 3 cles.xml Cloud conf.enc text.txt.scd test.txt 2 fichier.enc Figure 4.11.: Schéma de synchronisation entre le dossier principal de SC et les dossiers de partage 23

36 Des dossiers de partage au dossier principal Nous expliquons ici comment SC gère la synchronisation entre les dossiers de partage et le dossier principal. Pour illustrer le déroulement, nous nous basons sur la figure 4.12 et décrivons ses numéros: 1. SC récupère l archive du dossier de partage en fonction sur le service de Cloud choisi. 2. SC déchiffre chaque entrée avec sa clé privée et sort la clé symétrique s il trouve une réponse positive. 3. Avec la clé symétrique, SC déchiffre le fichier conf.enc pour obtenir les informations du fichier. En fonction du niveau de sécurité et de la date de modification, SC va choisir s il doit déchiffrer maintenant le fichier principal ou attendre une intervention de l utilisateur. 4. Une fois que le fichier peut être déchiffré, SC le déchiffre avec la clé symétrique et le place dans le dossier principal de SC. Cloud text.txt.scd cles.xml fichier.enc 3 test.txt conf.enc Figure 4.12.: Schéma de la synchronisation entre les dossiers de partage et le dossier principal de SC La gestion de la synchronisation Dans la partie précédente (c.f ), nous avons vu comment SC effectue la synchronisation entre le dossier principal et les dossiers de partage. Mais la synchronisation n a pas toujours lieu immédiatement. En effet, nous notons certaines exceptions comme: Écrasement d un fichier plus récent par un plus ancien Demande d authentification avant une synchronisation Pour palier à la première exception, nous définissons que le fichier le plus récent prend le dessus sur un fichier plus ancien. Mais pour la deuxième exception, nous devons établir un tableau d état en fonction du niveau de sécurité du fichier ou de l archive. Ce tableau est donné par la table 4.3. En se basant sur cette table, nous définissons le processus décisionnel de la gestion des synchronisations pour les deux cas. La figure 4.13 représente le diagramme d activité lors 24

37 État Description 0 Fichier synchronisé sans vérification 1 Fichier ouvert après une identification 2 Fichier sur dossiers de partage mais pas sur dossier principal et demandant une identification 3 Fichier sur dossiers de partage plus récent que sur dossier principal mais demandant une identification 4 Fichier sur dossiers de partage plus ancien que sur dossier principal mais demandant une identification Table 4.3.: États du fichier en fonction du niveau de sécurité Marc-Henri Primault d une synchronisation entre le dossier de partage et le dossier principal. Nous observons que lorsque nous donnons une valeur supérieure à 0 pour l état, SC ne synchronise pas automatiquement le fichier. En effet, dans cette situation, il faut une identification de l utilisateur pour accéder au fichier chiffré. L autre cas de synchronisation est donné par la figure Dans ce sens, nous devons faire attention à ne pas écraser une archive non ouverte qui demande une authentification. Les fichiers qui sont mis dans une liste en attendant l authentification de l utilisateur gardent leur état. Une fois l identification réussie, l état du fichier passe à 4. Cela nous permet de contrôler le premier accès au fichier, ce qui est suffisant car, comme le mentionne les spécifications, un fichier ouvert n est plus sous la responsabilité de SC. 25

38 Analyse l archive Aucune clé symétrique Clé symétrique valide Vérifie le niveau de sécurité Niveau supérieur à 0 Niveau à 0 Vérifie si le fichier existe dans la dossier principal Définit l état à 0 Non Oui Vérifie la date de la dernière modification Définit l état à 2 Définit l état à 3 Archive plus ancienne Archive plus récente Déchiffre l archive et la synchronise sur le dossier principal Vérifie la date de la dernière modification Archive plus ancienne Définit l état à 4 Archive plus récente Place l archive dans une liste qui demande l identification de l utilisateur pour la synchronisation Figure 4.13.: Diagramme d activité pour la synchronisation entre le dossier de partage et le dossier principal 26

39 Analyse l archive Aucune clé symétrique Clé symétrique valide Compare la date de l archive et du fichier local Fichier plus récent Fichier plus ancien Vérifie l état du fichier État vaut 0 ou 1 État vaut 2, 3 ou 4 Crée l archive et la synchronise Place le fichier dans une liste qui demande l identification de l utilisateur pour la synchronisation Figure 4.14.: Diagramme d activité pour la synchronisation entre le dossier principal et le dossier de partage 27

40 4.5. Gestion des utilisateurs Marc-Henri Primault Le gestionnaire d utilisateurs s occupe de rassembler les informations sur les utilisateurs des fichiers, ainsi que sur le compte SC du poste client. Nous donnons les caractéristiques du compte utilisateur et les différences avec les ayants droit. Puis, nous décrivons l identification des utilisateurs en fonction du niveau de sécurité du fichier Le compte utilisateur Pour utiliser SC, l utilisateur doit créer un compte. Un compte comporte plusieurs informations données par la table 4.4. Ces données sont enregistrées lors de la création du compte. Champ Mot de passe Phrase de passe Secret OTP Description Adresse , sert d identifiant pour un compte ainsi que pour la paire de clés asymétriques. Mot de passe associé au compte utilisateur, utilisé pour ouvrir la session sur l application. Autre mot de passe qui est demandé pour l identification lors de la synchronisation sur un fichier de niveau de sécurité supérieur à 0. Champ qui contient le secret pour la génération de code OTP. Table 4.4.: Informations sur un compte utilisateur L adresse et le mot de passe ne peuvent être modifiés, car ils sont liés à la paire de clés asymétriques qui doit rester unique. Plus d explications seront données dans la section 4.6. Actuellement, la phrase de passe ne peut pas être modifiée mais aucune restriction n est applicable pour une version future. Le dernier champ contient le secret OTP. En effet, pour la génération de code OTP, il faut partager une clé commune. C est cette clé que nous stockons avec le compte utilisateur. Plus de détails seront donnés dans la partie Assurer un mot de passe fort Comme les mots de passe ne peuvent pas être modifié, nous avons établis cinq règles que doivent respecter les mots de passe et phrases de passe, afin de rendre les plus fort. Ces règles sont: caractères minimum 2. un chiffre minimum 3. une lettre minuscule minimum 4. une lettre majuscule minimum 28

41 5. au moins un caractère Marc-Henri Primault De cette manière, nous obligeons les utilisateurs à créer un mot de passe, plus complexe. Enfin, pour rendre la découverte des mots de passe plus difficile, nous les salons avant de les hachés pour les stockés. Devenir un ayant droit Pour qu un compte utilisateur puisse devenir ayant droit sur un autre client SC, il faut transmettre son adresse avec la clé publique associée à l annuaire. Nous définissons la démarche dans la partie Identification de l utilisateur L identification de l utilisateur est utilisée lors de la connexion à SC et lors de la synchronisation des fichiers. Nous définissons plusieurs niveaux de sécurité afin de fournir une granulation des droits d accès. Plusieurs informations sur le compte utilisateur peuvent être demandées en fonction du niveau. Les niveaux de sécurité de SC Pour réaliser la granulation des autorisations de lecture des fichiers chiffrés par SC, nous avons mis en place plusieurs niveaux de sécurité. Chaque niveau demande un type d identification différent afin de correspondre au mieux à la politique de l utilisateur. Nous rappelons que tous les fichiers gérés par SC sont chiffrés avant de les mettre sur les dossiers de partage. Niveau 0 Le niveau de sécurité le plus bas dans SC est le niveau 0. Pour accéder au fichier protégé par ce niveau, il suffit de se connecter à son compte. Ce niveau est utilisé lors de partage sécurisé sans besoin d être sûr du destinataire. Nous pouvons aussi l utiliser pour des sauvegardes de fichiers. Niveau 1 Le niveau de sécurité 1 est déjà plus sécurisé que le niveau 0. Pour identifier l utilisateur, ce niveau demande la phrase de passe avant de pouvoir déchiffrer l archive. En utilisant une phrase de passe en supplément, nous certifions que la personne derrière l écran est bien la personne à qui s adresse l archive. Cela empêche une personne qui a accès à un SC ouvert de pouvoir déchiffrer l archive sans contrôle. Niveau 2 Le dernier niveau implémenté est le niveau 2. Ce niveau a les mêmes fonctions que le niveau 1 mais utilise une authentification forte de l utilisateur en demandant, en plus de la phrase de passe, un code OTP L identification OTP Nos premières recherches pour une authentification OTP nous ont porté sur le système SecureID [18]. Son principe est de fournir un périphérique qui affiche un numéro en 29

42 fonction d une horloge. Une connexion avec le serveur, nous confirme si le code est valide ou non afin d autoriser la connexion. Le problème avec cette solution, c est que le serveur est payant ainsi que les périphériques. En poursuivant nos recherches, nous avons découvert Google Authenticator [19]. Ce dernier génère les codes OTP en se basant soit sur l algorithme HMAC-Based One-time Password (HOTP) [20], soit sur l algorithme Time-based One-time Password (TOTP) [21]. L avantage d utiliser cette solution est de disposer d applications mobiles, capables de générer les codes OTP, pour pratiquement tous les OS mobiles existants actuellement. Pour notre besoin, nous choisissons d utiliser un TOTP. En se basant sur la figure 4.15, nous illustrons le fonctionnement: 1. L utilisateur génère le code OTP en se basant sur le secret partagé et le temps. 2. L utilisateur envoie son code à l application. 3. L application génère à son tour le code OTP pour les 30 secondes avant, pendant et après l heure de demande. 4. L application vérifie si le code reçu correspond à un des trois codes générés. 5. Si il y a une correspondance l authentification est réussie sinon elle échoue. 1. Récupération de l heure et du secret 4. Récupération de l heure et du secret 2. Génération du code OTP Secret partagé 5. Génération du code OTP et vérification Utilisateur 3. Envoi du code généré Application Figure 4.15.: Schéma du fonctionnement TOTP Comme, la génération des codes OTP est décrite par les RFCs, nous pouvons réaliser une implémentation pour être en synchronisation avec les applications mobiles Gestion des clés Le gestionnaire de clés doit gérer deux types de clés. À savoir, les clés symétriques pour le chiffrement des fichiers à partager et les clés asymétriques pour chiffrer les clés symétriques. Enfin, la distribution des clés publiques est réalisée par l intermédiaire de l annuaire de clés. 30

43 Les clés symétriques Les clés symétriques sont utilisées pour chiffrer le fichier principal à partager et son fichier de propriétés. La clé est seulement stockée dans le fichier de clés qui accompagne l archive. La clé est liée à l archive est non au fichier, nous ne gardons donc pas deux fois la même clé symétrique. Ceci donne un gage de sécurité supplémentaire et évite les redondances que pourraient intercepter des personnes malveillantes. La clé est donc générée à la volée et aléatoirement Les clés asymétriques La paire de clés asymétriques est générée lors de la création du compte utilisateur de SC. Nous décidons que la paire de clés ne peut pas être révoquée. Cette décision simplifie la gestion des clés et est utilisée par la pluspart des annuaires de clés actuels. Les clés asymétriques sont identifiables par l adresse du compte, c est pour cela que nous ne pouvons pas modifier cette dernière. La clé privée est stockée en local et protégée par un mot de passe. Ce dernier est le même que pour celui du compte, d où la non modification du mot de passe. La clé publique est aussi stockée en local mais sans protection. Le trousseau de clés contient aussi les clés publiques des autres ayants droit enregistrés dans la session de SC actuelle. Pour la gestion des clés asymétriques, nous avons choisi de suivre le modèle PGP en utilisant sont implémentation libre GnuPG [22]. En se basant sur le livre PGP et GPG pour les s [23], nous choisissons d utiliser les outils mis à notre disposition pour gérer les clés asymétriques sans réaliser une implémentation propre à SC L annuaire de clés publiques L annuaire permet de synchroniser les clés publiques entre les différents postes SC. Après chaque création de compte, la clé publique fraîchement crée est envoyée sur l annuaire de clés avec comme correspondance l adresse . Par la suite, il est possible d interroger l annuaire pour obtenir la clé publique associée à une adresse afin de l enregistrer en local. Plusieurs annuaires existent pour stocker les clés publiques comme celui du PGP Global Directory [24] ou encore celui du MIT [25]. Dans la recherche du fonctionnement de ces annuaires, nous découvrons que l identification de la clé publique n est possible que par son ID. Hors, pour notre projet, nous voulons pouvoir trouver une clé par l adresse associée. Pour résoudre ce problème, nous décidons de réaliser notre propre annuaire. Ce dernier est de conception simple. Il est composé d une base de données qui gère la correspondance entre la clé publique et l adresse ainsi que d une connexion sécurisée entre le client et l annuaire. Pour ne pas avoir de conflit ou d usurpation dans la suite de l utilisation, nous définissons qu une adresse enregistrée ne peut être effacée de l annuaire tout comme l est la paire de clés asymétriques. Aucune révocation 31

44 n est possible actuellement. Ce choix est motivé par le simple fait ne pas risquer une usurpation d identité lors de la création du compte. Car, nous le rappelons, nous devons être sûr de la clé publique des ayants droit pour éviter toutes fraudes dans SC. De plus, la réalisation de notre propre annuaire nous permet de gérer l échange des adresses s entre les différents postes SC. Ceci afin de proposer des utilisateurs valides pour qu ils puissent devenir des ayants droit Structure de l application Dans les sections précédentes, nous avons développé toutes les parties composant l application SC. Nous allons maintenant les mettre ensemble pour réaliser l application. Le programme SC s articule autour de trois point qui sont: 1. Le gestionnaire de fichiers 2. Le gestionnaire d utilisateurs 3. L annuaire de clés publiques Nous développons la conception de ces deux gestionnaires et les interactions qu ils proposent avec les autres parties de SC Gestionnaire de fichiers Le gestionnaire de fichiers est le coeur de l application, c est lui qui est le centre du développement. Il possède des références sur le gestionnaire d utilisateurs et le gestionnaire de clés. Nous avons défini le diagramme de classes de la figure 4.16, comme base de réalisation de l application. Nous faisons remarquer que le gestionnaire gère aussi les ayants droit sur les fichiers ainsi que tout ce qui concerne le chiffrement, ce qui cache le gestionnaire de clés. Nous ne créons pas ce dernier, mais l intégrons dans le gestionnaires de fichiers Gestionnaire d utilisateurs Le gestionnaire d utilisateurs est la deuxième partie importante de SC. Nous définissions son digramme de classes par la figure Nous faisons remarquer que le gestionnaire gère la connexion avec l annuaire de clés L annuaire de clés L annuaire de clés est simple dans sa conception, il reçoit des connexions par socket qu il traite séparément et indépendamment. La connexion est sécurisé par SSL. Nous obtenons le digramme de classes de la figure

45 -_racine: string -_exts: [string] -_liste: {} -_actif: bool Parser + init (racine:string,exts:[string]) +run() +stop() +parcourir() + str () +nom: string +securite: int +modification: double +etat: int Fichier + init (nom:string,securite:int,date:double, etat:int) + str () +supprimer() -_persistance(requete:string,arguments:tuple=none) * * 1 1 GestionnaireFichier -_gstutilisateur: GestionnaireUtilisateur -_racine: string -_dossiers: [] -_fichiers: {} + init (racine:string,dossier:[string]) +actualiser() +partager() +dechiffrer(fichier:string,securite:int, phrase:string=none,otp:string=none) +synchroniser(fichier:string,securite:int, phrase:string=none,otp:string=none) +supprimer(fichier:string) +obtenirfichier(): [string] +obtenirfichierchiffre(): [string] +obtenirnonpartage(): [string] +information(nom:string): [string] +ayantsdroit(nom:string): [string] +ajouterayantsdroit(nom:string,ayantdroit:[string]) +supprimerayantsdroit(nom:string,ayantdroit:[string]) +services(): [string] +ajouterservice(service:string,chemin:string) +supprimerservice(service:string) +modsecurite(nom:string,niveau:int,utilisateur:string=none, mdp:string=none): bool +moddate(nom:string,date:double=none) -_actualisersc() -_actualisercloud(service:string) -_cloud2sc(archive:zipfile,destination:string, xml:elementtree,cle:string) -_partagerfichier(nom:string) -_clesymetrique(xml:elementtree): string -_chiffrerfichier(cle:string,entree:string, sortie:string=none,chunksize:int) -_dechiffrerfichier(cle:string,entree:string, sortie:string=none,chunksize:int) -_genererconf(nom:string): string -_generercles(nom:string,clesym:string): string -_nettoyerfichier() Figure 4.16.: Digramme de classes du gestionnaire de fichiers 33

46 +mdp: string Read Only +phrase: string Read Only +secret: string Read Only Utilisateur + string Read Only + init ( string) +supprimer() CompteUtilisateur + init ( string,mdp:string,phrase:string, secret:string) +supprimer() * 1 +compte: string = None Read Only GestionnaireUtilisateur +mdpcompte: string = None Read Only -_utilisateurs: {} -_client: Client + init () +connexion(compte:string,mdp:string): bool +deconnexion(): bool +creercompte( string,mdp:string,phrase:string, secret:string) +supprimercompte( string,mdp:string): bool +ajouter( string) +supprimer( string): bool +obtenircomptes(): [string] +obtenirutilisateurs(): [string] +obteniradresses(): [string] +adresseexiste( string): bool +information( string): [string] +identification(niveau:int,phrase:string=none, otp:string=none): bool - actualiser() - compteactif(): bool 1 -_socket Canal + init (socket:socket) +envoyer(message:string) +recevoir(): string -_encoder(message:string): bytes -_decoder(message:bytes): string 1 1 Client -_adresse: string -_port: int +_socket: Socket = None +_actif: bool = False +_canal: Canal = None + init (adresse:string,port:int) +obtenricle( string): string +obteniradresse(): [string] +envoyercle( string,cle:string): int +connexion() +deconnexion() 1 Figure 4.17.: Digramme de classes du gestionnaire d utilisateurs Annuaire -_actif: bool -_context: SSLContext -_bindsocket: Socket + init (adresse:string,port:integer) +activer() 1 contient 0..* +_socket: Socket Connexion +run() -_traitement(message:string): integer, string -_affichage(socket:socket,requete:string, code:integer,param:string) Figure 4.18.: Digramme de classes de l annuaire 34

47 4.8. Stockage des informations Toutes les classes mises en place gèrent le processus courant en gardant en mémoire les informations via les classes Fichier et (Compte)Utilisateur. Afin de garantir la persistance des données, nous mettons en place deux bases de données qui sont chargées de sauvegarder les données entre deux ouvertures d une session SC. La première base est associée à l application client et la seconde à l annuaire de clés. Nous décrivons ces deux bases dans les parties suivantes L application client Du côté de l application client, les informations qui doivent être enregistrées sont celles stockées dans les classes Fichier, Utilisateur et CompteUtilisateur. Nous devons donc créer des tables représentant les fichiers et les utilisateurs. Pour les ayants droit, il suffit de faire une relation entre les fichiers et les utilisateurs. Pour garantir la persistance des dossiers de service, nous ajoutons encore une table de service. Nous obtenons le schéma conceptuel donné par la figure Du point de vue technique, nous précisions qu un compte hérite de l utilisateur et que les fichiers peuvent appartenir à plusieurs utilisateurs (ayants droit). De ce schéma, nous construisons le schéma relationnel donné par la figure posseder utilisateur idutilisateur 1..* 0..* Fichier idfichier nom securite modification etat compte mdp phrase secret sel 1 0..* Service service chemin Figure 4.19.: Schéma conceptuel de la base de données de l application client 35

48 1 utilisateur idutilisateurinteger string 1 n posseder idutilisateurinteger idfichier integer n 1 idfichier nom Fichier integer string securite integer modification double etat string 1 idcompte compte integer 1 n idcompte service integer mdp string service string phrase string chemin string secret string sel string Figure 4.20.: Schéma relationnel de la base de données de l application client L annuaire de clés Pour l annuaire de clés, la base de données est très simple, nous devons simplement faire correspondre l adresse à la clé. Nous avons qu une seule table illustrée par la figure Annuaire idannuaire cle Figure 4.21.: Schéma conceptuel de la base de données de l annuaire 4.9. Interfaces graphiques Pour cette dernière section du chapitre, nous définissons les lignes directrices des interfaces graphiques. Nous désirons une interface simple avec un minimum d options qui permet d identifier le plus rapidement possible l état du fichier et les actions réalisables dessus. Pour ce faire, nous avons imaginé une fenêtre d accueil, figure 4.22, qui offre toutes les informations sur les fichiers. L explorateur de fichiers affiche les fichiers présents dans le dossier principal. La zone de propriétés affiche le niveau de sécurité ainsi que les ayants droit pour le fichier sélectionné dans l explorateur. Pour modifier les options du fichier, nous définissons une zone de boutons qui agira sur le fichier. La dernière zone liste les nouvelles archives non déchiffrées issues des dossiers de partage. Pour ajouter des futurs ayants droit, nous dessinons une fenêtre de récolte d adresses s utilisables dans SC, figure Une fois que nous avons les utilisateurs de SC souhaités, nous pouvons modifier les propriétés (niveau de sécurité, ayants droit) d un fichier par l intermédiaire de la fenêtre d options, figure

49 Figure 4.22.: Schéma de la fenêtre principale Figure 4.23.: Schéma de la fenêtre de gestion des adresses s 37

50 Figure 4.24.: Schéma de la fenêtre de gestion des options du fichier 38

51 5. Réalisation de l application Dans le chapitre 4, nous avons conçu l application que nous allons maintenant réaliser. Pour ce faire, nous décrivons l environnement de travail et sa configuration, puis nous parlons du chiffrement qui occupe une place importante dans SC. Par la suite, nous expliquerons comment nous implémentons l application client et l annuaire de clés ainsi que la communication entre les deux parties. Nous précisions que ce chapitre parle uniquement des points essentiels, nous ne décrivons pas toutes les méthodes et autres implémentations qui ne sont pas pertinentes dans le fonctionnement de SC Environnement de développement Pour l environnement de développement, nous choisissons de concevoir l application sur une distribution GNU/Linux. En l occurrence, il s agit d une Xubuntu bits [26]. Ce choix est motivé par la disponibilité, sa simplicité d utilisation ainsi que son installation, soit native, soit en machine virtuelle et qui de plus, est peut gourmande en ressources. Un autre avantage d utiliser une discritbution GNU/Linux est la disponibilité des paquets prêts à l installation sans configuration ni compilation. De ce fait, nous pouvons nous concentrer sur l application et non sur son environnement. Pour le développement, nous utilisons une machine virtuelle propulsée par VirtualBox [27] ou supérieure. La configuration de la machine est: 1 processeur 1 Go Ram 64 Mo de mémoire vidéo Accélération: VT-x/AMD-V, Pagination imbriquée, PAE/NX Pour le langage de programmation, nous avons choisi Python [28] en version 3.2. Ce choix est motivé par la rapidité de développement qui est un atout pour la réalisation d un prototype. De plus, l envie du développeur de réaliser un projet dans ce langage a aussi contribué à ce choix. En contre partie, la rapidité d exécution et la place mémoire utilisée par Python sont moins performantes qu un langage compilé. Mais dans notre cas, cela importe peu puisque nous réalisons un prototype pour vérifier le fondé d une application Le chiffrement dans SC Le but de SC est de proposer un partage de fichiers sécurisé. Pour arriver à cette sécurisation, nous chiffrons les fichiers et autres informations importantes, soit avec une clé 39

52 symétrique ou avec une paire de clés asymétriques. Python propose un large choix de modules complémentaires sur PyPI [29] et dans ce choix nous trouvons PyCrypto [30]. Ce module, en version 2.6, permet de gérer plusieurs types de chiffrements ou de hachages. Dans notre implémentation, nous utilisons l algorithme AES [31] avec une clé de 256 bits pour tous les chiffrements par clés symétriques. Pour les chiffrements par clés asymétriques, nous utilisons GPG, en version , et son module pythonique python-gnupg [32] en version Le chiffrement par clé symétrique Le chiffrement d un fichier, figure 5.1, et le déchiffrement, figure 5.2, utilise des clés symétriques. Pour l implémentation de ces fonctions, nous utilisons les fonctions réalisées par Eli Bendersky [33]. Nous choisissons des fonctions existantes pour éviter des erreurs d implémentation de notre part. Génération clé symétrique Sauvegarde la clé dans le fichier conf.enc conf.enc K Fichier à chiffrer Chiffre le fichier avec la clé fichier.enc Figure 5.1.: Schéma de chiffrement d un fichier Récupère la clé symétrique depuis conf.enc conf.enc D fichier.enc Déchiffre le fichier avec la clé Fichier déchiffré Figure 5.2.: Schéma de déchiffrement d un fichier Pour le dé-chiffrement d une valeur, nous implémentons nos propres méthodes basées sur celles des fichiers. Nous donnons les listings 5.1 et 5.2 qui illustrent l implémentation de 40

53 ces deux fonctions. AES permet d utiliser en paramètre, un vecteur d initialisation [34] qui agit comme un salage pour les mots de passe. Nous générons ce vecteur aléatoirement pour chaque chiffrement ce qui évite la vulnérabilité par flots. Le vecteur est ensuite placé en début du message codé afin de le retrouver pour le décodage. Listing 5.1: Méthode pour chiffrer une valeur def c h i f f r e r V a l e u r ( valeur, cle ) : " " " C h i f f r e l a valeur avec l a c l é A t t r i b u t s : valeur > s t r i n g de l a valeur à c h i f f r e r cle > s t r i n g repr ésentant l a c l é de chiffrement de 32 bytes Retour : byte > valeur c h i f f r ée " " " mode = AES.MODE_CBC i v =. j o i n ( chr ( random. r a n d i n t (0, 0xFF ) ) for i in range (16) ). encode ( ) [ : 1 6 ] encryptor = AES. new( cle, mode, i v ) # La longueur d o i t ê t r e un m u l t i p l e de 16 valeur += ( len ( valeur ) % 16) return i v +encryptor. encrypt ( valeur ) Listing 5.2: Méthode pour déchiffrer une valeur def d e c h i f f r e r V a l e u r ( valeur, cle ) : " " "Dé c h i f f r e l a valeur avec l a c l é A t t r i b u t s : valeur > valeur à dé c h i f f r e r cle > bytes repr ésentant l a c l é de dé chiffrement de 32 bytes Retour : byte > valeur dé c h i f f r ée " " " mode = AES.MODE_CBC decryptor = AES. new( cle, mode, valeur [ : 1 6 ] ) # Supprime l ajout d espace l o r s du chiffrement return s t r ( decryptor. decrypt ( valeur [ 1 6 : ] ), utf 8 ). r s t r i p ( ) 41

54 Le chiffrement par clés asymétriques Le chiffrement par clés asymétriques utilise la clé publique pour chiffrer, figure 5.3, et la clé privée pour déchiffrer, figure 5.4. Le module python-gnupg offre déjà des méthodes pour chiffrer ou déchiffrer les fichiers comme les chaînes de caractères. Nous ne devons donc pas réaliser une implémentation supplémentaire comme c est le cas avec PyCrypto. Récupère la clé publique du trousseau K Fichier à chiffrer Chiffre le fichier avec la clé fichier.enc Figure 5.3.: Schéma de chiffrement par clé publique Récupère la clé privée du trousseau D fichier.enc Déchiffre le fichier avec la clé Fichier déchiffré Figure 5.4.: Schéma de déchiffrement par clé privée Protection de la clé privée par mot de passe Pour éviter l accès à la clé privée stockée sur le disque de l utilisateur, nous la protégeons par un mot de passe. Ce mot de passe est le même que celui du compte utilisateur. Pour rappel, la clé privée est appelée à chaque déchiffrement d archive, ce qui peut engendrer beaucoup d appels selon le nombre de fichiers et la fréquence de rafraîchissement. Pour éviter que l utilisateur ne tape son mot de passe trop fréquemment, nous gardons en clair le mot de passe dans la RAM. Nous prenons cette disposition car le risque que ce dernier soit piraté est faible. 42

55 5.3. Gestion des bases de données Marc-Henri Primault Les bases de données utilisées par SC utilisent SQlite en version 3.7 ou supérieure. Leurs implémentations ne posent pas de problèmes particuliers. Ces bases sont utilisées pour la persistance des données entre la fermeture et l ouverture de SC. En effet, nous enregistrons toutes les informations des fichiers et des utilisateurs dans des classes représentant ces objets. Nous estimons que la place mémoire occupée n est pas si importante dû fait que le programme est dimensionné pour une utilisation avec des fichiers à durée de vie limitée. Nous précisions encore que les mots de passe et les phrases de passe sont salés puis nous utilisons la fonction de hachage SHA-256 pour stocker leur empreinte dans la base de données. En ce qui concerne le secret OTP, nous devons le conserver chiffré dans la base de donnée, ceci afin de pouvoir le récupérer lors de la génération de code. Par conséquent, nous utilisons le mot de passe utilisateur salé puis haché comme clé. La figure 5.5 illustre le chiffrement du secret et la figure 5.6 illustre le déchiffrement du secret. Hache le mot de passe pour obtenir la clé symétrique mot de passe utilisateur H Sauvegarde le secret dans la base de données secret OTP K Chiffre le secret avec la clé Figure 5.5.: Schéma du chiffrement du secret OTP 43

56 Hache le mot de passe pour obtenir la clé symétrique Marc-Henri Primault mot de passe utilisateur H Secret chiffré issu de la base de données D secret OTP déchiffre le secret avec la clé 5.4. L application client Figure 5.6.: Schéma du déchiffrement du secret OTP L application client comporte de nombreux points sur lesquels nous détaillons le lancement de l application, le rôle des parsers et la phase de déchiffrement de l archive Le lancement de l application L utilisateur lance SC depuis son bureau, il arrive sur la fenêtre graphique d accueil de connexion. Mais avant cela, le programme lance plusieurs tâches comme l illustre la figure 5.7. Tout d abord, nous lançons le gestionnaire d utilisateurs, puis le gestionnaire de fichiers et enfin la fenêtre principale. Nous faisons remarquer que le gestionnaire de fichiers lance plusieurs parsers dont nous décrivons le rôle à la partie Le rôle des parsers Dans le diagramme de séquence 5.7, nous précisons que le gestionnaire de fichiers active plusieurs parsers. Ces parsers parcourent le dossier principal et les dossiers de partage à la recherche des archives gérées par SC. Le parser qui parcourt le dossier principal enregistre tous les fichiers qui s y trouvent, en stockant la date de la dernière modification. Le gestionnaire de fichiers récupère ces informations et met à jour la date de modification dans la base de données ou alors crée un nouveau fichier. À la fin de l exploration, le gestionnaire supprime les fichiers résiduels de la base de données qui n existent plus en local. Les parsers qui parcourent les dossiers de partage, cherchent toutes les archives finissant par.scd. Le gestionnaire de fichiers analyse ces archives en suivant la procédure illustrée par la figure

57 SecureCloud FenPrinciaple GestionnaireFichier GestionnaireUtilisateur Utilisateur Parser Un parser pour tous les dossiers à parcourir Figure 5.7.: Diagramme de séquence du lancement de l application Le déchiffrement d archives Dans la gestion de l archive SC, nous devons passer par son désarchivage afin d exploiter son contenu comme l illustre la figure 5.8. Nous rappelons que l archive n est pas compressée donc nous pouvons l attaquer directement. Cette opération modifie la structure du dossier principal qui est redonnée par la figure 5.9. Nous y trouvons le dossier.temp qui sert de fichier temporaire lors du déchiffrement automatique d archives. Nous y stockons le fichier de propriétés une fois déchiffré. Le dossier chiffre est là afin de ne pas avoir de conflit avec la synchronisation automatique de SC lors d un déchiffrement manuel. Le dossier sync a le même rôle que chiffre mais pour un partage manuel. Nous signalons que le dossier.gpg est utilisé par GPG pour stocker les clés asymétriques. Dans la partie 4.4.3, nous avons vu la structure des fichiers XMLs composant l archive. Nous donnons un exemple de ces fichiers avec les listings 5.3 et 5.4. Le listing 5.5 donne un exemple d une clé symétrique valide après déchiffrement par la clé privée où nous retrouvons le mot clé valide_ qui indique que nous avons une clé symétrique. Listing 5.3: Exemple de fichier de propriétés déchiffré - conf.enc <?xml version ="1.0" encoding ="UTF 8"?> < f i c h i e r > < i d e n t i f i a n t > t e s t. t x t < / i d e n t i f i a n t > < s e c u r i t e niveau=" 0 " / > < datemodification> < / datemodification> < p r o p r i e t a i r e s > < p r o p r i e t a i r e > < >marc henri. vd. ch< / > 45

58 Récupère l archive Récupère le fichier cles.xml Recherche une clé symétrique valide Aucune clé symétrique Clé symétrique valide Déchiffre le fichier conf.enc dans le dossier.temp Figure 5.8.: Schéma du désarchivage de l archive SC < / p r o p r i e t a i r e > < / p r o p r i e t a i r e s > < / f i c h i e r > Listing 5.4: Exemple de fichier de clés - cles.xml <?xml version ="1.0" encoding ="UTF 8"?> <cles> <cle> BEGIN PGP MESSAGE Version : GnuPG v (GNU/ Linux ) hiwdn1rua92 / os4bbacwlhxsfeqbhge59lzkipzcgzpe6temm3fnemjrj7h8glgf nnkeugw/ ZoUtX02oB54D1E2lFPdWuX / k9b+b0wfv1 / snyhwmvbyijjzy4tttnwvv 8l6X0rHSQmgug8ZKWWfAB1RCMaubTLgzS2yRTf2m5pFAL7PfK4itGc+2 nlctpdji AeHm18nT/ tosx3wy4si+bvrzs837hbqtri0m+bbv7mvpkld2aaelwl68cgak / Rs / Gzp+N4FXBTFkeU55hupuyscrJ8ZvISbAS87HgYryDrxvLw1ZMRas7qdWgl2uOZbY ENo= =P8oc 46

59 END PGP MESSAGE < / cle> <cle> BEGIN PGP MESSAGE Version : GnuPG v (GNU/ Linux ) hiwdzplwd68wf1oba/ 90 BhFJ8SzX9bc3hJldD53s+VxYA0hjVjgHe0VDIzosxwWE / bd2fnnid+mseepprvjxkm9crftivbz8bzsdgvbbwsajstqpb3zmmzvzn1bjriv QS94YCim+yhXDcQseqwiwnvrlHIVwMiWtiqEdRih7LZb8SjLfwQzO9ESwcDS6NJi AbGnrVtZa9qcNecG9M7/ +mhnvsh/ tthncfovcboxhzscxyh7jjmetdlbfygfpu16 uuyp8mjsb7j5rhqgdoiodnyrhftjmhmtrxhzbeyjcmam68acqohiqblly09kqxuv J2Y= =VAtY END PGP MESSAGE < / cle> < / cles> Listing 5.5: Exemple de clé symétrique après déchiffrement par clé privée valide_7d65a2a df9dc2212d La transmission du secret OTP et authentification Pour utiliser TOTP, nous devons partager un secret entre SC et le smartphone de l utilisateur. Pour ce faire, nous générons un mot de vingt octets en caractère ASCII. Pour transmettre ce mot, nous utilisons une fonctionnalité de Google Authenticator qui permet de scanner un QRCode [35] pour obtenir le secret. Nous utilisons donc cette possibilité pour transmettre sous forme de QRCode le secret OTP. Après avoir scanner le code, nous obtenons le résultat illustré par la figure La génération de l image est réalisée par Google Chart [36]. Cette solution impose une contrainte, celle d être connecté à internet pour l utiliser, mais ceci est aussi obligatoire si nous voulons utiliser un annuaire de clés ce trouvant sur internet. Pour l authentification du code OTP, nous utilisons la fonction mise à disposition sur le site [37]. Cette fonction génère les codes OTP pour les trente secondes antérieures ainsi que pour la minute actuelle. L utilisateur a donc une minute trente pour entrer son code comme le montre la flèche rouge des exemples de la figure

60 SecureCloud dropbox... sugarsync... box gpg.temp pubring.gpg secring.gpg trustdb.gpg chiffre sync Figure 5.9.: Arborescence du dossier principal de SC avec les dossiers cachés Figure 5.10.: Fenêtre de Google Authenticator sous Android 48

61 Heure lors de la demande d identification Heure lors de la demande d identification Figure 5.11.: Schéma du temps à disposition pour l identification OTP 49

62 5.5. L annuaire de clés Marc-Henri Primault Nous ne pouvons pas utiliser un annuaire de clés PGP disponible sur internet comme nous l expliquons dans la partie Nous avons donc implémenté notre propre annuaire. Ce denier est des plus simple. Une tâche principale réceptionne les demandes des clients et active une sous-tâche qui effectue le traitement de la requête. Ce système permet la gestion simultanée de plusieurs requêtes client. La figure 5.12 illustre la communication entre un client et l annuaire. Client Canal Annuaire Connexion Connexion Peut être répété autant de fois que voulu Message Retour Requête Réponse Déconnexion Déconnexion Figure 5.12.: Digramme de séquence pour la communication client-annuaire La communication entre client et annuaire Pour que le client et l annuaire se comprennent, ils doivent parler le même langage. Nous mettons en place le protocole de communication donné par la figure Nous utilisons le format JSON [38] pour structurer notre protocole dû fait de sa construction aisée. Il simplifie aussi la communication avec les sockets, car JSON propose des mécanismes de sérialisation facile à implémenter. Notre protocole permet d effectuer toutes les requêtes des clients ainsi que les réponses de l annuaire. La table 5.1 donne la signification des codes utilisés par le protocole. 50

63 , "cle" : "clé publique" 201, "liste" : [ "adresse " ] 250, " " :, "adresse " { "code" : 251, " " : } "adresse ", "cle" : "clé publique" , "erreur" : "intitulé de l erreur" 310 Figure 5.13.: Syntaxe des communications entre clients et annuaire Marc-Henri Primault

64 Code Définition 100 Transaction valide 199 Déconnexion 200 Joint la clé publique 201 Joint la liste des s enregistrés 250 Demande la clé publique en fonction de l 251 Envoie l et la clé publique associée 252 Demande la liste des s 300 Erreur syntaxe invalide 301 Erreur requête invalide 310 Erreur existant Marc-Henri Primault Table 5.1.: Définition des codes du protocole de communication client-annuaire 5.6. L interface utilisateur La dernière partie de réalisation concerne l interface utilisateur. Pour le développement de nos interfaces graphiques, nous utilisons le framework Qt [39] en version 4.7 ou supérieure et son adaptateur pythonique PyQt [40]. Nous décrivons uniquement les fenêtres importantes, à savoir: la fenêtre principale, la gestion du compte, la gestion du carnet d adresses et les options de fichiers La fenêtre principale La fenêtre principale propose à l utilisateur toutes les options de manipulations directes des fichiers. Pour ce qui concerne les accès au compte utilisateur ou au carnet d adresses, il faut passer par le menu. La figure 5.14 illustre la fenêtre principale. Les zones représentent les points suivants: 1. Menu de l application. 2. Zone des fichiers, tous les fichiers gérés par SC sont affichés ici. Ils sont classés par service de partage. L arborescence est identique à celle du dossier présent dans le dossier du service de partage. Dans la deuxième colonne, un mot clé permet de connaître l état du fichier. La signification est la suivante: sync Le fichier est synchronisé automatiquement. auth Le fichier demande une authentification pour déchiffrer l archive depuis le dossier de partage. part Le fichier demande une authentification pour écraser l archive du dossier de partage. 3. Zone des options du fichier. En cliquant sur un fichier, ces options (niveau de sécurité et ayants droit) s affichent. Si nous cliquons sur un dossier ces options 52

65 sont vides. Les trois boutons Options, Déchiffrer et Partager sont actifs en fonction de l état du fichier. 4. Zone des nouveaux fichiers. Dans cette liste, nous affichons tous les fichiers présents dans les dossiers de partage mais pas dans le dossier principal. De plus, ces fichiers demandent une authentification pour synchronisés. Figure 5.14.: Capture d écran de la fenêtre principale Pour déchiffrer ou écraser une archive possédant un niveau de sécurité supérieur à 0, nous devons entrer nos informations d identification. Dans ce cas, la fenêtre d identification, figure 5.15, s ouvre et nous permet d entrer notre phrase de passe et notre code OTP en fonction du niveau. Figure 5.15.: Capture d écran de la fenêtre d identification 53

66 La fenêtre de compte La fenêtre du compte utilisateur est utile pour connaître ses informations. Nous ne permettons pas de modifier ses informations comme expliqué dans la partie La figure 5.16 illustre la fenêtre de compte. Les zones représentent les points suivants: 1. L du compte utilisateur 2. Le QR Code du secret OTP 3. La clé publique de l utilisateur 4. Boutons d action sur le compte Exporter Crée dans le dossier racine de l utilisateur ($HOME pour GNU/Linux) un fichier compte.scc.enc permettant l importation du compte sur une autre session de SC. Supprimer Supprime le compte dans son ensemble. Figure 5.16.: Capture d écran de la fenêtre de compte La fenêtre du carnet d adresses La fenêtre du carnet d adresses permet à l utilisateur d ajouter ou de supprimer les autres utilisateurs de SC. Comme le montre la figure 5.17, nous avons deux zones: 1. Liste des comptes utilisateurs inscrits dans l annuaire de SC. 2. Liste des comptes utilisateurs présents dans le cache local. En cliquant sur Ajouter, SC récupère la clé publique de l adresse sélectionnée dans la liste des utilisateurs inscrits et l enregistre dans le trousseau local. Alors qu en cliquant sur Supprimer, SC efface l adresse sélectionnée dans la liste locale ainsi que la clé publique associée. 54

67 Figure 5.17.: Capture d écran de la fenêtre du carnet d adresses La fenêtre d options Avec la fenêtre principale, la fenêtre d options est la plus utilisée dans la gestion des fichiers par SC. Cette fenêtre s ouvre quand l utilisateur clique sur le bouton Options de la fenêtre principale. La figure 5.18 illustre cette interface. Les zones ont les significations suivantes: 1. Modifie le niveau de sécurité du fichier. 2. Liste des ayants droit. 3. Liste des utilisateurs non ayants droit. Avec les deux boutons centraux < et >, l utilisateur peut soit ajouter un utilisateur comme ayant droit soit supprimer un ayant droit. Figure 5.18.: Capture d écran de la fenêtre d options 55

68 6. Tests de l application Après avoir défini le projet, effectué sa conception et codé la réalisation, nous devons tester notre application pour vérifier qu elle correspond à la demande du cahier des charges. Ainsi, nous réalisons des cas tests issus des spécifications afin de démontrer que chaque partie est remplie selon le contrat Cas tests Nous définissons, dans cette section, les cas tests utilisés pour éprouver notre implémentation. Ils sont découpés en deux parties: 1. Application client: teste toutes les opérations de l utilisateur. 2. Synchronisation: teste les étapes de synchronisation entre le dossier principal de SC et les dossiers de partage. Chaque cas test comporte une description qui indique sur quoi porte le test et l environnement de test Cas tests de l application client Voici les cas tests de l application client, nous testons les actions de l utilisateur comme les entrées clavier et changements dans l arborescence du dossier principal de SC. Cas test n o 1 Etat OK Description Création de compte - vérification de l Condition Aucun compte créé. Manipulation Lancer l application, cliquer sur «Créer un compte», entrer une fausse adresse selon la RFC 3696 [41]. Résultat L application doit avertir l utilisateur que l adresse est fausse. 56

69 Cas test n o 2 Etat OK Description Création de compte - vérification du mot de passe Condition Aucun compte créé. Manipulation Lancer l application, cliquer sur «Créer un compte», entrer deux mots de passe différents. Résultat L application doit avertir l utilisateur que le mot de passe est faux. Cas test n o 3 Etat OK Description Création de compte - vérification du mot de passe Condition Aucun compte créé. Manipulation Lancer l application, cliquer sur «Créer un compte», entrer deux mots de passe inférieur à 10 caractères. Résultat L application doit avertir l utilisateur que le mot de passe est faux. Cas test n o 4 Etat OK Description Création de compte - vérification du mot de passe Condition Aucun compte créé. Manipulation Lancer l application, cliquer sur «Créer un compte», entrer deux mots de passe sans chiffre. Résultat L application doit avertir l utilisateur que le mot de passe est faux. Cas test n o 5 Etat OK Description Création de compte - vérification du mot de passe Condition Aucun compte créé. Manipulation Lancer l application, cliquer sur «Créer un compte», entrer deux mots de passe sans caractères spéciaux. Résultat L application doit avertir l utilisateur que le mot de passe est faux. 57

70 Cas test n o 6 Etat OK Description Création de compte - vérification du mot de passe Condition Aucun compte créé. Manipulation Lancer l application, cliquer sur «Créer un compte», entrer une adresse valide et un mot de passe valide. Effectuer les mêmes tests pour la phrase de passe que ceux effectués pour les CT 2 à 5. Résultat L application doit avertir l utilisateur que la phrase de passe est fausse. Cas test n o 7 Etat OK Description Connexion - vérification des identifiants Condition Un compte utilisateur créé. Manipulation Lancer l application, entrer les informations de connexion, l adresse doit être erronée par rapport au compte créé. Résultat L application doit avertir l utilisateur que la connexion n est pas établie. Cas test n o 8 Etat OK Description Connexion - vérification des identifiants Condition Un compte utilisateur créé. Manipulation Lancer l application, entrer les informations de connexion, le mot de passe doit être erroné par rapport au compte créé. Résultat L application doit avertir l utilisateur que la connexion n est pas établie. 58

71 Cas test n o 9 Etat OK Description Gestion des fichiers - ajout d un fichier Condition Connecté avec un compte utilisateur, dossier SC avec un service actif. Manipulation Lancer l application et se connecter avec le compte client. Placer un fichier dans le dossier de service. Puis cliquer sur le fichier. Résultat Le fichier doit apparaître dans l arborescence dans le dossier de service. Si on clique sur le fichier, le niveau de sécurité et les ayants droit doivent apparaître sur le côté droite de la fenêtre. Le niveau doit être à 0 et seul le compte utilisateur actuel doit être dans la liste des ayants droit. Cas test n o 10 Etat OK Description Gestion des fichiers - suppression d un fichier Condition Connecté avec un compte utilisateur, dossier SC contenant un fichier dans un dossier de service. Manipulation Lancer l application et se connecter avec le compte client. Supprimer le fichier du dossier de service. Résultat Le fichier ne doit plus apparaître dans l arborescence. Cas test n o 11 Etat OK Description Gestion des fichiers - ajout de fichiers Condition Connecté avec un compte utilisateur, dossier SC avec un service actif. Manipulation Lancer l application et se connecter avec le compte client. Placer plusieurs fichiers avec une arborescence dans le dossier de service. Puis cliquer sur les fichiers. Résultat Les fichiers doivent apparaître dans l arborescence. Si on clique sur un fichier, le niveau de sécurité et les ayants droit doivent apparaître sur le côté droite de la fenêtre. Le niveau doit être à 0 et seul le compte utilisateur actuel doit être dans la liste des ayants droit. 59

72 Cas test n o 12 Etat OK Description Gestion des fichiers - suppression de fichiers Condition Connecté avec un compte utilisateur, dossier de service contenant plusieurs fichiers avec une arborescence. Manipulation Lancer l application et se connecter avec le compte client. Supprimer les fichiers du dossier de SC. Résultat Les fichiers ne doivent plus apparaître dans l arborescence. Cas test n o 13 Etat OK Description Gestion des fichiers - exportation du compte Condition Connecté avec un compte utilisateur. Manipulation Lancer l application et se connecter avec le compte client. Aller dans «Compte», puis «Personnel». Cliquer sur «Exporter». Résultat Un fichier compte.scc.enc doit être créé dans à la base du dossier utilisateur de l OS. Cas test n o 14 Etat OK Description Gestion des fichiers - importation d un compte Condition Compte utilisateur exporté, aucun compte actif enregistré. Manipulation Lancer l application et cliquer sur «Importer». Choisir un dossier principal pour SC, puis sélectionner le fichier compte.scc.enc. Entrer le mot de passe du compte. Enfin, cliquer sur «Ok». Résultat Vous devez pouvoir vous connecter avec les informations du compte importé. 60

73 Cas test n o 15 Etat OK Description Gestion des fichiers - suppression de compte Condition Connecté avec un compte utilisateur. Attention, l adresse du compte connecté ne sera plus disponible après l opération. Manipulation Lancer l application et se connecter avec le compte client. Aller dans «Compte», puis «Personnel». Cliquer sur «Supprimer». Accepter la requête. Résultat L application se ferme et tous les dossiers en correspondance avec le compte sont supprimés. Cas test n o 16 Etat OK Description Gestion des fichiers - création non valide de compte Condition Compte créé puis supprimer le compte. Manipulation Lancer l application et créer un nouveau compte avec la même adresse que le compte supprimé. Résultat L application vous averti que l adresse est déjà utilisée. Cas test n o 17 Etat OK Description Gestion des fichiers - ajout d autres utilisateurs Condition Connecté avec un compte utilisateur. Un autre compte utilisateur doit exister dans le système de SC. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner le menu «Compte», puis «Carnet d adresses». Sélectionner l adresse du deuxième compte dans la liste du haut, puis cliquer sur «Ajouter». Enfin, cliquer sur «Fermer». Résultat Après avoir cliqué sur «Fermer», retourner dans le carnet d adresses. L adresse doit apparaître dans la liste du bas. 61

74 Cas test n o 18 Etat OK Description Gestion des fichiers - suppression d autres utilisateurs Condition Connecté avec un compte utilisateur. Un autre compte utilisateur doit être enregistré dans la liste des utilisateurs. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner le menu «Compte», puis «Carnet d adresses». Sélectionner l adresse du deuxième compte dans la liste du bas, puis cliquer sur «Supprimer». Enfin, cliquer sur «Fermer». Résultat Après avoir cliqué sur «Fermer», retourner sur dans le carnet d adresses. L adresse ne doit plus apparaître dans la liste du bas. Cas test n o 19 Etat OK Description Gestion des fichiers - ajout d un ayant droit Condition Connecté avec un compte utilisateur, dossier SC contenant plusieurs fichiers avec une arborescence dans le dossier de SC. Un autre compte utilisateur doit être enregistré dans la liste des utilisateurs. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner un fichier dans l arborescence, puis cliquer sur «Options». Ajouter l autre compte utilisateur depuis la liste des «Utilisateurs» dans la liste des «Ayants droit» avec le bouton <. Résultat L adresse du deuxième compte doit apparaître dans la liste des «Ayants droit». 62

75 Cas test n o 20 Etat OK Description Gestion des fichiers - suppression d un ayant droit Condition Connecté avec un compte utilisateur, dossier SC contenant plusieurs fichiers avec une arborescence dans le dossier de SC. Un autre compte utilisateur doit être enregistré dans la liste des utilisateurs et être ayant droit sur un fichier. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner le fichier dans l arborescence qui a comme ayant droit l autre utilisateur, puis cliquer sur «Options». Supprimer l autre compte utilisateur depuis la liste des «Ayants droit» dans la liste des «Utilisateurs» avec le bouton >. Résultat L adresse du deuxième compte doit apparaître dans la liste des «Utilisateurs». Cas test n o 21 Etat OK Description Gestion des fichiers - suppression de l ayant droit courant Condition Connecté avec un compte utilisateur, dossier SC contenant plusieurs fichiers avec une arborescence dans le dossier de SC. Un autre compte utilisateur doit être enregistré dans la liste des utilisateurs et être ayant droit sur un fichier. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner le fichier dans l arborescence qui a comme ayant droit l autre utilisateur, puis cliquer sur «Options». Supprimer le compte utilisateur courant depuis la liste des «Ayants droit» dans la liste des «Utilisateur» avec le bouton >. Résultat L adresse du compte courant n a pas bougé de la liste des «Ayants droit». 63

76 Cas test n o 22 Etat OK Description Gestion des fichiers - modification du niveau de sécurité Condition Connecté avec un compte utilisateur, dossier de service contenant plusieurs fichiers avec une arborescence dans le dossier de SC. Un autre compte utilisateur doit être enregistré dans la liste des utilisateurs. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner un fichier, puis cliquer sur «Options». Modifier la valeur de l option «Sécurité». Valider l option en appuyant sur «Ok». Résultat Sélectionner à nouveau le même fichier dans l arborescence, le nouveau niveau de sécurité doit être à la valeur modifiée. Cas test n o 23 Etat OK Description Gestion des fichiers - ajout d un service Condition Connecté avec un compte utilisateur. Aucun service actif. Manipulation Lancer l application et se connecter avec le compte client. Aller dans «Services», puis «Ajouter». Choisir un service et cliquer sur «Ajouter». Résultat Dans l arborescence principale, un dossier portant le nom du service vient d apparaître ainsi que dans le système de fichiers local. Cas test n o 24 Etat OK Description Gestion des fichiers - suppression d un service Condition Connecté avec un compte utilisateur. Plusieurs services actifs. Manipulation Lancer l application et se connecter avec le compte client. Aller dans «Services», puis «Supprimer». Choisir un service et cliquer sur «Supprimer». Résultat Dans l arborescence principale, le dossier portant le nom du service vient de disparaître et de même dans le système de fichiers local Cas tests de synchronisation Voici les cas tests de la synchronisation entre le dossier de déchiffrement de SC et les dossiers de partage des services de Cloud. 64

77 Cas test n o 25 Etat OK Description Sécurité niveau 0 - sauvegarde de fichiers Condition Connecté avec un compte utilisateur, dossier de service contenant plusieurs fichiers avec une arborescence dans le dossier de service. Aucune archive dans le dossier de synchronisation du service de partage. Tous les fichiers composant l arborescence doivent avoir le niveau de sécurité à 0. Manipulation Observer le dossier de synchronisation. Lancer l application et se connecter avec le compte client. Résultat Les archives.scd doivent apparaître dans le dossier de synchronisation après chiffrement. Cas test n o 26 Etat OK Description Sécurité niveau 0 - restauration de fichiers Condition Connecté avec un compte utilisateur, dossier de service contenant aucun fichier. Un dossier de synchronisation contenant une arborescence d archive SC. Toutes les archives composant l arborescence doivent avoir le niveau de sécurité à 0. Manipulation Observer le dossier SC. Lancer l application et se connecter avec le compte client. Résultat Les fichiers doivent apparaître dans le dossier SC après déchiffrement. Cas test n o 27 Etat OK Description Sécurité de niveau 0 - partage de fichiers Condition Connecté avec un compte utilisateur, dossier de service contenant plusieurs fichiers avec une arborescence dans le dossier de service. Aucune archive dans le dossier de synchronisation du service de partage. Tous les fichiers composant l arborescence doivent avoir le niveau de sécurité à 0. Autre compte utilisateur disponible dans le carnet d adresses et actif. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner un fichier et cliquez sur «Options». Choisir l autre utilisateur comme ayant droit sur le fichier. Résultat Après synchronisation du service de Cloud utilisé, observer le dossier de service de l autre utilisateur, le fichier partagé doit être dans le dossier principal. 65

78 Cas test n o 28 Etat OK Description Sécurité de niveau 1 - nouvelle archive Condition Connecté avec un compte utilisateur, dossier de service avec aucun fichier. Archive dans le dossier de partage correspondant au service actif. L archive doit avoir un sécurité de 1 et le compte doit être un ayant droit. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner le fichier dans la zone des «Nouvelles archives» puis cliquer sur «Déchiffrer l archive». Entrer la phrase de passe du compte puis cliquer sur «Ok» Résultat Le fichier doit apparaître dans l arborescence de SC et dans le système de fichier de l OS. Cas test n o 29 Etat OK Description Sécurité de niveau 1 - archive plus récente Condition Deux comptes utilisateurs. Un fichier partagé avec niveau de sécurité à 1. Manipulation Sur le premier compte modifier le fichier de base. Attendre que la synchronisation de la nouvelle archive soit arrivée sur le deuxième compte. Depuis le deuxième compte, sélectionner le nom du fichier dans l arborescence. Seul le bouton «Déchiffrer» est accessible. Cliquer et entrer la phrase de passe. Enfin, cliquer sur «Ok». Résultat Sélectionner le fichier dans l arborescence, le bouton «Options» doit être accessible et la nouvelle version du fichier doit être dans le système de fichier de l OS. 66

79 Cas test n o 30 Etat OK Description Sécurité de niveau 1 - archive plus ancienne Condition Deux comptes utilisateurs. Un fichier partagé avec niveau de sécurité à 1. Manipulation Sur le premier compte, modifier le fichier de base. Attendre que la synchronisation de la nouvelle archive soit arrivée sur le deuxième compte. Depuis le deuxième compte, après synchronisation, modifier le fichier. Sélectionnez le fichier dans l arborescence de SC. Seul le bouton «Partager» est actif. Cliquer dessus et entrer la phrase de passe. Résultat Une nouvelle archive vient d être créée. Cas test n o 31 Etat OK Description Sécurité de niveau 2 - nouvelle archive Condition Connecté avec un compte utilisateur, dossier de service avec aucun fichier. Archive dans le dossier de partage correspondant au service actif. L archive doit avoir une sécurité de 2 et le compte doit être un ayant droit. Manipulation Lancer l application et se connecter avec le compte client. Sélectionner le fichier dans la zone des «Nouvelles archives» puis cliquer sur «Déchiffrer l archive». Entrer la phrase de passe du compte ainsi que le code OTP puis cliquer sur «Ok» Résultat Le fichier doit apparaître dans l arborescence de SC et dans le système de fichier de l OS. 67

80 7. Qualification de l application Nous avons conçu puis réalisé l application SC. Nous l avons ensuite testée. Nous pouvons l analyser afin de confirmer qu elle correspond à la demande du cahier des charges. Nous analysons d abord ce qui a été réalisé et validé dans le projet, puis nous regardons ce qui ne fonctionne pas comme prévu ou qui n a pas été implémenté. Ensuite, nous énumérons les différentes améliorations qui peuvent être ajoutées au projet. Enfin, nous décidons si l implémentation répond au cahier des charges Les fonctionnalités validées L implémentation actuelle respecte le cahier des charges en ce qui concerne le partage de fichiers chiffrés avec une granularité des droits d accès. Ces fonctionnalités sont considérées comme valides. Nous expliquons pourquoi nous les homologuons Le chiffrement des fichiers partagés Tous les fichiers qui sont gérés par SC sont chiffrés avant d être déplacés dans le dossier de partage du service. Et à l inverse, tous fichiers chiffrés par SC qui se trouvent dans le dossier de partage du service peuvent être déchiffrés si l utilisateur possède les droits d accès. Le chiffrement est effectué par l algorithme AES-256 qui est considéré comme sûr par les plus grandes organisations. Enfin, chaque clé symétrique est à usage unique, ce qui empêche une éventuelle redondance dans les informations transmises. Les tests confirment que le dé-chiffrement s exécute sans problème La granularité des droits d accès Chaque fichier géré par SC peut recevoir trois niveaux de sécurité qui spécifient les informations à fournir pour y accéder. Ces niveaux permettent une identification par compte, par mot de passe et par authentification forte. Nous démontrons que la granularité est réalisable et qu elle peut être modifiée ou améliorée. Les tests montrent que l accès aux fichiers chiffrés avec différents niveaux fonctionnent sans soucis Les fonctionnalités des services de partage L implémentation actuelle de SC ne modifie en rien les fonctionnalités des services de partage de fichiers. SC ne fait que placer un certain type de fichiers dans les dossiers de 68

81 partage. SC est totalement indépendant du service à part qu il demande un dossier de synchronisation accessible La gestion des utilisateurs Les utilisateurs de SC peuvent facilement s échanger des fichiers en se communiquant leur adresse d enregistrement. L échange de fichiers est transparent pour autant que tous les ayants droit aient accès au dossier partagé via le service de partage. De même, les tests prouvent que l échange des clés publiques est discret et fonctionnel Les fonctionnalités incomplètes ou non implémentées SC n est pas fini, l implémentation actuelle fonctionne pour les demandes de base mais reste un prototype. Certaines fonctionnalités ne sont pas éprouvées et d autres sont manquantes. Nous en énumérons les principales dans cette partie Le partage de clés publiques Le partage de clés publiques fonctionne mais n est pas sûr. Pour renforcer la sécurité, nous avons décidé qu une adresse ne peut être utilisée qu une seule et unique fois. De cette manière, nous évitons l usurpation d identité. Cependant, nous empêchons les corrections d erreurs comme le changement de la paire de clés asymétriques suite à une perte ou un vol. Pour palier à cette restriction, nous pourrions développer un annuaire avec gestion des comptes. Cet annuaire deviendrait le centre de gestion des utilisateurs et ainsi SC en serait dépendant en continu. Un dossier en lecture seule serait une deuxième piste intéressante pour le partage des clés publiques. Le propriétaire a les droits d écriture et les autres utilisateurs ont seulement les droits de lecture. De cette manière, nous espérons que le contenu du dossier proviendrait du propriétaire. La clé publique s y trouvant serait celle du propriétaire La gestion du compte utilisateur Actuellement, SC permet la création et la suppression de comptes utilisateurs mais pas la modification. La raison principale et que le mot de passe est utilisé comme clé pour protéger la clé privée. GPG permet la modification du mot de passe mais nous n avons pas implémenté cette possibilité. De plus, l adresse est liée à la clé publique sur l annuaire et comme nous ne pouvons pas modifier la paire de clés asymétriques, nous ne permettons donc pas la modification de l . La phrase de passe ainsi que le secret OTP peuvent être modifiés mais pour rester cohérent avec les autres données de l utilisateur, nous ne permettons pas ces modifications. 69

82 Le contrôle des dossiers de partage SC gère ses archives et ses fichiers présents dans le dossier principal. Par contre, aucun mécanisme de surveillance observe les modifications dans les dossiers de partage. Un utilisateur qui n est pas ayant droit mais qui a accès au dossier de partage peut supprimer l archive via le gestionnaire de fichiers de l OS. Il peut ensuite supprimer l archive et la remplacer par la sienne comme l illustre la figure 7.1. Avec cette implémentation nous avons donc une faille. Nous devrions avoir un historique des fichiers enregistrés afin de les comparer pour autoriser l accès ou non. Mais comme l utilisateur n est pas un ayant droit, il n a pas accès au fichier conf.enc donc il ne peut pas connaître les propriétés du fichier. Charlie Charlie Alice Archive SC Bob Alice Bob Dossier partagé Dossier partagé 1) Alice et Bob s échangent l archive SC. 2) Charlie qui a accès au dossier partagé, supprime l archive. Charlie Charlie Alice Archive SC de charlie Bob Alice Archive SC mise à jour Bob Dossier partagé Dossier partagé 3) Charlie crée une nouvelle archive qui porte le même nom avec Alice et Bob comme ayants droit. 4) Si Alice ou Bob ne fait pas attention aux ayants droit et qu il ou elle met à jour l archive, Charlie aura accès à l archive. Figure 7.1.: Schéma d un remplacement d une archive sans accès au départ L accès en fonction de l environnement Un niveau de sécurité proposé par le cahier des charges est d autoriser l accès à une archive si l utilisateur se trouve dans un environnement bien précis. Cette idée a été abandonnée car il existe beaucoup de solutions accessibles pour simuler l environnement 70

83 actuel de la machine. Des travaux sont en cours pour limiter les dérivations. Cette implémentation aurait pris trop de temps et aurait été trop spécifique pour rentrer dans le cadre de ce projet avec les objectifs visés pour la première version Les fonctionnalités futures SC peut très bien devenir une application utilisable, car nous avons vu que ces solutions existes pour la protection des données dans le cadre du partage de fichiers en ligne. Mais pour cela, en plus de certains points de la section 7.2, ils faudrait y ajouter d autres fonctionnalités telles que cités dans cette section Contrôle du dossier principal et des dossiers de partage Actuellement, SC ne contrôle pas l existence des dossiers de chiffrement ou de déchiffrement. Il faudrait donc prévoir un mécanisme de vérification de l environnement d exécution pour assurer que tous les éléments minimums soient présents avant de lancer l application Le déplacement des fichiers dans le dossier principal SC gère l ajout et la suppression de fichiers dans le dossier principal. Un nouvel ajout met des valeurs par défaut aux options du fichier. Mais si un utilisateur déplace le fichier dans l arborescence du dossier principal, alors SC crée un nouveau fichier et perd les informations du fichier avant déplacement. Il serait intéressant de pouvoir reconnaître le fichier déplacé, avec par exemple, le hash de ce dernier pour garder les options déjà enregistrées Interaction plus poussée avec les services de partage Quand nous voulons partager un fichier avec plusieurs utilisateurs, nous devons récupérer leur clé publique puis les ajouter comme ayants droit. Mais pour que le partage soit complet, nous devons aussi inviter les autres utilisateurs à accepter de partager un dossier avec le service de partage. Nous pensons qu il serait envisageable d utiliser les APIs des services pour envoyer des s contenant la demande de partage sans devoir passer par l application du service Gestion du multi-comptes par poste SC n est actuellement pas prévu pour gérer plusieurs comptes sur un même poste. Nous pouvons exporter un compte pour l importer sur un autre terminal, mais nous n avons pas prévu que deux personnes utilisent SC sur le même terminal. Dans ce dernier cas, il faudrait prévoir un système de gestion des fichiers plus performant. Ceci afin d éviter un conflit entre les fichiers dans la base de données et surtout que les utilisateurs ne puissent pas voir les fichiers déchiffrés des autres utilisateurs. 71

84 Effacement du fichier après lecture Certains fichiers peuvent être très importants et leur visibilité doit être réduite au minimum. Nous pouvons penser qu une fois que le fichier déchiffré ait été lu, SC pourrait le détruire afin de ne garder que l archive chiffrée sur le disque Validation de l implémentation Après analyse des fonctionnalités opérationnelles et semi-opérationnelles, nous pouvons dire que le but principal du prototype d implémentation de SC est rempli. En effet, nous garantissons un partage de fichiers via un service de partage en ligne. Ce partage ne comporte que des fichiers chiffrés assurant la confidentialité des données. La disponibilité est garantie par le fournisseur de service et non SC. L intégrité est valide lors d un déchiffrement complet de l archive sans erreur. Le déchiffrement est protégé par différents niveaux de sécurité ce qui permet une granularité des droits d accès. En démontrons la validation des points précédents par les cas tests, nous justifions que notre implémentation est valide par rapport au cahier des charges en réalisant une couche de sécurisation pour les partages de fichiers via le Cloud Computing avec une granularité des droits d accès. Par contre, le prototype n est pas exploitable comme application finale avec les fonctionnalités non terminées comme nous l expliquons dans les sections 7.2 et 7.3. Mais nous avons démontré que l architecture par clés publiques répond à la demande du cahier des charges et que cette voie est viable pour le développement d une application. 72

85 8. Conclusion SC a pour but de fournir une couche de sécurisation à des services de partage de fichiers utilisant le Cloud computing. Cette couche ne doit pas réduire les possibilités du service de base tout en offrant un mécanisme de granulation des droits d accès. Après études de l environnement du Cloud computing ainsi que des solutions existantes, nous avons établi les spécifications du projet. Ces dernières nous ont amené à choisir une architecture qui utilise le plus possible les capacités du service de partage. Ainsi, nous utilisons une application client autonome avec partage de clés publiques via un annuaire. Malheureusement, les annuaires actuels ne permettent pas d assurer l identification de la clé via l adresse . En effet, nous avons besoin de cette adresse pour la communication entre les utilisateurs. Nous avons donc choisi de développer notre propre annuaire. L application comporte plusieurs parties gérées par deux grandes classes qui sont les gestionnaires de fichiers et d utilisateurs. Le premier gestionnaire interagit avec les fichiers locaux et les fichiers chiffrés, c est lui aussi qui gère toutes les clés de chiffrement soit symétriques, soit asymétriques. Il crée les fichiers chiffrés qui sont en réalité des archives. Ces dernières contiennent le fichier à partager chiffré avec une clé symétrique, un fichier de configuration lui aussi chiffré avec la même clé symétrique qui contient à son tour les informations sur les ayants droit, le niveau de sécurité et la date de la dernière modification du fichier. Enfin, un dernier fichier qui contient la clé symétrique chiffrée cette fois par la clé publique de chaque ayant droit. En déchiffrant le fichier de configuration, le gestionnaire donne un état au fichier en fonction de ses propriétés et autorise ou non la synchronisation sur le dossier principal. En cas de synchronisation non directe, l utilisateur est invité à s identifier pour déchiffrer le fichier partagé. Le second gestionnaire permet à l utilisateur de contrôler les autres utilisateurs de SC afin qu ils puissent devenir des ayants droit sur les fichiers en récupérant leur clé publique sur l annuaire. Le gestionnaire permet aussi d exporter et d importer un compte utilisateur afin de permettre l utilisation de SC sur plusieurs terminaux. La granulation des droits d accès a trois niveaux. Le premier ne nécessite aucune intervention de l utilisateur, car c est la connexion à l application qui autorise l accès. Le second niveau demande à l utilisateur d entrer un second mot de passe. Enfin, le troisième niveau demande le même mot de passe que le second mais assure une authentification forte en ayant recourt à l utilisation d un code OTP. Ce code est généré via une application pour smartphone. L implémentation actuelle est suffisante mais des améliorations possibles permettraient 73

86 de la rendre utilisable plus confortablement. Nous pouvons, par exemple, proposer une meilleure intégration avec les services de partage en utilisant leur API afin de ne pas devoir utiliser leur application quand l utilisateur décide de partager un fichier. Ou encore, supprimer des fichiers sensibles après un certain temps ou un changement d environnement. Voir même, se passer d annuaire à l aide d un dossier en lecture seul pour l échange de clés publiques. Pour conclure, nous pouvons dire que l implémentation actuelle rempli le cahier des charges en permettant le partage de fichiers chiffrés via un service dans le Cloud tout en spécifiant différents niveaux de sécurité. L utilisation d une architecture à application autonome associée à une paire de clés asymétriques sont tout à fait utilisables pour cette problématique. Toutefois, une meilleure gestion des clés asymétriques est à prévoir car toute la sécurité ainsi que la confidentialité des données reposent sur l exactitude de la clé publique du destinataire. Lieu et date: Yverdon-les-Bains, le 26 juillet 2012 Marc-Henri Primault 74

87 Références bibliographiques [1] Haute école d ingénierie et de gestion du canton de vaud. [2] Définition du cloud computing. [3] James F. Ransome John W. Rittinghouse. Cloud computing : implementation, management, and security. Boca Raton : CRC Press, [4] icloud d apple. [5] Sky drive de windows. https://skydrive.live.com/. [6] Ubuntu one de canonical. https://one.ubuntu.com/. [7] Dropbox. [8] Sugarsync. [9] Amazon s3. [10] Google drive. https://drive.google.com/starthome. [11] Truecrypt. [12] Safebox. [13] Boxcryptor. [14] Spideroak. https://spideroak.com/. [15] Wuala. [16] Jia Xu. Secure cloud with encrypted data using file-based authentification. Technical report, National University of Singarpore, [17] Hongwei Li, Yuanshun Dai, and Bo Yang. Identity-based crpytography for cloud security. Technical report, University of Electronic Science and Technology of China. [18] Secureid. [19] Google authenticator. [20] Rfc hmac-based one-time password (hotp) algorithm. https://tools.ietf.org/html/rfc4226. [21] Rfc time-based one-time password (totp) algorithm. https://tools.ietf.org/html/rfc6238. [22] The gnu privacy guard. [23] Michael W. Lucas. PGP GPG : Assurer la confidentialité de son courrier électronique. Eyrolles, [24] Annuaire pgp de global directories. https://keyserver.pgp.com. 75

88 [25] Annuaire pgp du mit. [26] Xubuntu site officiel. xubuntu.org. [27] Virtualbox site officiel. https://www.virtualbox.org/. [28] Python site officiel. [29] Pypi - the python package index. [30] Pycrypto - module python. [31] Advanced encryption standard - aes. Marc-Henri Primault [32] Python-gnupg - module python. [33] Fonctions de dé-chiffrement de fichiers utilisant pycrypto et aes. [34] Vecteur d initialisation - wikipedia. initialisation. [35] Code qr - wikipédia. [36] Api google chart. https://developers.google.com/chart/. [37] Méthode de vérification du code otp. [38] Json (javascript object notation) - site officiel. [39] Framework qt. [40] Pyqt. [41] Rfc structure adresse . [42] Installation de python elinux.org. Bibliographie générale [43] Documentation python. [44] Stackoverflow. [45] Pierre Barthélemy, Robert Rolland et Pascal Véron : Cryptographie principes et mises en oeuvre. Hermes Science, [46] Niels Ferguson et Bruce Schneier : Cryptographie : En pratique. Vuibert, [47] Mark Summerfield : Rapid GUI Programming with Python and QT. Prentice Hall, [48] Tarek Ziade : Programmation Python: Conception et optimisation. Eyrolles, 2 e édition,

89 A. Manuel d utilisation Le manuel d utilisation de (SC) vous permet d installer et d utiliser SC dans les meilleures conditions. A.1. Installation de SC SC ne propose pas un installation automatique. Vous devez installer les dépendances manuellement. A.1.1. Installation sur un système GNU/Linux Pour les systèmes d exploitation basés sur GNU/Linux, nous allons utiliser le système de package de votre distribution. Dans notre exemple, nous utilisons une Xubuntu en 32 bits. Installation de Python La version de Python utilisée par SC est la version 3.2 ou supérieure. Nous installons en plus les outils de développement utiles à Python. Pour l installer, tapez la commande suivante dans un terminal: sudo apt-get install python3 python3-dev python3.2 python3.2-dev g++ wget Si votre distribution ne propose pas Python en version 3.2, vous pouvez suivre les instructions suivantes issues du site de elinux.org [42]: # install dependencies sudo apt-get install zlib1g-dev libncurses-dev libbz2-dev libreadline-dev sqlite3 libsqlite3-dev libssl-dev libgdbm-dev tk-dev wget tar xvfj Python tar.bz2 cd Python /configure # (The configure command takes approx 5 mins) make # (The make command takes approx 46 min when you are not running X) 77

90 sudo make install # (The make install command takes approx 5 mins) Installation de pip pip est un utilitaire d installation de module pour Python. La version actuelle est définie pour Python 2.7, pour installer une version pour Python 3.2, suivez les commandes suivantes: wget sudo python3 distribute_setup.py wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py sudo python3 get-pip.py Installation de PyCrypto et python-gnupg SC utilise deux modules pour la partie cryptographie et gestion des clés asymétriques. Nous installons PyCrypto en version 2.6 ou supérieure et python-gnupg en version ou supérieure avec les commandes suivantes: sudo pip install pycrypto sudo pip install python-gnupg Pour que python-gnupg fonctionne, nous devons installer GnuPG en version 1.4 mais pas en version 2 ou supérieure. Pour l installer, tapez la commande suivante: sudo apt-get install gnupg Installation de PyQt Pour l interface graphique, SC utilise Qt en version 4.7 ou supérieure. Pour faire la connexion entre Qt et Python, nous utilisons PyQt en version compatible avec Qt. D abord, installez Qt sudo apt-get install libqt4-dev Puis, installez sip wget sip tar.gz tar xvfz sip tar.gz cd sip python3 configure.py make sudo make install 78

91 Enfin, installez PyQt wget PyQt-x11-gpl tar.gz tar xvfz PyQt-x11-gpl tar.gz cd PyQt-x11-gpl python3 configure.py make sudo make install A.2. Utilisation de SC SC ne propose pas actuellement un exécutable car l adresse IP de l annuaire doit être fournie avant le lancement de l application. Pour lancer SC, rendez vous dans le dossier SecureCloud où se trouve le fichier main.py et lancez la commande suivante: python3 main.py xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx représente l adresse IP de l annuaire. L installation et le déploiement de l annuaire sont expliqués dans la section A.3. Aucune vérification n est faite sur l adresse IP. Assurez vous que vous entrez la bonne. IMPORTANT: vous devez être dans le dossier où se trouve le fichier main.py et non dans un dossier précédent. SC ne fonctionnera pas si vous utilisez ce genre de commande: python3.../securecloud/main.py xxx.xxx.xxx.xxx Une fois l application lancée, vous arrivez sur la fenêtre de connexion A.1. Figure A.1.: Fenêtre de connexion 79

92 A.2.1. Création d un compte utilisateur Depuis la fenêtre de connexion, vous pouvez créer un compte en cliquant sur Crée un compte. Vous arrivez sur la fenêtre de création de compte A.2. Entrez l que vous souhaitez utiliser ainsi que le mot de passe du compte. Le mot de passe doit respecter les points suivants: 10 caractères minimum un chiffre minimum une lettre minuscule minimum une lettre majuscule minimum au moins un caractère Figure A.2.: Fenêtre de création de compte - étape 1 Si les informations entrées sont correctes, vous arrivez sur la deuxième fenêtre de création A.3. Sur cette interface vous recevez votre secret OTP sous forme de QR Code que vous devez scanner avec Google Authenticator [19]. Puis, entrez la phrase de passe, cette phrase a les mêmes restrictions que le mot de passe. Enfin, indiquez dans quel dossier SC doit installer les dossiers contenant les fichiers déchiffrés.si les informations entrées sont correctes, SC va générer la paire de clés asymétriques. La génération de clés asymétriques peut prendre 5 secondes comme 2 minutes, cela dépend des performances de votre ordinateur. 80

93 Figure A.3.: Fenêtre de création de compte - étape 2 A.2.2. Utilisation de la fenêtre principale Après avoir créé votre compte, vous pouvez retourner sur la page de connexion et entrer les informations adéquates. Une fois connecté, vous arrivez sur la fenêtre principale A.4. Figure A.4.: Fenêtre principale de SC Cette fenêtre est découpée en plusieurs zones numérotées avec les significations suivantes: 81

94 1. Menu de l application 2. Arborescence des fichiers déchiffrés gérés par SC. La colonne État indique l état actuel du fichier avec les valeurs suivantes: sync Le fichier est synchronisé automatiquement. auth Le fichier demande une authentification pour déchiffrer l archive depuis le dossier de partage. part Le fichier demande une authentification pour écraser l archive du dossier de partage. 3. Paramètres du fichier sélectionné dans l arborescence. Le niveau de sécurité ainsi que les ayants droit sont affichés. Selon l état du fichier, les boutons sont actifs ou non. 4. Cette zone contient le nom des nouvelles archives non présentes dans le dossier principal de SC. A.2.3. Exporter et importer un compte utilisateur Pour utiliser SC sur plusieurs terminaux avec le même compte utilisateur, il est possible d exporter le compte et de l importer sur une autre session de SC. Actuellement, SC ne gère pas le multi-compte par session. N utilisez donc pas plusieurs comptes sur le même terminal. L exportation de compte Pour exporter le compte, vous devez aller dans menu Compte puis Personnel A.5. Vous arrivez sur la page de consultation du compte A.6. Puis, vous pouvez exporter votre compte en cliquant sur Exporter. Un fichier compte.scc.enc est créé dans le dossier utilisateur du système d exploitation. Figure A.5.: Contenu du menu compte L importation d un compte Après avoir exporté le compte, SC peut l importer sur un nouveau terminal. Pour importer un compte, lancez SC et sur la fenêtre de connexion cliquez sur Importer. La fenêtre d importation A.7 s ouvre. Sélectionnez le dossier principal, puis le fichier compte.scc.enc et enfin le mot de passe du compte exporté. Après que l importation ait réussi, connectez vous normalement depuis la fenêtre de connexion. 82

95 Figure A.6.: Fenêtre de consultation des informations du compte Figure A.7.: Fenêtre d importation du compte A.2.4. Ajouter ou supprimer des services de partage SC gère plusieurs services de partage de fichiers dans le Cloud. Pour ajouter un service, utilisez le menu Service puis Ajouter A.8. La fenêtre d ajout de service A.9 s ouvre. Dans cette interface, sélectionnez le dossier qui est synchronisé par ce service et son nom dans la liste déroulante. Puis cliquez sur Ajouter. Figure A.8.: Contenu du menu services 83

96 Figure A.9.: Fenêtre d ajout de services Pour supprimer un service actif, retournez dans le menu Service mais cette fois-ci choisissez Supprimer. Dans la fenêtre de suppression de service A.10, sélectionnez le service puis cliquez sur Supprimer. Figure A.10.: Fenêtre de suppression de services A.2.5. Ajouter ou supprimer des utilisateurs Pour partager les fichiers, vous devez d abord enregistrer les autres utilisateurs qui deviendront des ayants droit. Pour ajouter des utilisateurs du réseau SC, allez dans le menu Compte puis Carnet d adresses. La fenêtre du carnet d adresses A.11 s ouvre. Sélectionnez l adresse de votre futur destinataire dans la liste déroulante et cliquez sur Ajouter. Pour supprimer un utilisateur, retournez sur la fenêtre du carnet d adresses et sélectionnez l adresse dans la liste, comme l illustre la figure A.12. Puis cliquez sur Supprimer. A.2.6. Modifier les options d un fichier Maintenant que vous gérez les fichiers et les utilisateurs, vous pouvez modifier les propriétés des fichiers afin de définir le niveau de sécurité et les ayants droit. 84

97 Figure A.11.: Fenêtre du carnet d adresses Figure A.12.: Suppression d une adresse Sélectionnez un fichier qui a l état sync, puis cliquez sur Options. La fenêtre d options A.13 s ouvre. Là, vous pouvez modifier le niveau de sécurité entre 0 et 2 avec la définition suivante: 0 La connexion à SC suffit comme identification. 1 La phrase de passe est demandée pour l identification. 2 La phrase de passe et le code OTP sont demandés pour l identification. Pour ajouter des ayants droit, sélectionnez une adresse dans la liste des utilisateurs et cliquez sur le bouton <. À l inverse, pour supprimer un ayant droit, sélectionnez le dans la liste des ayants droit et cliquez sur le bouton >. Les changements sont effectifs une fois que vous cliquez sur OK. 85

98 Figure A.13.: Fenêtre d options sur un fichier A.2.7. Exemple d identitication Lorsque vous déchiffrez ou écrasez un fichier qui possède un niveau de sécurité supérieur à 0, SC vous demande d entrer des informations d identification. Nous donnons un exemple pour une authentification de niveau 2. La nouvelle archive dropbox/mi6/007.txt est disponible, comme l illustre la figure A.14. Puis, nous cliquons sur Déchiffrer l archive. À ce moment là, la fenêtre d identification A.15 s ouvre. Nous entrons notre phrase de passe ainsi que notre code OTP donné par Google Authenticator, comme le montre la figure A.16. Puis, nous cliquons sur OK, si aucun message d avertissement ne survient, nous voyons apparaître notre fichier dans l arborescence. Figure A.14.: Nouvelle archive disponible 86

99 Figure A.15.: Fenêtre d identification Figure A.16.: Fenêtre de génération de code OTP sous Android A.3. Installation de l annuaire SC fonctionne avec un annuaire de clés publiques spécifique. Pour installer cet annuaire, il faut un environnement faisant appel à Python 3.2. Pour installer Python 3.2, référez vous à la partie A.1.1. Une fois l environnement installé, assurez vous que le paquet OpenSSl soit installé. sudo apt-get install openssl Puis, placez vous dans le dossier SecureCloud et lancez l annuaire avec la commande suivante: python3 annuaire.py xxx.xxx.xxx.xxx Où xxx.xxx.xxx.xxx est l adresse IP de l annuaire. 87

Synchroniser ses photos

Synchroniser ses photos Synchroniser Avec l'arrivée des smartphones et tablettes équipés de fonctions «appareils photos», nous réalisons de plus en plus de photos avec ceux-ci. Soucis, la mémoire de ces outils n'est pas aussi

Plus en détail

Etude des outils du Cloud Computing

Etude des outils du Cloud Computing Etude des outils du Cloud Computing Sommaire : Présentation générale.. 2 Contexte... 2 Définitions. 2 Avantage.. 2 Inconvénients. 3 Types d offres de service Cloud.. 3 Comparaison des services Cloud 4

Plus en détail

Nuage Cloud notions, utilisation

Nuage Cloud notions, utilisation Page:1 Cours pour utilisation simple du Cloud Table des matières 1-Généralités...2 1.1-Les principales fonctionnalités...2 2-Les solutions proposées...4 2.1-Choix du fournisseur...4 2.2-Installation de

Plus en détail

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION Introduction L application cbox peut-être installée facilement sur votre ordinateur. Une fois l installation terminée, le

Plus en détail

Veille Technologique. Cloud-Computing. Jérémy chevalier

Veille Technologique. Cloud-Computing. Jérémy chevalier E6 Veille Technologique Cloud-Computing Jérémy chevalier Table des matières DESCRIPTION :...2 Introduction :...2 Définition du Cloud :...2 Exemple de serveur proposant la solution de Cloud :...2 Les spécificités

Plus en détail

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION Introduction L application cbox peut-être installée facilement sur votre

Plus en détail

Windows 8 Module 5 Cours windows8 Dominique Bulté Sal e Informatique de Cappel e la Grande novembre 2013

Windows 8 Module 5 Cours windows8 Dominique Bulté Sal e Informatique de Cappel e la Grande novembre 2013 Windows 8 Module 5 13. Configurer sa messagerie à l aide de l application Courrier Windows 8 et Windows RT offrent un outil dédié à la messagerie. Cette application, appelée simplement Courrier, vous propose

Plus en détail

Etude des outils du Cloud Computing

Etude des outils du Cloud Computing Etude des outils du Cloud Computing Sommaire : Présentation générale.. 2 Définitions. 2 Avantage.. 2 Inconvénients. 3 Types d offres de service Cloud.. 3 Comparaison des services Cloud 4 Conclusion 5 Présentation

Plus en détail

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft Le Cloud Computing désigne ces giga-ressources matérielles et logicielles situées «dans les nuages» dans le sens où elles sont accessibles via Internet. Alors pourquoi recourir à ces centres serveurs en

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

RAPPORT FINANCIER SEMESTRIEL AU 30 JUIN 2015

RAPPORT FINANCIER SEMESTRIEL AU 30 JUIN 2015 RAPPORT FINANCIER SEMESTRIEL AU 30 JUIN 2015 Société anonyme au capital de 538 668 euros. Siege social: 5-9, rue Mousset Robert 75012 Paris. RCS Bobigny 440 014 678 Activité : Services de Télécommunication

Plus en détail

QU EST CE QUE LE CLOUD COMPUTING?

QU EST CE QUE LE CLOUD COMPUTING? En France, on parle plus volontiers d «informatique en nuage» 1 pour décrire ce concept. Apparu au début des années 2000, le cloud computing constitue une évolution majeure de l informatique d entreprise,

Plus en détail

«JE CREE EN RHÔNE-ALPES : Les outils numériques réveillent la création d entreprises!»

«JE CREE EN RHÔNE-ALPES : Les outils numériques réveillent la création d entreprises!» «JE CREE EN RHÔNE-ALPES : Les outils numériques réveillent la création d entreprises!» L UTILISATION DU NUMERIQUE DANS SON PROJET DE CREATION D ENTREPRISES Lionel POINSOT Directeur Espace Numérique Entreprises

Plus en détail

CCI YONNE ATELIER ENP 14 NOVEMBRE 2011. Je veux mieux gérer mon entreprise grâce au numérique (nomadisme, SaaS, etc.)

CCI YONNE ATELIER ENP 14 NOVEMBRE 2011. Je veux mieux gérer mon entreprise grâce au numérique (nomadisme, SaaS, etc.) CCI YONNE ATELIER ENP 14 NOVEMBRE 2011 Je veux mieux gérer mon entreprise grâce au numérique (nomadisme, SaaS, etc.) Les ateliers ENP L Espace Numérique Professionnel vous propose 11 ateliers pour répondre

Plus en détail

Windows 8 Module 3 Cours windows8 Dominique Bulté Sal e Informatique de Cappel e la Grande novembre 2013

Windows 8 Module 3 Cours windows8 Dominique Bulté Sal e Informatique de Cappel e la Grande novembre 2013 Windows 8 Module 3 7. L'indispensable fonction «Paramètres du PC» (3/3) Nous voilà arrivé à la dernière étape de notre tour d horizon des nombreuses options du module Paramètres du PC. Cet outil permet

Plus en détail

Cloud computing Votre informatique à la demande

Cloud computing Votre informatique à la demande Cloud computing Votre informatique à la demande Thomas RULMONT Définition du Cloud Computing L'informatique dans le nuage (en anglais, cloud computing) est un concept ( ) faisant référence à l'utilisation

Plus en détail

OCLOUD BACKUP MINI GUIDE. http://ocloud.pripla.com/ 1 Ocloud Backup/Mini- Guide

OCLOUD BACKUP MINI GUIDE. http://ocloud.pripla.com/ 1 Ocloud Backup/Mini- Guide OCLOUD BACKUP MINI GUIDE http://ocloud.pripla.com/ 1 Ocloud Backup/Mini- Guide Table of Contents 1. Ocloud Backup : de quoi s agit- il? 3 2. Advantages 5 3. Données techniques 6 4. Foire aux questions

Plus en détail

Le Cloud Computing. Stockez et accédez à tous vos documents et données depuis n importe où. Mai 2014

Le Cloud Computing. Stockez et accédez à tous vos documents et données depuis n importe où. Mai 2014 Le Cloud Computing Stockez et accédez à tous vos documents et données depuis n importe où Mai 2014 SOMMAIRE - Qu est ce que le cloud computing? - Quelle utilisation? - Quelle utilité? - Les déclinaisons

Plus en détail

Chapitre N 7: Configuration et administration d un réseau local. Configuration et administration d un réseau local

Chapitre N 7: Configuration et administration d un réseau local. Configuration et administration d un réseau local Configuration et administration d un réseau local I Introduction : Une fois le matériel est choisi, le câblage est réalisé et les différentes composantes du réseau sont connectées, il faut. Quelque soit

Plus en détail

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...

Plus en détail

Comment utiliser mon compte alumni?

Comment utiliser mon compte alumni? Ce document dispose d une version PDF sur le site public du CI Comment utiliser mon compte alumni? Elena Fascilla, le 23/06/2010 Sommaire 1. Introduction... 2 2. Avant de commencer... 2 2.1 Connexion...

Plus en détail

Mes documents Sauvegardés

Mes documents Sauvegardés Mes documents Sauvegardés Guide d installation et Manuel d utilisation du logiciel Edition 13.12 Photos et illustrations : Copyright 2013 NordNet S.A. Tous droits réservés. Toutes les marques commerciales

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Hébergement MMI SEMESTRE 4

Hébergement MMI SEMESTRE 4 Hébergement MMI SEMESTRE 4 24/03/2015 Hébergement pour le Web Serveurs Mutualités Serveurs Dédiés Serveurs VPS Auto-Hébergement Cloud Serveurs Mutualités Chaque Serveur héberge plusieurs sites Les ressources

Plus en détail

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur Informations sur l utilisation du webmail du CNRS Webmail du CNRS Manuel Utilisateur V1.0 Octobre 2012 Table des matières Généralités... 2 Navigateurs testés... 2 Internet Explorer... 2 Firefox... 3 Connexion...

Plus en détail

Installation et configuration de base de l active Directory

Installation et configuration de base de l active Directory SCHMITT Année 2012/2014 Cédric BTS SIO Installation et configuration de base de l active Directory Description: Ce projet a pour but d installer l active directory et de créer une redondance en cas de

Plus en détail

PROCÉDURE D AIDE AU PARAMÉTRAGE

PROCÉDURE D AIDE AU PARAMÉTRAGE PROCÉDURE D AIDE AU PARAMÉTRAGE SOMMAIRE Futur a fait évoluer son service de messagerie professionnel Futur Office. Le présent document va vous accompagner pas à pas vers la récupération de vos divers

Plus en détail

cbox VOS FICHIERS DEVIENNENT MOBILES! INTERFACE WEB MANUEL D UTILISATION

cbox VOS FICHIERS DEVIENNENT MOBILES! INTERFACE WEB MANUEL D UTILISATION cbox VOS FICHIERS DEVIENNENT MOBILES! INTERFACE WEB MANUEL D UTILISATION BV Introduction L application cbox peut-être installée facilement sur votre ordinateur. Une fois l installation terminée, le disque

Plus en détail

Installation et utilisation du client FirstClass 11

Installation et utilisation du client FirstClass 11 Installation et utilisation du client FirstClass 11 Support par téléphone au 03-80-77-26-46 ou par messagerie sur la conférence «Support Melagri» Sommaire Page I) Installation du client FirstClass 2 II)

Plus en détail

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones. PERSPECTIVES Le Single Sign-On mobile vers Microsoft Exchange avec OWA et ActiveSync Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des

Plus en détail

Les Enseignants de l Ere Technologique - Tunisie. Niveau 1

Les Enseignants de l Ere Technologique - Tunisie. Niveau 1 Les Enseignants De l Ere Technologique - Tunisie - LE CLOUD COMPUTING TAT Tunisie 2014 Le Cloud Computing 1. Définition Les Enseignants de l Ere Technologique - Tunisie Le cloud computing (en français

Plus en détail

OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS

OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS http://ocloud.pripla.com/ Copyright 2014 Private Planet Ltd. Certaines applications ne sont pas disponibles dans tous les pays. La disponibilité des applications

Plus en détail

Formation owncloud Thierry DOSTES - Octobre 2013 1

Formation owncloud Thierry DOSTES - Octobre 2013 1 1 2 3 4 5 IasS (Infrastructure as a Service) : l entreprise gère les OS des serveurs et les applicatifs tandis que le fournisseur administre le matériel serveur, les couches de virtualisation, le stockage

Plus en détail

ACCEDER A SA MESSAGERIE A DISTANCE

ACCEDER A SA MESSAGERIE A DISTANCE Pour garder le contact avec leur entreprise, de plus en plus de collaborateurs ont besoin d accéder à leurs emails lorsqu ils sont en déplacement ou à domicile. Cet accès distant est facilité si la messagerie

Plus en détail

NFS Maestro 8.0. Nouvelles fonctionnalités

NFS Maestro 8.0. Nouvelles fonctionnalités NFS Maestro 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 10 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5)

Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5) Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5) QU EST CE Q UN SYSTEME D ADMINISTRATION ET DE DEPLOIEMENT?... 1 1. INSTALLATION SUR LE SERVEUR :... 4 2. PREPARATION DE

Plus en détail

Organiser le disque dur Dossiers Fichiers

Organiser le disque dur Dossiers Fichiers Ce document contient des éléments empruntés aux pages d aide de Microsoft Organiser le disque dur Dossiers Fichiers Généralités La connaissance de la logique d organisation des données sur le disque dur

Plus en détail

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3 SOMMAIRE Futur Telecom a fait évoluer son service de messagerie professionnel Futur Office. Le présent document va vous accompagner pas à pas vers la récupération de vos divers éléments de messagerie suite

Plus en détail

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3 sommaire Futur Telecom a fait évoluer son service de messagerie professionnel Futur Office. Le présent document va vous accompagner pas à pas vers la récupération de vos divers éléments de messagerie suite

Plus en détail

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration Fonctions Synchronisation dynamique des fichiers : mise à jour automatique des documents sur tous les équipements Partage et collaboration : partage simple des fichiers entre employés, clients et partenaires

Plus en détail

ACCÉDER A SA MESSAGERIE A DISTANCE

ACCÉDER A SA MESSAGERIE A DISTANCE ACCÉDER A SA MESSAGERIE A DISTANCE Lorraine Pour garder le contact avec leur entreprise, de plus en plus de collaborateurs ont besoin d accéder à leurs emails lorsqu ils sont en déplacement ou à domicile.

Plus en détail

A - Composants d un Cloud

A - Composants d un Cloud A - Composants d un Cloud Rappel pratique des principes et Composants 2015-02-05 AG - 1 Objectifs du Cloud : de faire communiquer automatiquement et instantanément entre eux différents appareils : Mac,

Plus en détail

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003

Plus en détail

1. Paramétrer la sauvegarde automatique de Windows

1. Paramétrer la sauvegarde automatique de Windows personnelles (documents, images, musiques, vidéos, etc.) est une démarche à ne pas négliger. Qu il survienne en effet une panne ou un dégât de l ordinateur et celles-ci sont définitivement perdues sans

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Android Usage Professionnel

Android Usage Professionnel Android Usage Professionnel Guide pratique Ce document met l accent sur l intégration pratique des appareils Android en entreprise. Juin 2014 Ulrik Van Schepdael Mobco bvba Avant-propos Android est la

Plus en détail

NOTICE D UTILISATION MAC OS

NOTICE D UTILISATION MAC OS NOTICE D UTILISATION MAC OS Sommaire : Procédure d installation p. 4 Configuration p. 7 Restauration des données sauvegardées p. 11 FAQ illustrée p. 13 Comment créer une tâche de sauvegarde? p. 14 Comment

Plus en détail

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.3

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.3 Sophos Mobile Encryption pour Android Aide Version du produit : 1.3 Date du document : février 2013 Table des matières 1 À propos de Sophos Mobile Encryption...3 2 Affichage de la page d'accueil...5 3

Plus en détail

Qu est-ce que le «cloud computing»?

Qu est-ce que le «cloud computing»? Qu est-ce que le «cloud computing»? Par Morand Studer eleven Octobre 2011 Qu est-ce que le «cloud computing»? - Morand Studer eleven Octobre 2011 www.eleven.fr 1 Aujourd hui, la démocratisation de l informatique

Plus en détail

MEGA Administration-Supervisor. Guide de l administrateur

MEGA Administration-Supervisor. Guide de l administrateur MEGA Administration-Supervisor Guide de l administrateur MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

WebFTP Un client Web sécurisé pour FTP

WebFTP Un client Web sécurisé pour FTP WebFTP Un client Web sécurisé pour FTP Jirung Albert SHIH, Shih@math.Jussieu.fr Université Paris 7 JRES 2001 Introduction Nous allons dans ce document présenter une solution mise en œuvre sur le réseau

Plus en détail

Connexion d un client lourd à la messagerie e-santé PACA

Connexion d un client lourd à la messagerie e-santé PACA Connexion d un client lourd à la messagerie e-santé PACA La messagerie sécurisée e-santé PACA est un service de type Webmail. Un Webmail est une interface Web rendant possible l émission, la consultation

Plus en détail

BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline.

BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline. BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline. Base de données développée Par Alain Barbeau www.basedpsy.com alainbarbeau@basedpsy.com

Plus en détail

Architecture Constellio

Architecture Constellio Architecture Constellio Date : 12 novembre 2013 Version 3.0 Contact : Nicolas Bélisle nicolas.belisle@doculibre.com 5146555185 1 Table des matières Table des matières... 2 Présentation générale... 4 Couche

Plus en détail

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm LES COURS ONLINE P ar des étudiants our des étudiants Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm CAHIER DES CHARGES I - Préface...4 II - Introduction...5 III - Glossaire...6

Plus en détail

Travail d équipe et gestion des données L informatique en nuage

Travail d équipe et gestion des données L informatique en nuage Travail d équipe et gestion des L informatique en nuage BAR Octobre 2013 Présentation Au cours des études collégiales et universitaires, le travail d équipe est une réalité presque omniprésente. Les enseignants

Plus en détail

Administration d un serveur de base de données SQL Server 2000 Et programmation

Administration d un serveur de base de données SQL Server 2000 Et programmation Compte rendu d'activité Nature de l'activité : Administration d un serveur de base de données SQL Server 2000 Et programmation Contexte : Dans le cadre de l implémentation d une base de données (Access)

Plus en détail

PARTAGE DE DOCUMENTS EN LIGNE AVEC ONEDRIVE

PARTAGE DE DOCUMENTS EN LIGNE AVEC ONEDRIVE PARTAGE DE DOCUMENTS EN LIGNE AVEC ONEDRIVE Quelle que soit sa messagerie en ligne Gmail, Hotmail, Yahoo, Free, etc. il est aisé d envoyer un document en pièce jointe. Toutefois, si les documents envoyés

Plus en détail

Intégration d un poste Linux dans un domaine W2K

Intégration d un poste Linux dans un domaine W2K Intégration d un poste Linux dans un domaine W2K Pascal Gachet EIVD pascal.gachet@eivd.ch mai 2003 Intégration d un poste Linux dans un domaine W2K 2 Table des matières Introduction... 2 Terminologie...

Plus en détail

Formation Fonctions Collaboratives

Formation Fonctions Collaboratives 1 Formation Fonctions Collaboratives 2 Introduction Ergonomie Données initiales Messagerie Gestion de ressources Agenda partagé Disque virtuel Publication Sommaire Applications tierces 3 Introduction 4

Plus en détail

Guide de configuration du module SMS chiffré NetXServ. Version : 1.2 Auteur : JP. Diffusion : 01/03/2013. Libre. Restreinte.

Guide de configuration du module SMS chiffré NetXServ. Version : 1.2 Auteur : JP. Diffusion : 01/03/2013. Libre. Restreinte. Diffusion : Libre Restreinte Interne Guide de configuration du module SMS chiffré NetXServ Version : 1.2 Auteur : JP 01/03/2013 RESIX 140, bis rue de Rennes 75006 PARIS Tél. : 01 39 30 03 50 - Fax : 01

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

INSTALLATION AUTOMATISEE DE (W7) VIA (WDS) SUR WINDOWS 2008 SERVEUR 2014. Notre futur c est aujourd hui Page 1

INSTALLATION AUTOMATISEE DE (W7) VIA (WDS) SUR WINDOWS 2008 SERVEUR 2014. Notre futur c est aujourd hui Page 1 Notre futur c est aujourd hui Page 1 Notre futur c est aujourd hui Page 2 Notre futur c est aujourd hui Page 3 Le schéma ci-dessus présente le contexte technique au cours de la réalisation des opérations

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

«Nouveautés Sage BOB 50 3.0»

«Nouveautés Sage BOB 50 3.0» «Nouveautés Sage BOB 50 3.0» A l usage des utilisateurs de Sage BOB 50 LES NOUVEAUTES DE LA VERSION 3.0 DE SAGE BOB 50 La nouvelle gestion du plan comptable Avec sa version Sage BOB 50 3.0, Sage innove

Plus en détail

PG208, Projet n 1 : Gestion d une bibliothèque

PG208, Projet n 1 : Gestion d une bibliothèque PG208, Projet n 1 : Gestion d une bibliothèque Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L

Plus en détail

Site Internet DOCS. Manuel de l utilisateur. Infocentre. 30 juin 2010. help@hector.unil.ch

Site Internet DOCS. Manuel de l utilisateur. Infocentre. 30 juin 2010. help@hector.unil.ch Site Internet DOCS Manuel de l utilisateur Infocentre 30 juin 2010 help@hector.unil.ch 1 Présentation rapide Le service en ligne DOCS a été développé par HEC pour faciliter le processus de gestion des

Plus en détail

Configuration Outlook

Configuration Outlook Configuration Outlook Configuration d un compte de courrier POP3. Configuration d un compte IMAP Archivage automatique Archivage par années Il est conseillé de prendre connaissance du document entier avant

Plus en détail

Comment se connecter au dossier partagé?

Comment se connecter au dossier partagé? Comment se connecter au dossier partagé? Physique Strasbourg Ingénierie 4 avril 2013 Table des matières 1 But du tutoriel 1 2 Client FTP : Filezilla 2 2.1 Téléchargement et installation du client de partage......................

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

Guide de gestion du site Web

Guide de gestion du site Web Guide de gestion du site Web Réalisé par Danny Sohier 1. Introduction Le site Web du club de golf Lorette est construit avec le CMS (Content Management System) Typo3. Ce produit en est un du domaine public.

Plus en détail

Procédure de Récupération du Système d exploitation OS X Lion (Mac)

Procédure de Récupération du Système d exploitation OS X Lion (Mac) Procédure de Récupération du Système d exploitation OS X Lion (Mac) Système de récupération à partir de la machine (partition recovery) OS X Lion ou OS X Mountain Lion intègre un ensemble d utilitaires

Plus en détail

Fiche technique WS2012

Fiche technique WS2012 Le 18/03/013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche technique Objectif 18/03/2013 26/03/2013 WS2012

Plus en détail

Glide OS. Cross-Platform Compatibility

Glide OS. Cross-Platform Compatibility Table des matières Introduction... 2 Différentes versions de Glide... 2 Les besoins de la société GSB... 3 Schéma d organisation... 4 Spécification technique de Glide OS.... 5 I. Première connexion à Glide

Plus en détail

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION SOMMAIRE ACCES EX10... 3 CONFIGURATION EX10 A. Entrées DNS à créer sur le(s) nom(s) de domaine choisi(s)... 3 B. Configuration Outlook 2007 - MAPI...

Plus en détail

TP 2 : Comptes et groupes (2 h 00)

TP 2 : Comptes et groupes (2 h 00) TP 2 : Comptes et groupes (2 h 00) I ENVIRONNEMENT LOGICIEL ET MATÉRIEL Vous disposez de : Windows 2008 server R2 Datacenter en tant que contrôleur de domaine ActiveDirectory sur le domaine «votrenom.local»

Plus en détail

Fiche Technique Windows Azure

Fiche Technique Windows Azure Le 25/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows

Plus en détail

TUTORIAL FOXMAIL. Introduction. I. Présentation de Foxmail. Installation et première utilisation de Foxmail

TUTORIAL FOXMAIL. Introduction. I. Présentation de Foxmail. Installation et première utilisation de Foxmail Introduction TUTORIAL FOXMAIL Un client de messagerie est un logiciel qui permet d écrire et d envoyer du courrier, d en recevoir et de le lire. Il permet également de diffuser des fichiers de tout types

Plus en détail

Notice et présentation WeSend Desktop

Notice et présentation WeSend Desktop Notice et présentation WeSend Desktop Logiciel d envoi sécurisé de fichiers volumineux. Sommaire 1 Introduction... 3 1.1 WeSend DeskTop : Application bureautique d envoi sécurisé de fichiers volumineux....

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Atelier Le gestionnaire de fichier

Atelier Le gestionnaire de fichier Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local

Plus en détail

Présentation. Logistique. Introduction

Présentation. Logistique. Introduction Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG GUIDE UTILISATION POINT DE VENTE INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE SOMMAIRE 1 Créer une tâche de sauvegarde... 4 1.1 Paramètres de la tâche... 4 1.1.1 Nommer la tâche... 4 1.1.2 Emplacement

Plus en détail

LIVRE BLANC ZEDOC NET SOLUTION V2

LIVRE BLANC ZEDOC NET SOLUTION V2 LIVRE BLANC ZEDOC NET SOLUTION V2 Solution logicielle prête à l emploi pour la numérisation, l indexation et la recherche en Texte Intégral de documents en mode Intra/Internet. Cette solution est composée

Plus en détail

Envoyer un courrier électronique et autres fonctions associées

Envoyer un courrier électronique et autres fonctions associées 19 février 2013 p 1 Envoyer un courrier électronique et autres fonctions associées Ce tutoriel vient compléter celui présenté le 5 février 2013, portant sur les généralités du courrier électronique. Nous

Plus en détail

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE Atelier «pour débuter» La gestion des photos avec Windows 10 1 Généralités sur le jargon de l image numérique Les différents formats d image : une image enregistrée

Plus en détail

Utiliser un client de messagerie

Utiliser un client de messagerie Utiliser un client de messagerie A. Préliminaires 1. Qu est-ce qu un client de messagerie? Habituellement, pour consulter vos mails, vous devez vous rendre sur internet, sur le webmail de votre fournisseur

Plus en détail

CONNECTIVITÉ. Options de connectivité de Microsoft Dynamics AX. Microsoft Dynamics AX. Livre blanc

CONNECTIVITÉ. Options de connectivité de Microsoft Dynamics AX. Microsoft Dynamics AX. Livre blanc CONNECTIVITÉ Microsoft Dynamics AX Options de connectivité de Microsoft Dynamics AX Livre blanc Ce document décrit les possibilités offertes par Microsoft Dynamics AX en terme de connectivité et de montée

Plus en détail

Documentation utilisateur MyGed. Documentation MyGed / Utilisation de MyGed Entreprise

Documentation utilisateur MyGed. Documentation MyGed / Utilisation de MyGed Entreprise Documentation MyGed / Utilisation de MyGed Entreprise 1 SOMMAIRE 1 Le classement...4 1.1 Le classement depuis une panière...4 1.2 Le traitement par lot...6 1.3 Classement depuis l explorateur Windows...7

Plus en détail

Etude des outils du Cloud Computing

Etude des outils du Cloud Computing Etude des outils du Cloud Computing Sommaire : Présentation générale....2 Définitions. 2 Avantage 2 Critères de sécurité du cloud...3 Inconvénients. 4 Types d offres de service Cloud.. 4 Différent types

Plus en détail

Notice d installation et d utilisation du logiciel de chiffrement

Notice d installation et d utilisation du logiciel de chiffrement Notice d installation et d utilisation du logiciel de chiffrement Installation de l outil de chiffrement Vous venez de recevoir un fichier Install.exe ainsi que cette documentation nommée Notice d installation

Plus en détail

DOCUMENTATION DU COMPAGNON ASP

DOCUMENTATION DU COMPAGNON ASP DOCUMENTATION DU COMPAGNON ASP MANUEL UTILISATEUR VERSION 1.0 / SEPTEMBRE 2011 Rédacteur Gilles Mankowski 19/09/2011 Chapitre : Pre requis CONTENU Pre requis... 3 Introduction... 3 Comment fonctionne l'asp?...

Plus en détail

Asynchronous Mailing System. Jérôme Clet-Ortega François Broquedis Dave Tapesar Stéphanie Moreaud 12 janvier 2007

Asynchronous Mailing System. Jérôme Clet-Ortega François Broquedis Dave Tapesar Stéphanie Moreaud 12 janvier 2007 Asynchronous Mailing System Jérôme Clet-Ortega François Broquedis Dave Tapesar Stéphanie Moreaud 12 janvier 2007 1 2 Objectifs Asynchronous Mailing System (AMS) doit permettre de rédiger des mails sur

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 09 : CC : Cloud Computing Sommaire Introduction... 2 Définition... 2 Les différentes

Plus en détail

Présentation des caractéristiques des logiciels de chiffrement : principes et fonctionnalités

Présentation des caractéristiques des logiciels de chiffrement : principes et fonctionnalités Présentation des caractéristiques des logiciels de chiffrement : principes et fonctionnalités Journée chiffrement Le 24 janvier 2006 X. Jeannin (CNRS/UREC) Plan! Différents aspects du chiffrement de données!

Plus en détail

www.lafamily.ch en 16 différences

www.lafamily.ch en 16 différences Cas d étude no 3 www.lafamily.ch en 16 différences juin 2003 Le mandat réalisé avec QuickSite de transformation du site existant de Lafamily.ch, centre globale d information pour les familles, à été de

Plus en détail

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel Un peu de vulgarisation Système clients serveur Kwartz Nous allons absolument éviter les termes techniques et essayer de vulgariser au maximum. En effet, l objectif sera à terme pour les enseignants, de

Plus en détail