Используйте функции, описанные в этом разделе, чтобы сделать разрабатываемые вами устройства Android максимально безопасными.
Песочница приложений
Платформа Android использует защиту Linux на основе пользователя для идентификации и изоляции ресурсов приложений. Для этого Android назначает уникальный идентификатор пользователя (UID) каждому приложению Android и запускает его в своем собственном процессе. Android использует этот UID для настройки изолированной среды приложений на уровне ядра.
Подписание приложений
Подписание приложений позволяет разработчикам идентифицировать автора приложения и обновлять свое приложение без создания сложных интерфейсов и разрешений. Каждое приложение, работающее на платформе Android, должно быть подписано разработчиком.
Аутентификация
В Android есть концепция аутентификаторов пользователей , которые могут разблокировать устройство и выполнять другие задачи:
- Подсистема Gatekeeper выполняет аутентификацию по шаблону устройства или паролю в доверенной среде выполнения (TEE).
- Дополнительный компонент Weaver выполняет аутентификацию по шаблону или паролю в отдельном защищенном элементе.
- Устройства со сканером отпечатков пальцев поддерживают использование зарегистрированных отпечатков пальцев.
- Устройства могут поддерживать аутентификацию по лицу.
Android также поддерживает аппаратные криптографические ключи, которые можно использовать только в том случае, если произошла аутентификация пользователя с помощью одного из этих механизмов.
Биометрия
Android 9 и выше включает класс BiometricPrompt
, который разработчики приложений могут использовать для интеграции биометрической аутентификации в свои приложения в независимую от устройства и модальности манеру. Только сильные биометрические данные могут интегрироваться с BiometricPrompt
.
Шифрование
После шифрования устройства все созданные пользователем данные автоматически шифруются перед сохранением на диске, а все чтения автоматически расшифровывают данные перед возвратом их в вызывающий процесс. Шифрование гарантирует, что даже если несанкционированная сторона попытается получить доступ к данным, она не сможет их прочитать.
Хранилище ключей
Android предлагает аппаратное хранилище ключей, которое обеспечивает криптографическую функциональность, где ключевой материал содержится в безопасной среде. Android Keystore поддерживает генерацию и импорт как симметричных, так и асимметричных ключей в сочетании с примитивами шифрования, дешифрования, подписи и соглашения о ключах.
Linux с улучшенной безопасностью
В рамках модели безопасности Android Android использует Security-Enhanced Linux (SELinux) для обеспечения обязательного контроля доступа (MAC) для всех процессов, даже процессов, запущенных с привилегиями root или суперпользователя (возможности Linux).
Надежный тройник
Trusty — это безопасная операционная система (ОС), которая обеспечивает TEE для Android. Trusty OS работает на том же процессоре, что и Android OS, но Trusty изолирована от остальной системы как аппаратным, так и программным обеспечением.
Проверенная загрузка
Verified Boot разработан для того, чтобы гарантировать, что весь исполняемый код исходит из надежного источника (обычно OEM-производители устройств), а не от злоумышленника или повреждения. Verified Boot устанавливает полную цепочку доверия, начиная с аппаратно защищенного корня доверия до загрузчика, загрузочного раздела и других проверенных разделов.