全2794文字
PR
 MACアドレスはネットワークに欠かせない識別情報の1つだ。IPアドレスに比べてあまり知られていないが、通信を裏方で支える重要な要素である。昨今は、iPhoneなどでMACアドレスの「ランダム化」がデフォルトになり、それに伴ってトラブルが発生する懸念があるなど、ネットワーク管理者が知っておくべき新しいトピックもある。改めてMACアドレスについて理解し、謎に思っている部分や疑問点をなくしておこう。

Q:iPhoneのWi-Fi接続で使うMACアドレスが変わるのは本当?

 これは本当です。iOS 14からデフォルトでオンになった「MACアドレスのランダム化」という機能によるものです。米Apple(アップル)はランダム化されたMACアドレスを「プライベートアドレス」「プライベートWi-Fiアドレス」などと称しています。この記事では以降、「ランダムMACアドレス」と呼ぶことにします。

 これまで説明してきたように、機器に割り当てられたMACアドレスは世界で一意の値を持っています。ローカルネットワークのみで使うような有線のイーサネットの場合、それほど大きな問題にはならないかもしれません。

 ところが、様々な場所で利用するWi-Fiの場合、一意なMACアドレスがネットサービス事業者などの第三者によって観測され、ユーザーが追跡されてしまう恐れがあります。そこでユーザーのプライバシー保護のため、MACアドレスのランダム化が導入されたわけです。同様の機能は、Android 10以降やWindows 10以降にも搭載されています。

iOSでの「プライベートWi-Fiアドレス」の設定
iOSでの「プライベートWi-Fiアドレス」の設定
[画像のクリックで拡大表示]
Windows 10での「ランダムなハードウェア アドレス」の設定
Windows 10での「ランダムなハードウェア アドレス」の設定
[画像のクリックで拡大表示]

Q:ランダムMACアドレスと機器固有のMACアドレスはどこが違うの?

 実は、ランダムMACアドレスといっても完全にランダムというわけではなく、最初のオクテットには書式が決まっている部分があります。

 本特集の最初の回で説明したように、MACアドレスの最初の1オクテットには「G/Lビット」「I/Gビット」が定義されています。機器固有のMACアドレスの場合それぞれ「0」「0」となっています。これに対し、ランダムMACアドレスではI/Gビットは同じく「0」ですが、G/Lビットについては「1」と定義されています。

 1オクテットを16進数に変換する場合、2文字の数字ないしアルファベットで表します。ランダムMACアドレスでは、16進数の2文字目を構成するG/LビットとI/Gビットは「10」となります。残りの2ビットの組み合わせは4種類あり、全部で「0010」「0110」「1010」「1110」です。これを16進数に直すと「2」「6」「A」「E」となります。つまり、最初のオクテットの2文字目が2、6、A、Eの場合はランダムMACアドレスということになります。

先頭オクテットの2文字目を見るとランダムMACアドレスかどうかが分かる
先頭オクテットの2文字目を見るとランダムMACアドレスかどうかが分かる
「MAC認証や位置情報が使えなくなる!? Private MACアドレス説明と影響について」(シスコシステムズ合同会社/WiBiz技術調査委員会)やネットワンシステムズへの取材に基づいて作成
[画像のクリックで拡大表示]