Bonjour,
Je vais bientôt releaser une application C# desktop à un client.
Je sais que ce client à des amis qui sont également intéressés par cette application.
Je voudrais protéger cette application pour qu'elle ne soit éxecutable que par ce client, idéalement sans le lier à une seule machine ou à un seul hardware et sans solution hardware type "dongle".
Je recherche une solution relativement simple à mettre en oeuvre, un bon compromis entre simplicité et bonne protection.
Cette application se connecte à un web service au démarrage en utilisant un nom d'utilisateur et mot de passe pour ce web service.
Ce nom d'utilisateur est unique pour ce web service (je n'ai aucun contrôle sur ce web service ).
J'ai pensé à une solution utilisant ce nom d'utilisateur pour générer des clés de sécurité type asymétrique (public + private).
Quand l'utilisateur essaie son log in dans l'application, la clé est vérifiée avec le nom d'utilisateur fourni.
Si le nom d'utilisateur fourni ne correspond pas au nom d'utilisateur utilisé pour générer la clé, le login échoue et l'application ne démarre pas.
Qu'en pensez-vous ?
Comment faire (j'ai quelques notions de cryptographie, sans plus) ?
Merci d'avance,
Pierre.
P.S. J'utilise également Dotfuscator Community Edition (free version) pour protéger le code source.
Partager