Un gestionnaire de mot de passes

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous !

Il y a quelques jours l’idée de faire un gestionnaire de mots de passes en C# m’ai venu! J’ai donc décider de me lancer et je suis arrivé à réaliser deux prototypes fonctionnels que voilà :

Les deux prototypes utilisent la même interface mais le premier utilise Json pour le stockage tandis que le second utilise SQLite ( qui pose pas mal de problèmes, je pense pas qu’il sera utilisé pour le projet final ) :

Page d’installation
Page de connexion
Page principale

Bien entendu ce ne sont que des prototypes, les interfaces sont temporaires ^^ Côté sécurité, j’utilise AES-Rijndael en mode CBC, l’IV est regénéré aléatoirement à chaque sauvegarde et la clef de cryptage est un hash SHA256 du mot de passe maître.

Voilà :) Je suis ouvert à toute critique ( constructive ) et surtout à des idées de fonctionnalités qui vous plairaient ?

Merci pour la lecture, r00tKiller :)

+2 -0

Les deux prototypes utilisent la même interface mais le premier utilise Json pour le stockage tandis que le second utilise SQLite ( qui pose pas mal de problèmes, je pense pas qu’il sera utilisé pour le projet final ) :

Côté sécurité, j’utilise AES-Rijndael en mode CBC, l’IV est regénéré aléatoirement à chaque sauvegarde et la clef de cryptage est un hash SHA256 du mot de passe maître.

r00tkiller

J’ai pas saisi quand intervient le chiffrement, tu chiffre le fichier Json entier ou tu chiffre le mot de passe seulement puis tu stockes le mdp chiffré dans un fichier au format Json (ou dans SQLite) ?

Lorsque tu génères une nouvelle entrée, tu permets des conditions sur le mdp généré ? (comme keepassx) (doit contenir Majuscule, minuscule, ponctuation, chiffre, une longueur de 20 caractères …)

Ce n’est pas parce qu’ils sont nombreux à avoir tort qu’ils ont raison - Coluche

+0 -0
Auteur du sujet

Alors : le fichier json est crypté sur le disque dur en AES avec pour clef 256bits le master password hashé avec SHA256. A la connexion, on essaye de decrypter le fichier json, si on obtient un fichier json valide ( j’ai pas encore codé la vérification du json, pour le moment c’est juste si la fonction Decrypt ne cause pas d’erreurs, et ça marche même si dans certains cas il pourrait y a voir des erreurs ), on admet que le master password est correct et on charge la liste de mots de passes. A la sauvegarde on recréé la liste des mots de passes en json, on le crypte à nouveau avec le masterpassword hashé et on l’écrit.

(pour répondre à ta question tout le fichier Json est crypté)

Concernant les mots de passes, dans le proto je laisse le champ libre à l’user

Édité par r00tkiller

+0 -0
Auteur du sujet

Le CSV est tout aussi bien chargé que du json ou du yaml, et l’interface d’un tableur est plus agréable qu’un éditeur de texte. De plus, déjà que j’ai pas spécialement beaucoup de temps pour moi, j’ai pas envie de le passer à programmer un éditeur de fichier de langues en json ou autre ^^

+0 -0
Auteur du sujet

Ah, c’est du CSV derrière, ça change tout alors. :) Et, pas besoin d’éditeur spécifique pour modifier du JSON.

tleb

Je sais ^^ J’ai ajouté ça parce que j’avais spécifié que l’interface d’un tableur est plus agréable que l’interface de Notepad++ ou autre pour le JSON :)

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte