Шифрование — это процесс кодирования всех пользовательских данных на устройстве Android с использованием симметричных ключей шифрования. После шифрования устройства все созданные пользователем данные автоматически шифруются перед записью на диск, а при чтении данные автоматически расшифровываются перед возвратом вызывающему процессу. Шифрование гарантирует, что даже если неавторизованная сторона попытается получить доступ к данным, она не сможет их прочитать.
В Android существует два метода шифрования устройства: шифрование на уровне файлов и шифрование всего диска.
Шифрование на основе файлов
Android 7.0 и более поздние версии поддерживают шифрование на основе файлов . Шифрование на основе файлов позволяет шифровать разные файлы разными ключами, которые можно разблокировать независимо друг от друга. Устройства, поддерживающие шифрование на основе файлов, также могут поддерживать Direct Boot , что позволяет зашифрованным устройствам загружаться непосредственно на экран блокировки, обеспечивая быстрый доступ к важным функциям устройства, таким как специальные возможности и будильники.
Благодаря файловому шифрованию и API, позволяющим приложениям распознавать шифрование, они могут работать в ограниченном контексте. Это может происходить до того, как пользователи предоставят свои учетные данные, при этом обеспечивая защиту конфиденциальной информации пользователей.
Шифрование метаданных
В Android 9 появилась поддержка шифрования метаданных , если она поддерживается аппаратно. При шифровании метаданных один ключ, присутствующий при загрузке, шифрует всё содержимое, не зашифрованное функцией FBE, например, структуру каталогов, размеры файлов, разрешения и время создания/изменения. Этот ключ защищается KeyMint (ранее Keymaster), который, в свою очередь, защищается функцией Verified Boot.
Полное шифрование диска
В Android 5.0 и Android 9 поддерживается полное шифрование диска . Полное шифрование диска использует один ключ, защищенный паролем устройства пользователя, для защиты всего раздела пользовательских данных устройства. При загрузке пользователь должен ввести свои учетные данные, прежде чем станет доступен какой-либо раздел диска.
Хотя это отлично сказывается на безопасности, это означает, что большая часть основных функций телефона не сразу становится доступна после перезагрузки устройства. Поскольку доступ к данным защищен с помощью учетных данных одного пользователя, такие функции, как будильник, не могут работать, службы специальных возможностей недоступны, а телефоны не могут принимать звонки.