Шифрование

Шифрование — это процесс кодирования всех пользовательских данных на устройстве Android с использованием симметричных ключей шифрования. После шифрования устройства все созданные пользователем данные автоматически шифруются перед записью на диск, а при чтении данные автоматически расшифровываются перед возвратом вызывающему процессу. Шифрование гарантирует, что даже если неавторизованная сторона попытается получить доступ к данным, она не сможет их прочитать.

В Android существует два метода шифрования устройства: шифрование на уровне файлов и шифрование всего диска.

Шифрование на основе файлов

Android 7.0 и более поздние версии поддерживают шифрование на основе файлов . Шифрование на основе файлов позволяет шифровать разные файлы разными ключами, которые можно разблокировать независимо друг от друга. Устройства, поддерживающие шифрование на основе файлов, также могут поддерживать Direct Boot , что позволяет зашифрованным устройствам загружаться непосредственно на экран блокировки, обеспечивая быстрый доступ к важным функциям устройства, таким как специальные возможности и будильники.

Благодаря файловому шифрованию и API, позволяющим приложениям распознавать шифрование, они могут работать в ограниченном контексте. Это может происходить до того, как пользователи предоставят свои учетные данные, при этом обеспечивая защиту конфиденциальной информации пользователей.

Шифрование метаданных

В Android 9 появилась поддержка шифрования метаданных , если она поддерживается аппаратно. При шифровании метаданных один ключ, присутствующий при загрузке, шифрует всё содержимое, не зашифрованное функцией FBE, например, структуру каталогов, размеры файлов, разрешения и время создания/изменения. Этот ключ защищается KeyMint (ранее Keymaster), который, в свою очередь, защищается функцией Verified Boot.

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

В Android 5.0 и Android 9 поддерживается полное шифрование диска . Полное шифрование диска использует один ключ, защищенный паролем устройства пользователя, для защиты всего раздела пользовательских данных устройства. При загрузке пользователь должен ввести свои учетные данные, прежде чем станет доступен какой-либо раздел диска.

Хотя это отлично сказывается на безопасности, это означает, что большая часть основных функций телефона не сразу становится доступна после перезагрузки устройства. Поскольку доступ к данным защищен с помощью учетных данных одного пользователя, такие функции, как будильник, не могут работать, службы специальных возможностей недоступны, а телефоны не могут принимать звонки.