Question

Je sais qu’il existe déjà des questions similaires sur les SO. Mais ma question est plus théorique.

Je me demande s’il est possible de concevoir un système d’essai à toute épreuve? Par infaillible, je veux dire un tel système qui ne peut pas être craqué même si un cracker connaît l’algorithme d’un tel système?

Désolé si ce n'est pas une question de programmation.

Modifier: je pense que je devrais rendre ma question plus pratique. Je parle de tout un système, pas d'une application autonome. Le système comprend un PC avec système d'exploitation Linux et du matériel connecté. Peut-être que je peux utiliser un cryptage de disque dur?

Était-ce utile?

La solution

La seule solution est probablement un "logiciel en tant que service" basé sur Internet. application. Si vous ne fournissez pas d'accès, ils n'utilisent pas le logiciel. S'il s'agit d'une application de bureau, certaines fonctionnalités essentielles devront toujours figurer sur un serveur en ligne quelque part.

Si le pirate informatique a la totalité de l'application sur sa machine locale, elle peut être désossée et "fissurée". d'une certaine manière. La seule façon de remédier à cette situation est de s’assurer que certaines fonctionnalités ne se retrouvent jamais sur leur ordinateur.

Autres conseils

La seule façon (théorique) d’avoir un logiciel anti-fissure est d’avoir un système complètement fermé. Si vous contrôliez tout, du matériel au système d'exploitation, en passant par les applications et les outils de développement, vous éviterez toute falsification.

Notez comment j'ai dit que c'était théorique. Inévitablement, vous trouverez un pirate informatique qui trouvera un moyen de modifier le matériel (voir modchips ). À partir de là, ils peuvent charger le logiciel de leur choix et modifier le logiciel déjà existant.

Le même modèle qui s'applique à la sécurité physique (coffres-forts, coffres-forts, etc.) s'applique aux logiciels. Le but est de rendre plus coûteux le vol / la copie des marchandises que leur obtention par des moyens légitimes. Vous ne pouvez jamais créer un système infaillible, mais vous pouvez facilement empêcher les scripts pour enfants et les hackers amateurs de faire craquer votre produit. Les pros, en revanche, vivent pour craquer. Ils trouveront un moyen.

Vous pouvez concevoir que votre application soit dépendante d'un serveur distant dont tout le monde est maître, sauf vous.

Non. Vous pouvez rendre les choses très difficiles, mais votre question revient à: "Comment puis-je laisser quelqu'un exécuter le code sans le laisser exécuter?"

Par exemple, vous pouvez omettre une partie petite mais essentielle du code et exiger que ce code soit téléchargé à partir d'un serveur que vous contrôlez. Cela vous permet de suivre l'activité d'évaluation et de fermer des utilisateurs spécifiques. Cependant, une fois qu'ils ont reçu le code, ils ont pu le capturer et créer une version non encombrée de votre produit avec suffisamment de travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top