IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[cryptage] Créer un gestionnaire de mots de passe


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 23
    Points
    23
    Par défaut [cryptage] Créer un gestionnaire de mots de passe
    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.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 184
    Points : 25 140
    Points
    25 140
    Par défaut
    pas tout lu mais pour info un programme .net est décompilable en 2 clics (et donc on voit les clés de cryptage qui sont dedans)

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Les mots de passe d'ouverture du fichier seront enregistrés en tant que digest dans le fichier.

    Mais tu saurai m'en dire plus à ce sujet ? J'en ai toujours entendu parler mais je ne sais pas comment ça fonctionne. Il est donc impossible d’empêcher de récupérer un code source depuis un .exe ?

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Y'a-t-il un intérêt particulier à vouloir réinventer la roue ? Des logiciels tels que KeePass fournissent ces fonctionnalités, et bien plus...

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Ah c'est bien ça je ne connaissait pas
    On peut faire confiance ?

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Oui tu peux faire confiance et c'est en open source donc à priori s'il y avait des soucis je pense qu'on en aurait entendu parler (mais bon ceci dit on n'est jamais à l'abris de rien...). Tu as la main sur la base de données (le fichier qui centralise les info) et donc tu peux le mettre où tu veux et le partager avec qui tu veux.

    Je l'utilise au bureau depuis plusieurs années et c'est très pratique. Ca évite notamment de voir les mots de passe de production envoyés par mail non crypté Ce qui est aussi intéressant c'est la fonctionnalité qui permet de copier le mot de passe en mémoire pour quelques secondes et sans même avoir à afficher le mot de passe en clair. Ensuite il est effacé.
    Il est aussi possible pour ouvrir la base de données d'utiliser un mot de passe et un fichier, ce qui offre un peu plus de sécurité qu'un simple mot de passe. Je déconseille d'utiliser le lien avec un compte Windows car si le SID du compte change, il sera alors impossible de décrypter la base de données...

    Tous les soirs on fait un backup sur le fichier histoire d'avoir une copie au cas où. Voilà après KeePass est juste un exemple, j'imagine qu'il doit y avoir d'autres logiciels du même genre si tu veux comparer.

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Ok merci bien ça m'évite de créer un programme, même si ça aurai fait un bon exercice ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SUPPRIMER] Créer un gestionnaire de mots de passe
    Par pictbridge dans le forum Sécurité
    Réponses: 0
    Dernier message: 17/06/2015, 19h34
  2. gestionnaire de mots de passes
    Par ludolan dans le forum Débuter
    Réponses: 6
    Dernier message: 19/10/2010, 14h57
  3. Gestionnaire de mot de passe gratuit et performant
    Par Dsphinx dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 25/09/2009, 12h53
  4. Re-comment créer un userform pour mot de passe
    Par kedas dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/07/2007, 20h11
  5. Comment créer un accès avec mot de passe sur un site?
    Par phoque.r dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2007, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo