個人的なインターネットのプライバシー防衛策

Page content

自意識過剰というわけではないつもりですが、インターネット上のプライバシー防衛には、そこそこ気を使っています。

もちろん、プライバシーを極限まで守りたいのであれば、そもそもこのようなブログを書くこと自体が矛盾しているという指摘もあるでしょう。それは重々承知の上ですが、発信したい情報と、意図せず漏洩してしまう行動履歴や識別情報は、自分の中では別物として切り分けています。

今回は、私が普段どのような考えで、どのようなプライバシー防衛策を講じているのかについて、備忘録も兼ねて紹介したいと思います。

防衛策1: IPv6 を使わない

まず、大きな方針として「自宅のネットワークでは IPv6 を無効にする」という選択をしています。

「今は IPv6 への移行を促すべき期間なのに、なぜわざわざ古い IPv4 に固執するのか?」と思われるかもしれません。確かに通信速度や接続の安定性の面では IPv6 に分があるケースも多いでしょう。しかし、プライバシーという観点で見ると、現状の IPv6 には看過できない問題があると考えています。

IPv6 プレフィックスによる固定識別

IPv6 アドレスは 128 bit の巨大な空間を持っています。一般的に、この 128 bit は上位 64 bit の「プレフィックス」と、下位 64 bit の「インターフェースID」に分けられます。

問題は、この上位 64 bit のプレフィックスにあります。 インターネットサービスプロバイダ(ISP)から家庭のルーターに対して割り振られるプレフィックスは、一般に回線の契約ごとにユニークなものが割り当てられます(/64 や、場合によっては /56, /48 など)。

これが何を意味するかというと、自宅内のどの端末(PC、スマホ、IoT機器など)からアクセスしても、上位のプレフィックスは共通になるということです。 国内の多くの ISP(特に IPoE 接続など)では、このプレフィックスが半固定的に割り振られるため、長期間変わらないことが一般的です。そのため、外部のサーバ側から見れば「あ、またあの家(契約者)からのアクセスだ」ということを、比較的簡単に紐付けできてしまうのです。

IPv4 との比較

もちろん、IPv4 でも意図的に固定 IP サービスを使っていたり、結果的に長期間同じ IP アドレスが割り当てられていたりする場合は、同様のリスクがあります。

しかし、多くの ISP において、IPv4 は接続を確立するたびに動的にアドレスが割り振られる仕組みになっています。この「動的であること」を私は積極的に利用しています。 (幸い、私の契約している ISP では接続のたびに新しいグローバル IP が割り振られるタイプですが、最近は CGNAT によって IP が実質固定されていたり、共有されていたりする場合も多いので、環境に恵まれていると言えるかもしれません)

IPv6 においても「一時アドレス(Privacy Extensions)」などの仕組みによって、インターフェースID(下位 64 bit)を頻繁に変更することは可能です。しかし、上位のプレフィックスが固定されている以上、家単位でのトラッキングを防ぐことは非常に困難、むしろ不可能と言っていい状況です。

IPv4 がほぼ完全に廃止され、実質的に IPv6 しか選択肢がなくなる日が来るまでは、私はこの「プレフィックスによる紐付け」を避けるために、あえて IPv6 を使わない運用を続けていくつもりです。

防衛策2: IPv4 アドレスを毎日取り直す

IPv4 を使っているだけでは不十分です。先に書いた通り、IPv4 も常に接続を維持していれば、同じ IP アドレスが継続して割り振られることが多いからです。

そこで私は、あえて毎日一度、ISP への接続をやり直すことで、IPv4 アドレスを強制的に更新するようにしています。 なお、これを手動でやるのは面倒すぎるので、スクリプトを組んで Raspberry Pi で自動実行しています。

意外と被らない IP アドレス

実際に、昨年 1 年間、毎日深夜にスクリプトを回して接続をリセットし、割り当てられた IPv4 アドレスを記録してみました。

その結果は興味深いものでした。1 年間で割り当てられた IP アドレスのうち、過去に割り当てられたものと重複したのは、わずか 6 個だけでした。ISP の持っている IP アドレスプールが十分に大きいのか、それとも割り当てアルゴリズムが分散を考慮しているのかは分かりませんが、想像以上に「毎日新しい自分」になれているようで、少し安心しました。

もちろん、IP アドレスが変わったところで、後述する Cookie やブラウザのフィンガープリント、あるいはサービスへのログイン情報によって、同一人物であることは特定されてしまいます。しかし、ネットワークレイヤでの足跡を定期的に消しておくことは、多層防御の一つとして意味があると考えています。

防衛策3: ブラウザの使い分けと制御

OS やネットワークのレベルで対策をしても、ウェブブラウザから情報が漏れてしまっては元も子もありません。ブラウザの制御こそが、プライバシー防衛の主戦場です。

Firefox へのこだわり

私がメインで利用しているブラウザは、長年一貫して Firefox です。 なぜ Firefox なのか。その理由は、古くからのインターネットユーザーなら共感していただけるかもしれませんが、歴史的な経緯という側面が強いです。

NCSA Mosaic から Netscape Navigator、そして Mozilla を経て Firefox へ。この進化の系譜をリアルタイムで見てきた世代にとって、Firefox を使うことはある種、当然の選択でもあります。 さらに言えば、かつての IE の独自挙動の酷さなどを経験していれば、Netscape や Firefox を選ぶのは、もはや生存本能のようなものです。

しかし、懐古趣味だけで選んでいるわけではありません。Firefox は、カスタマイズ性とプライバシー保護のバランスが、現在のブラウザの中で最も優れていると感じています。

徹底した Cookie と JavaScript の制御

Firefox では、以下のような設定を施しています。

  1. 終了時の Cookie 削除: ブラウザを閉じると、すべての Cookie とサイトデータを自動的に削除するようにしています。これにより、セッションを跨いだトラッキングを最小限に抑えています。
  2. JavaScript のホワイトリスト管理: これが一番手間のかかる部分ですが、WebExtension を利用して、基本的にすべての JavaScript のロードをデフォルトで禁止しています。そして、信頼できるドメインや、動作に不可欠なドメインのみを、その都度ホワイトリストに追加していく運用をしています。

利便性とのトレードオフ

正直なところ、このホワイトリスト運用は非常に面倒です。初めて訪れるサイトでは画面が真っ白だったり、ボタンが動かなかったりするのが当たり前です。そのたびにロードされている JS のドメインを確認し、どのスクリプトを通せば動くのかを探る作業は、一般の方には到底お勧めできません。

また、Cookie や IP を変えても、ブラウザの種類や解像度、フォントなどの組み合わせで個体を識別する「フィンガープリント」のリスクは残ります。Firefox には `privacy.resistFingerprinting` のような強力な保護機能もありますが、これを有効にするとさらに表示が崩れるサイトが増えるため、日々バランスに悩んでいます。

自分の PC で何が動いているのかを完全に把握できているという安心感は、その手間を補って余りあるものがありますが、銀行のサイトや仕事で使うツールなど、どうしても全スクリプトロードを求められるサービスもあります。

そうした特定のサービスにアクセスするためだけに、別ブラウザ(Chromium ベースのものなど)を併用しています。最近は Firefox の Multi-Account Containers を使うという手もありますが、私はより物理的な分離に近い、ブラウザそのものを分ける運用を好んでいます。 ブラウザそのものの見た目が違うことで、間違って使うことを避ける確率を上げる目的もあります。

防衛策4: VPN や Tor を使わない理由

プライバシー防衛と聞くと、VPN (Virtual Private Network) や Tor (The Onion Router) の利用を思い浮かべる方も多いでしょう。しかし、私はどちらもあえて利用していません。

VPN に対する不信感

VPN を使うということは、自分の全通信データが特定の VPN 業者のサーバを通過するということです。一つの VPN 業者に一元管理されることになります。もし、その業者がログを裏で流していたり、ハッキングされたりしたら、それこそ一網打尽です。 「ノーログ」を謳う業者は多いですが、それを外部から検証する術はありません。見ず知らずの他国の会社を 100% 信用するよりは、国内の ISP の方が予測可能性があると判断しています。

Tor の実用性とリスク

Tor については、10 年ほど前に試してみたことがあります。しかし、その圧倒的な低速さは、リッチなウェブコンテンツにアクセスするにはあまりに非現実的でした。 また、出口ノードが誰の手によって運用されているか分からないという点も、別の意味でリスクを増やしているように感じられました。

極限の匿名性を必要とする環境であれば話は別ですが、日常的なブラウジングにおいて、わざわざリスクとストレスを抱え込む必要はないと考えています。

限界とまとめ

ここまで書いてきたことは、あくまで私の PC 環境における「こだわり」の話です。

正直に告白すれば、スマートフォンに関してはほとんど無防備です。モバイル回線の IP アドレスは制御しにくいですし、アプリが収集する情報を完全に遮断するのは、現代社会で生活する上ではほぼ不可能です。 また、Google や各社の CDN に対しても、ほぼ降伏状態にあります。彼らの提供するリソースを利用しないインターネットライフは、もはや現実的ではありません。私のプライバシーの大部分は、彼らの巨大なデータセンターの中では筒抜けなのだろうという自覚もあります。

それでも、「できることを、できる範囲でやる」ことに意味があると考えています。

IPv6 のプレフィックス問題に関しては、いずれ IPv4 が完全に幕を閉じる時までに、プライバシーに配慮した新しい標準や回避策が普及していることを祈るばかりです。