- 誰かが API リクエストをスニッフィングして独自のリクエストを作成するのを防ぐ方法 (これはパブリック API であってはなりません)。
スニッフィングを防ぐために回線上のトラフィックを暗号化するために、当然のこととして TLS を使用する必要があるという以前の回答を繰り返します。ただし、「キャプチャリプレイ」攻撃も抑止する必要があることを付け加えておきます。これにより、攻撃者は、TLS を使用しているにもかかわらず、(クライアント側のログなどから) 取得した可能性のある以前のメッセージを再送信する可能性があります。この場合、リクエストで nonce (「number once」を意味する) および/またはタイムスタンプを使用し、HMAC 署名を使用している場合、リプレイされた API リクエストを検出してブロックすることができます。この例については、ブログhttp://www.soatothecloud.com/2011/02/securing-apis.htmlに書いています。たとえば、Amazon の API はこのアプローチを使用しています。
- #1を完全に防ぐことができない場合、承認されていない消費者からのリクエストを制限/調整するにはどうすればよいですか? 他に懸念事項はありますか?
HMAC 署名 (上記) と同様に、着信 IP アドレス範囲、デバイス情報 (デバイスの種類を示すヘッダー - Android と iOS など)、および複数のリクエストを特定のクライアントにリンクするために使用できるその他の要素を監視することも検討できます。 、API レベルでポリシーを適用します。
完全開示:私は API Management / API Gateway ベンダー (Axway) で働いていますが、上記の情報は一般的なものでなければなりません。