2011-10-19 24 views
0

こんにちは私はアンドロイドアプリケーションを持っています。私のアプリでは、サーバーに格納されているMySQLデータベースと同期する必要のあるSQLiteデータベースがデバイスに格納されています。Android:セキュリティに関する問題SQLite db

私はIDのリストを取得する必要があります。私はそれをSQLiteデータベースまたはMySQLデータベースを照会することができます。私はSQLiteデータベースを使用することを選択しました。なぜなら、私が何をしなければならないかを考えると、はるかに迅速で簡単になるからです。しかし、今私はそれについて考えており、質問があります:アンドロイドのSQLiteデータベースファイルは安全ですか?誰かがこれらのファイルにアクセスし、そのファイル内の情報を変更したり、ユーザーに隠されたりする可能性はありますか?

私はサーバーから情報を頼むと安全だと確信しているので、代わりにアンドロイドデータベースのセキュリティレベルを知らないためです。

各IDが支払ったアプリケーションID(たとえば、アプリケーション3と5)に対応しているとします。私がアンドロイドデータベースを変更してアプリケーション7と8を追加する方法を見つけたら、私はこれらのアプリケーションに対しても支払ったように見えますが、私はそうしなかったので、使用できません。だからこそ、私はMySQLデータベースに問い合わせることを考えていたのですが、ユーザーはそれを変更できないので、この方法では遅くなります。どう思いますか?

+0

あなたの質問を徹底的に編集して申し訳ありませんが、.....と???を使用しています。読みやすさと質問の質は向上しません; – Knickedi

答えて

0

ユーザーは簡単に追加/削除/変更できますデータベース内の既存のレコード。

DBの行のMD5ハッシュを計算し、その特定のユーザーのMySQLサーバーに保存したハッシュと比較してから、ローカルキャッシュデータベースの「有料」値を受け入れる。明らかにインターネットに接続する必要があるため、このアプローチは受け入れられるかもしれません。

2

あなたのアプリのプライベート/データディレクトリに保存されているデータはプライベートにするのが理想的ですが、誰かが自分の携帯電話をルーツにしていると、自由にアクセスできます。あなたの電話データベースが暗号化なしで安全でないという前提に基づいて設計するのが最良であり、それでもユーザーが侵入しようとする可能性があります。

+0

+1あなたのデバイスの暗号化されていないデータは決して安全ではありません。 [Android:アプリケーションでデータベースが安全にどのくらい安全か](http://stackoverflow.com/questions/7550672/android-how-safe-is-database-packed-with-application)を見てください。 – Knickedi

0

これらのオプションもチェックしてください。データベースを保護したいと思っている人を助けるかもしれません。

アンドロイド

ためSQLCipher

の1-アンドロイドSQL3ラッパー・ライブラリー

2 -

libsqlite3_jni.soも上記のオプションであなたの検索を行うされている以下の記事を読んでください、私はこれが役立つだろう願っています多く。

http://www.findbestopensource.com/product/sqlite3-android

注:デバイスは、誰もが根付いされるかのように

あなたは完全にあなたのデバイスを固定することができます。したがって、2要素認証とパスワードで保護されたデータベースを保護するなど、他の安全な方法を使用してください。

誰かがあなたのデバイスをルートしている場合は、パスワードで保護されたファイルが必要です。

関連する問題