Comment produire des licenses, cryptage?
jipe7654321
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous,
Mon premier message...
Je cherche des informations sur une façon simple de générer des licences pour un logiciel en java.
On m'a demandé de trouver un système qui permettrai simplement d'envoyer un fichier contenant les identifiants des users 'autorisés' du logiciel basé sur un serveur chez le client.
En somme,
1 user= 1 licence.
1 'fichier licence' contiendrait les n login/mot de passes des users autorisés donc n licences
L'idée serait d'envoyer ce fichier licence sous forme cryptée au client.
Le logiciel pourrait décrypter ce fichier pour utiliser les logins/mot de passe.
Le logiciel chez le client devrait donc pouvoir uniquement décrypter le fichier licence, mais être incapable d'en créer un (donc de crypter selon sa capacité de décryptage).
Reste que la capacité à encrypter appartiendrai à l'éditeur :), seul capable de produire les licences.
J'espère que le principe vous parait clair? Vous semble t il valable?
Connaissez vous des outils pour coder un processus du genre?
Merci d'avance pour toute aide ou référence...lien, forum...
jp
Mon premier message...
Je cherche des informations sur une façon simple de générer des licences pour un logiciel en java.
On m'a demandé de trouver un système qui permettrai simplement d'envoyer un fichier contenant les identifiants des users 'autorisés' du logiciel basé sur un serveur chez le client.
En somme,
1 user= 1 licence.
1 'fichier licence' contiendrait les n login/mot de passes des users autorisés donc n licences
L'idée serait d'envoyer ce fichier licence sous forme cryptée au client.
Le logiciel pourrait décrypter ce fichier pour utiliser les logins/mot de passe.
Le logiciel chez le client devrait donc pouvoir uniquement décrypter le fichier licence, mais être incapable d'en créer un (donc de crypter selon sa capacité de décryptage).
Reste que la capacité à encrypter appartiendrai à l'éditeur :), seul capable de produire les licences.
J'espère que le principe vous parait clair? Vous semble t il valable?
Connaissez vous des outils pour coder un processus du genre?
Merci d'avance pour toute aide ou référence...lien, forum...
jp
A voir également:
- Comment produire des licenses, cryptage?
- Une erreur s’est produite ceci peut se produire en raison d’une erreur technique que nous sommes en train de résoudre. essayez de recharger cette page. - Forum Facebook
- Cle de cryptage tv panasonic - Forum Réseau
- Comment je configure ma télévision Panasonic a mon wifi - Forum Téléviseurs
- Facebook une erreur s'est produite ✓ - Forum Facebook
- Cryptage en cours caméra ✓ - Forum Caméra
2 réponses
Salut, alors pour le Java, je suppose que tu es au courant qu'il s'agit d'un langage compilé en bytecode et qu'il est très facilement décompilable. Donc tout schéma de licence tombe à l'eau puisqu'il suffit de décompiler un fichier .class et très facilement (même problème en .NET).
Pour ce faire, il y a des obfuscateurs, qui permettent de brouiller un peu le code pour éviter qu'il soit trop facilement décompilable. Pour Java, le logiciel ProGuard par exemple, mais aussi des logiciels payants évolués (on en trouve en cherchant "Java Obfuscator" ou "Java licensing"). Une fois que le code est bien brouillé, on peut alors imaginer un système de chiffrement comme tu as proposé, Java propose des fonctions de crypto, que tu pourrais utiliser. Mais pour moi, tout ça sert juste à ralentir : tôt ou tard, n'importe quel logiciel est craqué, il faut juste que ce soit le plus difficile possible.
Pour ce faire, il y a des obfuscateurs, qui permettent de brouiller un peu le code pour éviter qu'il soit trop facilement décompilable. Pour Java, le logiciel ProGuard par exemple, mais aussi des logiciels payants évolués (on en trouve en cherchant "Java Obfuscator" ou "Java licensing"). Une fois que le code est bien brouillé, on peut alors imaginer un système de chiffrement comme tu as proposé, Java propose des fonctions de crypto, que tu pourrais utiliser. Mais pour moi, tout ça sert juste à ralentir : tôt ou tard, n'importe quel logiciel est craqué, il faut juste que ce soit le plus difficile possible.
Pour moi l'utilisation des clients/serveur est un bon système de sécurité. Mais hélas, c'est un peu lourd car le client doit être connecté à Internet pour utiliser l'application. Les options importantes de l'application se font sur serveur et le client ne sert qu'à afficher en gros : on élimine le problème de la copie des licences.
Fournir un fichier de licence, d'accord, mais il faut alors penser à la protection (du genre, je reçois un fichier de licence, qu'est-ce qui va m'empêcher de le mettre en P2P?). Les meilleurs systèmes de licence sont ceux qui sont associés à une machine, les logiciels de Microsoft le font par exemple (l'activation Windows dépend du matériel). Mais là on touche des domaines complexes.
Pour moi, il faut trouver un compromis : un système de licence suffisamment évolué mais pas trop lourd. On peut essayer d'imaginer des activations par téléphone etc, mais ça devient lourd.
Si un client a vraiment besoin d'un programme, il l'achètera, pour les autres, bah au moins ils font de la pub! Si un logiciel est vraiment aussi bon, il y aura toujours des gens pour l'acheter.
Fournir un fichier de licence, d'accord, mais il faut alors penser à la protection (du genre, je reçois un fichier de licence, qu'est-ce qui va m'empêcher de le mettre en P2P?). Les meilleurs systèmes de licence sont ceux qui sont associés à une machine, les logiciels de Microsoft le font par exemple (l'activation Windows dépend du matériel). Mais là on touche des domaines complexes.
Pour moi, il faut trouver un compromis : un système de licence suffisamment évolué mais pas trop lourd. On peut essayer d'imaginer des activations par téléphone etc, mais ça devient lourd.
Si un client a vraiment besoin d'un programme, il l'achètera, pour les autres, bah au moins ils font de la pub! Si un logiciel est vraiment aussi bon, il y aura toujours des gens pour l'acheter.
réponse très claire, je ne m'étais jamais penché sur la 'simplicité' de la décompilation du java, c'est le cas donc.
Je vais de ce pas me renseigner sur les obfuscateurs.
Sinon, aurais tu un autre type de licensing à proposer, peut-être plus simple à mettre en oeuvre?
Je cherche désepéremment des références sur le sujet depuis ce matin , je ne trouve pas grand chose...
Merci encore.
jp