モバイルアプリケーションがあり、バックエンドはクラウドプロバイダーでホストされています。サーバーとの通信に使用するすべてのREST API呼び出しを暗号化する必要があるかどうかにかかわらず、その暗号化に関するフィードバックをお願いします。
詳細の追加:
<証明書のピン留めが実施されています>
たとえば、適切な休息オブジェクトの代わりに
{
"name" : "username",
"info" : "profile"
}
これを次のようにします。
{
"encryptedData" : "Mq6rTVdPP1YMlE9AxhnryIRX+JA9MfIXv"
}
解読後はモデルになり、フローが続行されます。もちろん、応答も同様に暗号化されることが期待されます。
TLSがしっかりした構成(つまり、証明書のピン留め)で適切に配置されていることを考えると、そうする理由はないと思いますが、この情報を暗号化して、軽減しようとしているビジネスリスクを解決する必要があります。
自問してみてください。これを行うことで何が得られますか?どの種類の攻撃ベクトルを軽減していますか?
どのようにキーを生成、配布、管理しますか?データを暗号化/復号化するコードとキーはどこにありますか?キーが抽出された場合(そうでない場合)に何が起こりますか(つまり、すべてに同じキーを使用しますか?]?
TLSのポイントの1つは、この問題を解決することです。信頼されていないネットワークを介してデータを転送する安全な方法で、できれば実際の暗号化部分に一時鍵を使用します。これを自分で行うことは可能ですが、キーストレージなどの問題を解決する必要があるため、「自分自身をローリングする」ことに危険なほど近づいています。
バックエンドネットワークの設定方法によっては、完全なエンドツーエンドの暗号化を適用しているか、TLSがロードバランサーまたはルーターで終端しているかを確認する必要があります。ただし、これは別のトピックです。