過去の記事でBasic認証とDigest認証、MD5って何?って話をまとめたんですが
その延長でHMACという認証方式(?)について学ぶ機会があったのでメモ。
HMACとは
Hash-Based Message Authentication Codeの略で、
メッセージ認証符号(MAC; Message Authentication Code)の1つ。
メッセージ認証符号はメッセージ認証コードとも呼ばれている。
メッセージを送受信する際に相手が成りすましでないかとか、途中で改竄されていないかどうかを調べることができる。
そのために、送受信者の間で「秘密鍵」と呼ばれる第三者が知らないデータを使用する。
使うもの
メッセージ本体と秘密鍵を一定の規則に従って組み合わせハッシュ関数に与え、ハッシュ値を計算する。
生成したハッシュ値をMACと呼ぶ。
なぜ、HMACか?(Digest認証との違い)
きちんと理解してないんですが、
MD5だと任意のハッシュ値から別のハッシュ値を算出することができるらしい。
このあたりリファレンス読んで勉強したい。