Protection d'un logiciel par mot de passe

Les ennemis des mots de passe applicatifs sont le debug et le dump.

Pour vous prémunir du debug, il faut enlever l'observabilité du programme

CHGPGM PGM(nompgm) RMVOBS(*ALL)

Pour vous prémunir du dump, le principe du contrôle est de comparer une clé
que l'ordinateur calcule ou possède en dur, à une valeur saisie par la société qui utilise le logiciel.

Première règle de base :

Il faut d'abord extraire la valeur saisie avant de calculer le mot de passe.

Pourquoi ?

La technique consiste à faire planter le programme et à demander un dump
(exemple en renommant la dtaara qui contient le code) à l'instruction qui
va chercher la saisie utilisateur ; si vous avez déjà mis dans les buffers
la vraie valeur de la clé, celle-ci est visible et il suffit de la saisir.

A éviter

Les programmes externes qui vont chercher le numéro de série du système ou
le type de processeur.

Ils peuvent être remplacés par un programme détrompeur qui renverra les
valeurs d'autres utilisateurs.

Les programmes CLP avec extraction de source.

CRTCLPGM PGM(TUTU) ALWRTVSRC(*NO)

Evitez de mettre votre valeur dans une dtaara parce que trop évident.

Une seule condition de test avec un if très facile à dumper.

Evitez les clés trop courtes pouvant être vues à la saisie.

Noyez le poisson en mettant des variables avec des valeurs qui ne servent à
rien.

Mettez votre clé en plusieurs morceaux avec des conditions de test reliées
par ou ou.

Compilez votre programme sur place à l'installation, ajoutez un mini-code
à ce moment- là (peut être fait en automatique à l'installation).


Prévoyez un blocage en supprimant un programme après n fois.

PLB