studio password getinstance generate debug data android android-keystore android-security

android - password - ¿Cómo evitar el uso de keystore y contraseña filtrados?



keystore getinstance android (2)

Desafortunadamente, no hay una respuesta fácil a este problema. Como se mencionó anteriormente, la solución más general es crear una nueva aplicación, pedir a los usuarios que cambien y migrar los datos.

Sin embargo, en Lollipop +, hay otra solución posible. Puede usar las claves de actualización para cambiar la clave de firma de una aplicación, lo que le ahorra la molestia de crear una segunda aplicación o realizar la migración de datos. Desafortunadamente, Play actualmente no tiene soporte para esto, por lo que es solo una opción para aplicaciones de fuera del mercado, y los usuarios de Kitkat no tienen suerte.

Problema

El almacén de claves y su contraseña se utilizan para firmar la aplicación que luego usa Android para identificar al desarrollador. Si se filtra, alguien podría actualizar la aplicación en cuestión en nuestro nombre. Incluso si la persona no tiene acceso a nuestra cuenta de playstore, aún podría publicarla en otro lugar .

Vemos en todas partes, "nunca lo pierdas" , "nunca lo derrames" , etc. ¿Pero qué pasa si lo hice? No puedo encontrar los pasos necesarios para seguir cuando ambos, el almacén de claves y su contraseña, se filtran, por lo que puedo proteger a nuestros usuarios y nuestra aplicación.

Pregunta

Incluso si publico la misma aplicación con otro appid, ¿cómo puedo proteger a mis usuarios que todavía están en la anterior? ¿Hay alguna mejor práctica aquí?


Desafortunadamente, no parece haber una buena manera de migrar una aplicación existente a una nueva clave de firma. Esto es probablemente lo mejor, ya que las mejores prácticas siguen siendo a) tener una clave fuerte yb) mantener su clave de lanzamiento privada lo más privada posible. Encontré este artículo en el que se describe una forma viable (pero más bien una forma poco amigable para el usuario) de migrar de una clave de 1024 bits a una clave de 4096 bits, que parece ajustarse a su caso de uso. Debido a que aún tiene una clave de firma válida para la aplicación comprometida, puede intentar migrar fuera de ella a través de la actualización.

  1. generar la nueva clave de firma, RSA 4096
  2. Actualice la primera aplicación, App1, con un mecanismo para exportar datos privados, usando TrustedIntents con un pin de firma de la nueva clave, RSA 4096, que Checkey generará para usted.
  3. Cree una nueva versión de la aplicación con un nombre de paquete diferente, App2
  4. firma App2 con nueva llave, RSA 4096
  5. Agregue un método a App2 para recibir datos de usuario de App1, incluido un pin de firma de la clave de firma anterior, RSA 1024, para usar con TrustedIntents
  6. Publicar App2 en las tiendas de aplicaciones
  7. Desde App1, solicite al usuario que instale App2
  8. ejecuta e importa datos desde App1
  9. App2 solicita al usuario que desinstale App1