0

公式の Android ドキュメントの指示に従って、アプリにバックアップを実装しています。バックアップしている情報は機密情報である可能性があるため、上記のドキュメントの推奨事項に従って暗号化したいと思います。

ユーザー名やパスワードなどの機密データを保存するためにバックアップを使用する場合は、常に注意が必要です。

ユーザー データを暗号化し、必要に応じてランダム キーを生成し、それを保存するための推奨されるアプローチは、バックアップの場合には役に立ちません。バックアップに含まれます)。同様に、デバイス識別子 (IMEI など) を使用して決定論的キーを生成することはできません。これは、バックアップが別のデバイスに合法的に復元される可能性があるためです。

キーを保護するためのパスフレーズをユーザーに要求することは、デバイス間で機能しますが、onRestore完全にバックグラウンドで行われます。ユーザーからパスフレーズを取得するには、暗号文をストレージに保存し、次回のメイン アクティビティの開始時に備えてメモを取り、ユーザーにプロンプ​​トを表示する必要があります。その問題は別として、ユーザーがパスフレーズを一度入力すると、おそらく数年後に復元が行われるまで二度と使用せず、それを思い出すことができるとは本当に信じていません。私はしません!そして、バックアップを復元する方法はなく、バックアップをまったく実装していない可能性もあります。

唯一の合理的なオプションは、固定キーを APK に保存することのように思えますが、それが特別なセキュリティを実際に提供しない理由をここで説明する必要はないと確信しています。シークレットを内部ストレージにのみ保存する場合は検討しますが、危険なバックアップ トランスポートをデバイスにインストールしたり、バックアップ サーバーに不正にアクセスしたりできる人は、アプリを逆コンパイルまたは検査する必要がありません。

誰かが私により良いオプションを提供できますか?

4

0 に答える 0