2013-07-24 6 views
2

вот что: есть некоторые данные, которые хранятся в устройстве с использованием сериализации NSCoding.Безопасно ли для данных, сериализованных в приложении с NSCoding?

Хотелось бы узнать, есть ли способ, которым другие люди могут найти ключ и unarchived сериализованный объектный файл для получения данных?

Спасибо за помощь.

+0

может быть, если они достаточно умны! – rptwsthi

ответ

0

От этого зависит. Каждому приложению предоставляется собственная «песочница» в файловой системе. На устройстве, которое не было взломанным, приложение не может смотреть за пределами собственной песочницы. Однако, когда пользователь подключает свое устройство к Mac или ПК, можно использовать приложения-утилиты, такие как iExplorer (http://www.macroplant.com/iexplorer/) для доступа к песочнице каждого приложения на своем устройстве.

+0

Я полагаю, что у них уже есть файл двоичных данных. Вопрос в том, есть ли способ десериализовать файл и получить данные без ключей. – swang

+0

Если у кого-то есть доступ к вашему скомпилированному приложению и файлу данных, я думаю, было бы довольно легко десериализовать данные. Запуск приложения с помощью утилиты «strings», вероятно, быстро отобразит ключи (если они еще не будут хорошо видны в файле данных). –

1

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

Чувствительные данные (в частности, ключи доступа API, обеспечивающие привилегированный доступ к веб-службам или финансовой информации) в идеале не должны храниться на клиентском устройстве вообще. Даже при зашифрованном виде. В крайнем случае, черная шляпа, у которой установлено ваше приложение на своем устройстве, может монтировать атаку «человек в середине» и отслеживать ваш интернет-трафик с вашим сервером. Вместо этого вы должны использовать подход маркера к конкретному устройству, если он касается безопасности, поэтому при необходимости можно аннулировать токен, не затрагивая других пользователей.

Если у вас есть действительно, вы должны посмотреть на двухфакторную аутентификацию в дополнение к токену.

intro для дальнейшего ознакомления.

+0

Извините - просто понял, что этот вопрос составляет 10 месяцев. – Mike