Comment protégez-vous votre application commerciale d'être installée sur plusieurs ordinateurs avec une seule licence? [fermé]

StackOverflow https://stackoverflow.com/questions/175857

  •  05-07-2019
  •  | 
  •  

Question

Comment protégez-vous votre application commerciale contre l'installation de plusieurs ordinateurs par des personnes possédant une seule licence?

Pensez-vous que c’est une bonne idée d’avoir plus qu’un système basé sur des séries?

Était-ce utile?

La solution 2

La méthode suivante fonctionne bien si vous disposez d'un serveur public:

  • Protection basée sur la série, l'utilisateur doit entrer une série avant d'utiliser le programme
  • Lors de la première entrée en série, associez le numéro de série à l'adresse MAC et créez un code d'autorisation généré à partir de ces deux valeurs.
  • Vérifiez auprès de votre serveur que les numéros de série et le MAC peuvent être liés. Enregistrez le MAC sur le serveur.
  • Lors de chaque exécution suivante, ne contactez plus jamais le serveur, mais assurez-vous à chaque fois que l'adresse série + MAC correspond à son code d'autorisation.
  • Si l'utilisateur n'a pas d'adresse MAC, autorisez-le à exécuter le programme aussi longtemps qu'il dispose d'un port série.

Cela vous protège contre la copie du registre d’un ordinateur à un autre.

Si l'utilisateur tente d'installer le même numéro de série sur un autre ordinateur, le serveur ne vous permettra pas de lier le numéro de série à l'adresse MAC car il est déjà lié.

Ce n’est pas une solution parfaite, mais elle vous protège 99% du temps.

Autres conseils

Mes règles générales sont

  • Déploiements considérables dans des environnements commerciaux - Audit
  • Déploiements moyens de logiciels de faible valeur < 1 000 $ / siège - Activation de la clé de licence
  • Petits déploiements de logiciels de grande valeur > 10 000 USD / siège - Dongles
  

Pensez-vous que c’est une bonne idée d’avoir plus qu’un système basé sur des séries?

Parlant en tant que personne devant installer toutes sortes de logiciels sur toutes sortes de machines, n’oubliez pas de penser aux pauvres administrateurs de réseau lors de la conception de votre système de protection contre la copie. Pensez, s'il vous plaît, à envisager des installations sur l'ensemble du réseau lorsque vous écrivez votre programme d'installation - incluez certainement une sorte de protection de numéro de série, téléphonez-moi ou contactez votre site Web et obtenez un code d'autorisation pour obtenir un code d'installation sur l'ensemble du site ou autre, mais assurez-vous que votre code de licence fonctionne . Un bon moyen de vous assurer que votre logiciel techniquement supérieur à tout-autre-sur-le-marché ne soit pas installé et utilisé est de gâcher le programme d'installation ou de créer un système d'installation qui pose tout simplement trop de problèmes.

Utilisez des licences verrouillées par une machine ou des licences nécessitant une activation pour verrouiller les licences sur des machines spécifiques. Au lieu de développer vous-même un tel schéma, envisagez d’en utiliser un prêt à l’emploi, tel que CryptoLicensing . qui supporte ces fonctionnalités.

CLAUSE DE NON-RESPONSABILITÉ: je travaille pour LogicNP Software, le développeur de CryptoLicensing.

Nous utilisons une approche adresse MAC plus fichier de licence. Nous demandons au client de nous envoyer l'adresse MAC de son PC, puis de générer un fichier de licence basé sur cette adresse MAC. Nous leur envoyons ensuite le fichier par courrier électronique, puis le fichier de licence est chargé dans le programme. L'inconvénient est que si les gens échangent des cartes réseau et que vous devez leur attribuer une nouvelle licence. Il faut un peu plus de comptabilité pour s'assurer que les gens ne demandent pas toujours de nouvelles licences et un peu de confiance en votre clientèle pour qu'ils n'essayent pas de trop jouer avec le système. En fonction de ce niveau de confiance, vous pouvez ajouter des couches de codage ou de chiffrement dans le fichier afin qu'elles ne puissent pas dupliquer facilement le fichier. Du côté positif, vous n’avez pas à implémenter ni à maintenir aucun type de serveur d’authentification.

Vous pouvez toujours utiliser une clé USB si le logiciel en vaut la peine. Bien entendu, tous les fabricants de dongles affirment que leur protection contre la copie ne peut être brisée.

L’avantage de cette méthode est qu’elle permet à l’utilisateur d’utiliser le logiciel sur plusieurs ordinateurs, mais de ne l’exécuter que sur un ordinateur à la fois, et qu’il ne s’agit en réalité pas d’un simple problème d’activation de produit. Bien entendu, l’inconvénient est que vous ne pouvez pas déployer votre application complètement par voie électronique. Même si vous pensez peut-être le contraire, de nombreux clients semblent accepter l'utilisation d'un dongle, du moins dans le domaine dans lequel je travaille. C'est particulièrement utile si vous attendez de vos clients qu'ils utilisent (et installent également!) Le logiciel à un endroit donné. où aucune connexion Internet n'est disponible.

Modifier: j’ai omis de remplacer le texte relatif à la publication en série de la question initiale. Notez que même cela peut gêner davantage les utilisateurs que de devoir mettre un dongle, et c'est plus facile pour vous aussi, car ni le client ni vous-même ne devez gérer ces chiffres. Branchez le dongle et l'application fonctionne. Cependant, la méthode série uniquement est de loin la moins chère.

Nous utilisons Orion d’Agilis. Pour certains de nos utilisateurs, nous activons les licences verrouillées par nœud. Pour d'autres, ils sont activés par une page Web ou un courrier électronique, et pour d'autres, nous installons un serveur de licences sur leur site. Orion couvre toutes les bases dont nous avons besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top