Comment les clés de série sont-elles fabriquées pour les logiciels ? Comment un logiciel sait-il que nous avons saisi une mauvaise clé de série ?


Question intéressante.

Comment un logiciel sait-il que nous avons entré une mauvaise clé de série ?


Je suppose que vous avez un compte facebook ou twitter. Avant de pouvoir vous connecter à facebook ou Twitter, vous devez vous inscrire. Pendant ce processus, le site web conserve votre nom d'utilisateur/email et un mot de passe que vous avez défini.

Lorsque vous revenez, le système vous demande ces détails. Lorsque vous les saisissez, il les compare avec les informations qu'il a en mémoire(base de données). Si tout correspond, vous êtes accepté sinon, rejeté....

Le même principe est utilisé avec les clés de série des logiciels. La principale différence est que, vous ne vous inscrivez pas. Le fabricant pré-crée des comptes(les clés de série). Lorsque vous achetez une licence, ils vous donnent une clé de série. Il se pourrait aussi que, lorsque vous achetez une licence, un mécanisme génère une clé pour vous. Pas de conservation de clé inutilisée.

Le logiciel lui-même sera équipé d'un mécanisme qui lui permettra de demander le magasin des clés de série et de les faire correspondre/comparer avec la clé que vous avez reçue.

Et c'est là que se pose la question de la distribution.

Les clés doivent-elles être intégrées dans le logiciel client, ou les clés doivent-elles être dans un serveur distant à partir duquel les clients peuvent demander et vérifier les clés ? La dernière option est largement utilisée de nos jours en raison de l'Internet qui est largement utilisé.

La première option embarque la clé et l'algorithme pour la vérifier. Dans le cas où un kacker parvient à voir le code source, il pourrait être en mesure de générer une clé similaire qui soit VRAIE à l'algorithme.

Avec l'option à distance, le client fait une demande au serveur avec la clé que l'utilisateur fournit. Le client ignore comment elle est vérifiée. Il attend seulement un OUI du serveur pour permettre l'accès à l'utilisateur. Toute autre réponse est fausse...

Comment sont faites les clés de série pour les logiciels ?

Ceci est complexe à répondre. La façon dont chaque fabricant de logiciels le fait peut varier des autres.

Le principe clé est la cryptographie.

La clé de licence étant comme votre mot de passe pour vos comptes twitter ou facebook, il est important d'avoir un moyen unique de les générer et un autre moyen unique de les vérifier. Donc, le fabricant de logiciels doit penser à "cette façon" de la fabriquer. Il peut s'agir de clés au format (juste un exemple fictif) Y-M-D-LICENCE_NUMBER ou VVVV-WWWW-XXXX-YYYY-ZZZZ. Cela peut être des séquences normales de chiffres chiffrés.

Pour les générer, vous définissez un ensemble de caractères à utiliser.... tout ce processus utilise ce qu'on appelle des algorithmes. Les algorithmes définissent comment les clés de licence doivent être générées, combien doivent être générées, et quelle est la valeur/les propriétés de chaque clé.

La plupart des langages de programmation sont livrés avec des fonctions pour vous aider à faire du cryptage avec des algorithmes puissants comme AES, RSA, Triple DES, etc.

Cette phase peut sembler facile à réaliser. en ce qui me concerne, la partie la plus difficile est la distribution que j'ai mentionnée plus haut.

Lisez-en plus sur les algorithmes, l'algorithme de chiffrement sécurisé et les fonctions de hachage proposées par le langage de programmation que vous utilisez.