Введение / Зачем это нужно
Современные смартфоны хранят больше, чем просто контакты: это ключи, документы, сообщения и доступ к финансам. Встроенное шифрование Android защищает данные на диске, делая их бесполезными без правильного ключа, даже если извлечь память или получить root.
В этом руководстве вы научитесь включать, настраивать и проверять шифрование на Android 10+. По завершении ваше устройство будет использовать File Based Encryption (FBE), а ключи будут храниться в защищённом аппаратном Keystore.
Требования / Подготовка
- Устройство на базе Android 10 или новее.
- Заряд не менее 50–70% (процесс может быть долгим и энергозатратным).
- Установленный PIN-код или пароль экрана блокировки (не менее 6 символов).
- Резервная копия важных данных через «Настройки → Система → Резервное копирование».
- (Опционально) ПК с установленным ADB для проверки свойств через командную строку.
Пошаговая инструкция
Шаг 1: Настройка блокировки экрана
Без надёжной блокировки экрана шифрование работает с ослабленным ключом. Откройте «Настройки → Безопасность → Блокировка экрана» и выберите PIN или пароль. Избегайте простых комбинаций — это основа вашего ключа расшифровки.
Шаг 2: Запуск шифрования устройства
На Android 10+ шифрование часто включено по умолчанию, но его можно принудительно активировать или перешифровать:
- Перейдите в «Настройки → Безопасность → Шифрование и учётные данные».
- Выберите «Шифрование телефона» и нажмите «Зашифровать телефон».
- Устройство перезагрузится и начнёт процесс. Не прерывайте его и не выключайте питание.
⚠️ Важно: Процесс может занять от нескольких минут до часа в зависимости от объёма данных и скорости памяти.
Шаг 3: Проверка статуса через ADB или терминал
Чтобы убедиться, что шифрование активно, используйте ADB на ПК или терминал на устройстве:
# Через ADB
adb shell getprop ro.crypto.state
Ожидаемый результат: encrypted. Если выводится unencrypted, проверьте, не отключена ли блокировка экрана, и повторите Шаг 2.
Для более детальной информации:
adb shell getprop ro.crypto.type
Это должно вернуть file для File Based Encryption.
Шаг 4: Управление ключами и Keystore
Современные приложения должны использовать AndroidKeyStore для генерации и хранения ключей. Это защищает их аппаратно (TEE или StrongBox) и привязывает к экрану блокировки.
Пример проверки доступности Keystore для разработчиков:
adb shell dumpsys keystore | head -20
Убедитесь, что в выводе присутствуют активные записи и нет ошибок инициализации. Если вы разрабатываете или администрируете MDM-решения, настройте политики, требующие использования KeyGenParameterSpec с setUserAuthenticationRequired(true).
Проверка результата
- Перезагрузите устройство и убедитесь, что для доступа требуется PIN/пароль до загрузки профиля.
- Проверьте
ro.crypto.state— должно бытьencrypted. - Убедитесь, что резервная копия создана и доступна в облаке или на ПК.
- По возможности протестируйте доступ к зашифрованным файлам после блокировки и разблокировки экрана.
Возможные проблемы
- Процесс шифрования прерывается или зависает: убедитесь, что заряд выше 50%, и не используйте устройство во время процесса. При необходимости запустите шифрование через ADB:
adb shell start-user <user_id>и проверьте логиlogcatна предмет ошибок FBE. - ro.crypto.state остаётся unencrypted: возможно, устройство использует устаревшее шифрование full-disk (FDE) или политики OEM блокируют изменение. Обновите систему до последней версии и повторите Шаг 2.
- Потеря ключей Keystore после сброса: это ожидаемо при удалении учетных данных или очистке блокировки экрана. Всегда используйте резервные копии и MDM-профили для корпоративных устройств.
- Проблемы с производительностью после включения FBE: на старых устройствах возможна задержка при первом доступе к файлам. Обновите прошивку и перейдите на более производительные профили хранения, если доступно.