65 votes

Quel est le bon moyen d'identifier de manière unique un ordinateur?

Je développe un logiciel de bureau pour un client à revendre. Le client souhaite restreindre le logiciel afin que le code d'enregistrement soit spécifique à un et un seul ordinateur.

Outre l'utilisation du MAC depuis la carte réseau, existe-t-il d'autres techniques (qui fonctionnent à la fois sous Windows et Mac OS X) pour identifier de manière unique un ordinateur?

45voto

Bill Karwin Points 204877

Une autre solution est d'utiliser une technologie de gestion des licences avec un dongle. C'est un petit appareil qui se branche en USB ou un autre port d'e/S de l'hôte, et sert comme un être unique, physique pour activer le logiciel.

Une troisième solution est de fournir un gestionnaire de licence. C'est, lorsque le logiciel démarre, il interroge un serveur sur le réseau (sur le réseau local du client ou une autre personne accède à votre entreprise via l'internet) qui permet de vérifier que le client l'utilisation du logiciel est légitime. C'est une bonne solution pour les "licences" de sorte que les clients peuvent installer le logiciel sur plusieurs ordinateurs, mais vous avez le permis pour l'utilisation simultanée sur un nombre limité d'hôtes. FLEXnet Publisher est un exemple d'une licence de gestion de la solution.

L'adresse MAC de la carte réseau est la solution que j'ai utilisée la dernière fois, j'ai travaillé pour une société de logiciels sous licence pour exécuter sur un hôte spécifique.

Cependant, je tiens à offrir un attention: si vous faites ce genre de licence, vous devez vous attendre à ce que ça deviendra un cours corvée administrative pour le suivi de vos clients licences. Une fois que vous avez quelques centaines de clients, vous serez étonné de voir à quelle fréquence vous obtenez les appels téléphoniques avec les demandes de changement de clés

"Nous avons mis à jour notre serveur de gigabit carte réseau, et maintenant la licence ne fonctionne pas parce que la nouvelle carte a une autre adresse MAC."

Ou, sinon, les clients peuvent remplacer l'ensemble de leur machine, et la nécessité d'une mise à jour de licence pour exécuter votre logiciel sur la nouvelle machine. Nous avons obtenu ces appels pratiquement tous les jours à la compagnie pour laquelle je travaillais.

Vous avez également besoin de faire confiance au client pour arrêter l'utilisation de votre logiciel sur l'ancien ordinateur (ou carte réseau) si vous leur donnez une nouvelle clé. Si vous n'avez pas confiance en eux, d'obéir à la licence, en premier lieu, comment pouvez-vous faire confiance qu'ils vont jeter le vieux clé?

Si vous ne prévoyez pas comment vous allez à l'appui de cette activité administrative, n'est pas la licence de votre produit de cette manière. Vous aurez seul inconvénient vos bons clients, qui aurait coopéré de toute façon.

10voto

Nicholas Points 2532

Je vais jouer l'avocat du diable et vous dire que quelque chose comme ce n'est probablement pas la meilleure chose à discuter dans "public".

Cela étant dit, regardez ce que les autres ont fait et, éventuellement, d'améliorer (ou de prendre une partie de), il. L'adresse MAC, comme vous l'avez dit, est peut-être bon d'utiliser. J'ai entendu dire que Windows et d'autres programmes de l'utilisation des informations relatives au disque dur (numéro de série). -- d'après ce site, l'Activation de Windows vérifie les 10 articles différents et en fait une clé unique.

5voto

paxdiablo Points 341644

Je voudrais juste utiliser l'adresse MAC de générer une demande de clé, puis demander aux utilisateurs de s'inscrire auprès de votre client. Votre client aura une application spéciale qui prend qui demande la clé et génère une clé d'activation de laquelle l'utilisateur peut ensuite utiliser pour activer le logiciel. Une fois activé, le logiciel fonctionne, fonctionne - pas de parfois de téléphoner à la maison pour la vérification et le de telles.

S'il s'agissait d'une véritable exigence. Ma première tâche serait de tenter de convaincre le client que c'était une mauvaise idée.

La raison en est que ces régimes pratiquement jamais empêcher votre code d'être fissuré. Ils font toutefois rendre la vie de votre réelle des clients plus difficile. J'ai du mal à penser à toute autre industrie qui va sortir de son chemin pour embêter ses véritables clients avec les schémas que jamais à atteindre leurs objectifs (autres que de service de l'administration, bien sûr :-).

Si vous devez faire et ce que je venais de faire un effort symbolique pour répondre à l'obligation contractuelle de ne pas dire à votre client ce cependant). En prenant l'adresse MAC (ou un nombre aléatoire si, $DEITY ne plaise, l'ordinateur n'a pas de disposer d'une carte réseau) comme le demande la clé et à l'aide d'un programme à juste XOR avec une chaîne de caractères ASCII pour obtenir la clé d'activation, semble être une approche pratique. Je voudrais également stocker à la fois les clés puisque vous ne voulez pas le logiciel pour la désactiver si ils ont juste changer de carte réseau (ou même la carte mère) - ils encore voir que le même ordinateur et ne sera pas heureux si le logiciel cesse de fonctionner.

Votre code va être fissuré indépendamment (à moins que le programme c'est de la foutaise qui je suis sûr n'est pas le cas) - cette méthode permettra de donner à vos clients une véritable avenue pour aller de leur logiciel sur une autre machine, si votre client ne répond pas de toute façon (en charge de gouttes, se retire des affaires, et ainsi de suite).

La principale difficulté avec tous les régimes qui reposent sur l'unicité d'un peu de matériel, c'est que le client peut choisir de changer le peu de matériel:

  • dédoublement de leur contenu du disque pour un disque dur plus grand fait HD de série les numéros de changement.
  • à l'aide du PROCESSEUR numéros de série signifie la mise à niveau vers les derniers processeurs Intel bigmutha CPU tuer votre logiciel.
  • à l'aide de l'adresse MAC signifie qu'ils ne peuvent pas changer leur CARTE.

Ceux-ci peuvent tous être résolus par l'utilisation de ces valeurs pour créer une clé au moment de l'installation et seulement de contre-vérifier que la clé, pas le changement de la valeur de six mois sur la piste. Cela signifie que vous avez à stocker la demande et l'activation des valeurs mais les mises à jour ne seront pas besoin de vos utilisateurs à passer par le processus de ré-activation de leur logiciel. Croyez-moi, ils vont te méprise d'avoir à le faire.

5voto

J.C. Inacio Points 2522

Il n'existe pas de moyen sûr d'identifier de façon unique un ordinateur, si vous supposez un ordinateur est construit avec beaucoup de pièces qui peuvent être remplacés.

Certaines pièces de matériel - l'adresse MAC, le disque dur numéro de série du disque, même de la carte mère numéro de série, etc, sont quelques - unes de bonnes sources de "l'unicité", mais comme vous le savez si un client décide de mettre à niveau la partie la licence dépend... préparez vous à un soutien à la clientèle. Aussi garder à l'esprit est que certaines parties peuvent être falsifiés (le MAC est l'un d'eux).

En ligne de vérification de licence est une autre bonne façon d'aller de l' - vous pouvez tout gérer sur le côté serveur et même définir vos propres règles pour qu'il (le nombre de licences par client/installer, la concurrence, etc), mais la chose importante à noter est ce qui se passe lors de la connexion ne peut pas être établie?

1voto

Suroot Points 3079

Il y avait un numéro de série imprimé dans la CPU, pour autant que j'ai vu; cette information (PSN, numéro de série Pentium) est obsolète. L'information peut toujours exister, mais au moins dans le monde des PPP, elle avait disparu. En outre, je pense que le choix évident de l'adresse MAC sur la carte réseau pour l'interface principale utilisée pour l'hôte doit être considéré comme une possibilité réelle. Sauf si votre client ne s'attend pas à ce que des interfaces Ethernet soient présentes sur les hôtes auxquels ils vendent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X