¿Cómo asegurar la cadena en la aplicación Android?
¿Cómo asegurar la cadena en la aplicación Android?
Opciones:
-
ProGuard: No asegura cadena? ¿Proguard trabaja para ocultar las constantes de cadena estáticas?
- ¿Es posible tener un solo ensayo por dispositivo?
- Almacenamiento de credenciales de Android: ¿Dónde guardar las claves privadas?
- ¿Para los juegos, usted aplicaría a la seguridad oa la usabilidad?
- ¿Necesito proteger mi aplicación de Android de ser copiado?
- Cómo agregar PBKDF2WithHmacSHA1 para android api 8 (Froyo)
-
Encrypt String: para el cifrado Necesito almacenar la clave de cifrado (cadena) en algún lugar y de nuevo es el mismo problema, la forma de proteger la clave de cifrado.
-
Obtener cadena de servicio web: Pero esta solución no funcionará para mí, ya que la aplicación no tiene necesidad de Internet / acceso que es requisito / decisión de negocio.
-
NDK: escriba el archivo de c que contiene la secuencia y la vuelta usando JNI pero encontré Hex-Ray decompile para descompilar el archivo * .so https://www.hex-rays.com/index.shtml
==================================================
Función en C
jstring Java_com_abc_xyz_getString(JNIEnv* env, jobject javaThis) { return (*env)->NewStringUTF(env, "Hello String"); }
===============================================================
Por favor, sugiera una mejor opción para asegurar cadena en Android SDK / NDK.
- Android M - Llavero como almacenamiento para nombre de usuario / contraseña
- Kotlin es más difícil de realizar ingeniería inversa que java
- As3 AIR for android - Contenido de la caja de herramientas de la aplicación ERROR
- Android Keystore, valor seguro de la clave
- ¿Cómo proteger Google In-App Billing v3 contra la piratería de código?
- Cómo guardar la clave secreta de forma segura en android
- ¿Cómo está comprobando Google SHA1 y el nombre del paquete en las llamadas de la API?
- Uid ... no tiene android.permission.UPDATE_APP_OPS_STATS
La protección y distribución clave es el gran agujero en la criptografía. Debe estar en algún lugar disponible en el momento en que necesite descifrar los datos.
Por lo tanto, si la cadena es introducida por alguien que usa el dispositivo, puede usar los dispositivos serial # / IMEI # / etc como la clave. Algo seguro, pero no tan difícil de hacer ingeniería inversa. Esto permitiría que los datos se descifraran localmente sin que el usuario introdujera una contraseña, pero no permitiría que los datos se distribuyeran cifrados.
Si está intentando distribuir datos cifrados con la aplicación, tal y como ha descubierto, las claves deben ser alguien local para el dispositivo. Sin un enlace de comunicaciones con el mundo exterior, las únicas opciones están en el dispositivo o con el usuario de las aplicaciones.
Tal vez si pudiera darnos el flujo de trabajo previsto, ¿podría obtener sugerencias más útiles?