メッセージ認証符号(MAC・HMAC)とは?めっせーじにんしょうふごう
メッセージ認証符号(MAC・HMAC)とは、共有した秘密鍵とメッセージから固定長の値を計算して添え、受信側が同じ計算をして一致を見ることで、改ざんの検知と送信元の確認を一度に済ませる仕組み。ハッシュ関数を鍵と二重に組み合わせて構成したものがHMACで、HMAC-SHA256の形で広く使われる。公開鍵暗号による署名より計算が軽く、高頻度のAPI呼出しや大量の通信の真正性確認に向く。
最終更新:2026-10-06
システムアーキテクトを最短で暗記・合格する →背景
ハッシュ値を付けるだけでは、途中で本文とハッシュ値を両方作り替えられれば検知できない。鍵を知らなければ正しい値を作れない形にすることで、改ざんと送信元の確認を一度に済ませられる。公開鍵による署名でも同じことはできるが、毎回の呼出しで署名検証を行うには重い。処理量と保証の強さのどちらを取るかという、方式設計そのものの選択になる。
具体例
GitHubやStripeのWebhookは、本文と事前共有した鍵から算出したHMAC-SHA256をヘッダに付けて送り、受信側が同じ計算をして一致を確かめる。JSON Web TokenのHS256も同じ考え方で、鍵配布する相手が自社内に限られるならこちらを、多数の外部に検証させたいなら公開鍵方式のRS256を選ぶ。
試験での引っ掛け
デジタル署名と違って否認防止の効果はない。鍵を両者が持つため受信者も同じ値を作れてしまい、第三者に対して「送信者が作った」ことを証明できないからである。多数の相手に検証させたい場合は公開鍵方式の署名を選ぶ。
関連用語
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 1. 情報セキュリティ > (8) 情報セキュリティに関する技術に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。