メッセージ認証符号
メッセージ認証符号(MAC)を利用することによって実現できることとして,適切なものはどれか。
- アメッセージの内容を第三者に読まれないように秘匿する。
- イ送信者が後になって送信の事実を否認することを,第三者に対して防止する。
- ウ共通鍵を共有する者の間で,メッセージが改ざんされていないことと,鍵を共有する相手が作成したものであることを確認する。
- エ公開鍵暗号を用いて,共通鍵を安全に受信者に配送する。
正解と解説を見る
正解 ウ
この問題の基礎知識
- 機密性は許可された者だけが情報を参照できること,完全性は情報が改ざんされていないこと,否認防止は行為を後から否定できないようにすることである。
- MAC は,送信者と受信者が共有する共通鍵とメッセージから算出する値であり,代表例にハッシュ関数を用いる HMAC がある。
- デジタル署名は署名者だけが持つ秘密鍵で作成し,公開鍵で誰でも検証できるので,第三者に作成者を示せる。共通鍵を使う MAC では受信者も同じ値を作れる点が異なる。
- ハイブリッド暗号方式は,データを共通鍵暗号で暗号化し,その共通鍵を受信者の公開鍵で暗号化して配送する方式である。
アメッセージの内容を第三者に読まれないように秘匿する。
MAC はメッセージに認証用の符号を付加するだけで,メッセージ自体は暗号化しない。機密性を確保するには別途暗号化が必要である。
イ送信者が後になって送信の事実を否認することを,第三者に対して防止する。
MAC は送信者と受信者が同じ共通鍵を共有するので,受信者も同じ MAC を生成できる。そのため第三者に対して作成者を証明できず,否認防止にはデジタル署名が必要である。
ウ共通鍵を共有する者の間で,メッセージが改ざんされていないことと,鍵を共有する相手が作成したものであることを確認する。正解
MAC は共通鍵とメッセージから算出され,受信者が同じ鍵で再計算して照合する。一致すれば改ざんがないこと(完全性)と,鍵を共有する相手が作成したこと(認証)を確認できる。
エ公開鍵暗号を用いて,共通鍵を安全に受信者に配送する。
公開鍵暗号で共通鍵を暗号化して配送するのは,ハイブリッド暗号方式における鍵配送の説明である。MAC は配送済みの共通鍵を用いて完全性を確認する技術である。
検証用の出典出典照合済み
FIPS 198-1 The Keyed-Hash Message Authentication Code (HMAC) / RFC 2104 HMAC: Keyed-Hashing for Message Authentication / NIST SP 800-63-4 Digital Identity Guidelines照合の根拠(3 件)
- ウ(正解): MAC は秘密鍵を共有する二者の間で,送られた情報の完全性を確認する
Mechanisms that provide such integrity check based on a secret key are usually called "message authentication codes" (MAC). Typically, message authentication codes are used between two parties that share a secret key in order to validate information transmitted between these parties.
RFC 2104 · Section 1(新しいタブで開きます) - ウ(正解): 真正性と完全性を提供する。イ: 否認防止は提供しない。ア: MAC はデータに対するチェックサムであり,データを秘匿しない
A cryptographic checksum on data that uses a symmetric key to detect both accidental and intentional modifications of the data. MACs provide authenticity and integrity protection but not non-repudiation protection.
NIST CSRC Glossary: message authentication code (MAC) · NIST SP 800-63-4 由来の定義(新しいタブで開きます) - エ: 共通鍵を受信者に安全に配送するのは鍵配送(key transport)の手順であり,MAC の機能ではない
A (pair-wise) key-establishment procedure whereby one party (i.e., the sender) selects a value for the secret keying material and then securely distributes the value to another party (i.e., the receiver).
NIST CSRC Glossary: key exchange · NIST SP 800-227 由来の定義(key transport)(新しいタブで開きます)