Есть ли способ для пользователя узнать, зашифровано ли его устройство Android или нет?

В SO есть полурелевантный поток https://stackoverflow.com/questions/12640708/check-if-android-filesystem-is-encrypted , в котором объясняется, как разработчик определяет, включено ли полнодисковое шифрование, но есть ли простой способ для пользователя узнать? Я попытался зашифровать (у меня 4.4.2), и в какой-то момент он, похоже, потерпел неудачу, но не выдал ошибку, просто в определенный момент вернул меня на рабочий стол.

Это не окончательно (как вы сказали), вы можете установить PIN-код без шифрования
У меня есть Galaxy S6, который я попытался зашифровать, я запустил процесс и принял душ. Когда я вернулся, чтобы проверить результаты, я не мог сказать, было ли это успешным. Единственная разница в том, что больше нет выбора для шифрования. Это не означает, что телефон зашифрован.

Ответы (4)

На Орео 8.0.0

Настройки → Безопасность и местоположение → Шифрование и учетные данные и это показываетphone encrypted

Лучший метод

Использование команды adb shell getprop ro.crypto.state (также работает на устройствах без рута) возвращает encryptedилиunencrypted

Примеры вывода

  • Oreo (без рута, зашифрованный)

Vostro1510 ~ $ adb shell getprop ro.crypto.state

зашифрованный

  • Marshmallow (с root-доступом, без шифрования)

Vostro1510 ~ $ adb shell getprop ro.crypto.state

незашифрованный

Source — команда Adb, чтобы проверить, зашифровано ли устройство

Примечание. Исходный вопрос относится к полному шифрованию диска, которое было заменено шифрованием файлов, начиная с Nougat. Смотрите это для деталей

Изменить . Вместо этого adbвы можете установить Termux и ввести getprop ro.crypto.stateего, чтобы получить результат - также работает на нерутированном устройстве.

+1. Есть ли способ узнать, использует ли устройство полное шифрование диска или шифрование на основе файлов?
@Firelord Спасибо. Да, у нас есть ответ здесь android.stackexchange.com/q/195713
Вы называете это "Лучший метод". К сожалению, я не знаю, сколько людей установили adb или нет. Я думаю (но не знаю), что на большинстве устройств нет adb.
@guettli думаю, вы пропустили альтернативу приложению ближе к концу ответа

Там же, где вы начинаете шифрование:

В (я на 4.3) Settings -> Options -> Securityпервая запись сообщит о статусе и предложит расшифровать (если зашифрован) или зашифровать (если нет).

Я могу ошибаться, но нет ли разницы между FDE и системным шифрованием? Я думаю, что тот, который вы упомянули, - это только системный уровень.

Если ваш телефон поставляется с Android 5 или более поздней версии, хранилище по умолчанию зашифровано. Вы можете убедиться в этом, зайдя в Settings> Security & lock screen> Encryption & credentials. Там должно быть написано Зашифровать телефон - зашифровано , и это не позволит вам его отключить.

Однако безопасность шифрования зависит от нескольких факторов. Самое главное, вы должны использовать надежный пароль. ПИН-коды можно легко взломать — Android позволяет вам пробовать 5 разных паролей каждые 30 секунд. Это означает, что подбор 4-значного PIN-кода занимает менее 17 часов.

Другим фактором является то, разблокирован ли у вас загрузчик и какое шифрование использует ваш телефон.

Файловое шифрование

Android 10+, некоторые устройства с Android 7–9.

Android с включенным FBE шифрует мастер-ключ комбинацией ключа устройства и вашего PIN-кода/пароля. Такое устройство НЕЛЬЗЯ расшифровать без вашего пароля, даже если на устройстве можно запустить произвольный код*.

Вы можете быстро проверить, использует ли ваш телефон FBE, перезапустив его. Если он запрашивает PIN-код/пароль с клавиатурой по умолчанию, он использует FBE.

Более надежный способ — бег adb shell getprop ro.crypto.type. Вы получите ответ fileдля FBE.

Полное шифрование диска

Android 4.4–6, некоторые устройства с Android 7–9.

По умолчанию главный ключ шифруется с использованием только ключа устройства. Если вы можете запустить любой код* на устройстве, ваши данные практически не зашифрованы. Чтобы зашифровать мастер-ключ с помощью вашего PIN-кода или пароля, вам необходимо включить «безопасный запуск» ( Settings> Security & location> Screen lock​​> PINили Passwordи нажмите Yes, когда появится вопрос, хотите ли вы использовать безопасный запуск). Это делает мастер-ключ зашифрованным с помощью ключа устройства И вашего PIN-кода/пароля.

Если вы видите черный экран с подсказкой «Чтобы запустить Android, введите свой PIN-код/пароль», ваш телефон использует безопасный запуск. Если он загружается нормально и запрашивает PIN-код/пароль с настроенной клавиатурой, ваш телефон НЕ использует безопасный запуск.

Вы можете проверить, использует ли устройство FDE, запустив adb shell getprop ro.crypto.type. Вы получите ответ blockдля FDE.


* вы можете запустить произвольный код, если загрузчик разблокирован, производитель устройства (или, возможно, очень решительный хакер), вероятно, может сделать это даже с заблокированным загрузчиком

Узнайте больше о шифровании Android здесь: https://source.android.com/security/encryption/

@alecxs Вы можете убедиться в этом, запустив TWRP на устройстве Android <= 9 и имея возможность прочитать содержимое устройства без ввода пароля / PIN-кода. Если бы ключ был зашифрован, это было бы невозможно. Чем он вообще будет зашифрован? Я проверил это на Mi A1 (tissot), когда «безопасный запуск» не был включен.
Использование парольной фразы «default_password» так же хорошо, как наличие незашифрованного ключа, но я изменю формулировку, чтобы отразить это.
какое-то странное исключение (вынужденное китайским правительством?) android.stackexchange.com/q/241934

Попробуйте изменить хранилище по умолчанию на SD-карту

Settings -> Memory -> Default Location -> SD Card

если ваш телефон зашифрован, вы получите предупреждение о том, что внутренняя память зашифрована. Конечно, это только намек, а не доказательство.

Мой P9 Lite (Android 7) ведет себя так, и это соответствует странице 193 руководства пользователя .

Полнодисковое шифрование | Все данные на чипсете памяти автоматически шифруются