最終更新:
Click to expand / collapse
API統合には、アクセス制御だけでなく、各リクエストの信頼性と完全性の保証も必要です。そのために、HMAC署名(Hashベースのメッセージ認証コード)や、本文やリクエストのパラメータの暗号化をサポートし、オープンネットワーク上で送信された場合でもデータ保護を確保します。
HMACを使用して、各当事者(クライアントとサーバー)は、要求が承認された当事者によって作成されたことを確認し、パスに沿って変更されておらず、コンテンツを暗号化しています。
実装されているもの
| メカニズム | 目的とメリット |
|---|---|
| HMAC署名 | 各リクエストにプライベートキーで署名する |
| Integrityコントロール | アップロード時にコンテンツが変更されていないことを確認する |
| リクエストボディ暗号化 | AESまたはRSAを使用して機密データを保護 |
| タイムスタンプで署名 | リプレイ攻撃保護 |
| クエリパラメータの署名 | ハッシュ関数によるクエリ文字列とペイロードの検証 |
どのように機能しますか
1.クライアントはリクエストボディを生成し、タイムスタンプを追加します
2.HMACによって計算される(例えば。SHA256)秘密と内容に基づいて
3.署名はヘッダーに追加されます(例: 'X-Signature')
4.サーバーは、署名、タイムスタンプ、および有効なIPを検証します
5.署名が一致するとリクエストが実行され、そうでない場合は拒否されます
API統合のメリット
要求の置換または歪みに対する保護
TLSなしで安全に通信できる(クローズドネットワーク)
データリンクの信頼性を高める
プラットフォームまたは言語固有の独立性
さまざまなタイプの顧客のための柔軟な実装: キャッシュデスク、ゲートウェイ、プロバイダ
特に重要な点
決済、現金または財政システムとの統合
マルチリースまたはパートナー環境で実行されるAPI
要求検証要件が増大したシステム
永続的な承認なしに社内サービス間の相互作用