Investor's wiki

メッセージ認証コード(MAC)

メッセージ認証コード(MAC)

##メッセージ認証コードとは何ですか?

メッセージ認証コード(MAC)、またはタグは、コンピューターのユーザーがアカウントまたはポータルにアクセスするために入力するセキュリティコードです。このコードは、ユーザーが送信するメッセージまたはリクエストに添付されます。ユーザーにアクセスを許可するには、メッセージに添付されたメッセージ認証コード(MAC)が受信システムによって認識される必要があります。

##メッセージ認証コード(MAC)を理解する

メッセージ認証コード(MAC)は、情報の整合性を維持するために、電子資金移動(EFT)で一般的に使用されます。メッセージが本物であることを確認します。つまり、実際には指定された送信者からのものであり、途中で変更が加えられていないことを意味します。キーも所有している検証者は、キーを使用して、問題のメッセージの内容に対する変更を識別できます。

メッセージ認証コードは通常、あらゆる種類の金融口座にアクセスするために必要です。銀行、証券会社、信託会社、およびオンラインアクセスを提供するその他の預金、投資、または保険会社は、これらのコードを使用できます。それらは金融暗号の重要な要素です。

##MACの生成に使用されるアルゴリズム

通常、MACには、キー生成アルゴリズム、署名アルゴリズム、検証アルゴリズムの3つのアルゴリズムが含まれます。キー生成アルゴリズムは、ランダムにキーを選択します。署名アルゴリズムは、キーとメッセージが与えられるとタグを送信します。検証アルゴリズムは、キーとタグが与えられたときにメッセージの信頼性を検証するために使用されます。メッセージとタグが本物で変更されていない場合は承認済みのメッセージを返しますが、それ以外の場合は拒否済みのメッセージを返します。

たとえば、送信者はMACアルゴリズムを介して、EFTなどのメッセージを送信します。このアルゴリズムは、キーを生成し、MACデータタグをメッセージに添付します。受信者はメッセージを取得し、同じキーを使用してMACアルゴリズムを実行し、2番目のデータタグを取得します。次に、このMACデータタグを、メッセージが送信されたときにメッセージに添付された最初のタグと比較します。コードが両端で同じである場合、受信者はメッセージのデータ整合性が損なわれていないと安全に想定できます。ただし、そうでない場合は、メッセージが変更、改ざん、または偽造されたことを意味します。

ただし、メッセージ自体には、このメッセージを1回だけ送信できるようにするデータが含まれている必要があります。たとえば、1回限りのMAC、タイムスタンプ、またはシーケンス番号を使用して、メッセージを1回だけ送信できることを保証できます。そうしないと、システムがリプレイ攻撃に対して脆弱になる可能性があります。リプレイ攻撃では、攻撃者はメッセージがデコードされた後にメッセージを傍受し、後で再送信して、元の結果を複製し、システムに侵入します。

##メッセージ整合性コード(MIC)

MACの代わりにメッセージ整合性コード(MIC)という用語が使用される場合があります。これは通信業界で最も頻繁に行われ、MACは伝統的にメディアアクセス制御アドレス(MACアドレス)を意味します。ただし、MICを使用してメッセージダイジェストを参照することもできます。これは、MACと同じ方法で秘密鍵を使用せず、さらに暗号化しないと同じレベルのセキュリティを提供できません。