現在、iPhoneアプリのcache.dbファイルを閲覧しているときに、何か面白いものを見つけました。
Cfurl_cache_receiver_dataというテーブルがあり、receiver_dataという列があります。これには、アプリがAPIから受信するすべてのHTTPリクエスト応答が含まれます。問題は、ユーザーのAPIキーで応答するHTTPリクエストがあることです。列には、このデータがプレーンテキストで表示されます。
私の質問は、これについて心配すべきですか?安全プロトコルとして、ユーザーがAPIキーを変更/削除できる方法があります。
編集:
これは、誰かが私の懸念を理解するのに役立つ場合に備えて、cache.dbを見つけた場所です。
/ Users /(username)/ Library/Developer/CoreSimulator/Devices/B24F612C-8DC2-4599-86EB-BC6D75FF05DE/data/Containers/Data/Application/97AEA1EE-28B4-4744-B23B-FA5424F98E49/Library/Caches
この列のすべてのデータは実際にはAPIからの応答であり、送信した要求ではないため、質問を更新しました。
これは、ユーザーのデバイスのアプリにのみアクセス可能なディレクトリに保存されます。通常、ユーザーのAPIキーをどのように保存しますか?答えが平文である場合、これも同様に安全です。
暗号化された環境(キーチェーンなど)にAPIキーを保存すると、保護が無意味になります。
懸念がある場合は、機密性の高い要求に対してキャッシュ制御ヘッダーを適切に設定してください。つまり.
キャッシュ制御:キャッシュなし、ストアなし