Voilà, j’ai une application web développée en Java (y a du Tomcat, Struts, Spring, et plein de joyeuseutés) qui utilise une base de données (si, si, je vous assure !). Il faut noter qu’une application traditionnelle (client lourd donc) utilise également cette BD.
Mon but, c’est d’implémenter un petit système de protection pour mon application, mais qui puisse aussi être implémentée sur le client lourd, développé en WinDev (je ne m’occupe pas de cette partie-là). Je ne veux pas le dernier cri de la protection alliée à de la cryptographie extraterreste, je veux juste faire un truc qui soit à la fois simple à implémenter, relativement fiable et pas trop facilement contournable (genre je change une valeur en base de données, et zou c’est parti mon kiki)…
Auriez-vous des idées intéressantes pour implémenter ce genre de softs ?
Bussière, si tu traines par ici, je veux bien que tu me sortes une idée telle que tu en as le secret B)
ps : Sachant qu’en général tout le bazar est installé en intranet, je ne souhaite pas d’un serveur d’authentification (par exemple) qui se trouve à l’extérieur…
[quote=“rorotaz, post:1, topic: 30370”]Hello les guiques,
Voilà, j’ai une application web développée en Java (y a du Tomcat, Struts, Spring, et plein de joyeuseutés) qui utilise une base de données (si, si, je vous assure !). Il faut noter qu’une application traditionnelle (client lourd donc) utilise également cette BD.
Mon but, c’est d’implémenter un petit système de protection pour mon application, mais qui puisse aussi être implémentée sur le client lourd, développé en WinDev (je ne m’occupe pas de cette partie-là). Je ne veux pas le dernier cri de la protection alliée à de la cryptographie extraterreste, je veux juste faire un truc qui soit à la fois simple à implémenter, relativement fiable et pas trop facilement contournable (genre je change une valeur en base de données, et zou c’est parti mon kiki)…
Auriez-vous des idées intéressantes pour implémenter ce genre de softs ?
Bussière, si tu traines par ici, je veux bien que tu me sortes une idée telle que tu en as le secret B)
ps : Sachant qu’en général tout le bazar est installé en intranet, je ne souhaite pas d’un serveur d’authentification (par exemple) qui se trouve à l’extérieur…[/quote]
tu veux quoi exactement ?
je ne comprends pas tout.
tu veux protéger tes données dans la bd, genre crypter la bd ?
ou tu veux un systeme de gestion des users ?
Bussiere
edit : si tu es courageux : http://www.cafzone.net/ipb/index.php?showtopic=21972
Non, pas de cryptage du contenu de la BD.
Je veux juste une protection du logiciel. En gros, au démarrage du serveur, le mécanisme en question vérifie la validité du logiciel, etc.
Si je pouvais éviter de mettre des infos dans la base de registres, ça m’arrangerait B)
Bussière, rapport à ton edit : Ton système, c’est pour remplacer le mot de passe saisi par l’utilisateur. Mais ce n’est pas ce que je cherche à faire ici…
dans ce cas le mieux c’est de demander une clef a l’utilisateur que tu lui fournit et toi tu verifie par réseau le nombre d’utilisations de chaques clefs et les ips associés aux clefs.
Edit : et un bète crc sur l’executable ?
edit bis : dsl je ne pige pas vraiment ce que tu veux faire, tu veux protéger quoi exactement ?
Tu veux être sur que le soft utilisé n’est pas une version pirate ?
Quand tu dis “…et toi tu verifie par réseau…”, ça veut dire que le serveur installé chez le client il va aller dialoguer avec un serveur à moi ? Mais ce n’est pas possible, puisque le serveur est installé sur un intranet chez le client, donc pas de moyen de le faire communiquer vers l’extérieur.
Bussière > Je vais prendre un exemple pour être plus clair.
Je suis le client A. J’ai un serveur installé sur mon réseau, et il marche bien.
Comme le client (potentiel) B est intéressé par le soft, je lui copie l’intégralité de mon répertoire où se trouve tomcat et mon serveur. Je lui file ça, il le décompresse chez lui, et paf, ça marche (on a un soft qui crée des scripts pour initialiser la base de données, donc B peut avoir la structure de sa base chez lui).
Moi, je voudrais que les magouilles de A avec B ne marche plus.
Suis-je plus clair ?
En gros, oui, c’est pour lutter contre le piratage du soft…
Simple a chaque installation tu génére une clef qui fait ton soft ne marche que sur cette machine précise.
En gros tu verifie plein de parametre systeme propre a une machine et ton exe les verifie au démarrage.
Si il trouve pas les bon paramètre machine bhé niquéééééééééééééé
Comme par exemple l’adresse mac de la carte réseau.
A l’installation il mémorise l’adresse mac, et a chaque lancement il verifie l’adresse mac.
Bussiere
Edit :
tu as meme la variante vicieuse :
A l’installation il check un parametre systeme fait une bidouille avec et génére une clef.
La le type qui veut l’installer doit t’appeler et donner la clef.
Toi tu lui donnes la complémentaire de cette clef.
Et la tu es sur de ou et comment est installé ton soft.
Le type ne peut filer sa clef d’activation vu qu’elle est propre a sa becance.
Si c’est un projet assez gros, tu as des libs toutes faites pour cela. Je pense notament a FlexLM qui fonctionne maintenant en Java ainsi qu’en WinDev, avec license flotante, fixe, par net… Bref, tout ce qu’il te faut, mais a un prix non négligeable. Sinon, tu as comme l’a dis Bussiere la possibilité de choper l’adresse MAC de la carte reseau, l’ID du disque dur…
Trevidos> Pour FlexLM, je crois de toutes façons ne pas avoir de budget spécifique pour ça, donc ça va être un peu mort…
Bussière> Pour la variante vicieuse, c’est non. Si les clients se retrouvent confrontés à ça, ça va les saouler…
Maintenant, le principe de choper des infos spécifiques au serveur, j’y pensais, mais je ne sais pas trop pourquoi, ça ne me satisfait pas des masses. Déjà, parce que le fait est que Java ne me donnera pas bezef d’infos (JDK 1.4) mais bon, à la limite, je pourrais m’en accomoder. Mais comment le client lourd va faire pour utiliser le même système, sachant qu’il ne connaitra pas ces infos du serveur (vu qu’il sera lancé sur d’autres machines)…
Mais bon, je vais réfléchir à une solution utilisant quand même un peu ce principe.
Merci pour votre aide, et si vous avez une bonne petite idée derrière la tête, je suis intéressé !