Salut, je pense que m�me avec un offuscateur ton client (avec plus de mal) arrivera encore � acc�der � l'application. Les codes offusqu�s peuvent �tre d�compiler surtout si c'est juste une classe qui est en cause et au pire il peut remplacer la classe par une autre.
Je pense que tu as plus un probl�me de conception de ta securit� pour le d�marrage. Si j'ai bien compris tu rentres un mot de passe au d�marrage qui est valid� par ta base et l'appli se lance. Ton client a fait sauter cette validation et l'appli c'est lanc�. Ce qui m'�tonne c'est que la connection � la base se r�alise sans authentification ou si elle a lieu cette authentification est en dur dans le code. Le mieux est de prot�ger toutes les donn�es de connection � la base dans un fichier encrypt� prot�g� par un mot de passe qui est founit au d�marrage. Ainsi si le mot de passe n'est pas fourni aucune connexion � la base ne peut �tre r�alis�e. Pour cela regarde JCE et JSSE. Il te permette de cr�er des espaces de stokage de cl� et de certificat qui seront utilis�s pour encrypter et d�crypter. Si tu utilises des certificats regarde OpenSSL pour g�n�rer tes certificats sans passer par un fournisseur qui est payant. La d�marche a suivre en g�n�ral est de r�aliser un certificat/cl�e priv�e qui fait autorit�, de g�n�rer un certificat/cl� priv� sign� par l'authori�. De g�n�rer un cl� temporaire utilisant un algo s�re (utilisant des cl�s tr�s tr�s longue) et rapide comme Blowfish par exemple. D'encrypter ton ficher de donn�es secr�te avec cette cl�e, d'encrypter la cl� avec la cl� public du dernier certificat et d'ecrire cette cl�e encrypt�e dans le fichier contenant les donn�es encrypt�e. Pour la lecture tu demande le mot de passe de la cl� priv�e, tu utilise la cl� priv� pour d�cript� la cl� Blowfish (par exemple), tu utilise la cl� blowfish pour d�cripter les donn�es que tu utilises pour r�aliser la connexion � la base de donn�es. Ainsi sans mot de passe de la cl� priv� tu ne peux pas te connecter � la base. De temps en temps tu peux reg�n�rer la cl� blowfish et r�encripter tes donn�es. Tu n'est pas oblig� de passer par des certificats et juste utilis� un algo d'encryptage comme Blowfish mais la proc�dure normal pour prot�ger des donn�es par mot de passe est de les utiliser. De plus de temps en temps il est bon de changer les mots de passe de la connexion � la base de donn�es Philippe Delrieu Cybernomade Damien Lecan wrote: >Bonjour, > >Ce matin, notre client nous a montr� le manque de s�curit� de notre >application. > >En effet, notre application ne peut se lancer sans d�verouillage par >login/mdp. Les �changes avec la base de donn�es sont m�mes crypt�s pour >�viter de voler le mot de passe sur le r�seau. J'�tais m�me assez fier du >boulot effectu�. > >Mais le client � pu rentrer sans m�me decouvrir le mot de passe. A notre >grande surprise, il a juste "d�compil�" notre code et modifi� l'application >pour que l'authentification soit toujours bonne ... Simple, cela ne lui a >pris plus de 5 min (surement moins encore s'il y avait encore eu les >commentaires). > >Je sais qu'il existe des outils "d'obfuscation" de code, mais est-ce >vraiment valable ? Est-ce la solution � mon probl�me ? >Alors alors, l'application est peut-�tre mal con�ue ... > >S'il faut que j'utilise un tel outil, � quel moment du processus de >d�veloppement faut-il l'appliquer ? > >Merci de votre aide. > >Damien Lecan >
