Notre modèle de licence fonctionne à l'aide de la cryptographie à clé publique/privée. Ils nous envoient leur nom et leurs coordonnées, que nous cryptons à l'aide de notre clé privée. Le fichier crypté est ensuite renvoyé au licencié qu'il saisit dans l'application. L'application a notre clé publique intégrée dans le binaire (ou s'ils ont une connexion au net, elle la retire de notre site) et elle l'utilise pour déchiffrer les informations de licence. Si la licence déchiffrée correspond aux détails qu'ils ont saisis, ils sont autorisés à utiliser le produit !
En utilisant la cryptographie à clé privée/publique, nous donnons à notre application la certitude que les données de la clé de licence proviennent bien de nous (authenticité de la licence)
Il y a d'autres choses intéressantes que vous pouvez faire avec cela, comme encoder les niveaux d'abonnement dans la clé de licence. L'application déchiffrera la clé de licence et verra qu'elle n'est autorisée à utiliser que certaines fonctionnalités.
Cela peut cependant être attaqué. Par exemple, un blackhat peut soit supprimer toute la clé de licence vérifiant la partie du binaire, soit mettre à jour la clé publique stockée dans l'application avec celle qu'il a générée. Ils pourront alors lui faire accepter leur propre licence. Cependant, comme nos applications ne sont pas très courantes, nous ne considérons pas cela comme une menace majeure.