Estoy creando un backend para la aplicación móvil con un punto final de API HTTP público. A pesar de ser públicamente visible, este punto final solo debe ser utilizado por mi aplicación, es decir, no quiero que las personas le envíen solicitudes aleatorias utilizando wget o algo similar.
Mi idea fue configurar un SSL / TLS en mi servidor, por lo que la API solo está disponible a través de HTTPS y para hacer cumplir una verificación de certificado de cliente en el servidor. Cada copia de la aplicación tendrá el (mismo) certificado de cliente incluido.
Tenga en cuenta que no estoy haciendo esto con el fin de autenticar a un usuario, solo para limitar el acceso desde otras fuentes que no sean mi aplicación.
¿Es una solución válida? Me atrae mucho por lo simple que es. ¿Hay algún defecto evidente con él? ¿Qué tan probable es que el certificado se desagregue de la aplicación y se use con fines maliciosos?