Можно ли взять данные, хранящиеся в приложении iPhone, из sqlite или файла списка настроек? - PullRequest
0 голосов
/ 03 августа 2010

Я планирую сохранить пароль в своем приложении Native (Android и iPhone). Должен ли я хранить их после шифрования? или я могу хранить его без какого-либо шифрования? Они действительно в безопасности?

Ответы [ 3 ]

2 голосов
/ 03 августа 2010

Любой взломанный iPhone предоставит любому пользователю доступ к папке документов приложения.Так что, да, это небезопасно.

Кроме того, если вы введете пароль в код, вы все еще слабы, так как кто-то может декомпилировать программу и найти ключ.Я бы порекомендовал прокси.

Например, у нас есть приложение, которое подключается к API Facebook на телефоне.Однако мы не хотим хранить наш закрытый ключ API Facebook на телефоне, потому что тогда любой пользователь, который обратный инжиниринг нашего кода сможет взломать наше приложение Facebook!

Итак, вместо этого мы храним закрытый ключ Facebook на(безопасный) прокси-сервер.Когда устройству необходимо взаимодействовать с Facebook, оно связывается с прокси-сервером, просит прокси-сервер войти в систему, а затем прокси-сервер предоставляет сеансовый ключ устройству для использования непосредственно с Facebook.

Конечно, он все еще можно взломать- но вы не потеряете свой закрытый ключ в процессе, и вместо этого единственное, что может сделать ваш пользователь, - это сделать то же, что вы делаете в API прокси-сервера.

Не могли бы вы дать нам немного больше?информация о том, что вы пытаетесь сделать?

0 голосов
/ 03 августа 2010

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

Это не означает, что вы не должны шифровать пароли - используйте любое симметричное шифрованиеи инициализировать ключ некоторым нетривиальным способом (то есть аритметическим выражением).Это предотвратит чтение паролей сценаристами и случайными программистами.Просто помните, если кто-то действительно хочет их, он все равно получит их.

0 голосов
/ 03 августа 2010

Я бы хранил его в зашифрованном виде.Если кто-то прочитает ваш пароль, он / она может просто использовать его.Если он хранится в зашифрованном виде, этот человек должен будет расшифровать его перед использованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...