Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1399 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Protection mot de passe dans le code

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Protection mot de passe dans le code

n°1235500
peace50
Posté le 01-11-2005 à 10:12:11  profilanswer
 

bonjour,
Je suis en train de developper un soft qui ce connect a une base mysql.
Dans la chaine de connection je dois specifier le mot de passe de la base.
Le C# pouvant etre decompile le mot de passe sera visible.
Comment faire pour masquer le mot de passe de la base dans mon code c#.
merci
++

mood
Publicité
Posté le 01-11-2005 à 10:12:11  profilanswer
 

n°1235579
_Mose_
Lonesome coder
Posté le 01-11-2005 à 12:34:58  profilanswer
 

Une solution pas mal (déjà vue en entreprise) :
- stocker la chaîne de connection dans le fichier de config (beaucoup plus simple au niveau maintenance, permet un changement sans recomplier)
- crypter le password dans cette chaine
- décrypter le password au moment de faire la connexion  (connection c'est de l'anglais ;))
 
Je ne peux pas te donner de conseils sur les méthodes de cryptage, mais ça doit se trouver facile sur le net.

n°1235585
_Mose_
Lonesome coder
Posté le 01-11-2005 à 12:43:20  profilanswer
 

Bah ouais mais du coup, comment tu donnes le mot de passe à ton SGBD ?
Y'a un truc que j'ai pas pigé ?
T'as moyen de dire à MySql que tu lui file un hashage du password ?

n°1235586
masklinn
í dag viðrar vel til loftárása
Posté le 01-11-2005 à 12:44:50  profilanswer
 

_Mose_ a écrit :

Bah ouais mais du coup, comment tu donnes le mot de passe à ton SGBD ?
Y'a un truc que j'ai pas pigé ?
T'as moyen de dire à MySql que tu lui file un hashage du password ?


J'avais pas tout lu [:neowen]
 
J'avais raté le fait que c'était un pwd pour la db :o
Désolé :o
 
post supprimé :o


Message édité par masklinn le 01-11-2005 à 12:45:33

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1235647
peace50
Posté le 01-11-2005 à 13:46:20  profilanswer
 

oui mais le pb est que le c# peut etre decompile  
et donc il peut avoir acces a mes fonctions de cryptage et de decryptage

n°1235965
moi23372
Posté le 01-11-2005 à 21:54:51  profilanswer
 

oui!  
 
pourquoi n'imagine tu pas que lors du premier démarrage de l'application, il te demande le login et le mot de passe que tu stockerais par exemple dans les registres de windows, ou dans un fichier. Comme ça, l'application ne contiendrait null part le login et le mot de passe puisqu'il référencerais un registre ou un fichier...

n°1236358
_Mose_
Lonesome coder
Posté le 02-11-2005 à 14:01:01  profilanswer
 

Comment dire... on pourra toujours trouver un moyen de chopper ton password si tu le stocke qqpart. C'est qu'une question de motivation du cracker.
Sinon y'a une méthode plus sure encore, en utilisant des algos avec clef publique/clef privée, mais là il me semble qu'il faut créer une application serveur pour fournir les clefs. Je peux pas t'en dire plus.
 
Mais là ça te complique beaucoup la vie. Le plus simple c'est encore de faire un web service d'authentification qui va fournir une clef à l'utilisateur (en lui demandant login/password), et un web service d'accès à la base, relié à ton web service d'authentification, qui permet de donner les résultats des requêtes seulement si tu donne une clef valide dedans.
 
Après ça se cracke aussi : tu colle un sniffer sur le réseau et tu choppes le login password... alors tu peux l'encoder, je crois qu'il y'a des dialogbox d'authentification intégrées à Windows qui cryptent le password automatiquement, mais y'a aussi des malins qui savent les décrypter...

n°1236366
_Mose_
Lonesome coder
Posté le 02-11-2005 à 14:06:04  profilanswer
 

moi23372 a écrit :

pourquoi n'imagine tu pas que lors du premier démarrage de l'application, il te demande le login et le mot de passe que tu stockerais par exemple dans les registres de windows, ou dans un fichier. Comme ça, l'application ne contiendrait null part le login et le mot de passe puisqu'il référencerais un registre ou un fichier...


 
Si j'ai bien compris la problématique, en fait, Peace50 veut distribuer une application qui accède à une base, mais il ne veut pas que les utilisateurs puisse chopper le password pour aller jouer avec cette base... donc le registre c'est pareil, ca colle pas.  Je me trompe ?

n°1238016
moi23372
Posté le 03-11-2005 à 19:12:34  profilanswer
 

oui mais alors sa seule solution c'est de faire un webservice! pas le choix...

n°1238799
alien_nan
Posté le 04-11-2005 à 15:40:28  profilanswer
 

_Mose_ a écrit :

Comment dire... on pourra toujours trouver un moyen de chopper ton password si tu le stocke qqpart. C'est qu'une question de motivation du cracker.
Sinon y'a une méthode plus sure encore, en utilisant des algos avec clef publique/clef privée, mais là il me semble qu'il faut créer une application serveur pour fournir les clefs. Je peux pas t'en dire plus.
 
Mais là ça te complique beaucoup la vie. Le plus simple c'est encore de faire un web service d'authentification qui va fournir une clef à l'utilisateur (en lui demandant login/password), et un web service d'accès à la base, relié à ton web service d'authentification, qui permet de donner les résultats des requêtes seulement si tu donne une clef valide dedans.
 
Après ça se cracke aussi : tu colle un sniffer sur le réseau et tu choppes le login password... alors tu peux l'encoder, je crois qu'il y'a des dialogbox d'authentification intégrées à Windows qui cryptent le password automatiquement, mais y'a aussi des malins qui savent les décrypter...


 
 
euh...si c'est une appli winform, il va pas aller faire un webservice, non ?
si c une appli webform, les utilisateurs n'ont pas accès au serveur où se trouve l'appli ?
 
 

mood
Publicité
Posté le 04-11-2005 à 15:40:28  profilanswer
 

n°1238853
_Mose_
Lonesome coder
Posté le 04-11-2005 à 16:11:41  profilanswer
 

alien_nan a écrit :

euh...si c'est une appli winform, il va pas aller faire un webservice, non ?


Pourquoi pas ? C'est pas paske ça s'appelle "Web" service que c'est fait pour le Web... c'est un pur moyen d'éviter de se faire bloquer par les firewalls.

alien_nan a écrit :

si c une appli webform, les utilisateurs n'ont pas accès au serveur où se trouve l'appli ?


Si c'est une application web, je comprend pas pourquoi il veut autant protéger son password.  
Si c'est le cas, y'a deux solutions plus simples :
* Enfermer le serveur à clef dans un placard.
* Embaucher admin de confiance, qui n'aura aucun intérêt à pirater ton serveur.

n°1239124
nicolasbol​bol
Posté le 04-11-2005 à 21:33:51  profilanswer
 

up je me suis déja posée la question et j'ai pas trouvé de solution dans ma tête :) et donc ca m'intérèsse grandement !

n°1239143
nicolasbol​bol
Posté le 04-11-2005 à 22:17:45  profilanswer
 

à ce que j'ai entendu ce n'est pas possible !
 
Essaye d'allouer le minimum de droit à l'utilisateur de ta base de donnée et fait tes changements en appelant uniquement des procédures stockées !
 
Tu peux toujours crypter ton mot de passe dans ton code etc mais ca sera juste plus compliqué mais toujours pas impossible : il faut bien que le logiciel ai le mot de passe en clair à un moment ou à un autre pour se connecter à la base de donnée ! Il faut donc que si le mot de pase est volé, cela ne soit pas très grave d'ou l'utilisation de procédures stockées !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Protection mot de passe dans le code

 

Sujets relatifs
"ton code est tout pourri"indentation du code dans visual basic
Afficher du code dans une page HTML : question de sémantiqueGénérer code sous excel
Impression de code sourcesScript qui passe avec Xdialog et non avec Dialog
source code de jeux commerciauxformulaire : générer un mot de passe a partir du nom...
mon menu javascript passe "en dessous" de mon anim flashMot de passe bateau pr newb
Plus de sujets relatifs à : [C#] Protection mot de passe dans le code


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR