Tenemos una aplicación móvil que se comunica con nuestro servidor a través de una API HTTPS RESTful. También tenemos un atacante que pretende ser nuestra aplicación al intentar comunicarnos con nuestra API de servicios web.
Suponemos que nuestra aplicación en la naturaleza se puede diseñar por ingeniería inversa para obtener cualquier clave API, secretos compartidos, claves privadas, etc.
Mi pregunta es: ¿Puede OAuth2 ayudar a autenticar la aplicación ? No estoy preguntando acerca de la autenticación de la persona. No se trata de la seguridad de la aplicación móvil. Tenemos que asumir que la aplicación móvil puede verse comprometida.
En otras palabras, en el lado del servidor , ¿cómo distingo entre una solicitud legítima proveniente de nuestra aplicación y un atacante que pretende ser la aplicación?
Se ha sugerido que OAuth2 ayudará. No creo que este sea el caso. No creo que OAuth2 sea relevante para el problema que estoy describiendo.
Miré el Subvención implícita RFC 6749 . Para estar seguro, no requiere un secreto de cliente. Pero todo el punto es iniciar sesión en un lugar y usar esa autorización en otro lugar. Ya lo hacemos a través de nuestra propia API. No intentamos una especie de OpenID Connect, solo protegemos nuestra API de los atacantes.
¿Puede alguien confirmar que OAuth2 no nos ayuda, desde el lado de servidor de la ecuación? O, si me equivoco, ¡por favor explique!