1

Androidアプリに大規模なデータベースが必要です。データベースは自己完結型のファイルで、1 か月に 2 ~ 3 回の更新が行われる可能性があります (それぞれ 20 MB 以上ですが、最大で約 40 MB になると予測しています)。

人々が機密データにアクセスできるように、Android アプリがルート化されているという話をよく耳にします (これは有料アプリになる予定です)。損失がないようにデータベースのデータを暗号化するにはどうすればよいですか。使用でき、より安全な代替データベース (sqlcypher を除く) モデル (キー/値も含む) はありますか?

また、ルート化された電話ユーザーは、外部ストアから Android アプリを購入し (サブスクリプションの制限により、外部の非 Android マーケット ストアを作成することを考えています)、そのコンテンツに完全にアクセスできますか?

私は、データベースへの明らかなアクセスがないiPhoneモデルと同様のことをしたいと考えています(ドキュメントに配置しないか、デバイスを共有できるようにしない場合)。

4

2 に答える 2

1

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

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

もちろん、キーを単一の文字列に格納しないでください。これは、難読化した後でも、逆コンパイルで簡単に見つけることができるためです。

ただし、一般的には、これが本当に良いモデルかどうかを自問する必要があります。

于 2011-07-27T16:01:33.347 に答える
1

「iPhoneモデル」も同じく脱獄で簡単に倒せます。

データベースとそれで動作するコードの両方がルート化された電話にある場合、十分に決定された攻撃者が最終的にデータに到達します. 彼らが必要とするのは、ちょうどいいタイミングでのデバッガーとブレークポイントだけです。また、Java コードはリバース エンジニアリングが容易であることで有名です。復号化コードをユーザーに配布する必要があるため (そうしないと、アプリはどのように動作するのでしょうか?)、同じユーザーが独自の復号化コードを分離して活用することができます。

于 2011-07-27T16:02:05.537 に答える