ウェブフックセキュリティ:HMAC署名

ウェブフックセキュリティ:HMAC署名

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

プロジェクト、タスク、課題のWebhookをHMAC-SHA 256(SHA 256を用いたハッシュベースのメッセージ認証コード)で保護します。Zoho Projectsでは、Webhookの認証性と完全性を確保・維持するための業界スタンダードなハッシュ機構であるHMAC-SHA 256によるWebhookの保護が可能です。

HMACは以下の認証に役立ちます:
  1. WebhookリクエストがZoho Projectsから送信されたかどうか(シークレットキーはZoho Projectsと受信側アプリケーションのみが知っている必要があります)。
  2. Webhookの内容が途中で改ざんされていないかどうか。

なぜWebhookを保護する必要があるのか?

Webhookは、あるアプリケーションから別のアプリケーションへリアルタイムデータを提供するHTTPリクエストです。セキュリティ攻撃では、攻撃者が偽のWebhookを送信して正規の提供者になりすまし、機密データを抜き取ることが容易にできます。そのため、Webhookを安全に保護し、アプリが信頼できる送信元からの正規の処理のみを受信し、偽または有害なリクエストに騙されないようにすることが重要です。

メリット:

  1. レポートへの誤ったデータの混入防止
  2. 不正な更新の防止
  3. セキュリティ侵害の回避

Webhookセキュリティを有効にする

Webhookの追加または編集時に、Webhookセキュリティ設定を有効にできます。
  1. 設定 > 自動化/Issue Tracker > Webhook に移動します。
  2. 新規Webhookの場合は、Webhookフォームに詳細を入力し、セキュリティ設定をオンにします。既存のWebhookの場合は、セキュリティを有効にしたいWebhookを選択します。
  3. HMACキーを入力します。生成するをクリックしてHMACキーを自動生成することもできます。
  4. 保存をクリックします。
Notes
HMACキーの長さは16文字から128文字の間である必要があります。

Zoho ProjectsにおけるWebhookセキュリティの仕組み

Zoho ProjectsからWebhookが送信される際、リクエストヘッダーに「X-ZP-Webhook-署名」という名前のHMAC署名が含まれます。Webhookリクエストを受信したアプリケーションは、同じシークレットキーを用いてHMAC署名を生成し、リクエストヘッダーにある値と比較します。値が一致すればデータは正当であり、一致しなければデータが改ざんされていることになります。

HMAC署名の生成

Zoho ProjectsはHMAC-SHA256アルゴリズムを使用してWebhookデータ内容の署名を計算し、その結果をbase64形式でリクエストヘッダーに送信します。以下に、サンプルデータを用いた説明を示します:

データの内容
{{'requests':{'request_name':'テスト 名前'},'通知': {'operation_type':'RequestSigningSuccess'}}
secret_key
  thisisthesamplekeyfortestingpurposes
base64encode(HMAC SHA-256(データの内容+secret_key))
drbSrM4H816RYKpZiRBLddUa0yHaTrwjtY04sIZFZus=

以下は、Webhookリクエストヘッダー(HMACヘッダー)の画像例です。

受信アプリケーションでのHMAC署名の検証

  1. データの内容は文字列として読み取り、JSON形式でキーの順序が変更されないように注意してください。
  2. データの内容にシークレットキーを使用してHMAC SHA-256ハッシュを計算し、結果をbase64エンコードします。
  3. 手順2で取得した値と受信したHMACヘッダー(X-ZP-Webhook-署名)の値を比較します。一致しない場合は、Webhookリクエストを却下してください。

HMAC署名を認証するためのJavaコードスニペット例:


    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.