Bonjour,
Afin de gérer mes mots de passe, je souhaiterai créer une application réalisant cela.
J'utilise actuellement un document Word et son cryptage (AES 128bits).
Cependant, par soucis de perdre le document, je le sauvegarde sur GoogleDrive, OneDrive, etc.
Sait-on jamais, il se peut qu'un inconnu se le procure un jour, et face à une attaque par force brute, le cryptage Word ne m'inspire pas confiance.
J'ai donc l'idée d'enregistrer les mots de passe dans un fichier, et de créer une application en C# pour l'éditer. Comme d'habitude, ce fichier par peur de le perdre, sera placé sur GoogleDrive, OneDrive, etc.
Mon but est donc de le sécuriser au maximum.
Pour ce faire, j'aimerai appliquer deux chiffrements AES 256bits. Il faudra donc deux mots de passe (que j’appellerai password dans le reste de l'explication) pour lire le fichier via l'application. Ceux-ci seront enregistrés dans le fichier sous forme de digest.
Voici une explication plus détaillée :
1) les mots de passe sont chiffrés par l'application avec le premier password. Il y a donc un premier chiffrement AES 256bits.
2) les données (les mots de passe chiffrés, les adresses mail, etc.) sont sérialisées dans un fichier. Le but de la sérialisation est de rajouter une pseudo-couche de sécurité.
3) le fichier est chiffré avec le deuxième password.
Cela offre donc deux couches de sécurité :
Un premier password sert à chiffrer les mots de passe.
Un second password sert à chiffrer le tout.
Qu'en pensez-vous ?
J'ai principalement des questions d'ordre technique :
- utiliser AES ou rijndael ?
- si l'on souhaite utiliser un password en tant que clé de chiffrement, pour une clé de 256bits qu'elle sera la taille minimum de la clé ?
- de ce que j'ai vu en C#, si on souhaite utiliser un password en tant que clé, il faut utiliser la classe Rfc2898DeriveBytes. Cependant, il faut aussi fournir un sel et un IV. Pourquoi ?
En Java un simple string suffit avec SecretKeySpec.
Mais admettons, si en C# il faut utiliser un sel et préciser l'IV, comment enregistrer ces informations ?
Merci à vous
ps : je ne suis pas à la recherche de leçon sur le fait d'enregistrer un tel fichier sur un serveur d'une entreprise privé.
ps2 : je vois déjà venir certains qui diront qu'utiliser deux chiffrements AES 256bits est déjà de trop tandis que d'autres diront que même avec 1000 chiffrements ce ne sera pas suffisant. Encore une fois ce n'est pas le but de cette discussion.
Partager