Informasi ini ditujukan bagi developer dengan aplikasi berisi enkripsi yang menggunakan mode AES/ECB yang kurang aman. Mengenkripsi konten menggunakan mode lemah ini dapat menyebabkan ciphertext yang lemah. Hal ini berpotensi membahayakan data pengguna. Lokasi mode enkripsi yang kurang aman di aplikasi Anda dapat ditemukan di notifikasi Konsol Play untuk aplikasi Anda. Jika lokasi diakhiri dengan "(dalam kode yang dimuat secara dinamis)", lokasi tersebut berada dalam kode yang dimuat secara dinamis oleh aplikasi atau oleh library yang digunakan oleh aplikasi. Aplikasi biasanya menggunakan kode yang dimuat secara dinamis melalui pengiriman fitur on demand, meskipun teknik yang tidak direkomendasikan lainnya ada (beberapa teknik yang tidak direkomendasikan juga melanggar kebijakan Google Play dan tidak boleh digunakan). Selain itu, packer dapat mengubah kode aplikasi menjadi kode yang dimuat secara dinamis.
Cara mengatasi pemberitahuan “Mode Enkripsi Kriptografi yang Tidak Aman”
Tinjau aplikasi Anda untuk mengetahui tempat Cipher dijadikan instance. Mode konfigurasi berikut akan menyiratkan penggunaan AES/ECB yang tidak aman:
"AES"
"AES/ECB/NoPadding"
"AES/ECB/PKCS5Padding"
"AES/ECB/ISO10126Padding"
Misalnya, kode berikut menggunakan mode AES/ECB secara default karena "AES" diberikan:
// Pemberitahuan Console merujuk pada metode ini
public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
Cipher cipher = Cipher.getInstance(“AES”); // Menggunakan mode AES/ECB secara default
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 menyarankan agar developer menggunakan “AES/GCM/NoPadding”
, bukan mode tidak aman yang disebutkan di atas.
Langkah berikutnya
- Update aplikasi Anda menggunakan langkah-langkah yang dijelaskan di atas.
- Login ke Konsol Play dan kirimkan versi aplikasi yang telah diupdate.
Selama proses ini, aplikasi baru atau update aplikasi akan berada dalam status menunggu publikasi hingga permintaan Anda ditinjau. Jika aplikasi belum diupdate dengan benar, peringatan akan tetap ditampilkan.
Kami siap membantu
Jika ada pertanyaan teknis tentang kerentanan, Anda dapat memposting pertanyaan ke Stack Overflow dan menggunakan tag “android-security”.