Что я пытаюсь сделать
В основном, что я пытаюсь сделать, это выяснить способ шифрования данных с помощью Touch ID.
К сожалению, я не нашел способ создать encryptionKey с Touch ID, так как API LAContext
возвращает только ответ aye/nay.
Почему я пытаюсь это сделать
Я использую различные методы регистрации в приложении. Поддерживаемые методы регистрации - это пароль, PIN-код и сенсорный идентификатор. Пользователь может выбрать любой способ входа в систему, который он/она хочет. Однако только пароль отправляется на сервер, который будет аутентифицировать пользователя. Таким образом, в цепочке ключей сохраняется только пароль.
encryptionKey
, используемый для первого шифрования и , а затем хранит пароль в цепочке ключей, создается с использованием любого метода, который пользователь выбрал как метод регистрации.
Если пользователь выбрал ПИН-код, encryptionKey
происходит от этого ПИН-кода, то же самое можно сказать, когда пользователь выбрал пароль как метод регистрации.
Мой вопрос:
Как я могу установить Touch ID на этом изображении?
Я искал в Интернете, но только нашел то, чего я уже опасался.
Поскольку iOS возвращает только true
или false
из защищенного анклава, невозможно создать encryptionKey
.
Я знаю, что keychain зашифрован сам по себе, но по соображениям безопасности (пожалуйста, не уточняйте это) мне нужен пароль зашифрованный, хранящийся в цепочке ключей.
EDIT:
Причина хранения данных, зашифрованных в цепочке ключей, связана с тем, что брелок может быть взломан посредством джейлбрейка устройства. И поскольку приложение, над которым я работаю, позволяет пользователям просматривать (в основном) корпоративные конфиденциальные данные, мне нужно принимать во внимание даже джейлбрейк.