Aquesta informació va dirigida als desenvolupadors d'aplicacions que contenen encriptacions que utilitzen el mode menys segur AES/ECB. Si s'encripta el contingut amb aquest mode poc segur, els textos poden tenir xifratges poc segurs i es poden posar en risc les dades d'usuari. Les ubicacions dels modes d'encriptació menys segurs es poden trobar a la notificació de Play Console de l'aplicació. Si una ubicació acaba en "(codi carregat dinàmicament)", la ubicació es troba al codi carregat dinàmicament per l'aplicació o per biblioteques que l'aplicació utilitza. Les aplicacions solen utilitzar codi carregat dinàmicament a través de l'entrega de funcions a la carta, tot i que hi ha altres tècniques no recomanades (algunes tècniques no recomanades també infringeixen la política de Google Play i no s'han d'utilitzar). A més, els empaquetadors poden transformar el codi d'aplicació en codi carregat dinàmicament.
Com es poden corregir les alertes de "Mode d'encriptació criptogràfica no segura"
Revisa l'aplicació per cercar la ubicació on s'instancia un xifratge. Els modes de configuració següents impliquen l'ús d'AES/ECB no segur:
"AES"
"AES/ECB/NoPadding"
"AES/ECB/PKCS5Padding"
"AES/ECB/ISO10126Padding"
Per exemple, el codi següent utilitza el mode AES/ECB de manera predeterminada perquè s'ha proporcionat l'AES:
// L'alerta de consola fa referència a aquest mètode
public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
Cipher cipher = Cipher.getInstance(“AES”); // Utilitza el mode AES/ECB de manera 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 recomana que els desenvolupadors utilitzin "AES/GCM/NoPadding"
en lloc del mode no segur esmentat anteriorment.
Passos següents
- Actualitza l'aplicació seguint els passos destacats més amunt.
- Inicia la sessió a Play Console i envia una versió actualitzada de l'aplicació.
Durant aquest període de temps, l'aplicació nova o l'actualització tindran l'estat Pendent de publicació fins que no es revisi la sol·licitud. Si l'aplicació no s'ha actualitzat correctament, veuràs l'advertiment.
Som aquí per ajudar-te
Si tens cap dubte tècnic sobre la vulnerabilitat, pots publicar les teves preguntes a Stack Overflow amb l'etiqueta "android-security".