Esta es la primera vez que me enfrento a una implementación de aplicaciones móviles a gran escala. Esta aplicación necesita conectarse a un servidor remoto donde almacenar y recuperar datos.
Descarté conectarme directamente a la base de datos MySQL, ya que sería una muy mala idea, así que puse algunos scripts PHP en el lado del servidor que recibe datos de dispositivos móviles como consultas HTTP POST y produce una respuesta válida según la consulta.
Ahora estoy empezando a preocuparme por la seguridad utilizando este enfoque. Cualquiera puede conectarse a su WiFi doméstica y establecer como puerta de enlace alguna máquina local y comenzar a detectar tráfico, de esta manera sería muy fácil saber qué consultas se están enviando y cómo manipular algunas consultas para obtener / enviar datos no autorizados.
Para evitarlo, he considerado los siguientes enfoques:
SSL : Parece obvio, pero por lo que sé, SSL cifrará los datos en la transacción, pero aún puede ser detectado en una máquina local.
Algoritmo de cifrado : encripta los mensajes del lado del cliente y del servidor con algún cifrado seguro. Sin embargo, esto podría enfrentar algunos otros problemas, ya que codifica algunas claves en la aplicación, lo que no parece ser un gran problema.
Me gustaría evitar el uso de complementos de terceros y usar mi propio código para hacer todas las cosas, pero en este punto estoy atascado en cómo proceder.
¿Alguna idea? Gracias!