2011-07-27 9 views
1

アンドロイドアプリで大きなデータベースを用意したいと思います。データベースは1ヶ月に2〜3個の更新がある可能性がある自己完結型ファイルです(それぞれ20mb +ですが、最大値は約40MBになるはずです)。アンドロイドベースの携帯電話とアプリ

私は(有料アプリになるだろう)の人々は、これらの機密データにアクセスできるようにAndroidアプリが根付い得ることを聞いておきます。どのようにして損失がないようにデータベースのデータを暗号化できますか?使用することができ、より安全な代替データベース(sqlcypherを除く)モデル(キー/値さえも)がありますか?

また、根ざし電話のユーザーは、外部ストアからAndroidアプリを購入(私は、サブスクリプション制限による外部不アンドロイド市場店を作ることに考えています)とその内容へのフルアクセス権を持つことができますか?

私は(あなたがドキュメントにそれを置くか、共有するためのデバイスを有効にしない場合)、データベースへの明らかなアクセスがないiphoneモデル、同様の何かをしたいです。

答えて

1

H2を使用する場合は、データベースのテーブルを暗号化できます。

したがって、アプリケーションのみがマウントしてアクセスできます。

これも難読化した後、逆コンパイルを見つけるのは簡単だろうとあなたはもちろん、しかし、単一のString内のキーを格納してはいけません。

しかし、一般的には、これが本当に良いモデルかどうかを尋ねてください。

+0

私はあなたのウェブ・サービス(要求/応答)を使用する必要があり意見が、アプリはオフラインデータベースのすべてのビットを読んで、そして時折アップデート(それの百科事典の内容を)持ってできるようにする必要が望んでいるものにしています。 データモデルとして他に何かがありますか(読み取り専用、更新中、オフライン)?私はこれでかなり新しいです。 – Panagiotis

+0

また、H2チップのおかげで、私はユニコードがアンドロイドのsqliteに完全にサポートされていないことを知っています。 – Panagiotis

1

"iPhoneモデル"は、簡単にjailbreakingで敗れています。

データベースとそれに動作するコードの両方が根ざし電話上にある場合は、決定に十分な攻撃者は、最終的にデータを取得します。適切なタイミングでデバッガとブレークポイントが必要なだけです。また、Javaコードはリバースエンジニアリングが容易であることが知られています。あなたは解読コードをユーザーに送る必要があります(そうでなければ、アプリケーションはどのように動作しますか?)、同じユーザーが自分の解読コードを分離して活用することができます。

+0

私は、iPhoneをjailbreakingすることは、電話を根付くものとしてそれらを行うことができることを理解し、私は今のところApp Storeの配布を信じています。 – Panagiotis

関連する問題