Используйте функции, описанные в этом разделе, чтобы сделать разрабатываемые вами устройства 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 устанавливает полную цепочку доверия, начиная от аппаратно защищенного корня доверия и заканчивая загрузчиком, загрузочным разделом и другими проверенными разделами.