セキュリティ
HMAC(Hash-based Message Authentication Code)の主な目的として正しいものはどれか。
ア.メッセージを暗号化して第三者による盗聴を防止する。
イ.公開鍵インフラ(PKI)を利用してメッセージの送信者を認証する。
ウ.メッセージを圧縮して通信帯域を節約する。
エ.共有秘密鍵とハッシュ関数を組み合わせてメッセージの完全性と認証を提供する。正解
解説
HMACは「合言葉(共有鍵)入りのハンコ(ハッシュ)」。合言葉を知っている人だけが正しいハンコを押せるので、「このメッセージは確かにあなたが送った、改ざんもされていない」を同時に証明できる。
なぜ エ が正解か
エが正解。HMAC = H(K XOR opad || H(K XOR ipad || M))。KはHMACキー(共有秘密鍵)、Hはハッシュ関数(SHA-256等)、Mはメッセージ。①メッセージ完全性:受信側が同じキーでHMACを計算し一致確認→改ざん検出②認証:共有キーを知る者だけがHMACを生成できる。TLS/HTTPSのMAC、JWT署名(HS256)等に使用される。
出典: AI生成問題(学習用)