HMAC 【Hash-based Message Authentication Code】

概要

HMAC(Hash-based Message Authentication Code)とは、二者間でメッセージを送受信する際に、送信者の認証と本文の改竄検知が可能なメッセージ認証コード(MAC)の一つ。本文と共有鍵を元にハッシュ関数によって算出される。

送信者はメッセージ本文と暗号鍵からMAC値を算出して本文と共に送信する。受信者はあらかじめ共有しておいた暗号鍵と受信した本文から同じようにMAC値を算出する。これが受信メッセージ添付された符号に等しければ、送信者は暗号鍵を知っている本人であり、かつ、伝送途上で改竄されていないことを確認できる。

具体的には、まず何らかのハッシュ関数を用いて、暗号鍵と定数 “3636…36”(16進数)の排他的論理和XOR)にメッセージ本文を連結したものからハッシュ値を算出する。これを、暗号鍵と定数 “5C5C…5C”(16進数)のXORに連結し、再度ハッシュ値を算出する。これがMAC値となる。

ハッシュ関数には反復型の暗号学的ハッシュ関数ならば任意のものを利用できる。MD5を用いたものを「HMAC-MD5」、SHA-1を用いたものを「HMAC-SHA1」、SHA-2SHA-256を用いたものを「HMAC-SHA256」というように呼ぶ。。

(2020.6.2更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる