Что можно использовать вместо общих настроек для хранения информации о пользователях? Как говорят люди, общие настройки не безопасны - PullRequest
0 голосов
/ 29 ноября 2018

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

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Общие настройки хранятся в виде файла в файловой системе на устройстве.По умолчанию они хранятся в каталоге данных приложения с установленными разрешениями файловой системы, которые позволяют только UID, с которым работает конкретное приложение, получать к ним доступ.Таким образом, они являются частными, поскольку права доступа к файлам в Linux ограничивают доступ к ним, так же, как и в любой системе Linux / Unix.

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

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

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

0 голосов
/ 29 ноября 2018

Вы можете использовать библиотеку SQLCipher для зашифрованной базы данных или зашифровать / расшифровать значения самостоятельно с помощью некоторого ключа и сохранить результат в SharedPreferences.Для хранения ключей используйте Android keystone system .

0 голосов
/ 29 ноября 2018

Если вы храните информацию на устройстве пользователя, ни один подход не является на 100% безопасным.Вы можете скрыть информацию некоторыми способами (например, кодирование, шифрование и т. Д.), Но все равно не будете на 100% защищены.

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

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