¿Cuál es la forma preferida de usar AWS (específicamente S3) desde aplicaciones móviles?

4

Agregar la clave de acceso y la clave secreta de AWS directamente en el código de la aplicación definitivamente no es un buen enfoque, principalmente porque la aplicación reside en el dispositivo del usuario (a diferencia del código del lado del servidor), y puede ser revertida para obtener las credenciales, que pueden luego ser mal utilizado.

Aunque encuentro esta información en todas partes, pero no puedo encontrar una solución definitiva a este problema. ¿Cuáles son mis opciones? Leí sobre la arquitectura de la máquina expendedora de fichas para obtener credenciales temporales, pero no estoy convencido de que sea mejor. Si puedo aplicar ingeniería inversa a la clave secreta, entonces puedo aplicar ingeniería inversa al código que solicita credenciales temporales. Y una vez que tengo un conjunto de credenciales temporales para acceder a S3, soy tan bueno como si tuviera la clave. Puedo solicitar las credenciales temporales una y otra vez, incluso si caducan con bastante rapidez. Para resumir, si una aplicación puede hacer algo, puedo hacer lo mismo que un usuario malintencionado. En todo caso, el TVM puede ser un poco mejor en la gestión (rotar credenciales y cambiar de clave en caso de incumplimiento, etc.). Tenga en cuenta que podemos poner las mismas restricciones de acceso en la clave secreta, como lo haremos en el caso de las credenciales temporales de TVM.

Además, si Amazon no quiere que la gente use la clave secreta directamente en la aplicación, ¿por qué no la bloquean en su SDK y aplican TVM o la solución correcta? Si dejas un camino, la gente lo va a utilizar. Leí varios artículos como estos, y me pregunto por qué: enlace

Por favor, ayúdeme a entender si esto es mejor y si hay una solución perfecta (o puede ser buena) disponible para este problema. Entiendo que TVM es más manejable (y una respuesta a incidentes mucho más rápida una vez que las credenciales están comprometidas), pero no estoy convencido de que sea más seguro.

PS: Esto está relacionado principalmente con TVM anónimo, ya que los usuarios no inician sesión en nuestras aplicaciones.

PS2: Tengo claridad acerca de la comunicación segura entre TVM y la aplicación para obtener credenciales temporales, publique los registros de la aplicación. Me preocupa más lo que evitaría que un usuario malintencionado se registre con un nuevo UDID y obtenga credenciales temporales y, por lo tanto, acceso a S3.

    
pregunta amit_saxena 01.04.2014 - 17:48
fuente

0 respuestas

Lea otras preguntas en las etiquetas