Функции безопасности Android

Используйте функции, описанные в этом разделе, чтобы сделать разрабатываемые вами устройства Android максимально безопасными.

Песочница приложений

Платформа Android использует защиту на основе пользователей, реализованную в Linux, для идентификации и изоляции ресурсов приложений. Для этого Android присваивает каждому приложению Android уникальный идентификатор пользователя (UID) и запускает его в собственном процессе. Android использует этот UID для настройки песочницы приложений на уровне ядра.

Подписание приложений

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

Аутентификация

В Android существует концепция аутентификаторов пользователей , которые могут разблокировать устройство и выполнять другие задачи:

  • Подсистема Gatekeeper выполняет аутентификацию устройства с помощью PIN-кода, графического ключа или пароля в доверенной среде выполнения (TEE).
  • Дополнительный компонент Weaver выполняет аутентификацию устройства по PIN-коду, графическому ключу или паролю в отдельном защищенном элементе или в TEE.
  • Устройства со встроенным датчиком отпечатков пальцев поддерживают использование зарегистрированных отпечатков пальцев.
  • Устройства могут поддерживать аутентификацию по лицу.

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

Биометрия

В Android 9 и более поздних версиях есть класс BiometricPrompt , который разработчики приложений могут использовать для интеграции биометрической аутентификации в свои приложения независимо от типа устройства и используемого метода. Интеграция с BiometricPrompt возможна только для надежных биометрических данных.

Шифрование

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

Магазин ключей

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

Linux с улучшенной безопасностью

В рамках модели безопасности Android использует Security-Enhanced Linux (SELinux) для обеспечения обязательного контроля доступа (MAC) ко всем процессам, даже к процессам, работающим с правами root или суперпользователя (возможности Linux).

Надежный TEE

Надежный TEE

Trusty — это защищенная операционная система (ОС), предоставляющая TEE для Android. ОС Trusty работает на том же процессоре, что и ОС Android, но Trusty изолирована от остальной системы как аппаратно, так и программно.

Проверенная загрузка

Технология Verified Boot предназначена для обеспечения того, чтобы весь выполняемый код исходил из доверенного источника (обычно от производителей устройств), а не от злоумышленника или в результате повреждения данных. Verified Boot устанавливает полную цепочку доверия, начиная от аппаратно защищенного корня доверия и заканчивая загрузчиком, загрузочным разделом и другими проверенными разделами.