メッセージ認証 【message authentication】
概要
メッセージ認証(message authentication)とは、ネットワークを通じて伝送されたメッセージが途中で改竄されていないことを確認する技術。そのためにメッセージに添付される短いデータのことを「メッセージ認証コード」(MAC:Message Authentication Code)あるいは「メッセージ認証符号」という。一般的なメッセージ認証では、メッセージ本文と送信者・受信者があらかじめ安全な手段で共有した秘密の情報(共通鍵/共有鍵)を元に、一定の計算法によって短いデータ(MAC値)を算出し、これをメッセージに添付する。
受信側では、届いたメッセージ本文と、事前に送信者と共有した共通鍵から同じようにMAC値を算出し、添付されたMAC値と比較する。両者が一致すれば、相手は共通鍵を知っており、メッセージが通信途上で改竄されていないことを確認することができる。
MAC値の算出に共通鍵暗号(ブロック暗号)による暗号化を用いる方式(CMAC、OMAC、PMACなど)と、ハッシュ関数を用いる「HMAC」(Hash-based MAC)がある。なお、共通鍵ではなく公開鍵暗号を用いて認証と改竄検知を行う手法は「デジタル署名」(digital signature)と呼ばれる。こちらは送信者が本人であることを証明する否認防止の機能も持つ。
(2023.4.16更新)