#やりたいこと
現在私はAndroidアプリを作成しています。
その中で、サーバーからデータをダウンロードして内部ストレージに保存するのですが、ファイルを盗まれない対策として暗号化を検討しています。
アプリ内で暗号化・複合化する方法はありますが、それを応用してサーバーからダウンロードする時点で暗号化されており、読み込む際に複合化することは出来ないのでしょうか?その場合、安全な鍵の渡す手段などありますでしょうか?
現在、ストレージはFirebase Cloud Strageを利用していて、暗号化したいファイルは1ダウンロードごとに1つのファイルです。
独自のサーバーからのダウンロードも検討しています。
データに関しては、jsonファイルや音声ファイルになります。
https://developer.android.com/topic/security/data#write-files
に書かれている方法だと、SharedPreferencesに保存された鍵が流出した場合は、複合化出来てしまう気がします。
また、少し大きなファイル(100MB程度)の可能性もあるので、アプリのパフォーマンスが落ちてしまうのではと思っています。
root化されたら諦めるしかないのかなとは思っています。
何か良い方法はないでしょうか?
よろしくお願いいたします。