2016-05-15 3 views
1

В APP есть база данных sqlite, и я хочу ее зашифровать с помощью SQLCipher. Как мы знаем, небезопасно хранить пароль в кодах, поэтому я собираюсь использовать идентификатор пакета как часть пароля.Безопасно ли использовать идентификатор пакета IOS APP в качестве пароля?

Итак, я хочу знать, легко ли получить идентификатор пакета из APP на устройстве или устройстве джейлбрейка?

Спасибо.

+0

Это совсем небезопасно ... –

+1

Для всех, загрузивших ваше приложение, распакуйте файл ipa и просмотрите Info.plist и все ваши ресурсы. Ничто в Info.plist не скрыто. – rmaddy

ответ

0

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

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

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

Если ваша цель - просто предотвратить доступ к хакеру-новичкам, тогда сгенерируйте GUID, закодируйте его в приложении как нечто отличное от строкового литерала и используйте его.

Вы не можете остановить решительный и опытный хакер, если вы храните пароль в любом месте внутри приложения ...

+0

SQLCipher предполагает, что ключ должен храниться в Интернете для обеспечения безопасности, но я просто хочу защитить содержимое локальных файлов sqlite. Плохо для пользователей подключать сервер при каждом открытии базы данных. Поэтому я пытаюсь найти уникальный идентификатор и добавить его как часть ключа. Кроме идентификатора связки, какой уникальный идентификатор можно использовать и нелегко украсть? Благодарю. – jdleung

+0

сгенерируйте UUID и сохраните его в цепочке ключей – Wain

+0

еще один вопрос, как я могу сгенерировать UUID отдельно? Он не должен быть случайным ключом, так как мне сначала нужно зашифровать файлы базы данных где-нибудь и разместить их на сервере, чтобы они могли быть загружены в APP пользователями. Любое предложение для генерации этого ключа? Спасибо. – jdleung

1

Никогда не используйте идентификатор пакета приложения в качестве пароля. Это легко расшифровать. Для Пример: Если у вас есть ideviceinstaller вы можете запросить устройство для BundleID-х приложений, установленных:

ideviceinstaller -U <UUID> -l 

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

+0

ОК, я решил не использовать его. Как вы думаете, что можно использовать как часть ключа и не может быть легко найти? Спасибо. – jdleung

 Смежные вопросы

  • Нет связанных вопросов^_^