web-dev-qa-db-ja.com

すべてのRESTモバイルデバイスからのAPI呼び出しを暗号化する必要がありますか?

モバイルアプリケーションがあり、バックエンドはクラウドプロバイダーでホストされています。サーバーとの通信に使用するすべてのREST API呼び出しを暗号化する必要があるかどうかにかかわらず、その暗号化に関するフィードバックをお願いします。

詳細の追加:

<証明書のピン留めが実施されています>

たとえば、適切な休息オブジェクトの代わりに

{
   "name" : "username",
   "info" : "profile"
}

これを次のようにします。

{
   "encryptedData" : "Mq6rTVdPP1YMlE9AxhnryIRX+JA9MfIXv"
}

解読後はモデルになり、フローが続行されます。もちろん、応答も同様に暗号化されることが期待されます。

5
Rickky13

TLSがしっかりした構成(つまり、証明書のピン留め)で適切に配置されていることを考えると、そうする理由はないと思いますが、この情報を暗号化して、軽減しようとしているビジネスリスクを解決する必要があります。

自問してみてください。これを行うことで何が得られますか?どの種類の攻撃ベクトルを軽減していますか?

どのようにキーを生成、配布、管理しますか?データを暗号化/復号化するコードとキーはどこにありますか?キーが抽出された場合(そうでない場合)に何が起こりますか(つまり、すべてに同じキーを使用しますか?]?

10
Pedro

TLSのポイントの1つは、この問題を解決することです。信頼されていないネットワークを介してデータを転送する安全な方法で、できれば実際の暗号化部分に一時鍵を使用します。これを自分で行うことは可能ですが、キーストレージなどの問題を解決する必要があるため、「自分自身をローリングする」ことに危険なほど近づいています。

バックエンドネットワークの設定方法によっては、完全なエンドツーエンドの暗号化を適用しているか、TLSがロードバランサーまたはルーターで終端しているかを確認する必要があります。ただし、これは別のトピックです。

2
Prime