「IPv6アドレスは個人の行動が追跡される」など、ネットで見つけた3つのウワサを検証してみる
IPv6とv6プラスの“怪しいウワサ”は本当か? ファクトチェック
IPv6インターネット環境は、従来のIPv4環境とは異なる部分も多くある。Web上にはそれを解説した記事やブログサイトが多くあるが、中には現在では古くなってしまった情報や誤った情報も入り交じっており、インターネットユーザーの混乱を招く原因となっている。
そこで今回は、IPv6とv6プラスに対する代表的な3つの“ウワサ”を取り上げて、それを2021年現在の情報に基づいてファクトチェックしてみることにした。
「グローバルIPアドレスが割り当てられるから個人が追跡できる」?
ネットのウワサ:IPv6インターネット環境では、接続するすべてのデバイスにグローバルIPv6アドレスが割り当てられる。このIPv6アドレスはデバイス固有の数値(MACアドレス)から生成されるため、常に同じアドレスになる。これを悪用すればデバイスを持つ個人を追跡することができ、プライバシー侵害のおそれがある。
前半部は事実だが、後半部は(現在では)誤りである。
IPv6インターネット環境では、宅内/LAN内のデバイスに対してもすべてグローバルIPv6アドレスが割り当てられ、これを使ってインターネット通信を行う。一般的なIPv4インターネット環境では、宅内/LAN内のデバイスにはローカルIPv4アドレスが割り当てられ、ルーターでアドレス変換処理(NAT、正確にはNAPT)を行って1つのグローバルIPv4アドレスを共用しているため、ここには大きな違いがある。
それでは、デバイスに割り当てられるグローバルIPv6アドレスは「常に同じもの」になるのだろうか。簡単に検証できるので、やってみよう。
手元にあるスマートフォンのWi-Fi接続をオフにして、モバイル回線経由で「test-ipv6.com」サイトにアクセスする。画面には、このデバイスに割り当てられている(=インターネットアクセスに利用している)グローバルIPv6アドレスが表示される。次にスマートフォンの「機内モード」をいったんオン→オフしてモバイル回線の切断/再接続を行い、同じサイトに再びアクセスしてみる。すると、先ほどとはまったく異なるグローバルIPv6アドレスが表示された。つまり、上述したウワサは誤りであることが確認できた。
このウワサは、IPv6に対する古い知識に基づく誤解だと考えられる。
一般に、クライアントデバイスへのグローバルIPv6アドレスの自動割り当てには「SLAAC(StateLess Address Auto Configuration)」という技術が用いられる。SLAACでは、ネットワーク識別子(プレフィックス)とインタフェース識別子を組み合わせて128ビットのIPv6アドレスを生成する(詳細は過去記事を参照)。このとき、ネットワーク識別子は利用しているISP(インターネットサービスプロバイダー)から提供される一方で、インタフェース識別子はデバイス自身が自動生成し、設定する仕組みだ。
このインタフェース識別子の自動生成において、かつてはデバイスのMACアドレスを用いて生成する方式が提案、標準化されていた(Modified EUI-64形式、RFC 4291、2006年)。だが、この方式だと固定のMACアドレスから常に同じインタフェース識別子が生成されることになり、しかもインターネット上でユニークな(唯一の)識別子にもなるため、ユーザーの行動追跡などプライバシーやセキュリティに対する懸念が生じる。
そこで現在では、このような固定されたインタフェース識別子の利用は「非推奨」とされている(RFC 8064、2017年)。その代わりとして、「一時IPv6アドレス」と呼ばれる乱数を使った生成方法が提案されており(最新版はRFC 8981、2021年)、ネットワークに接続するたびに(あるいは一定時間ごとに)新たなインタフェース識別子が生成され、利用されるようになっている。簡単に言えば、ネットワーク接続のたびに、グローバルIPv6アドレス(一時IPv6アドレス)の後半部がランダムに書き換わるのだ。
現在のWindowsやmacOS、Linux、iOS、Androidなど主要なクライアントOSでは、インターネット通信にこの一時IPv6アドレスを使い、プライバシーを保護するようになっている。かなり古いOSや古いデバイスでは非対応の場合もあるが、現在もそれを使っているのはレアケースだろう。心配な場合は、OSの設定情報を参照したり前述のテストサイトを使ったりして、自ら確かめることができる。
「IPv6ではNAT処理を行わないので攻撃されやすい」?
ネットのウワサ:IPv6インターネットに接続しているデバイスはグローバルアドレスを持っており、ルーターでNAT処理を行わないため、外部(インターネット)からでもアクセスできてしまう。攻撃者がデバイスに直接アクセスできるのでセキュリティ上の危険がある。
これも誤りである。
IPv6インターネットへのアクセスでは一般にNAT(NAPT)処理を行わないのは事実だが、そもそもNATはセキュリティ機能ではない。IPv4でもIPv6でも、通信を制限するのはNATではなく「パケットフィルタ」や「ファイアウォール」と呼ばれるセキュリティ機能の役割である。
通常、IPv6対応ルーターはIPv6対応のパケットフィルタも内蔵しており、家庭用ルーターであれば、初期設定でIPv6のインターネット→LAN方向(インバウンド)の通信はすべてブロックするようになっていることがほとんどだ。
したがって、ユーザー自身でインバウンド通信を受け入れるようパケットフィルタの設定を変更しないかぎりは、IPv4環境と同じようにセキュアだと言える。
なお、IPv6パケットフィルタを有効にする機能は、ルーターメーカーによって呼び名が異なる(「NDプロキシ機能」「IPv6 SPI機能」など)。それとは別に、「IPv6パススルー」や「IPv6ブリッジ」といった機能を選べるルーターがあるが、これはIPv6パケットにフィルタリングを行わず“素通し”するモードである。ネットワーク構成によってはセキュリティリスクを高めることにつながるので、十分に注意してほしい。
「v6プラスではポート開放ができない」?
ネットのウワサ:「v6プラス」ではポート開放ができないので、ネットワークゲーム機やサーバー、ネットワークカメラなどが使えない。
v6プラスのポート開放には制約があるが、できないわけではない。誤解を招く不正確な表現と言えるだろう。
まず、v6プラス環境で提供されるIPv6+IPv4インターネットアクセス環境のうち、ポート開放に一定の制限があるのはIPv4通信で使うポートのほうだ。したがって、相手側ホストとIPv4で通信する場合にのみ一定の制約が生じる。その背景を見てみよう。
v6プラスでは「MAP-E」と呼ばれる方式で、IPv4インターネットへのアクセス環境(IPv4 over IPv6)を提供している。このときv6プラスは、複数のv6プラスユーザーが1つのグローバルIPv4アドレスを共用できるように、0~65535番のポート番号から各ユーザーに一定数のポート番号範囲を割り当てる(詳細は過去記事を参照)。
こうした仕組みのため、サーバーやP2Pアプリケーションなどがインバウンド通信を待ち受けるポート開放でも、ユーザーは割り当てられた範囲内のポート番号しか使えない。そのため、たとえば「HTTP=80番」のような固定的なポート番号の割り当てを前提としたアプリケーションは利用できないのだ。その点は、v6プラスサービスを提供する多くのISPでも注意書きなどで明記している。
ただし、これは「開放できるポート番号に制約がある」だけであり、v6プラスでもIPv4のポート開放そのものは可能である。したがって、使用ポート番号が可変のアプリケーションであれば、v6プラスでもインバウンド通信を待ち受けることは可能だ。同じOSやゲーム機でも、アプリケーションによって(さらには特定の機能レベルで)正常に動作する/しないケースがあるのは、アプリケーションがこうした最新のネットワーク環境を考慮して設計/開発されているかどうかによるものだ。
なお前述のとおり、v6プラスにおけるポート番号の制約はIPv4で通信する際に生じるものであり、IPv6通信ではすべてのポートが利用できる。相手側とIPv6通信を行っている場合には、そもそも上述したような問題は発生しない。
* * *
以上、今回はネットで見つけたIPv6やv6プラスに関するウワサについてファクトチェックを行ってみた。もちろんネットには正確で有益な情報もあるのだが、それ以上に多くのブログサイトがあやふやな理解のまま、他のサイトから古い情報や間違った情報を引き写して“解説”し、読者の誤解を招く内容になっている悪循環も見られた。
インターネット環境は常に進化を続けており、特にIPv6については数年前の情報でも現在では「誤り」になっているものがある。こうした情報を参照する際には、なるべく新しく、信頼できる情報源に当たることをおすすめしたい。
(提供:日本ネットワークイネイブラー)