0

私のデスクトップ Java アプリは、読み取り専用の SQLite データベースをいくつか使用しています。通常、これは暗号化によって達成されるかもしれませんが、私は現在、暗号化をサポートしておらず、他の SQLite 暗号化ライブラリ (SEE など) を使用することを容易に許可しないsqlite4javaライブラリを使用しています。

私がやろうとしているのは、「カジュアルなハッカー」がこれらのデータベース ファイルの 1 つを見つけて開くことをできるだけ困難にすることです。たとえば、パスワードで保護された ZIP ファイルにそれらを貼り付けてから、ここで提案されているようなライブラリを使用して、その場でそれを InputStream または一時ファイルとして復号化するというアイデアを誰かが捨てました.

これはやりがいのあることでしょうか?

編集:これは完全に安全ではないことを認識しており、十分に熱心なハッカーがキーを見つけて解読できる可能性があります(これは、そのようなプログラムの脆弱性のようです)。

4

2 に答える 2

3

「私がやろうとしているのは、それをできるだけ難しくすることです。」

あなたはおそらく、自分自身のためにそれをできるだけ難しくしているだけです.

通常のユーザーはアプリケーション バイナリを開きません。アプリケーション バイナリを開く人は、暗号化キーを見つけるためのツールを持っています。

あいまいにすることでセキュリティに取り組みたい場合は、データベース ファイルの名前を「mydb.sqlite3」ではなく「commons-io-3.2.1.jar」にしてください。あなたにとって問題はありませんが、それでも「カジュアルハッカー」を捨てます.

于 2013-04-23T05:01:37.923 に答える
0

SQLite DB をパスワードで保護する代わりに、アプリケーション APK と一緒に出荷せず、最初の実行時にコンテンツをダウンロードすることを選択できます。これにより、暗号化と復号化を行う必要がなくなり、APK が軽くなります。

また、強力なハッカーによって DB がハッキングされる可能性があることも忘れないでください。

于 2013-04-23T04:35:29.947 に答える