Stocker un compteur sur le PC et le protéger

cs_trackpi Messages postés 6 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 3 janvier 2007 - 26 oct. 2006 à 09:55
cs_trackpi Messages postés 6 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 3 janvier 2007 - 29 oct. 2006 à 16:30
Voici mon probleme. Une appli (VB6 mais c'est sans importante) sur le PC et un site internet.

Le site internet permet d'acheter des "unités" faisant fonctionner l'appli PC.

Pas de problème pour transférer les unités achetées du site sur le PC (le PC envoie un message crypté incluant nom et password de l'utilisateur et si il a fait un achat d'unités, ces dernieres sont transférées, le PC confirme la bonne réception au serveur et ce dernier ne retransferera plus ce nombre d'unités)

C'est pour le stockage coté PC que je cherche une astuce. Je peux bien sur mettre ce nombre d'unité dans un fichier quelconque mais je vais me faire pirater facile par n'importe qui effectuant un backup du répertoire de l'appli avant utilisation, puis qui utilise ses unités et enfin redescend le backup (se remettant ainsi dans la situation d'avant).

Ecrire mon compteur dans la registrery ne me semble guere plus sécurisé (je parie qu'il y a des utilitaires qui détecte les mises à jour effectuées dans la registrery par prise d'image avant et après ...)

Laisser le compteur d'unité de chaque client sur le serveur serait fiable mais ca provoquerait une grosse surcharge que de faire des échanges PC-Serveur à chaque consommation d'unité (c'est pourquoi je veux le faire seulement à chaque achat d'un ensemble d'unités).

Je pense que mon probleme est relativement classique mais j'ai pas d'idées ...

4 réponses

cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
26 oct. 2006 à 10:29
salut !

bah tu peux le cacher, mais il existe effectivement deux programmes tres pratiques : regMon, et FileMon. le premier espionne la base de registre, et le deuxieme les fichiers. tous les acces sont affichés dans une liste, donc on trace facilement un prgm.
t'as une technique, lorsque tu recois les unités, tu recois l'heure en meme temps (celle du serveur absolument), tu crytpe le tout dans un algo de ta main, tu balance le tout dans un fichier je sais pas où, et a chaque lancement du prgm, en meme tps que tu verifie les unités, tu regarde l'heure du fichier, et tu compare avec celle de ton serveur.

c'est un peu charabiat, mais j'avoue : là je suis en cours, donc normalement je suis censé faire une synthese de 500mots : internet et la presse, et ça me fait trop chier...

voila voila, je cherche une solution mieux, et si je trouve je te tient au courrant !

Gagou9
<hr size="2" width="100%" />N'oubliez jamais de poster des reponses a votre propre question lorsque vous trouvez la solution, ça peut servir à d'autres !
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
26 oct. 2006 à 20:27
0
cs_trackpi Messages postés 6 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 3 janvier 2007
29 oct. 2006 à 16:10
Merci à gagou9 et à ShareVB pour leurs reflexions.

Malheureusement je le sent pas encore : un cryptage aussi sophistiqué soit il ne me semble rien résoudre et j'ai pas bien capté l'astuce proposée par Gagou9 ...

Aujourd'hui l'appli PC récupère l'info de l'achat de 100 unités.
Elle stocke sous forme crypté "100,la_date"
L'utilisateur ne sait pas comment c'est crypté mais fait une copie du fichier (ou de la clé de registre) telle qu'elle est.
L'utilisateur consomme ses unités...
L'utilisateur remplace le fichier crypté par son ancienne image.
Et bingo il repart avec 100 unités et je me suis fait enfumer.

En fait plus je réfléchi et plus je me dis que j'ai jamais vu un soft qui marche avec un compteur d'unités, avec une limite de date oui (les versions de démo) mais un systeme de rachat d'unité non ... De là à penser que si personne ne le fait c'est parceque c'est pas sécurisable ...


Reste la solution du compteur restant sur le serveur, là au moins il peut rien m'arriver, mais si ca marche bien  ca va bouffer de la bande passante à tout va  (l'unité est un tout petit montant de l'ordre du centime et chaque utilisateur va en consommer une à deux à la minute).
 
0
cs_trackpi Messages postés 6 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 3 janvier 2007
29 oct. 2006 à 16:30
Dernieres reflexions : j'ai peut être un moyen terme raisonnable et fiable : compteur coté serveur mais transfert par paquet de 10 pour pas se "sur-connecter".

Le client à acheté 100 (info sur le serveur)
Il lance l'appli qui se connecte et redescend l'info 100
Il lance l'appli qui commence à consommer. L'appli ne se connecte pas au serveur à chaque cycle pour décrémenter le compteur, mais toutes les 10 fois seulement.

Au pire en cas d'arret brutal, de coupure internet, ... quand il se reconnecte, il se dit "tiens ! j'était à 83 et il me remet à 90" , in ralera surement pas de ce petit cadeau !

Et pis je peux faire un systeme mixte : mise à jour du compteur serveur soutes les 10 unités ou toutes les 5 minutes (la vitesse de consommation d'unités est variable sur le PC)

Et même si un gros malin comprenais qu'il fait des économies en provoquant des arrêts brutaux, vu que le programme PC est un genre d'automate, ce serait au final trop pénalisant pour lui même.

Bien sur ca tient aussi à la disponibilité du serveur, mais comme c'est un "dédié" ...
0
Rejoignez-nous