Te informacije so namenjene razvijalcem aplikacij s šifriranje, ki uporablja manj varen način AES/ECB. Šifriranje vsebine s tem šibkim načinom lahko privede do šibkih šifriranih sporočil in lahko ogrozi podatke uporabnikov. Lokacije manj varnih načinov šifriranja v aplikaciji je mogoče najti v obvestilu Konzole Play za vašo aplikacijo. Če se lokacija konča z »(v dinamično naloženi kodi)«, aplikacija ali knjižnice, ki jih aplikacija uporablja, lokacijo v kodi naloži oziroma naložijo dinamično. Aplikacije dinamično naloženo kodo običajno uporabljajo s prikazovanjem funkcij na zahtevo, čeprav so še druge tehnike, ki jih ne priporočamo (nekatere tehnike, ki jih ne priporočamo, tudi kršijo pravilnik za Google Play in jih ni dovoljeno uporabljati). Poleg tega lahko tisti, ki pakirajo aplikacije, kodo aplikacije spremenijo v dinamično naloženo kodo.
Kako odpraviti opozorila »Način kriptografskega šifriranja, ki ni varen«
V aplikaciji poiščite lokacijo, kjer je ustvarjen primerek tega: Cipher. Naslednji konfiguracijski načini kažejo na uporabo načina AES/ECB, ki ni varen:
»AES«
»AES/ECB/NoPadding«
»AES/ECB/PKCS5Padding«
»AES/ECB/ISO10126Padding«
Naslednja koda privzeto uporablja način AES/ECB, ker je bil naveden način »AES«:
// Console alert refers to this method
public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
Cipher cipher = Cipher.getInstance(“AES”); // Employs AES/ECB mode by 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 razvijalcem priporoča, da namesto prej omenjenega načina, ki ni varen, uporabijo način »AES/GCM/NoPadding«
.
Naslednji koraki
- Posodobite aplikacijo z enim od zgoraj opisanih postopkov.
- Prijavite se v Konzolo Play in predložite posodobljeno različico aplikacije.
Dokler zahteva ne bo pregledana, bo imela vaša nova aplikacija ali posodobitev aplikacije stanje čakanje na objavo. Če aplikacija ni ustrezno posodobljena, bo opozorilo še naprej prikazano.
Tu smo, da vam pomagamo
Če imate tehnična vprašanja glede ranljivosti, jih objavite v skupnosti Stack Overflow in uporabite oznako »android-security«.