0

コンテンツ プロバイダーで SqlCipher を使用しています。現在、アプリをロックしたいときは、キャッシュされたパスワードをクリアするだけです。ただし、アプリは開いているカーソルを引き続き使用できます。これは、アプリを再度開くと機密データへのアクセスが許可されることを意味します。アプリにパスワードがない場合、ログイン画面にリダイレクトすることで、この問題を表面的に修正します。

ただし、これらの開いているカーソルにセキュリティ上の問題があるかどうか、または UI アクセスをブロックし続けて心配する必要がないかどうかが心配です。SqlCipher のドキュメントによると、DB 全体を復号化するのではなく、暗号化されたページをオンザフライで読み書きするため、開いているカーソルは依然として安全であると思われます。

ここでの主な懸念は、誰かが携帯電話を紛失し、知識のある個人がこれらの開いているカーソルを使用して機密データを抽出できることです。

4

1 に答える 1

0

カーソルの Android 実装用の SQLCipher の詳細は見ていませんが、通常、Android カーソルは結果セット全体をヒープ領域に保持し、SQLCipher の場合、それらはその時点で復号化されます。

ただし、これらのカーソルはプロセスに対してプライベートであるため、UI を介する場合を除いて、Linux/Android プロセスの分離のおかげで、誰もがそれらにアクセスする良い方法はありません。あなたの UI が再ログイン以外の場所へのアクセスを許可していない場合、あなたは十分に保護されています。問題は、ログインをバイパスしてデータへのアクセスを許可する意図しないコード パスが UI にないことを確認できるかどうかです。

于 2012-03-30T18:09:22.567 に答える