Estas informações são destinadas aos desenvolvedores de apps com criptografia usando o modo AES/ECB, menos seguro. Criptografar conteúdo com esse modo pode gerar textos fracos e colocar os dados do usuário em risco. Os locais dos modos de criptografia menos seguros do app podem ser encontrados na notificação do Play Console. Se um local terminar com "(em código carregado dinamicamente)", ele vai estar no código carregado dinamicamente pelo app ou pelas bibliotecas usadas. Os aplicativos geralmente usam o código carregado dinamicamente pelo envio de recursos sob demanda, embora existam outras técnicas não recomendadas. Algumas dessas técnicas também violam a política do Google Play e não podem ser usadas. Além disso, os empacotadores podem transformar o código do aplicativo em código carregado dinamicamente.
Como corrigir alertas do "Modo de criptografia não segura"
Revise o app para ver o local em que uma Cipher é instanciada. Os seguintes modos de configuração implicam o uso de AES/ECB não seguro:
"AES"
"AES/ECB/NoPadding"
"AES/ECB/PKCS5Padding"
"AES/ECB/ISO10126Padding"
Por exemplo, o código a seguir usa o modo AES/ECB por padrão, porque o "AES" foi fornecido:
// O alerta do console se refere a este método
public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
Cipher cipher = Cipher.getInstance(“AES”); // Usa o modo AES/ECB por padrão
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);
}
O Google recomenda que os desenvolvedores usem “AES/GCM/NoPadding”
em vez do modo não seguro mencionado acima.
Próximas etapas
- Atualize o app de acordo com as etapas destacadas acima.
- Faça login no Play Console e envie uma versão atualizada do app.
Durante esse período, o novo app ou a atualização terá o status Publicação pendente até que a solicitação seja analisada. Se o app não tiver sido atualizado corretamente, o aviso ainda será exibido.
Estamos aqui para ajudar
Caso tenha dúvidas técnicas sobre a vulnerabilidade, escreva uma postagem no Stack Overflow e use a tag "android-security".