Рекомендации по сохранению маркеров доступа (iOS) - PullRequest
19 голосов
/ 26 апреля 2011

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

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

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

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

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

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

1 Ответ

11 голосов
/ 26 апреля 2011

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

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

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

...