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

C++ Discussion :

Comment protéger un logiciel ?


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Comment protéger un logiciel ?
    Bonjour à tous

    J'ai programmé un logiciel que je souhaiterais faire essayer à quelques entreprises ... sans me le faire piquer
    Il s'agit d'un outil en ligne de commande (pas d'IHM) qui implémente une approche de "Machine Learning".
    Pour rien vous cacher, je ne sais pas exactement comment m'y prendre

    1 ère question : le dépôt logiciel
    Je vais déposer mon code auprès d'un organisme pour prouver que je suis bien l'auteur de ce logiciel (sans pour autant divulger le code sur GitHub).
    Connaissez-vous l'APP (Agence pour la Protection des Programmes) ? je serais intéressé par vos retours Il est également possible de faire un dépôt à la bibliothèque nationale ... c'est gratuit, mais ça parait moins sérieux ?

    2 ème question : le système de licence
    Dans l'idée, un binaire serait fournis aux entreprises pour qu'elle testent l'outil sur leurs données.
    Ce test sera limité dans le temps, je souhaite que le binaire fourni ne soient plus utilisable au bout d'un certain temps.
    Connaissez-vous un bon système de licence gratuit et facile à intégrer dans un projet C++ ?
    J'ai également pensé utiliser un serveur FTP pour verifier la validité des licences.
    L'idée est que le programme se connecte en FTP sur mon serveur et si le compte utilisateur n'est plus actif (pas de connection établie), le logiciel ne fonctionnera pas.
    Que pensez-vous de celle solution ? Connaissez-vous une librairie C++ facile à utiliser, qui permette de se connecter en FTP ? J'ai entendu parlé de CurlLib ?

    Merci pour vos conseils

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    La première étape sera de protéger le code par une licence adéquate. Enfin, c'est une protection morale et légale.
    Ensuite, juste pour indication, la voie du FTP, c'est nul. Où je travaille, le par feu est stricte et le FTP est complètement bloqué. Donc, faites le en HTTP, simplement.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    voire en HTTPS, avec des certificats
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #4
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    S’il n’y a pas de sécurité sur la couche de transport (qu’elle soit http ou ftp), ça ne vaut rien (dans le sens où ça sera extrêmement facile à contourner.

    Sinon, un moyen relavitement simple de mettre une sécurité limitée dans le temps est de se baser sur des certificats X509 (tu possèdes le racine, tu émets des certificats à validité limitée signés avec le racine, ton application vérifie que les certificats sont bien signés par ta racine, valides et non expirés, sinon refuse de s’exécuter). Ça protège correctement dans le principe, après, la difficulté qu’il y aura à casser le protection dépend avant tout de l’implémentation qui est faite.

Discussions similaires

  1. Comment installer son logiciel?
    Par stof dans le forum MFC
    Réponses: 10
    Dernier message: 02/10/2012, 15h33
  2. Réponses: 1
    Dernier message: 30/06/2006, 01h00
  3. Comment protéger le contenu d'un logiciel
    Par 123quatre dans le forum Windows
    Réponses: 16
    Dernier message: 11/12/2005, 11h07
  4. Comment protéger sa source ?
    Par Ralpho dans le forum Langage
    Réponses: 18
    Dernier message: 29/09/2005, 09h28
  5. Comment protéger ses sources?
    Par Titeuf21121 dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 25/03/2004, 06h47

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