Я не разработчик iOS, ни какие-либо термины типа или связки ключей ничего не значат для меня вообще. Это для начала и для уменьшения количества голосов, которые я могу получить.
В безопасности я бы предположил, что вы предполагаете получить телефон этого конкретного пользователя, где вы знаете, что у вас есть несколько учетных данных для проверки подлинности. Предположим, что я пользователь вашего приложения, уже вошел в систему и сохранил мои учетные данные где-то на своем устройстве, и вы получите этот телефон, украв его у меня.
Теперь, вы сможете получить доступ к моей учетной записи? Удастся ли хакеру с доступом к физическому телефону получить любую информацию, хранящуюся в вашем хранилище ключей?
Если да, если вы все равно можете это сделать, то ваш подход недействителен.
Я понимаю, что вы хотите, чтобы пользователи могли когда-нибудь сэкономить, убедившись, что они могут входить в систему только с их отпечатками пальцев, что является веской причиной думать о таком подходе, но вам придется думать обо всем с точки зрения обратной инженерии.
Дополнительные рекомендации: использовать хеш на лету для хранения информации в брелках и убедиться, что перед тем, как восстановить его, вы должны проверить. Например, учетные данные пользователя, сохраненные в «домашнем wifi», могут быть проверены с помощью вашего отпечатка пальца только «дома» в той же сети Wi-Fi, где то же самое будет недействительным в другой сети.
т.е.) (keychainItem.x = у) верно, только если (что-то еще)
где это (что-то другое) является то, что будет препятствовать хакерам получить доступ к Keychain, даже если они имеют доступ к устройству сам.
Я делаю это сам при программировании веб-приложений с сохраненными куки-файлами. Я, например, использую хранимый файл cookie ТОЛЬКО, ЕСЛИ он обращается к тому же самому IP-адресу, из которого он был сохранен. В любое время, когда IP-адрес изменяется, пользователю придется повторно аутентифицироваться, даже если значения cookie верны.
Надеюсь, это поможет.
Мне нравится ваш подход Руслан. Некоторые указатели, о которых вы упомянули, хорошо иметь в виду при разработке такого подхода. Но я буду держать вопрос открытым, чтобы получить еще несколько мыслей, прежде чем отметить ответ. – Soumya
Несомненно @Soumya, рад, что помогло и удачи с вашими усилиями. –