0

OkHttp のHttpResponseCacheで使用されるディスク キャッシュを暗号化するために暗号化を使用する例はありますか? 単純に、これを行うのは非常に難しいことではないと思いますが、セキュリティの落とし穴を回避するためのアドバイスや経験をいただければ幸いです。

あまりにも多くの詳細がなければ、これが私が達成しようとしているものです: 確立されたサービス X のユーザーの API キー (通常は 40 文字のランダムな文字列) を受け入れ、ユーザーに代わって多くの API 呼び出しを行うサーバー。サーバーはユーザーの API キーを保持しませんが、ユーザーが定期的にサーバーを呼び出し、そのたびに API キーを提供するというユース ケースが考えられます。確立されたサービス X は妥当なレート制限を使用しますが、条件付き (ETag、If-Modified-Since) リクエストをサポートするため、私のサーバーによるサーバー側のキャッシュは理にかなっています。ただし、情報は非公開であり、サーバーは Heroku などでホストされるため、HttpResponseCache によってキャッシュされたファイルを暗号化して、マシンが侵害された場合に情報が得られないようにしたいと考えています。

私の計画は、秘密鍵を受け入れる HttpResponseCache の周りにラッパーを作成することです。これは、実際には api-key 文字列の半分のハッシュになります。これは、キャッシュされたコンテンツと HttpResponseCache で使用されるキーを AES 暗号化するために使用されます。それは合理的に聞こえますか?

4

1 に答える 1

2

既存のキャッシュ コードで行うのは非常に困難です。これは、プライバシーをサポートするように設計されていないジャーナリングされたディスク上のデータ構造であり、プライバシーは上に追加できる機能ではありません。

1 つのオプションは、暗号化されたディスク イメージをマウントし、そこにキャッシュを配置することです。たとえば、Mac OS X の FileVault に似ています。それを行う方法を理解できれば、あなたはゴールデンです。

もう 1 つのオプションは、既存のキャッシュをガイドとして使用して、独自のキャッシュを実装することです。公正な警告: OkResponseCache は次のリリースで変更される可能性があります!

于 2014-03-13T12:04:36.877 に答える