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