#ios #objective-c #swift #touch-id
#iOS #objective-c #swift #touch-id
Вопрос:
Я интегрирую TouchID в свое приложение, по соображениям безопасности мне нужно блокировать пользователя, когда он пытается пройти аутентификацию по новым добавленным отпечаткам пальцев [который добавляется после включения аутентификации TouchID в моем приложении].
Я могу обнаружить изменения биометрии с помощью LAContext evaluatedPolicyDomainState
. но это говорит только о том, что либо биометрическая база данных была изменена (пальцы или лица были удалены или добавлены), либо нет.
Есть ли какой-либо другой способ узнать, прошел ли пользователь аутентификацию с использованием недавно добавленного отпечатка пальца [добавлено после включения TouchID в моем приложении] или нет.
Есть мысли по этому поводу? ценю любую помощь и заранее благодарю.
Ответ №1:
Невозможно определить, была ли проведена биометрическая аутентификация с помощью «нового» или «старого» пальца. Это аппаратное ограничение.
Биометрическая проверка выполняется в безопасном анклаве. Безопасный анклав просто возвращает ответ «да» / «нет» главному процессору. Главный процессор не имеет доступа к фактическим биометрическим данным, которые были проверены.
Как вы уже отметили, вы можете определить, обновлялась ли биометрическая база данных с момента последней оценки состояния домена. Лучшее, что вы можете сделать, это аннулировать весь биометрический доступ, если вы определите, что база данных была изменена, даже если это изменение было удалением пальца.