การแก้ไขการใช้งานโหมดการเข้ารหัสที่ไม่ปลอดภัย

ข้อมูลนี้มีไว้สำหรับนักพัฒนาแอปซึ่งมีการเข้ารหัสที่ใช้โหมด AES/ECB ที่มีความปลอดภัยน้อย การเข้ารหัสเนื้อหาโดยใช้โหมดที่ไม่ปลอดภัยนี้อาจส่งผลให้มีข้อความเข้ารหัสที่ไม่ปลอดภัย และมีโอกาสทำให้ข้อมูลผู้ใช้มีความเสี่ยงได้ คุณดูตำแหน่งของโหมดการเข้ารหัสที่มีความปลอดภัยน้อยในแอปได้จากการแจ้งเตือนใน Play Console สำหรับแอปของคุณ หากตำแหน่งลงท้ายด้วย "(โค้ดที่โหลดแบบไดนามิก)" แสดงว่าตำแหน่งอยู่ในโค้ดที่โหลดแบบไดนามิกโดยแอปหรือไลบรารีที่แอปใช้ แอปพลิเคชันมักใช้โค้ดที่โหลดแบบไดนามิกผ่านการนำส่งฟีเจอร์แบบออนดีมานด์ แต่ก็มีเทคนิคที่ไม่แนะนำอื่นๆ เช่นกัน (เทคนิคที่ไม่แนะนำบางอย่างยังละเมิดนโยบายของ Google Play และไม่ควรนำมาใช้อีกด้วย) นอกจากนี้ เครื่องมือสร้างแพ็กเกจสามารถเปลี่ยนรูปแบบโค้ดของแอปพลิเคชันให้เป็นโค้ดที่โหลดแบบไดนามิก

วิธีแก้ไขการแจ้งเตือน "โหมดการเข้ารหัสที่ไม่ปลอดภัย"

ตรวจสอบตำแหน่งในแอปที่มีการสร้างอินสแตนซ์ Cipher โหมดการกำหนดค่าต่อไปนี้จะบอกเป็นนัยว่ามีการใช้งาน AES/ECB ที่ไม่ปลอดภัย 

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

ตัวอย่างเช่น โค้ดต่อไปนี้ใช้โหมด AES/ECB โดยค่าเริ่มต้น เนื่องจากมีการระบุ "AES" 

// การแจ้งเตือนของ Console อ้างอิงเมธอดนี้
 public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
    Cipher cipher = Cipher.getInstance(“AES”); 
// ใช้โหมด AES/ECB โดยค่าเริ่มต้น
    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 ขอแนะนำให้นักพัฒนาแอปใช้ "AES/GCM/NoPadding" แทนโหมดที่ไม่ปลอดภัยซึ่งกล่าวถึงไว้ข้างต้น

ขั้นตอนถัดไป

  1. อัปเดตแอปโดยทำตามขั้นตอนที่ไฮไลต์อยู่ด้านบน
  2. ลงชื่อเข้าใช้ Play Console และส่งแอปเวอร์ชันอัปเดตแล้ว

ระหว่างนี้แอปใหม่หรืออัปเดตของแอปจะมีสถานะรอการเผยแพร่จนกว่าจะมีการตรวจสอบคำขอ คุณจะยังคงเห็นคำเตือนหากยังไม่ได้อัปเดตแอปให้ถูกต้อง

เราพร้อมช่วยเหลือคุณ

หากมีคำถามทางเทคนิคเกี่ยวกับช่องโหว่ คุณอาจโพสต์ไว้ที่ Stack Overflow โดยใช้แท็ก "android-security"


 

ข้อมูลนี้มีประโยชน์ไหม

เราจะปรับปรุงได้อย่างไร
false
เมนูหลัก
2396552637350132691
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
5016068
false
false