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

Sécurité Discussion :

Clé d'activation pour logiciel développé avec le runtime access


Sujet :

Sécurité

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Points : 30
    Points
    30
    Par défaut Clé d'activation pour logiciel développé avec le runtime access
    Bonjour,

    Je suis entrain de développer un logiciel access pour ma société via le runtime 2007, mais un problème se pose, celui de la diffusion du-dit logiciel car lorsque je génère un executable, ce dernier peut etre installé sur un nombre illimité de machines, sans qu'aucune clé d'activation ne soit demandée.

    Peut on faire en sorte que se soit le cas ? Si oui, comment s'y prend on ?

    Par avance, merci pour votre aide

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Une solution parmi d'autres est que ton logiciel vérifie dans la base de registre la présence de ladite clé (vérifiée selon une syntaxe personnelle). Si la clé est présente, le logiciel démarre, sinon il demande la clé ou se ferme...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Points : 30
    Points
    30
    Par défaut
    Je vois, mais comment faire en sorte que le logiciel intègre cette clé dans la base de registre du client lors de l'installation ? Cela me parait complexe...

    Il n'y a donc aucune option du runtime access qui force le client à saisir une certaine clé "pendant" l'installation du logiciel ?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Le runtime n'est pas fait pour cela... (mais je ne suis pas un spécialiste).

    C'est à ton application d'inscrire et de lire la clé dans le registre.

    En cherchant dans l'aide en ligne de VBA avec le mot SaveSetting, tu trouveras les explications pour utiliser les clés de registre.

    Tu peux aussi t'inspirer de cette entrée de la faq VB.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 225
    Points : 553
    Points
    553
    Par défaut
    Salut,

    Comme déjà posté plusieurs fois, tu peux aussi fournir une clé USB avec ton logiciel.

    Donc, une clé USB la plus petite convient,
    1) lors de l'installation un code qui vérifie dans le Registre si une clé existe.
    2) Si non, on la crée et on place comme valeur le N° de série de cette clé USB.
    3) A chaque démarrage de l'appli, on vérifie si le N° de série qui est dans la base de Registre est identique à celle de la clé USB connectée sur le PC où l'appli fonctionne.

    Donc impossible de copier l'appli et de la faire fonctionner sur un autre PC, sauf si on prend la clé USB et qu'on la place sur le PC.

    Mais on peut, pour contrer cela, mettre un compteur d'install dans la base. Si la clé dans le Registre n'existe pas mais que le compteur est à 1, c'est qu'il y a déjà eu install et donc message d'interdiction.

    C'est une piste bien sûr.

    A+

  6. #6
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut clé ?
    Bonjour,

    Je ne sais pas si j'ai bien compris tu veux distribuer une application avec le runtime 2007 ?
    c'est gratuit et sans clé évidement

    ici :
    http://argyronet.developpez.com/offi.../runtime/2007/

    Il n'y a pas d'exécutable c'est une version compilée de l'appli qui est diffusée. Elle est lue et exécutée par msaccess.exe.

    A+

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Naphta, spoker04 veut protéger son application lors de la distribution pour éviter les copies pirates et comme tu le dis si bien le runtime standard ne permet pas cela.

    Quand à l'exécutable de Access je pense qu'il veut dire le mde qui n'est pas vraiment un exécutable au sens strict du terme mais s'en rapproche le plus.

    spoker04, il existait, dans mon jeune temps, des compagnies spécialisées dans la fourniture de clef de protection physique, la solution évoquée par electrosat03. Peut-être une piste pour toi.

    Note il existait aussi des outils de craquage de ces même clefs mais c'est ce que j'ai expérimenté de plus solide dans le domaine. Les clefs logicielles, dans leur ensemble, ne duraient pas vraiment longtemps.

    WinDev procède ainsi pour son IDE.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Le problème des clés physiques (clé usb ou autre), c'est que si tous les logiciels requéraient ce genre de protection, il faudrait des racks de clés usb...

    En ce qui concerne la protection logicielle, il me semble qu'il faut évaluer le danger.

    Si un logiciel non protégé est évidemment très facilement piratable, il n'est pas pour autant nécessaire d'établir un "fort Knox" autour de son application.

    En supposant que le logiciel développé n'est pas "grand public", une clé logicielle basique peut être parfaitement adaptée à la situation... N'oublions pas que s'il faut fournir une clé physique, le problème de la diffusion de l'application se posera. Il faudra alors prévoir une version démo sans clé, puis prévoir un envoi de la clé physique avec tout ce que cela suppose comme frais et manipulations...

    Le jeu en vaut-il la chandelle?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Le souci de la protection des appli a déjà été évoqué.
    Il y a moulte solutions, la première étant une simple version d'évaluation.

    Tu peux par exemple dans ton projet interdire de créer plus de 10 enregistrements avec un simple COUNT(*) qui jette l'utilisateur tant que sa version est dite TRIAL et qu'il tente de continuer...
    Et ça, c'est une belle contrainte

    Vaste sujet [...]

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 225
    Points : 553
    Points
    553
    Par défaut
    Salut, voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    Option Compare Database
    Public fso As FileSystemObject
    Public Drive As Drive
    Public NumSerieUSB As Long
    Public DongleOK As Boolean
     
     
    Private Sub Form_Load()
     
    '************ Tester si la clé est presente au démarrage ************
     
        NumSerieUSB = 217259051    ' Numéro de série de la clé USB
        DongleOK = False        ' Met le Dongle absent
        Scan_Dongle             ' Va à la procédure Scan du dongle
        If DongleOK = False Then     'Si pas de dongle on quitte l'appli
            DoCmd.Quit
            Exit Sub
        End If
    Ens Sub
     
     
    '************ TESTER si (USB se connecte) ************
    '************ si oui, ne traiter que les périphériques de stockage de type USB ************
    Private Sub SysInfo1_DeviceArrival(ByVal devicetype As Long, ByVal deviceid As Long, ByVal devicename As String, ByVal devicedata As Long)
        ' Ne traiter que les unités de stockage de type data0
        If devicetype <> 2 Or devicedata <> 0 Then Exit Sub
     
        ' Scan de la presence du dongle
        Scan_Dongle
        'Text2.Visible = True    ' <<<< A supprimer "affiche votre N° de série" !!!!
     
        If DongleOK = True Then
            'Code de démarrage    ' si le dongle est présent démarrage du programme
        End If
    End Sub
     
     
    '************ TESTER si (USB se déconnecte) ************
    '************ si oui, ne traiter que les périphériques de stockage de type USB ************
    Private Sub SysInfo1_DeviceRemoveComplete(ByVal devicetype As Long, ByVal deviceid As Long, ByVal devicename As String, ByVal devicedata As Long)
     
        'Text2.Visible = True    ' <<<< A supprimer "affiche votre N° de série"
     
        ' Ne traiter que les unités de stockage de type data0
        If devicetype <> 2 Or devicedata <> 0 Then
            Exit Sub
        End If
     
        'Si le dongle est déconnecté fin du prog
        If Log(deviceid) / Log(2) + 65 = DongleLettre Then
            Unload Me  'Code pour quitter le programme
        End If
    End Sub
     
    '************ Tester si la clé USB est présente
    Sub Scan_Dongle()
        On Error GoTo Err
        If DongleOK = True Then
            Exit Sub    ' si Dongle déja présent pas de scan
        End If
     
        ' Retrouver le dongle et son numéro de serie
        Set fso = New FileSystemObject
        For Each Drive In fso.Drives
            If Drive.IsReady = True And Drive.DriveLetter <> "a:" And Drive.DriveLetter <> "b:" Then
                'Text2.Text = fso.Drives(Drive + "\").SerialNumber ' <<<< A supprimer "affiche votre N° de série"
     
                If NumSerieUSB = fso.Drives(Drive + "\").SerialNumber Then
                    DongleOK = True                     ' dongle present
                    DongleLettre = Asc(Left$(Drive, 1))   ' memorise la lettre du dongle
                    Set fso = Nothing
                    'Text1.Visible = True               ' efface text1
                    Exit Sub
                End If
            Else
                Série = fso.Drives(Drive + "\").SerialNumber
                Msg = MsgBox("Il y a un problème avec le lecteur " & Drive & vbCrLf & "Erreur: " & Err.Description, vbInformation + vbOKOnly, "Erreur disque")
            End If
        Next
    Err:
        If Err.Number = 71 Then
            Msg = MsgBox("Il y a un problème avec le lecteur " & Drive & vbCrLf & "Erreur: " & Err.Description, vbInformation + vbOKOnly, "Erreur disque")
        End If
    End Sub
    Code à adapter à vos besoin.

    Évidement, si il faut une clé USB sur plusieurs PC, il faudra mettre des conditions dans le code pour tester tous les N° de séries des différentes clés.

    Vous pouvez également essayer de mettre une date limite d'utilisation, un Nbre. max d'utilisation, etc.. Comme pour le soft DinkeyDongle décrit par cirot.

    Il existe des soft pour protéger par PW des dossier, donc rien ne vous empêche de le faire sur votre USB.

    A+

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Points : 17
    Points
    17
    Par défaut probleme usb
    bonjour
    j'expérimente la protection avec clé usb mais j'ai trouve un petit problème, si la personne par inadvertance format la clé alors le numéro de série change et on peut aussi créer des clés avec ce numéro de série.
    je cherche a savoir si les clés usb disposent de numero physique qui ne change pas meme si on formate.
    ma deuxième idée est de détruire des secteurs dans ma clé usb et de vérifier si dans la clé si c même secteur ne sont pas bon. j'ai pas pu mettre en place.
    merci

  12. #12
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut La protection
    Bonjour,

    Je suis surpris de retrouver cette discussion !
    A l'époque je lisais trop vite et de travers, désolé.

    Bon là, je soumets une idée ...
    Ne peut-on faire la chose suivante :
    Un algorithme basé sur le n° de série du disque dur (qui ne change pas)

    1 conversion ascii de tous les caractères du N° de série du disque dur
    2 le chiffre obtenu par la conversion soumis à un algorithme pour obtenir une clé
    3 avec la clé on fait un n° de série de validation transmis au client pour valider l'installation.

    A+

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Moi, j'ai mis un algorithme basé sur un numéro de série, le nom du client et la date d'extinction de la licence. Cet algo repose sur le hashage MD5. Si l'utilisateur modifie une des trois données, il faut recalculer la clé de licence, sinon, le logiciel se ferme. Il n'est donc pas possible de modifier, par exemple, le nom du client, sans devoir me demander une nouvelle licence...

    Cela n'empêche pas la copie, mais comme je prévois d'imprimer le nom du client tel que renseigné sur le voucher de licence sur tous les états de l'application, cela réduit considérablement l'utilisation frauduleuse à des fins professionnelles.

    Je préfèe, en tout cas, un verrou logiciel à un verrou matériel (clé usb, dongle, ...)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #14
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut Très simple
    Bonjour,

    C'est l'éditeur qui permet le fonctionnement de l'appli.

    Effectivement, pourquoi aller trop loin, très bonne idée Pierre Fauconnier, une clé basée sur des infos simples et disponibles.


    a+

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Bonjour j'aimerai en savoir plus concernant la solution de Pierre Fauconnier.

    Merci

Discussions similaires

  1. Réponses: 22
    Dernier message: 04/09/2014, 19h57
  2. Réponses: 0
    Dernier message: 16/06/2014, 17h08
  3. Quel EDI utilisez-vous pour le développement avec .NET ?
    Par Jérôme Lambert dans le forum EDI/Outils
    Réponses: 31
    Dernier message: 28/06/2011, 10h26
  4. Réponses: 6
    Dernier message: 08/11/2010, 23h19
  5. Mise à jour logiciel développé avec access
    Par tit65 dans le forum Access
    Réponses: 4
    Dernier message: 21/08/2007, 16h44

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