情報セキュリティにおけるMAC(メッセージ認証コード)とは?仕組みと役割を徹底解説
MAC(メッセージ認証コード)とは
MACは「Message Authentication Code(メッセージ認証コード)」の略称で、「タグ」とも呼ばれます。メッセージの送信元やその特性を認証するために用いられ、認証暗号技術を活用して、ネットワーク経由で送信された情報や個人間で共有された情報の正当性を検証します。
MACが提供するセキュリティ機能
MACによって、次のことが保証されます。
- メッセージが正しい送信者から送られたものであること
- メッセージが途中で改ざんされていないこと
- ネットワーク上で転送された情報やシステム内外に保存された情報が正当であり、有害なコードを含んでいないこと
また、MACは機密性の高いデジタル鍵を管理するための専用装置であるハードウェアセキュリティモジュール(HSM)などのハードウェアセキュリティ構造に保存することも可能です。
MACの仕組み
MACは、メッセージに対して秘密鍵付きの安全なハッシュ関数を適用することで生成されます。これによりメッセージの完全性が担保され、MACで保護されたメッセージが改ざんされた場合には、メッセージ内に含まれるMACと再計算したMACを比較することで検知できます。
MACは、メッセージとともに送信される「鍵付きチェックサム」です。固定長の秘密鍵と任意の長さのメッセージを入力として受け取り、固定長のチェックサムを出力します。安全なMACには、メッセージに対するいかなる変更もチェックサムを無効化するという重要な特徴があります。
通信セキュリティ以外での活用例
MACの用途は通信セキュリティにとどまりません。例えば、友人と共有する可能性のあるリムーバブルUSBフラッシュドライブにファイルを保存するケースを考えてみましょう。
フラッシュドライブ上のファイルの改ざんを防ぐため、コンピュータが秘密鍵を作成し、各ファイルのMACをフラッシュドライブ内のどこかに保存しておきます。ファイルを読み込む際には、その内容を利用する前にMACが正しいかどうかを検証できます。ある意味、これは未来の自分自身との通信と言えます。つまり、保存された情報のセキュリティは、通信セキュリティの一種と捉えることができるのです。
CRCとの違いとMACの必要性
単純なチェックサム方式の基本的な弱点は、メッセージ内容への意図的な改変に対する防御力の欠如にあります。攻撃者はメッセージを改変したうえで新しいチェックサムを計算し、元の値を差し替えることが可能です。通常のCRC(巡回冗長検査)アルゴリズムでは、偶発的なデータ破損のみを検出でき、攻撃者による意図的な改変は検知できません。そこで、秘密鍵を用いるMACが不可欠となります。
メッセージ認証の目的
メッセージ認証とは、送信者である一方の当事者から受信者であるもう一方の当事者へメッセージを送信する際、途中でメッセージが改ざんされた場合に、受信者が確実にそれを検知できるようにする仕組みです。
メッセージ認証は「データ発信元認証(data-origin authentication)」とも呼ばれ、各メッセージの発信元を認証します。その目的は、受信され正当と認められたすべてのメッセージが、送信時と完全に同一の状態であり、ビットの挿入・削除・変更が一切行われていないことを保証することにあります。
-
情報セキュリティにおける暗号化の目的とは?5つの重要なセキュリティ目標を解説
暗号技術(クリプトグラフィ)は、情報の機密保持や改ざん防止など、さまざまなセキュリティ上の目的を支える基盤技術です。高いセキュリティ効果が期待できることから、現代では幅広い分野で活用されています。ここでは、暗号化が実現する主なセキュリティ目標について、それぞれの役割と仕組みを詳しく解説します。機密性(Confidentiality)コンピュータ上でやり取りされる情報は、許可された当事者だけがアクセスできる状態であるべきであり、第三者に漏洩してはなりません。機密性の原則とは、メッセージの内容を確認できるのが送信者と意図された受信者のみである、という考え方です。許可されていない人物がメッセージを読
-
情報セキュリティにおけるIDEA(国際データ暗号化アルゴリズム)とは?仕組みと特徴を解説
IDEA(International Data Encryption Algorithm)とは?IDEAは「International Data Encryption Algorithm(国際データ暗号化アルゴリズム)」の略称で、ジェームズ・マッセイ(James Massey)と来学嘉(Xuejia Lai)によって考案された共通鍵方式のブロック暗号です。1991年に初めて定義され、128ビットの鍵長を用いて64ビット単位のデータブロックを暗号化します。IDEAの主な特徴鍵長:128ビットブロック長:64ビット構成:8つの同一ラウンド+出力変換使用する演算:XOR(排他的論理和)、加算、乗算の