Estamos creando una biblioteca de Android para nuestras API Rest para que los desarrolladores de aplicaciones puedan acceder con un token único. Ya que es un servicio pagado y es un modelo de precios por solicitud o por instalación, ¿cómo podemos proteger a nuestros desarrolladores pagados del abuso? Por ejemplo, si alguien, pero el desarrollador recibe el token de:
- Descompilar la aplicación
- Ejecutando un ataque de Man in the Middle (aunque sea HTTPS) y obtiene el token
Lo que estamos haciendo en este momento es lograr que cada desarrollador aloje su propio punto final (URL del servidor) que está codificado en la biblioteca cuando se los entregamos. Este punto final es un proxy inverso de nuestra API, y de esta manera, podemos limitar las solicitudes por IP y también diferenciar el tráfico. Sin embargo, realmente no resuelve la parte de abuso del problema, y también es demasiado doloroso si queremos escalar a un millón de aplicaciones.
¿Qué podemos hacer?