Projet Quoicouberg

Le projet avait pour objectif de mettre en pratique les connaissances et compétences acquises en matière de sécurité et de cryptographie. De plus, cela a été pour moi l'occasion de consolider mes compétences en développement web.


Introduction

Ce projet m'a permis de manipuler divers mécanismes cryptographiques tels que des certificats, des clés, des fonctions de hachage et des algorithmes de chiffrement/déchiffrement. De plus, j'ai pu réviser mes compétences en PHP/SQL et prendre connaissance des recommandations de l'ANSSI (Agence nationale de la sécurité des systèmes d'information).


Objectifs:

Les objectifs principaux de ce projet étaient les suivants :
Manipuler différents mécanismes cryptographiques, notamment les certificats, les clés, les fonctions de hachage et les algorithmes de chiffrement/déchiffrement.
Réviser mes compétences en PHP/SQL.
Prendre en compte les recommandations de l'ANSSI.

Description du projet:

Le projet consistait à développer un site web permettant le stockage et le partage sécurisé de fichiers. J'ai réalisé ce projet en collaboration avec un groupe de 4 personnes.


Fonctionnalités du projet:

Authentification : Les utilisateurs doivent s'inscrire en fournissant un nom d'utilisateur et un mot de passe. Cette inscription déclenche la création d'un compte utilisateur sur la machine, accessible uniquement par l'utilisateur et le service.
Stockage et partage : Les utilisateurs inscrits peuvent envoyer des fichiers via un formulaire. Ces fichiers sont stockés de manière chiffrée à l'aide d'une clé générée par le service. Les utilisateurs inscrits ont accès à la liste de leurs fichiers déposés et peuvent les télécharger. Ils peuvent également partager des fichiers avec d'autres utilisateurs en utilisant un lien unique.
Vérification de l'intégrité des fichiers : L'utilisateur ayant déposé un fichier peut vérifier l'intégrité des fichiers envoyés en comparant le MAC (Message Authentication Code) calculé côté serveur avec celui calculé localement. Pour cela, il aura accès à sa clé privée et à l'IV correspondant au fichier. Nous avons proposé un script Shell ou Python pour faciliter cette vérification.




L'auto-évaluation de mon travail:

Je suis très satisfait de ce projet. En effet, malgré le peu de temps dont nous disposions pour remplir le cahier des charges et les heures supplémentaires que nous avons dû effectuer, nous avons réussi à implémenter toutes les caractéristiques attendues de notre service. Nous sommes de loin le groupe qui a proposé le meilleur service parmi les autres groupes de deuxième année de BUT.