MAC(Message Authentication Code)
MAC(Message Authentication Code、メッセージ認証符号)
送信側と受信側で同じ共通鍵を使用することで、メッセージを認証するための仕組み
ブロック暗号(共通鍵暗号方式)を用いる方法
メッセージが期待した通信相手からきたものであることを確かめるための仕組み
MACアルゴリズムは鍵とメッセージを基にMAC値を生成するアルゴリズム
auth_code = MAC(key, msg)
MACの特徴
できること
メッセージ送信中にメッセージが改ざんされてないことが確かめられる(完全性)
メッセージが期待した通信相手からきたものであることを確かめられる(真正性、認証)
できないこと
メッセージの作成者の正当性を保証しない(否認防止にならない)
関連: RASIS、認証と認可
https://gyazo.com/39ad897b7fe17c101bcbff1a65e996ea
ref: https://atmarkit.itmedia.co.jp/ait/articles/0401/01/news120.html
HMACハッシュ関数を用いる方法
AES-CMAC(Advanced Encryption Standard - Cipher-based Message Authentication Code)
AESとCMACの暗号利用モードを使ったやり方
AES-GCM
OMAC
そのほかのMACアルゴリズム
DAA
CBC MAC
CMAC
HMAC
OMAC
EMAC
RMAC
TMAC
PMAC
XCBC
f9
GMAC
Poly1305
SipHash
UMAC
もっと深くMACアルゴリズムを理解するにはAuthentication (MAC)を見る
確認用
Q. メッセージ認証コード
Q. MACでできること
Q. MACでできないこと
Q. MACの手順
参考
「MAC(Message Authentication Code)」とは - @IT
【暗号技術入門】 メッセージ認証コード (MAC) と鍵導出関数 | 晴耕雨読
関連
公開鍵暗号方式
電子署名(デジタル署名)
PKI
AES
暗号利用モード
ChaCha20-Poly1305
メモ
【暗号技術入門】 メッセージ認証コード (MAC) と鍵導出関数 | 晴耕雨読
#認証 #暗号 #セキュリティ