MAC(Message Authentication Code)

MAC(Message Authentication Code)

 MAC(Message Authentication Code)は、メッセージの認証を実現するための技術であり、ネットワークセキュリティ分野で広く使用されています。MACは、メッセージに対して秘密鍵を用いて生成される固定長のバイト列であり、メッセージの改竄や偽装が行われていないことを確認するために使用されます。

 MACは、秘密鍵暗号方式を用いて生成されるため、メッセージを暗号化する際に使用される共通鍵を共有している双方が、MACを生成することができます。MACは、メッセージ本体と共に送信され、受信者はメッセージを復号化し、同じ秘密鍵を用いてMACを生成することで、送信者が作成したMACと一致するかどうかを確認することができます。

 MACは、データの改竄や偽装を検知するだけでなく、メッセージが認証されたことを示すことができます。一方で、MACは秘密鍵を共有している双方にのみ安全性を提供するため、鍵の共有が必要であるため、公開鍵暗号方式を使用するような公開鍵基盤(PKI)のような仕組みが必要となります。

 一般的には、HMAC(Hash-based Message Authentication Code)やCMAC(Cipher-based Message Authentication Code)のような標準的なアルゴリズムが使用され、MACはSSL/TLS、IPsec、SSH、SMTPなどのプロトコルで広く使用されています。