Как устранить уязвимость, связанную с использованием небезопасного режима шифрования

Эта информация предназначена для разработчиков, в чьих приложениях применяется менее безопасный режим шифрования – AES/ECB. Его использование может привести к тому, что зашифрованные тексты будет легко дешифровать. Это может поставить под угрозу безопасность пользовательских данных. Информацию о расположении менее безопасных режимов в вашем приложении можно найти в уведомлении Play Console. Если в конце пути указано "(в динамически загружаемом коде)", то расположение динамически загружается приложением или библиотеками. Как правило, код загружается динамически с помощью Play Feature Delivery. Существуют и другие методы, но мы не рекомендуем ими пользоваться, поскольку некоторые из них нарушают правила Google Play. Кроме того, код приложения можно преобразовать в динамически загружаемый.

Как устранить предупреждение о небезопасном режиме криптографического шифрования

В коде приложения найдите, где создан экземпляр класса Cipher. Следующие режимы конфигурации предполагают использование небезопасного режима AES/ECB:

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

Например, в этом коде режим AES/ECB используется по умолчанию, поскольку указан "AES":

// Оповещение консоли относится к этому методу
 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);

 }

Вместо вышеупомянутого небезопасного режима мы рекомендуем использовать режим "AES/GCM/NoPadding".

Дальнейшие действия

  1. Обновите приложение, следуя приведенным выше инструкциям.
  2. Войдите в Play Console и загрузите обновленную версию приложения.

В этот период и до рассмотрения заявки статус нового приложения или обновления изменится на Готовится к публикации. Если приложение не было обновлено в соответствии с требованиями, предупреждение не исчезнет.

Мы всегда готовы помочь

Если у вас есть вопросы, задайте их, используя тег android-security.


 

Эта информация оказалась полезной?

Как можно улучшить эту статью?
false
Главное меню
7729119628009967589
true
Поиск по Справочному центру
true
true
true
true
true
5016068
false
false