Webhookシークレットを安全に共有する

使用後に期限切れとなる暗号化リンクで、Webhook署名シークレットと検証トークンを共有しよう。

問題

Webhookシークレットは受信するHTTPリクエストが正当であることを検証するために使われる。これらのシークレットがSlackやメールで共有されると、チャンネルにアクセスできる人なら誰でもWebhookペイロードを偽造できる。Webhookシークレットが侵害されると、不正なデータ注入、偽の決済通知、または壊れたインテグレーションにつながる可能性がある。

Vaulted のサポート内容

VaultedはWebhookシークレットをクライアントサイドでAES-256-GCMを使って暗号化し、自己消滅リンクで配信する。サーバーはシークレットを平文で見ることはなく、リンクは閲覧後に期限切れとなる。シークレットが転送中に一度も露出しなかったため、Webhookの検証は完全に機能し続ける。

手順

  1. Webhook署名シークレットをVaultedに貼り付ける
  2. 必要とするチームメンバーの数に適した閲覧回数制限を設定する
  3. インテグレーションを設定する開発者に暗号化リンクを共有する
  4. 相手がシークレットをWebhookハンドラの設定にコピーし、リンクは期限切れとなる