Рекомендации по сохранению маркеров доступа (iOS)

Следует ли шифровать токены доступа для таких служб, как Twitter и Facebook? В частности, следует ли хранить токены в связке ключей устройства и пользовательских данных? Каковы некоторые возможные проблемы безопасности, которые могут возникнуть, если устройство пользователя украдено / взято

Это то, что я придумал до сих пор.

Плюсы брелка: зашифрованные

Минусы: нет способа убрать, когда пользователь удалил приложение

Плюсы UserDefaults: хранятся внутри приложения.

Минусы: без шифрования.

1 ответ

Решение

Ваш UserDefaults 'con' нуждается в исправлении: по умолчанию шифрование не требуется. Вы можете зашифровать контент самостоятельно, например, с помощью CommonCrypto, но это требует дополнительной работы по сохранению простого текста.

Смысл токена OAuth заключается в том, что тот, кто владеет этим токеном, может использовать соответствующую службу без необходимости предоставления учетных данных. Следовательно, вы должны защищать его так же, как если бы вам приходилось хранить его вместо пароля, поскольку он имеет то же значение.

Если устройство пользователя украдено, то, если у него нет пароля, заблокированного на его устройстве, вор может использовать ваше приложение в качестве пользователя в любой из описанных вами ситуаций. Если вы не зашифровываете токен доступа, то они дополнительно могут извлечь его и воспроизвести из кода, находящегося под их контролем.

Другие вопросы по тегам