-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CryptFS : Avancement du projet #31
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Sabir MOHAMED <icare-sh@users.noreply.github.com> Co-authored-by: HyperLan <hyperlanf@gmail.com>
(no idea what I've done, because lot of time without coding)
TODO : augementer la taille de l'offset du bootloader |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CryptFS
Le système de fichiers a très bien avancé. Actuellement, la partie création de système pure est terminée. Il manque l'interfaçage avec le système.
Système de fichiers : mélange entre FAT et LUKS
Le système de fichiers que j'ai développé est fortement inspiré des systèmes FAT et LUKS.
Je ne vais pas trop rentrer dans le détail ici (vous pouvez déjà regarder un peu le code situé dans
include/cryptfs.h
), mais grosso modo le FS possède une table FAT un peu améliorée (en fait les FATs sont chaînées entre elles, ce qui permet d'en avoir une infinité) et possède une couche de chiffrement AES. Le chiffrement/déchiffrement du FS ne se fait qu'avec une seule clé symétrique (bien évidement), mais la clé en question est répliquée dans plusieurs blocs (des blocs d'utilisateurs), où elle est chiffrée avec du RSA (chaque utilisateur va chiffrer la clé AES avec sa clé publique pour stocker le digest directement sur le disque hôte, puis va déchiffrer ce digest avec sa clé privée).Nouvel interfaçage : FUSE au lieu de VFS en tant que module noyau.
Afin de rendre le développement plus facile, j'ai décidé de développer une première version du système de fichier sous FUSE.
Pour le moment, je n'ai pas implémenté l'interfaçage, mais j'ai préparé tout le projet pour cette finalité (élagage des Makefiles, suppression des VMs, ...)
DOs & DONEs
Tests
Tout le code que j'ai produit à été testé avec le framework Criterion.
Les tests sont disponibles dans
tests/criterion
.En ce qui concerne FUSE, la réalisation des tests pourra peut-être être un peu compliquée.
Néanmoins, je vous demande, dans la mesure du possible, de tester toutes vos fonctions.