9

ダウンロードしたファイルを暗号化し、アプリのドキュメント ディレクトリにローカルに保存しています。

それらを読み取るには、それらのファイルを復号化し、一時的に保存する必要があります。

私の懸念は次のとおりです。

1.それらが使用されている間にdocディレクトリに保存すると、その時間枠でiExplorerなどのツールを使用してそれらのファイルを取得できます。

2.私の考えは、それらが使用されている間メモリに保存し、使用後にボールトをフラッシュすることです。 このオプションは小さなファイルには適していますが、50 MB または 100 MB のビデオなどの大きなファイルの場合、アプリがメモリ警告を受け取り、結果として突然終了するのではないかと心配しています。

これを行うための最良のアプローチを知りたいです。

4

3 に答える 3

2

ローカル ファイルを安全な方法で保存する完璧なセキュリティはありません。ユーザーがデバイスに完全にアクセスできる場合、アプリケーションがファイルを復号化できる限り、いつでもファイルを復号化する方法を見つけることができます。

唯一の問題は、ファイルを復号化するのにどれだけの労力が必要かということです。

誰かが iExplorer を使用してこれらのファイルをコピーして開く可能性があることだけを懸念している場合は、単純なローカル対称暗号化が有効です。

アプリケーションにランダムな対称キーを埋め込み、ダウンロード中にデータをブロックごとに暗号化するだけです。

快適な「Security Transforms」フレームワークを使用して、対称暗号化を行うことができます。Apple Documentationに良い例がいくつかあります。

ファイルをロードするとき、ファイル システムからファイルをロードする間、同じキーを使用してそれらを復号化できます。

明確にするために、これはファイルの完全な保護ではありません。ただし、ファイルを復号化するには、アプリのバイナリにアクセスできます。このバイナリをデバッガーで分析し、復号化部分を検索して対称キーを抽出します。これは、ファイルを復号化するためだけに必要な多大な労力です。

于 2014-03-03T09:21:43.407 に答える
0

それらを解読し、おもちゃのアルゴリズム (定数ブロックを使用した XOR など) で難読化し、ドキュメントに保存します。必要に応じて、ロードして復号化します。

この問題には理論上解決策がないため (最終的には十分な攻撃者がプロセス メモリを読み取ることができます)、これは他の解決策と同じくらい優れた解決策です。

于 2013-09-26T19:01:06.240 に答える