Sécuriser une API

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je suis en train de créer une API pour une application mobile (ou autre client, peu importe). Cependant je bloque un peu pour rendre cette API uniquement accessible par mon application. J’ai lu plusieurs solutions, mais conceptuellement je vois pas vraiment comment une solution pourrais marcher.

Par exemple en utilisant HMAC ou Oauth2 avec une clé privée et une clé publique. Il faut bien stocker la clé privée quelques part dans l’application, et donc une personne extérieur pourra la retrouver et simuler le comportement de l’application pour communiquer avec l’API.

Concrètement mon problème c’est : Une personne pourra toujours trouver une solution pour obtenir le code source du client (du moins réussir à obtenir la clé privé, ou tout autre moyen qui identifie le client) et donc un second client pourra se faire passé pour un client connu par le serveur.

Du coup, est-ce que mon raisonnement est faux quelque part, et quel est le moyen pour sécuriser une API ?

Merci :)

Ton analyse est bonne. Ce que tu peux faire c’est compliquer la tâche.

Surtout passe en HTTPS et vérifie la validité du certificat pour éviter le middleman. Ça compliquera déjà pas mal le travail. Mon premier réflexe, si je dois utiliser une api "fermé" d’un programme est de créer une application de type proxy pour espionner et comprendre les échanges. Ensuite je recréer un script qui correspond aux échanges que j’ai vu, sans avoir eu besoin de "décompiler" le programme.

Si ça doit être plus compliqué je n’essaye pas.

+1 -0

Il faut essayer de mettre toute la sécurité au niveau du serveur et pas du client. Si tu veux forcer à utiliser ton client c’est pour enforce un comportement codé dans le client. Enforce le plutôt dans le code du serveur. Je sais pas si dans ton cas c’est possible, mais si tu fais un client web par exemple, tu n’auras pas le choix. Never trust client.

L’obfuscation n’est pas une sécurité.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte