Thông tin này là dành cho những nhà phát triển có ứng dụng chứa nội dung được mã hoá bằng chế độ AES/ECB kém an toàn. Việc mã hoá nội dung bằng chế độ kém an toàn này có thể là nguyên nhân dẫn đến thuật toán mật mã yếu và gây nguy hiểm cho dữ liệu của người dùng. Bạn có thể tìm thấy vị trí của chế độ mã hoá kém an toàn trong thông báo của Play Console cho ứng dụng của bạn. Nếu một vị trí kết thúc bằng “(trong đoạn mã được tải động)” thì tức là vị trí đó nằm trong đoạn mã do ứng dụng tải động hoặc do thư viện sử dụng trong ứng dụng đó tải động. Thường thì ứng dụng sử dụng đoạn mã được tải động thông qua chế độ phân phối tính năng theo yêu cầu, mặc dù vẫn có một số kỹ thuật khác mà chúng tôi không đề xuất (một số kỹ thuật không được đề xuất cũng vi phạm chính sách của Google Play và không nên được áp dụng). Ngoài ra, chương trình đóng gói có thể biến đổi đoạn mã xử lý ứng dụng thành đoạn mã được tải động.
Cách khắc phục khi gặp cảnh báo "Chế độ mã hoá không an toàn"
Hãy xem lại ứng dụng của bạn để tìm vị trí mà bản sao thuật toán mật mã được tạo. Các chế độ cấu hình sau đây là dấu hiệu cho thấy chế độ AES/ECB kém an toàn đang được sử dụng:
"AES"
"AES/ECB/NoPadding"
"AES/ECB/PKCS5Padding"
"AES/ECB/ISO10126Padding"
Ví dụ: Đoạn mã dưới đây sử dụng chế độ AES/ECB theo mặc định vì có "AES":
// Thông báo trên Console chỉ phương pháp này
public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
Cipher cipher = Cipher.getInstance(“AES”); // Sử dụng chế độ AES/ECB theo mặc định
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 khuyên các nhà phát triển sử dụng chế độ “AES/GCM/NoPadding”
thay cho chế độ kém an toàn nêu trên.
Bước tiếp theo
- Cập nhật ứng dụng theo các bước được nêu bật ở trên.
- Đăng nhập vào Play Console và gửi một phiên bản cập nhật của ứng dụng.
Trong thời gian này, ứng dụng mới hoặc bản cập nhật ứng dụng của bạn sẽ ở trạng thái đang chờ phát hành cho đến khi yêu cầu của bạn được xem xét. Bạn sẽ vẫn thấy thông báo khi chưa cập nhật ứng dụng đúng cách.
Chúng tôi sẵn lòng trợ giúp
Nếu có câu hỏi kỹ thuật liên quan đến lỗ hổng bảo mật này, bạn có thể đăng lên Stack Overflow và sử dụng thẻ “android-security”.