MACアドレスとは何か?仕組み・形式・セキュリティとプライバシー対策を徹底解説
MACアドレスとは — 概要
MACアドレス(Media Access Control address)は、ネットワーク機器のデータリンク層(OSI参照モデルのレイヤ2)で用いられる一意の識別子です。主にイーサネット(有線LAN)やWi‑Fi(無線LAN)などで、フレームの送受信先を特定するために使われます。一般的には48ビット(6バイト)の値で表現され、16進数で区切って表記されることが多いです(例:00:11:22:33:44:55)。
歴史と標準
MACアドレスの管理はIEEE(米国電気電子学会)が行っており、製造業者向けにOUI(Organizationally Unique Identifier、最初の24ビット=3バイト)を割り当てています。残りの24ビットはその業者が管理する機器固有の番号です。IEEEによる管理と規格化により、MACアドレスは世界的に一意となるよう設計されています(OUIを正しく使用した場合)。
形式と意味
- 表記方法:代表的な表記はコロン区切り(00:11:22:33:44:55)、ハイフン区切り(00-11-22-33-44-55)、ピリオド区切り(0011.2233.4455)など。
- ビットの意味:先頭オクテット(最初のバイト)には特別なビットが含まれます。
- 最下位ビット(LSB、1ビット目):I/G ビット(Individual/Group) — 0ならユニキャスト(個別宛)、1ならマルチキャスト(グループ宛)を示す。
- 次の下位ビット:U/L ビット(Universal/Local) — 0ならIEEE(メーカー)割当のグローバル(universally administered)アドレス、1ならローカル(locally administered)アドレス(手動変更やOSによるランダマイズなど)。
- 特殊アドレス:
- 全ビット1(ff:ff:ff:ff:ff:ff) — ブロードキャスト(同一ブロードキャストドメイン内の全ホストへ配信)。
- IPv4マルチキャストに対応するイーサネットマルチキャスト範囲:01:00:5e:xx:xx:xx(RFC 1112など)。
- IPv6マルチキャスト用のイーサネットマルチキャスト範囲:33:33:xx:xx:xx:xx(RFC 2464など)。
- EUI-48 / EUI-64:従来の48ビットのMACはEUI‑48(拡張固有識別子)とも呼ばれます。IPv6のSLAACなどではMAC(48ビット)から64ビットのインターフェース識別子(Modified EUI‑64)を生成する方式が使われてきましたが、プライバシー拡張により現代ではこの方式を回避するケースが増えています(RFC 4862等)。
ネットワークでの役割(実用面)
MACアドレスは物理的な端末(NIC、無線アダプタなど)を識別し、以下のような場面で利用されます。
- イーサネットフレームの送受信先/送信元アドレスとして利用される(スイッチングがレイヤ2で動作)。
- 同一ネットワーク内でのIPアドレスとMACアドレスの対応付けにARP(Address Resolution Protocol)が使われる(IPv4)。
- IPv6では、過去にMACからIIDを生成する方式があったが、プライバシー対策でランダム化が多用される。
- スイッチはフレームを観察してMACアドレスとポートの対応表(CAMテーブル、MACテーブル)を構築し、以後のフレームを適切に転送する。
プライバシーとセキュリティの問題
MACアドレスは一意に近いため、端末のトラッキングに使われる可能性があります。特にWi‑Fiのプローブ要求(周辺Wi‑Fiを探索する際のビーコンのような通信)に実際のMACが含まれていると、移動履歴や滞在時間の追跡が可能になります。このため、近年のOS(iOS、Android、Windows、macOSなど)は以下のような対策を導入しています。
- スキャン(プローブ)時にランダムなMACを利用する(MACアドレスランダマイゼーション)。
- SSIDごとに異なるランダムMACを使用し、ネットワークごとに識別を困難にする。
しかし、MACスプーフィング(MACアドレスの偽装)による不正アクセス、あるいはMACフラッディング攻撃(スイッチのCAMテーブルをあふれさせる攻撃)など、ネットワークの種類による脆弱性もあります。企業ネットワークでは802.1X認証やポートセキュリティ(特定MACのみ許可)などで対策しますが、MAC自体は容易に偽装可能である点は留意が必要です。
MACアドレスの確認方法(主要OS)
- Windows:コマンドプロンプトで
ipconfig /allまたは PowerShell でGet-NetAdapter。GUIでは「設定」→「ネットワークとインターネット」→「アダプターのオプション」を確認。 - Linux:
ip link show、ifconfig -a(古い)、またはcat /sys/class/net/eth0/addressで確認。 - macOS:ターミナルで
ifconfig en0(有線/無線デバイス名により変わる)。GUIでは「システム環境設定」→「ネットワーク」→「詳細」→「Wi‑Fi アドレス」など。 - スマートフォン:iOSは「設定」→「一般」→「情報」→「Wi‑Fiアドレス」。Androidは「設定」→「端末情報」→「状態」など。OS・バージョンによっては表示位置が異なる。
MACアドレスの変更(スプーフィング/ローカル管理)
管理者権限があればMACアドレスは多くのOSで変更可能です。用途はプライバシー保護やテスト、互換性対応などですが、企業ポリシー違反やネットワーク規約に反する可能性があるため注意が必要です。
- Linux:
ip link set dev eth0 address 02:11:22:33:44:55(インターフェースを一度ダウンにする必要がある場合が多い)。 - Windows: レジストリ編集やNICのプロパティ(「ネットワークアダプタ」→「詳細」タブで「Network Address」等)。PowerShellやサードパーティツールも利用可。
- 専用ツール: macchanger(Linux)などが広く使われる。
運用上の注意点
- MACはレイヤ2の識別子であり、IPアドレス(レイヤ3)とは別次元のもの。ネットワーク監視やアクセス制御でMAC単独の信頼は危険。
- 公開Wi‑Fi等で同一のMACを長く使うとトラッキングされやすいため、MACランダマイゼーションが推奨される状況がある。
- メーカー割当(OUI)から機器のベンダーを特定できるが、完全な機器特定には追加情報が必要。OUIは同社のブランドや製品ライン全体に対して割り当てられるため。
- ネットワークデバイスのログや監査でMACをキーにする場合、ユーザーのプライバシー配慮や正当な利用目的を明確にすること。
実務的な応用例
- スイッチのMACテーブル監視で異常(頻繁な変化や大量のMAC学習)を検知し、不正なブロードキャストや攻撃を特定する。
- DHCPサーバで固定割当(MACアドレスとIPアドレスの紐付け)を行い、特定機器に常に同じIPを与える。
- 無線LANでMACフィルタリングを行うことで簡易的なアクセス制御が可能。ただし容易に偽装され得るため認証(WPA2/3、802.1X等)と併用する。
よくある誤解と補足
- 「MACアドレスは常に変わらない固有値である」 — かつてはほぼ固定でしたが、現在はOSがプライバシーのためにランダム化することが一般化しています。また管理者が変更することも可能です。
- 「MACアドレスで完全に個体を特定できる」 — OUIからベンダーは推定できるが、個体(ユーザー)の特定には他の情報が必要です。トラッキング用途には依然有効な手段ですが、限界もあります。
まとめ
MACアドレスはレイヤ2で機器を識別するための基本的かつ重要な情報で、スイッチングやARP、DHCP固定割当などネットワーク基盤の多くの部分で利用されます。一方で、プライバシーやセキュリティの観点からは注意が必要で、MACランダマイゼーションや802.1Xなどの対策と組み合わせて運用することが望まれます。ネットワークを設計・運用する際は「MACは有用だが万能ではない」ことを念頭に、認証や暗号化など他の技術と併用するのが安全です。
参考文献
- MAC address — Wikipedia
- IEEE Registration Authority(OUI割当)
- RFC 1112 — Host extensions for IP multicasting
- RFC 2464 — Transmission of IPv6 packets over Ethernet
- RFC 4862 — IPv6 Stateless Address Autoconfiguration
- RFC 826 — ARP (Address Resolution Protocol)
- Android Developers — Wi‑Fi MAC randomization


