Подходы к ограничению доступа в разных операционных системах мобильных устройств могут отличаться, например, в iOS и Android: 12
iOS:
- Подписывание кода приложений. 1 Цифровые подписи помогают ограничивать исполняемый код. 1 Это достигается за счёт безопасной загрузки, когда проверяется подпись, встроенная на низком уровне. 1 Также используется подпись приложения, которая представляет собой комбинацию подписи, контролируемой Apple, и сертификатов с открытым ключом для масштабирования системы. 1
- Песочница и анализ кода. 1 Для защиты от подозрительных приложений накладываются ограничения доступа к пользовательским данным и API посредством изолированной среды (песочницы). 1 Приложению ограничивается доступ к файловой системе, пространству памяти. 1
- Шифрование. 1 Доступ к данным привязан к устройству и контролируется пользователем. 1 Ключ для шифрования данных формируется на основе комбинации выбранного пользователем пароля и UID (уникальный аппаратный секретный криптоключ). 1
Android:
- Работа с сертификатами. 2 Система следит за использованием разрешений при помощи signature-access. 2 Использовать разрешение может только приложение, которое подписано тем же сертификатом, что и «владелец» разрешения. 2 Начиная с Android 10, это приложение — system, то есть сама система Android. 2
- Доступ посредством кодов и биометрии. 1 Контроль доступа к интерфейсу ОС зачастую осуществляется через пароль произвольной силы, как правило, цифровой. 1 Можно активировать паттерн (графический ключ — последовательность) на экране блокировки. 1 Всё чаще применяется биометрический доступ: посредством распознавания лица или отпечатка пальца. 1
- Шифрование файлов и дисков. 1 Сочетание шифрования на основе файлов с шифрованием метаданных позволяет Android осуществить защиту всего содержимого на устройстве. 1