Используйте функции, описанные в этом разделе, чтобы сделать разрабатываемые вами устройства Android максимально безопасными.
Песочница приложений
Платформа Android использует защиту на уровне пользователя Linux для идентификации и изоляции ресурсов приложений. Для этого Android назначает каждому приложению уникальный идентификатор пользователя (UID) и запускает его в отдельном процессе. 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, но изолирована от остальной системы как аппаратно, так и программно.
Проверенная загрузка
Проверенная загрузка разработана для того, чтобы гарантировать, что весь исполняемый код исходит из доверенного источника (обычно от производителей оборудования), а не от злоумышленника или вредоносного ПО. Проверенная загрузка устанавливает полную цепочку доверия, начиная с аппаратно защищённого корня доверия, загрузчика, загрузочного раздела и других проверенных разделов.