0

結果のビルドで暗号化された SQLite データベースが提供されるように、wxSQLite や Libtomcrypt にあるような暗号化/コーデックを使用して SQLite をコンパイル (SQLITE_HAS_CODEC を有効化) しようとしています。

しかし、Android セキュリティ モデルは、アプリが他のアプリのデータを読み取ることができない安全なサンドボックス ポリシーを実装しているため、結果として得られる SQLite (暗号化を使用してビルド) はすべてのアプリで透過的に動作し、安全なサンドボックス ポリシーを回避するか、または各プロジェクトを個別に構成する必要があります。暗号化されたデータを SQLite に保存できますか?

つまり、すべてのアプリからのデータを暗号化して SQLite データベースに保存するか、構成が必要な 1 つのプロジェクトにのみ適用できます。

ありがとう。

4

2 に答える 2

1

wxSQLiteやLibtomcryptにあるような暗号化/コーデックを使用してSQLiteをコンパイル(SQLITE_HAS_CODECを有効化)しようとしています。これにより、結果のビルドで暗号化されたSQLiteデータベースが提供されます。

Android用のSQLCipherを使用することをお勧めします。これにより、これらすべてが実行されます。

結果として得られるSQLite(暗号化を使用して構築)はすべてのアプリで透過的に機能し、安全なサンドボックスポリシーを回避します

いいえ。

標準のSQLiteを暗号化対応のSQLiteに置き換える独自のROMmodを作成できます。ただし、ユーザーにパスフレーズを要求して使用することはないため、実際に暗号化を使用するアプリはありません。そして、ハードワイヤードパスフレーズを使用すると言うことはできますが、セキュリティを追加することはできません。誰もがそのパスフレーズを取得し、それを使用してデータベースを復号化できるからです。

または、暗号化されたデータをSQLiteに保存できるように、各プロジェクトを個別に構成する必要がありますか?

はい、そしてさらに重要なことに、各プロジェクトはユーザーにパスフレーズを要求する必要があります。

于 2013-03-06T14:36:03.077 に答える
0

データベースをSDカード/外部ストレージに書き込むことができるため、他のアプリがパスを知っていれば、それを読み取ることができます. または、それを行うライブラリを提供できます。

于 2013-03-06T17:03:03.597 に答える