2008-10-28 6 views
5

J'ai une application Java autonome qui a un code de licence que je veux sécuriser, c'est-à-dire, empêcher les utilisateurs de changer mon logiciel pour contourner la licence. Quelle est la meilleure façon de procéder? J'ai examiné l'obfuscation, mais cela entraîne toutes sortes de problèmes: réflexion, sérialisation, traces de pile corrompues, etc. Peut-être qu'une signature de pot pourrait être une solution? Mais comment puis-je vérifier le pot à l'exécution? Et comment est-ce que je m'assure que l'utilisateur ne change pas le code de vérification de pot?Jar sécurité

Répondre

6

Désolé, si vos utilisateurs sont assez savy pour falsifier vos fichiers de classe , ils vont supprimer les caractéristiques de vérification de signature en premier. Je suis d'accord avec l'obfuscation, mais un bon obfuscateur ne devrait-il pas garder un dictionnaire pour convertir une trace de pile obfusquée pour vous?

Cette discussion est vraiment ancienne, et vraiment très compliquée. Il suffit de regarder l'industrie du jeu. Peut-être que vous devriez envisager d'expédier une guitare avec votre application? Combinez les deux, et vous devriez avoir de bonnes synergies.

+2

+1 sur l'idée de la guitare. – Epaga

0

Ceci est un problème juridique, pas un problème de logiciel.

Vous pouvez rendre le premier utilisateur plus difficile à réaliser une copie, mais pas impossible. Et une fois que l'attaquant déterminé a brisé votre sécurité, il peut faire un nombre illimité de copies pour les paresseux.

Si vous pensez que c'est rentable, engagez des poursuites contre les personnes qui fabriquent des copies non autorisées de votre logiciel. Je crois que la portion des utilisateurs qui volent sciemment votre logiciel (ou, plus généralement, la propriété intellectuelle) varie avec le type de média, et pour la plupart des produits, est relativement petit. Si vous vendez des MP3 de T-Pain, le vol pourrait détruire votre entreprise. Sinon, adoptez la position des sociétés de cartes de crédit, qui s'attendent à tolérer certaines pertes dues à la fraude tout en réalisant un bénéfice.

0

Nous utilisons actuellement un obfuscator, qui fournit une protection raisonnable contre les attaques. Celui que nous utilisons en ce moment fournit un outil de trace de pile qui les désobscurcira lorsqu'ils sortiront de l'autre extrémité (basé sur le fichier journal généré au moment de l'obfuscation).

Même avec cela, il n'y a pas de réelle protection contre le pirate déterminé.