Nous développons une API REST destinée à être utilisée par deux applications mobiles. Il est important que nous soyons en mesure de faire confiance aux identités de ces applications mobiles. Dans notre conception actuelle, chaque appel API est authentifié avec un paramètre "API Key" et sécurisé avec HTTPS. Je suis préoccupé par le fait que la clé API est intégrée à chaque copie de l'application mobile, ce qui signifie que nous ne pouvons pas la garder secrète. Ce sera sur des milliers de téléphones, et théoriquement n'importe quel hacker avec un éditeur binaire ou un analyseur de trafic HTTP pourrait extraire la clé API et ensuite se poser comme l'une des applications, nous envoyant des demandes que nous n'aurions pas d'autre choix que de faire confiance. Les certificats clients semblent présenter le même risque.Prévention du vol d'identité des clients de l'API mobile
Existe-t-il une architecture qui résout ce problème?
Vous voulez stocker un secret sur le client de manière à ce qu'il ne puisse pas être récupéré? Hmm – Greg
Est-ce que les parties qui ont l'application mobile ont des motivations pour garder la clé secrète? –
@Greg - ne doit pas être un secret - juste un moyen d'être en mesure de faire confiance à l'application. – realworldcoder