Безопасность файлов Android - PullRequest
3 голосов
/ 03 февраля 2011

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

Ответы [ 3 ]

3 голосов
/ 03 февраля 2011

Я предполагаю, что вы имеете в виду файлы, хранящиеся на SD-карте, поскольку файлы, хранящиеся во внутренней файловой системе, защищены по умолчанию.

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

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

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

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

0 голосов
/ 18 июля 2012

Да. Простое решение - создать случайный криптографический ключ, используя /dev/urandom, когда приложение установлено, сохранить ключ в локальном хранилище (не на SD-карте), а затем зашифровать файлы, которые вы храните на SD-карте, с помощью этого ключа. Это не позволит другим приложениям читать файлы.

Конечно, одним из следствий этого подхода является то, что пользователь не сможет извлечь SD-карту, вставить ее в свой ПК и скопировать эти файлы на свой ПК.

0 голосов
/ 03 февраля 2011

вы можете играть с разрешения, заявив в вашем файле AndroidManifest.xml. Как указано в руководстве по разрешению для разработчиков Android:.

Например, приложение, которое хочет контролировать, кто может запустить одно из своих действий, может объявить разрешение для этой операции следующим образом:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.me.app.myapp" >
    <permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
        android:label="@string/permlab_deadlyActivity"
        android:description="@string/permdesc_deadlyActivity"
        android:permissionGroup="android.permission-group.COST_MONEY"
        android:protectionLevel="dangerous" />
    ...
</manifest>

Можете ли вы проверить веб-страницу , и если вы не уверены, что мы можем обсудить здесь, я должен перейти, прежде чем дать точный ответ.

Редактировать: Также проверьте это сообщение в так.

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