HMACとは?えいちまっく
HMACとは、ハッシュ関数と共通鍵を組み合わせてメッセージ認証符号(MAC)を作る、RFCで標準化された方式。SHA-256と組み合わせてHMAC-SHA256のように呼ぶ。受信側が同じ鍵で計算し直して値が一致すれば、改ざんされていないことと、鍵を持つ相手からの送信であることを同時に確かめられる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
通信の中身を暗号化しても、途中で書き換えられていないことまでは保証されない。かといって単純なハッシュ値を添えるだけでは、内容もろともハッシュ値を付け替えられてしまう。計算に秘密の鍵を混ぜ、鍵を知らない者には正しい値が作れないようにしたのがHMACである。sgでは、暗号化(機密性)と改ざん検知(完全性)が別の目的だと読ませる文脈で出る。
具体例
AWSやStripeが提供するAPIでは、送信内容と発行された秘密鍵から計算した署名値をリクエストに添える方式がとられている。サービス側が同じ計算をして値の一致を確かめるため、通信を盗み見た第三者でも、鍵を持たない限り正しい要求を組み立てられない。
試験での引っ掛け
「ハッシュ値を添えれば同じこと」は誤りで、鍵が計算に混ざっている点が本質である。またHMACは共通鍵方式で送信側と受信側が同じ鍵を持つため、第三者に対して「本人が送った」と示す否認防止までは満たさない(それはディジタル署名の役目)。鍵が漏れれば効果を失う点も押さえる。
関連用語
出た過去問
出典:平成30年度 春期 情報セキュリティマネジメント試験 午前 問24(IPA)解説で登場
メッセージが改ざんされていないかどうかを確認するために,そのメッセージから,ブロック暗号を用いて生成することができるものはどれか。
正解:メッセージ認証符号
要点:MACは共有鍵で作る改ざん検知用の認証符号
メッセージ認証符号(MAC)は、メッセージと共有鍵から生成する固定長の値で、受信側が同じ鍵で計算し直して比較することで改ざんの有無と送信者の正当性を確認できる。ブロック暗号を用いたCMACや、ハッシュ関数を用いたHMACなどの生成方式がある。
出典:令和元年度 秋期 情報セキュリティマネジメント試験 午前 問23(IPA)解説で登場
メッセージが改ざんされていないかどうかを確認するために、そのメッセージから、ブロック暗号を用いて生成することができるものはどれか。
正解:メッセージ認証符号
要点:MACはブロック暗号でも生成でき改ざんを検知する
メッセージ認証符号(MAC)は、メッセージと秘密鍵から生成する固定長の値で、受信側が同じ鍵で計算し直して一致を確かめることで改ざんの有無を検証できる。生成にはハッシュ関数を使うHMACのほか、ブロック暗号を使うCMACやCBC-MACがあり、本問はブロック暗号から生成できるものを問うている。
出典:令和4年度 公開問題 情報セキュリティマネジメント試験 科目A・B 問23(IPA)解説で登場
メッセージが改ざんされていないかどうかを確認するために、そのメッセージから、ブロック暗号を用いて生成することができるものはどれか。
正解:メッセージ認証符号
要点:MACは共有鍵で作る改ざん検知用の検証値
メッセージ認証符号(MAC)は、送受信者が共有する鍵とメッセージから生成する短い検証値で、改ざんの有無と送信者の正当性を確認できる。生成方式にはハッシュ関数を使うHMACのほか、ブロック暗号を用いるCMACなどがあり、本問はこの後者を指している。鍵を知らない第三者は正しい値を作れないため、単なる誤り検出符号より強い保証が得られる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。