Mais l'utilisateur utilise déjà votre protocole.
Votre problème est que l'interface de votre serveur de ce que l'utilisateur peut faire n'est pas sécurisée!
Vous décidez quelles données votre serveur envoie à qui!
(Bonjour, chers journaux en ligne. Oui, je vous regarde!)
Concevez-le , en supposant que l'utilisateur est le client. Pas votre code. Parce qu'il l'est. Le client utilisé ne devrait pas avoir d'importance.
Votre application s'exécute sur un processeur sous le contrôle matériel de l'utilisateur. Votre code n'est qu'une liste de commandes / données, et l'utilisateur et son processeur peuvent le traiter comme bon lui semble. Y compris ne pas le traiter.
Il décide de ce que fait son CPU. Ne confondez pas sa grâce d'accepter le code de votre application tel quel avec un droit d'exécution aveugle. C'est vous qui avez confiance ici, et cette confiance est très éphémère.
Surtout avec des tactiques sordides comme celle-ci.
Dans tous les cas: vous donnez à l'utilisateur la clé de cryptage et tout, et l'attendez de ne pas l'utiliser lui-même, car vous le mettez quelque part dans votre panier de code. … Tout comme DRM, c'est de l'huile de serpent et cela ne peut jamais fonctionner.
Il suffit de une personne pour trouver où vous mettez la clé. (Ce serait moi, par exemple.) Tout le monde doit simplement chercher sur Google.
Mais je suis surpris que vous ne pensiez qu'à chiffrer le protocole contre l'utilisateur, au lieu de pour sa protection contre les attaques de type "man-in-the-middle".
En supposant la raison pour laquelle cela est généralement fait (Oui, je vous parle à nouveau de "l'industrie du contenu".): Si votre utilisateur est votre ennemi, peut-être vous devriez rechercher un modèle commercial basé sur l'équité et un gagnant-gagnant, au lieu d'arracher l'utilisateur et d'avoir à faire face à des réactions négatives.
PS: Ignorez toutes les réponses «sécurité par l'obscurité». C'est une erreur qui aboutit à un comportement correct mais qui repose toujours sur des hypothèses invalides. L'utiliser comme argument est, au mieux, amateur et pas vraiment compétent.
En réalité, toute sécurité passe par l’obscurité. Certains sont simplement plus obscurs (= mieux déguisés). La vraie raison pour laquelle cela est mauvais, c'est parce que ce que nous appelons la sécurité réelle est un milliard fois plus obscur, ce qui lui donne une obscurité réelle (statistique) fiable, par opposition à très une simple obscurité qui est trop probable pour que quelqu'un vienne de rien.