Как сохранить конфиденциальные данные на iOS? Брелок или Outh2? Благодарю.
Как вы знаете, многие приложения используют связку ключей для сохранения имени пользователя и пароля, но действительно ли это безопасно? особенно в режиме побег из тюрьмы устройства. Поэтому другое решение - использовать протокол Outh2 для сохранения конфиденциальной информации на стороне сервера, которая требует много изменений как на стороне клиента, так и на стороне сервера (для моего приложения).
Как вы, ребята, справляетесь с этой сложной проблемой? Всем, кто знает, пожалуйста, поделитесь и спасибо заранее.
1 ответ
Брелок:
Имеет два уровня шифрования
код блокировки экрана в качестве ключа шифрования
ключ генерируется и хранится на устройстве)
Но когда устройство взломано, его тоже не безопасно.
OAuth:
Даже если вы храните учетные данные на сервере, вам необходимо сохранить OAuth- TOKEN на стороне клиента, и нет лучшего места, чем цепочка для ключей, чтобы хранить его на стороне клиента. Так что теперь появилась возможность извлечь TOKEN на взломанное устройство.
Насколько я знаю, в большинстве приложений они используют один из этих подходов.
Если вам нужны эти данные, чтобы быть очень очень безопасным.
Предложения:
Хранить OAuth-токен на сервере, а не на клиенте
Сохраните зашифрованные учетные данные в связке ключей и сохраните ключ шифрования на сервере. Этот подход будет легким для вас, поскольку вы сказали, что принятие OAuth сложно для вас.
Замечания:
Доступны некоторые библиотеки с открытым исходным кодом, которые обнаруживают, что ваше устройство или приложение взломано, если вы можете предпринять такие действия, как отключение TOKEN, удаление критических ресурсов, блокировка приложения и т. Д.