¿Cómo se puede proteger la información contenida en un APK?

Supongo que alguien ha construido un descompilador APK ….. ¿Cuál es la mejor práctica para proteger la información sensible (como los parámetros de autenticación para una base de datos backend)? Supongo que algún tipo de middleware funcionaría pero eso no puede hacer cosas buenas por velocidad. ¿Cuál es el "camino correcto"?

2 Solutions collect form web for “¿Cómo se puede proteger la información contenida en un APK?”

Es difícil invertir el código de byte de Dalvik de ingeniería; Mi comprensión es que no hay una simple asignación de nuevo a Java código de byte, mucho menos a la fuente de Java, sobre todo si se ha pasado a través de ProGuard. Sin embargo , los parámetros de autenticación suelen ser datos, no código, y que pueden ser snooped para más fácilmente. Por otra parte, alguien interesado en romper sus credenciales tiene un montón de otros medios de ataque, incluyendo el chequeo de paquetes, que no requieren la recuperación de su código fuente. El comentario de Anon es exactamente correcto, no confíe en el cliente.

En cuanto a las mejores prácticas, puede utilizar un sistema de cifrado de clave pública, obtener credenciales del servidor, etc., para evitar poner información sensible en el archivo .apk. No confíe en ofuscación o código de byte oscuro para mantener sus secretos. No lo harán.

Si está escribiendo una aplicación de Andoid y utiliza AWS, le recomendamos que consulte:

https://github.com/apetresc/awskeyserver

Author utiliza el AWS IAM (servicio de gestión de identidades y accesos) con Google App Engine para proteger con éxito los parámetros de autenticación. Me imagino que IAM eventualmente se incluirá en el SDK de Android de AWS, pero hasta entonces, esta es una gran opción.

  • Mostrar información basada en el botón que se pulsó
  • Alerta de alarma Android con fecha fija y repetitiva
  • Cómo alinear el texto de ListView a la derecha en Android?
  • Desactivar partes del código para acelerar los tiempos de construcción (Gradle)
  • Cómo agregar el logotipo en la pantalla de consentimiento de google?
  • Proceso de multi-subprocesos Java (Android)
  • Usar AppCompat 'layout_behavior' con '@ string / appbar_scrolling_view_behavior' lanza la excepción
  • ¿Qué sucede cuando mi actividad se destruye cuando estoy usando IntentService con ResultReceiver
  • Respuesta de prueba de licencia de Android: nunca funciona
  • Cómo hacer la reanudación de sesión SSL en Android
  • Osmdroid Bonuspack - MyLocationNewOverlay
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.