CommandDialog

Command dialog

HMAC検証器

秘密鍵とお好みのハッシュ関数を使用して、指定されたハッシュベースのメッセージ認証コード(HMAC)に対してテキストメッセージを検証します。

関連ツール

詳細を見る

HMAC 検証ツールとは?

HMAC 検証ツールは、既知のメッセージ、共有秘密鍵、および受信した HMAC 署名が真に一致するかを検証するためのセキュリティ監査ツールです。HMAC 生成ツールとは異なり、このツールの主な目的は検証であり、生成ではありません。入力データを用いてローカルで HMAC を再計算し、提供された署名と厳密な等値比較を行うことで、データが送信中に改ざんされていないかを判断します。

検証メカニズムの仕組み

検証プロセスは厳格な暗号化原則に従います:

  1. 再構築: ツールは、ユーザーが提供した元のメッセージと共有秘密鍵を用い、同じハッシュアルゴリズムで HMAC を再計算します。
  2. 比較: 新しく計算されたハッシュ値と、入力されたターゲット HMAC 署名を比較します。
  3. 判定: 両者の値が完全に一致する場合、メッセージは真正かつ改ざんされていないと確認されます。1 ビットでも不一致があれば、「不一致」という結果になります。

HMAC 検証を行う理由

  • 中間者攻撃(MITM)への防御: 攻撃者がデータを傍受・改ざんしても、共有秘密鍵がなければ有効な HMAC 署名を生成できません。
  • 設定とデバッグの確実性: 開発者は実装上の問題をトラブルシューティングしたり、ローカルで生成した署名が期待される標準に準拠していることを確認するため、頻繁に検証を行います。
  • 決済と認証のセキュリティ: Stripe や PayPal などの Webhook やクラウドサービス API を統合する際、署名検証は金融取引や API 完全性のための第一の防御線となります。

当社のオンライン HMAC 検証ツールを選ぶ理由

  • プライバシーファースト設計: セキュリティは検証の核心です。当ツールは完全にブラウザ上で動作し、メッセージ、機密鍵、HMAC 署名を含むすべての入力データが一切サーバーに送信されることはありません。このため、本番環境の秘密鍵にも安全です。
  • 幅広いアルゴリズム対応: 従来の MD5 から、SHA3、RIPEMD160 などの最新オプションまで、8 種類のハッシュアルゴリズムを網羅しています。
  • 柔軟なエンコード互換性: 16 進数(Hex)、Base64、Base64URL、バイナリ(0/1 文字列)の入力をサポートし、様々なシステムで生成された署名に対応します。
  • 即時検証フィードバック: 結果パネルはリアルタイムで更新されるため、手動での比較作業が不要です。

HMAC 検証ツールの使用方法

  1. 検証するメッセージを入力: 元のメッセージ内容を「ハッシュ対象テキスト」フィールドに貼り付けます。
  2. 秘密鍵を提供: 検証に使用する共有秘密鍵を入力します。
  3. ターゲット HMAC を入力: 検証したい署名を「HMAC 入力」フィールドに貼り付けます。
  4. パラメータを設定:
    • 右側のドロップダウンから適切なハッシュアルゴリズム(例: SHA256)を選択します。
    • 正しいハッシュエンコード形式(例: 16 進数)を選択します。
  5. 結果を確認: 下部の「検証結果」パネルを確認します。ツールは自動的に「一致」または「不一致」を示します。

対応アルゴリズムとエンコード方式

カテゴリー対応オプション
ハッシュアルゴリズムMD5, SHA1, SHA224, SHA256, SHA384, SHA512, SHA3, RIPEMD160
エンコード方式16 進数(Hex), Base64, Base64URL, バイナリ(0/1 文字列)

よくある質問

バリデータに「Not Matched」と表示されます。考えられる原因は何ですか?

主な原因は以下の通りです:1. ハッシュアルゴリズムやエンコード形式が間違っている;2. 元のメッセージに余分な改行や空白が含まれている;3. シークレットキーが間違っている;4. 生成時に使用した文字エンコーディング(例:UTF-8 と GBK など)が現在のものと異なる。

ブラウザにシークレットキーを入力しても安全ですか?

はい、安全です。このバリデータは100%クライアント側で動作します。インターネットから切断した状態でも通常通り使用できますので、サーバー側でデータが処理されることはありません。

Base64 と Base64URL エンコードの違いは何ですか?

Base64URL はURL内での安全な伝送を目的として設計されています。「+」を「-」に、「/」を「_」に置き換え、末尾の「=」によるパディングも通常削除されます。署名をURLパラメータで使用する場合は、Base64URL を使うことをおすすめします。

なぜ RIPEMD160 がサポートされているのですか?

RIPEMD160 は、Bitcoin などの暗号通貨システムでアドレス生成や関連するセキュリティチェックに広く使われています。SHA256 ほど一般的ではありませんが、特定のブロックチェーン開発シナリオでは依然として不可欠です。

このバリデータは大容量ファイルの検証をサポートしていますか?

このツールはテキストベースのメッセージ向けに最適化されています。非常に大きなファイルの場合は、代わりに特定のテキスト形式のダイジェストまたはチェックサムを抽出して検証することをおすすめします。