IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Système de licence : comment faire ???


Sujet :

Langages de programmation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 7
    Points : 10
    Points
    10
    Par défaut Système de licence : comment faire ???
    Hello,

    Avez-vous des idées pour l'implémentation d'un système de licence le plus sûr possible pour une application ? Comment faire ? (si possible sans connexion à un serveur de licence distant, mais les idées sont quand même bienvenue)

    Pour information mon système tourne sous .NET avec une base de données Tamino. Mais j'accepte bien volontiers des conseils d'ordre général.

    MERCI

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 146
    Points : 204
    Points
    204
    Par défaut
    Cest quou tamino ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 258
    Points : 288
    Points
    288
    Par défaut Re: Système de licence : comment faire ???
    Citation Envoyé par hubble
    Hello,

    Avez-vous des idées pour l'implémentation d'un système de licence le plus sûr possible pour une application ? Comment faire ? (si possible sans connexion à un serveur de licence distant, mais les idées sont quand même bienvenue)

    Pour information mon système tourne sous .NET avec une base de données Tamino. Mais j'accepte bien volontiers des conseils d'ordre général.

    MERCI
    Une clé usb qui doit être physiquement présente que tes clients achètent à ton entreprise. En plus tu pense à mettre quelques données vitales à ton application sur la clé et c'est bon ca deviens un système qui garantit que les personnes utilsant ton logiciel l'auront acheté

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 289
    Points : 342
    Points
    342
    Par défaut Re: Système de licence : comment faire ???
    Citation Envoyé par hubble
    Avez-vous des idées pour l'implémentation d'un système de licence le plus sûr possible pour une application ? Comment faire ? (si possible sans connexion à un serveur de licence distant, mais les idées sont quand même bienvenue)
    Sans vouloir être pessimiste sur la nature humaine, ce n'est pas une licence qui empêche grand monde de cracker un soft (à part quelques doux rêveurs nourris à la GPL... dont je fais partie, depuis pas si longtemps d'ailleurs). Et les mesures techniques seront toujours contournées, au bout d'un moment (enfin, ça dépend de la motivation des crackers, et donc de la notoriété de ton application et de son prix).

    Citation Envoyé par Yabo
    Une clé usb qui doit être physiquement présente que tes clients achètent à ton entreprise. En plus tu pense à mettre quelques données vitales à ton application sur la clé et c'est bon ca deviens un système qui garantit que les personnes utilsant ton logiciel l'auront acheté
    Et qu'est-ce qui empêche un client de copier la clé USB et d'envoyer l'archive sur un réseau P2P/serveur ftp quelconque ?
    Remarque, j'ai lu dans le dernier MISC qu'il y a des softs de protection de données sur clé USB qui marchent bien... Quelqu'un a déjà essayé ?

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut Re: Système de licence : comment faire ???
    Citation Envoyé par alveric
    Et qu'est-ce qui empêche un client de copier la clé USB et d'envoyer l'archive sur un réseau P2P/serveur ftp quelconque ?
    C'est pas une clé USB au sens où tu l'entends, c'est à dire l'équivalent d'une disquette.
    C'est un dongle, un dispositif demandant un driver particulier pour fonctionner et "invisible" au sein de Windows, hormis comme périphérique USB dans ton gestionnaire matériel.
    C'est simplement le successeur des dongles sur port parallèle. Perso, j'en ai deux sur mon poste de développement (clés Aladdin, http://www.ealaddin.com/ ), c'est suffisamment chiant pour ne pas pouvoir en copier une "comme ça", pas sans manier sévèrement le fer à souder et du code microcontrôleur. Bref, pas à la portée du premier venu.

    De toutes façons, il n'existe AUCUNE protection inviolable : tout ce qui a été fabriqué peut être reproduit, c'est une évidence. La seule chose à peu près viable, effectivement, c'est de rendre la protection plus pénible à faire sauter que l'application ne le mérite.
    Si déplomber un soft à 20€ te coûte 50€ de matériel, ça ne vaut pas le coup, autant l'acheter, ça coûte moins cher.
    Si le soft vaut 3000€, par contre, ça devient rentable : le but devient alors de rendre la protection plus chère à cracker... Jusqu'à dépasser le prix du soft ! ;-)

    Actuellement, la solution la plus fiable consiste à coupler trois protections : un CD pressé de manière spéciale (genre CD PlayStation ou CD de jeux), un dongle matériel, et un serveur de licence Internet (genre activation de XP). Ces trois méthodes ensemble garantissent un assez bon niveau de sécurité, mais ça revient cher à industrialiser aussi, c'est le revers de la médaille : le prix du soft augmente...

    Tu peux aussi aller voir sur http://www.dongles.com/ .

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 289
    Points : 342
    Points
    342
    Par défaut Re: Système de licence : comment faire ???
    Citation Envoyé par Mac LAK
    Citation Envoyé par alveric
    Et qu'est-ce qui empêche un client de copier la clé USB et d'envoyer l'archive sur un réseau P2P/serveur ftp quelconque ?
    C'est pas une clé USB au sens où tu l'entends, c'est à dire l'équivalent d'une disquette.
    C'est un dongle, un dispositif demandant un driver particulier pour fonctionner et "invisible" au sein de Windows, hormis comme périphérique USB dans ton gestionnaire matériel.
    Dans le sens de "dongle", je suis d'accord, c'est efficace. Mais le fait d'avoir dit seulement "clé usb" dès le départ était assez ambiguë.

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut Re: Système de licence : comment faire ???
    Citation Envoyé par alveric
    Dans le sens de "dongle", je suis d'accord, c'est efficace. Mais le fait d'avoir dit seulement "clé usb" dès le départ était assez ambiguë.
    Justement, non : une clé, par définition, ouvre une serrure et est donc un dispositif de protection.
    C'est le fait de désigner une unité de stockage USB par le terme de "clé" (je préfère personnellement utiliser le terme "stick", même s'il est faux lui aussi) qui est, en fait, ambigü.

  8. #8
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Un truc pas mal, je trouve

    Tu fabriques un serveur de Licence qui possede l'adresse MAC de chaque machine autorisée à se servir de ton logiciel.
    A chaque chargement du logiciel, celui ci envoie une requete au serveur de licence qui renvoie l'autorisation suivant l'adresse MAC de la machine.

    En cas de changement de machine, il faut par contre reparamétrer le serveur de licence.

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Katyucha
    Un truc pas mal, je trouve

    Tu fabriques un serveur de Licence qui possede l'adresse MAC de chaque machine autorisée à se servir de ton logiciel.
    A chaque chargement du logiciel, celui ci envoie une requete au serveur de licence qui renvoie l'autorisation suivant l'adresse MAC de la machine.

    En cas de changement de machine, il faut par contre reparamétrer le serveur de licence.
    Système sympa, mais difficilement applicable ailleurs que sur un LAN... Si ton serveur est sur le net, c'est assez facile de tromper ton application en lui faisant croire qu'elle est connectée à un serveur de licence, alors que sur un réseau local, c'est déjà plus pénible à faire, surtout si tu sniffes directement des paquets Ethernet (802.x), genre protocole complètement inconnu et "fait maison" qui ne soit pas IP, ARP, IPX, etc...

    Une solution vicieuse peut aussi être que la clé USB contiennent une généreuse portion du code exécutable, exécuté par un microcontrôleur embarqué, et pas seulement un "simple" système de vérification... La clé s'utilise alors un peu comme une interruption du BIOS de la grande époque du DOS, avec passage de paramètres et tout et tout, et renvoie ses résultats à l'application PC. Suffit d'y mettre des fonctions cruciales (en terme de résultats), mais non critiques (en terme de vitesse d'exécution), et ça peut rendre un hacker complètement dingue !

    Exemple : si l'appli réclame du calcul lourd (genre AutoCAD), pourquoi ne pas mettre une clé USB 2.0, en transfert high-speed (480 Mbit/s, je rappelle), avec un DSP dedans qui sert de coprocesseur ? De quoi rendre le truc quasiment indéplombable, surtout si le DSP est "claqué" avec une ROM masquée et/ou coulé dans du plastique...

    Tu rajoutes à ça un serveur de licence, basé sur une liste brûlée de numéros de licence créés (=> impossible de réactiver deux fois le même numéro de licence sans appeler le support technique), et ça m'étonnerait que l'on trouve un crack sur le net...

  10. #10
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Une addresse mac peut être émulée simplement.

  11. #11
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par heid
    Une addresse mac peut être émulée simplement.
    C'est vrai, du moins quand tu as libre accès au composant Ethernet, ou que ton driver Ethernet t'autorise à la définir librement (c'est loin d'être toujours le cas !!). C'est quand même plus compliqué, en moyenne, que torpiller un paquet TCP/IP... ;-)

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Merci pour toutes vos idées. Je trouve l'idée du dongle contenant une partie de code indispensable très intéressante, en plus, ça ne coûte pas très cher. Sympa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/04/2009, 19h16
  2. Réponses: 8
    Dernier message: 07/03/2007, 17h01
  3. Comment faire une horloge système
    Par vantoff dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/07/2006, 17h29
  4. [Info][Licence] Comment faire profiter de mon appli ?
    Par bolivari dans le forum Général Java
    Réponses: 12
    Dernier message: 04/03/2006, 16h50
  5. Comment faire pour désactiver la restauration système ?
    Par chocococo dans le forum Windows Serveur
    Réponses: 14
    Dernier message: 30/12/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo