Solución para el uso del modo de cifrado no seguro

Esta información va dirigida a los desarrolladores de aplicaciones con un cifrado que utilice el modo menos seguro AES/ECB. Si cifras contenido usando este modo poco seguro, es posible que se cree texto cifrado poco seguro y que los datos de los usuarios se pongan en riesgo. Las ubicaciones de los modos de cifrado menos seguros de tu aplicación se encuentran en la notificación de Play Console sobre tu aplicación. Si una ubicación termina con "(en código cargado de forma dinámica)", la ubicación se encuentra en el código cargado de forma dinámica por la aplicación o por las bibliotecas que utiliza la aplicación. Las aplicaciones suelen usar código cargado de forma dinámica mediante la entrega de funciones a la carta, aunque existen otras técnicas no recomendadas (algunas técnicas no recomendadas también infringen la política de Google Play y no deben usarse). Además, los empaquetadores pueden transformar el código de aplicación en código cargado de forma dinámica.

Cómo solucionar las alertas de modo de cifrado criptográfico no seguro

Revisa tu aplicación para identificar la ubicación donde se crea una instancia de algoritmo de cifrado. Los siguientes modos de configuración implican el uso de AES/ECB no seguro: 

  • "AES"
  • "AES/ECB/NoPadding"
  • "AES/ECB/PKCS5Padding"
  • "AES/ECB/ISO10126Padding"

Por ejemplo, el siguiente código utiliza el modo AES/ECB de forma predeterminada porque se ha proporcionado el valor "AES": 

// La alerta de Play Console se refiere a este método
 public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
    Cipher cipher = Cipher.getInstance("AES"); 
// Usa el modo AES/ECB de forma predeterminada
    SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "AES");
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);

    return cipher.doFinal(plainText);

 }

Google recomienda que los desarrolladores utilicen "AES/GCM/NoPadding" en lugar del modo no seguro mencionado arriba.

Siguientes pasos

  1. Actualiza tu aplicación siguiendo los pasos mencionados anteriormente.
  2. Inicia sesión en Play Console y envía la versión actualizada de tu aplicación.

Durante este tiempo, la aplicación nueva o actualización a la aplicación estarán pendientes de publicación hasta que se revise la solicitud. Si la aplicación no se ha actualizado correctamente, se mostrará la advertencia.

Estamos aquí para ayudarte

Si tienes alguna pregunta técnica sobre esta vulnerabilidad, puedes publicarla en Stack Overflow usando la etiqueta "android-security".


 

¿Te ha resultado útil esta información?

¿Cómo podemos mejorar esta página?
false
Menú principal
8970672752413187259
true
Buscar en el Centro de ayuda
true
true
true
true
true
5016068
false
false