Шифрование

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

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

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

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

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

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

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

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

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

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