J'ai un client qui vend une application d'analyse de loterie. Dans cette application, il consomme un service web (mon service, je veux dire, appartient à la société pour laquelle je travaille actuellement) pour obtenir des données statistiques sur les résultats de loterie, les paris effectués, les montants, etc., à travers le monde. L'accès à ce webservice est payant, et chaque consultation coûte X crédits.Webservice sécurisé (WCF) sans stocker les informations d'identification sur l'application grand public
Certaines personnes ont désassemblé cette application de loterie et ont trouvé la clé api/clé d'authentification utilisée pour accéder au service web payant, et ont commencé à l'utiliser.
Je voudrais éviter que cela ne se reproduise, mais je ne trouve pas de moyen de m'authentifier sur le webservice sans stocker l'auth. clés sur l'application. Quelqu'un at-il des idées sur la façon d'accomplir une telle tâche? Ps1.Peut ne pas demander aux utilisateurs d'entrer n'importe quel type d'informations d'identification.
Doit être transparent pour eux (ils ne devraient pas savoir ce qui se passe).
ps2. Impossible d'utiliser des certificats numériques pour la même raison ci-dessus, sans mentionner qu'il est facile de les récupérer et que nous tomberions dans le problème d'origine.
Merci d'avance.
Quelqu'un a suggéré la libération d'un client pour ce service (dans un dll par exemple) et l'envoi le long de la requête le hash de l'application, en conservant côté serveur une liste d'applications autorisées J'ai aimé l'idée, mais semble souffrir du même problème d'intégration de clés dans le code de l'application –
Qu'est-ce qui fait exactement ça? Essayez-vous d'empêcher les utilisateurs d'accéder au service Web sans l'application frontale? La seule authentification que vous effectuez sur le serveur est-elle basée sur une clé partagée par toutes les copies de l'application? – Aaronaught
Oui , verrouiller le service Web à une application unique (dans ce cas, l'application frontale de mon client) serait un excellent moyen de le faire. Ce que j'essaie de faire est d'empêcher les utilisateurs d'utiliser mes services avec une clé volée dans l'application de mon client. –