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

VB.NET Discussion :

Probleme mot de passe


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Par défaut Probleme mot de passe
    Bonjour a tous ! J'aimerais creer une application qui pourra etre securisee par un
    mot de passe mais le probleme c'est que je ne sais pas ou le stocker.
    Pouvez-vous m'aider !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Par défaut
    Bonjour,

    Si tu ajoute une classe de cryptage / déryptage à ton appli tu peux stocker ton mot de passe en "chiffré" dans app.config ou autre.
    Perso c'est ce que j'utilise pour certains prog manipulant des data sensible, le prog à un module de décryptage. Bon de toute façon la sécurité du pass chiffré n'est pas inviolable, mais le blue ray non plus

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    le framework inclut du cryptage ?

    parce que je me demandais sachant que le .net est décompilable à l'identique quoi faire des mots de passes style celui de la connexion à la base de données ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Si tu stockes un HashMD5 dans ton code, il est visible en décompilant mais ça ne change rien au fait qu'il faut trouver une chaine qui génère le même Hash pour se connecter.
    De toute façon, à moins de déployer ton appli compilée en natif, tu t'exposes toujours à la décompilation.

    Au final, il n'y a pas de sécurité parfaite, mais on peut identifier plusieurs niveaux :
    - if (motdepasse_saisi == motdepasse_stocké) -> Contourné directement par décompilation : le mot de passe est en clair.
    - if (hash(motdepasse_stocké) == hash(motdepasse_saisi)) -> on sait quel hash il faut générer, reste à faire tourner la machine assez longtemps pour tomber sur une bonne chaine d'entrée) + en décompilant, on peut purement et simplement supprimer le check et recompiler.
    - if (serviceweb(hash(motdepasse_stocké)) == true) -> tu masques le hash recherché mais, tu es toujours vulnérable au décompilation/suppression/compilation.
    - Compilation en natif avant déployement, on est toujours exposé à un attaquant qui sait lire et altérer le code machine, mais ça met la chose hors de portée de l'utilisateur ou du hacker lambda (adolescement de 13 ans qui va sur astalavista).
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    malheureusement du .net (hors C++) compilé en natif n'est pas pret d'exister
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par sperot51
    malheureusement du .net (hors C++) compilé en natif n'est pas pret d'exister
    ça existe depuis longtemps
    see ngen.exe
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    j'aurais pas cru ...
    je vais me renseigner la dessus
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    En utilisant ngen.exe, tu génères une image native de ton assembly que tu stockes dans une partie spécifique du GAC, ça permet de se débarrasser de l'étape de jitting, et accélère le démarrage de l'appli.
    L'inconvénient est que celà se génère à partir de l'assembly, mais tu dois pouvoir la supprimer de la machine cliente après installation de l'image native.

    Pour info, ngen est fourni avec le framework 2.0. Il existe aussi des soft commerciaux : Remotesoft .NET Protector par exemple.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  9. #9
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    c'est certes plus contraignant de venir compiler chez le client mais si c'est plus rapide et plus sûr ca en vaut ptete le coup ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    [UPDATE]Ngen contient encore les metadata, ça ne génère pas une image native complète, donc à priori, c'est encore décompilable, et plus, il y a encore besoin de l'assembly d'origine pour fonctionner (d'après ce que j'ai pu lire sur le sujet). Pour ce qui est de 'compiler chez le client', tu peux intégrer cette étape dans ton installeur (installshield par exemple, ou nsis), SharpDevelop le fait déjà pour optimiser son temps de chargement.

    Il reste donc les soft commerciaux.
    Une autre solution courante est de mettre le code sensible ou sous propriété intellectuelle dans une dll non managée (écrite en C++ non managé par exemple) et de faire du p/invoke.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  11. #11
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    quand on est allergique aux langages type c++ c'est moins évident ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Par défaut Pourquoi faire compliquer?
    Pourquoi, au lieu de te compliquer la vie, tu le mets pas dans le code de ton appli directement? Tu prends un textbox ou l'utilisateur proposera la reponse du mot de passe, et un bouton a coté, il ecrit le mot qu'il pense, et il clique, si c'est bon, alors il peut utiliser l'appli.

  13. #13
    Membre éclairé
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Par défaut
    Oui mais mon logiciel peut etre protege par un mot de passe. Cela sinifie que l'utilisateur peut taper le mot de pase qu'il souhaite afin que d'autres utilisateurs ne puissent y acceder !

  14. #14
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Si tu utilises une base de données, tu peux stocker le hash du mot de passe dans la base. Sinon tu peux stocker ce hash dans la base de registre le cas échéant.
    Cela dit, ce genre de technique est facile à contourner... suppression de la clé, suppression de la valeur dans la base...
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  15. #15
    Membre éclairé
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Par défaut
    Merci beaucoup pour vos reponses ! Je crois que je vais utiliser une base donnees qui me semble la meilleure solution !

Discussions similaires

  1. probleme mot de passe session win 8.1
    Par sellig60 dans le forum Windows 8
    Réponses: 2
    Dernier message: 14/08/2014, 21h00
  2. probleme mot de passe oracle sous ubuntu
    Par othman3535 dans le forum Installation
    Réponses: 7
    Dernier message: 25/01/2011, 15h37
  3. Probleme mot de passe mysql
    Par anto48_4 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 14/03/2006, 11h02
  4. probleme identification et mot de passe root
    Par freums dans le forum Débuter
    Réponses: 5
    Dernier message: 19/09/2003, 17h09

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