VPN、プロキシ、そしてプライバシー

「VPNやプロキシ、聞いたことはあるけど、よく分からない」という方に。Vivaldi のセキュリティー & プライバシー保護シリーズ。

こんにちは!Takaakiです。

VPNといえば、仕事で使う方、海外にお住まいの方は特に使用経験が豊富かもしれませんね。

プロキシはVPNよりマイナーでしょうか。プロ棋士よりも知名度が低いかもしれません。

VPNやプロキシ、実際の役割は何なのでしょうか?

難しい言葉が並んでいるかもしれませんが、翻訳者NEARさんが日本語版作成にあたり、用語解説を追加してくださっています。

じっくり学んでいきましょう。

日本語訳(ありがとうございます!) NEAR Libreproductsさん


【はじめに:訳者による用語集】

  • プロキシ:ウェブを閲覧時、ブラウザの代わりにサイトにアクセスしてくれるコンピュータ(サーバ)のこと。
  • WebRTC:プラグイン無しでウェブブラウザ間のボイスチャット、ビデオチャット、ファイル共有ができるサービスのこと。World Wide Web Consortium (W3C)が提唱するリアルタイムコミュニケーション用のAPIの定義であり、Web Real-Time Communicationの略語。
  • OCSP:X.509(ITU-TのPKIの規格)公開鍵証明書の失効状態を取得するための通信規約(プロトコル)のこと。Online Certificate Status Protocolの略語。
  • CRL:証明書取り消しリストのこと。Certificate Revocation Listの略語

プライバシーとセキュリティのシリーズ第五弾です。

今回のプライバシーとセキュリティシリーズでお話する内容は、まず真のVPNとは何か?について掘り下げ、ウェブプロキシやブラウザのVPNの匿名化について説明し、VPNサービスでは何を期待すべきなのかを解説します。

通常、ブラウザとウェブサイトの接続は、ブラウザからコンピュータを経由して、WiFiもしくはホームネットワーク(ある場合)へ通じ、さらにホームネットワークからISP(インターネットサービスプロバイダ)、ISPからお住まいの国の国内インターネット事業者へ、そこからウェブサイトのある国のインターネット事業者へ、そこからウェブサイトのホスティングプロバイダーへ、そしてそのウェブサイトへ…

と言った具合に、沢山のステップがあります!実際に、あなたとウェブサイトの所在によっては、途中で他の国を通過することもあります。

安全でない接続では、プライバシーは偽装できません。

安全でない接続では、その接続の何らかの部分を制御または共有している誰でも、接続を介して送信されたデータを見ることができます。

あなたのコンピュータ、ネットワーク、ISP、インターネットのさまざまなセクションの運営者、あなたの国内の政府、経由する国の政府、ホスティングプロバイダー、または同じホスト上のウェブサイトを所有する他の誰かも同様です。

すべては、見えるのです。

安全な接続を介して送信されたデータについて

かたや、ウェブサイトがセキュリティで保護された接続(有効な証明書があり、高度な暗号化が施された接続ができるHTTPS URL)を提供し、これを使用した接続を介して送信されるデータなら、見ることができるのはブラウザとウェブサイト側のみです。

え、それだけのこと?

いえいえ。というのも、接続を確立するには…

まずブラウザが、通常お使いのISPが提供するDNSサービスを使用してウェブサイトのIPアドレスを検索する必要があります。 次に、そのIPアドレスを使用して接続を確立します。

【訳者補足】DNS(ドメイン・ネーム・システム):ドメイン名や、コンピュータ名などの名前を表す文字列とIPアドレスを管理・運用するために開発された、階層構造のシステムのこと。

つまり、接続を監視しているすべてのユーザーは、DNS要求でWebサイトのドメインが送信されるのを見て、送信しているものが見えなくても、接続しているWebサイトを調べることができます。

セキュリティで保護された安全なDNSサービスが使える場合でも、ブラウザがWebサイトに接続すると、接続を監視しているユーザーはどの人がどのIPアドレスに接続されているかを、DNSルックアップを逆引きして知ることができます。

【訳者補足】DNSルックアップ:DNSなどを使って、ドメイン名に対するIPアドレスや、IPアドレスに対するドメインを調べたり割り出すこと。前者が正引き(フォワードルックアップ)、後者が逆引き(リバースルックアップ)。

VPN入門

【訳者補足】Virtual Private Networkの略語。仮想プライベートネットワークとも呼ばれ、本来は公衆網であるインターネットに、専用線を繋いだようなプライベートネットワークを拡張する技術のこと。

人々がブラウジングにVPNを使用する主な目的は、下記の2つのうち1つを実行することです。:

  1. ローカルネットワーク、ISP、または圧政的な権力機関など他のユーザーから自分のネットワーク通信を秘匿する。
  2. プライバシー上の理由から、または特定の国からの接続がブロックされるウェブサイトにアクセスするために、ウェブサイトからIPアドレスを秘匿する。

この接続では、コンピュータがネットワーク経由でデータを送信するときに、お使いコンピュータ上のVPNサービスがデータを暗号化し、接続したいネットワーク上にある対象VPNサーバーに対し、インターネット経由でそのデータを送信します。

VPSサーバーはネットワークトラフィックを復号化し、宛先ネットワークへ送信します。あなたのコンピュータが、あたかも独力でそれを行ったかのように。そしてネットワークからの応答は、同じ方法でコンピュータに返送されます。

その接続をいかなる箇所で監視していても、送信された内容や、接続先のネットワーク上のどのコンピュータに接続していたかを知ることはできません。

それで良いという感じがしますが、これが大半のVPNサービスが実際に行っていることなのでしょうか? 答えは「No」です。そこでプロキシの出番です。

プロキシサービスの説明

プロキシとは、あなたのコンピュータに代わってウェブサイトに要求を出すサービスです。ブラウザはプロキシ経由で接続するように設計されています。ブラウザはウェブサイトの読み込みを開始すると、ウェブサイトに接続するのと同じ基本的な方法でプロキシに接続し、リクエストを行います。 プロキシは、ブラウザに代わってウェブサイトに要求を行い、ウェブサイトが応答すると、その応答をブラウザに返送します。

これは、ウェブサイトにあなたのIPアドレスを表示を許可させない(前述の2.の理由でVPNを使用するユーザーに魅力的)という、プライバシーの利点を提供するように見えるかもしれませんが、通常のプロキシは実際にはX-Forwarded-Forヘッダーを使用してウェブサイトにIPアドレスを送信します。

【訳者注釈】X-Forwarded-For:HTTPヘッダフィールドの1つ。HTTPプロキシサーバまたは負荷分散装置(ロードバランサと呼ばれる)を経由してウェブサーバに接続するクライアントの送信元IPアドレスを特定する際に使われる。略称はXFF。

というのも、あなたがプロキシを利用してウェブサイトを攻撃しようとしたとして、プロキシの所有者は非難されることは望まないでしょう。ウェブサイト側は、どのIPアドレスから攻撃があったかを、X-Forwarded-Forで分かるようにしているのです。

もちろん、X-Forwarded-Forヘッダを偽装してあなたの要求に追加し、他人に責任転嫁しようとすることもできます。しかしウェブサイト側は既知の信頼できるプロキシアドレスのリストを使用して、X-Forwarded- ヘッダーが偽造される可能性があるかどうかを判別することもできます。

HTTPSプロキシと呼ばれるほとんどのプロキシは、ウェブサイトの証明書なしでは接続を解読できないため、改変されることなくウェブサイトへの安全な接続が可能です。 これにより、HTTPSウェブサイトをプロキシ経由で使用することができます。

プロキシは接続を解読しようとするかもしれませんが、そのためには、偽の証明書(それ自身のルート証明書)をブラウザに提示しなければなりません。そうなると、ブラウザは「信頼できない」と認識し、情報傍受からあなたを守るためにエラーメッセージを表示します。 これは、ウェブサイトのデバッグに使用されることがあります。テスト実施者は、プロキシの証明書を受け入れる必要があります。また、接続をスキャンするため、アンチウィルス製品がそれを行うことがあります。

安全なウェブプロキシ

安全なウェブプロキシを使用すると、接続先のウェブサイトがHTTP(または安全でないHTTPS)接続を使用していても、プロキシへの接続を安全に行うことができます。これにより、ローカルネットワークの他のユーザーがネットワークデータを見るのを防ぐというプライバシー上の利点があります。(前述の1.に該当するユーザーに魅力的)。

彼らはあなたが安全なウェブプロキシに接続しているのを見ることができます(実際には接続は安全なウェブサイト接続のように見えますが)。 もちろんウェブサイトには、まだX-Forwarded-Forヘッダーが表示されるため、IPアドレスは分かります。(2.のユーザーにとっては望ましくない)

信頼できるようにするため、安全なウェブプロキシは証明書を使ってその身元を証明するので、正しい安全なウェブプロキシに接続していることがわかります。そうしないと、あなたの接続を監視するため、誰かがプロキシ接続を傍受し、偽の安全なWebプロキシを提示してしまう可能性があります。

匿名化プロキシ

匿名化プロキシは、基本的にプロキシまたは安全ウェブプロキシで、ウェブサイトに接続するときにX-Forwarded-Forヘッダーを送信しません。これは、ウェブサイトがあなたのIPアドレスを見ることができないことを意味し、ウェブサイトに対して匿名表示ができるのです(2.のユーザーにとっては魅力的)。

一部のサービスでは、ページの読み込みを邪魔するJavaScriptやその他の不要なコンテンツを削除するオプションも用意されています。ですが、そのためにはプロキシの所有者にあらゆるログインを提供し、セキュリティで保護された安全なウェブサイトであってもプロキシの所有者はあなたが何をしているかを見ることができます。これではただ、プライバシーリスクを別のプライバシーリスクと交換しているだけです。

上記の匿名化された安全なウェブプロキシは、一度に両方のケースを解決するかのように見えますが、それほど単純なものではなく、実際のところは考慮すべきことが他に数多くの存在するのが事実です。 ネットワークとコンピュータがどのように設定されているか。 また、ウェブサイトに接続するときにDNSリクエストを送信したり、ウェブサイト証明書(CRLSetが利用できない場合)を使用するとき、CRLやOCSPリクエストを送信したり、ブラウザがマルウェア対策ブラックリスト要求やサムネイルのリクエストをする時などが懸念点です。 これらは、VPNのほうが活躍できるチャンスでもあります(しかし、ほとんどのVPNがそうではないことに注意することが重要です)。

また、ユーザーがプロキシを使用して攻撃を開始した場合、プロキシサービスはその非難を負うことになります。 プロキシの所有者がこれを回避し、正しい人に責任を負わせられるよう、接続を抑制したり、ログインを要求したり、接続のログを保存している可能性があります。これは、プライバシーのためにプロキシを使用しようとする人の目的を破ることになります。

VPNサービスで注意すべきこと

私たちが目にするVPNサービスはほとんどの場合、「VPN」と表示されている匿名の安全なWebプロキシにすぎません。それらのサービスはしばしば、自分たちが “安全なウェブサイトの接続”または “あなたのウェブサイトの接続を暗号化する”と主張します。

これらはどちらも正しくありませんが、多くの企業は競争に追いつくためにこれらのフレーズに頼っています。この種のVPNサービスは接続の一部のみを制御するため、Webサイトへの接続を保護することができません。

つまり、VPNは純粋なVPNとして使用されておらず、プロキシとして使用されているのです。 ブラウザとVPNサーバーの間で接続が安全に行われていても、ウェブサイトに接続するためにVPNサーバーのネットワークを離れてインターネットに戻る必要があります。

ウェブサイトの接続は、今までと変わらず、安全でない(か、HTTPSを使用する場合は安全な)接続のままです。行程の後半で接続が傍受される可能性があるのです。 このケースでVPNに出来ることといえば、その接続の一部分に少しプライバシーを追加することだけなのです。

さらに安全な接続(HTTPS)とは、暗号化だけのことではありません。誰も接続を傍受したことがなく、偽のコピーを提示したこともないことを証明するような、信頼できる証明書を保持するウェブサイトへ接続されることを保証する役割もあります。

VPNがそれを変更することはできず、安全でない接続を安全な接続にすることはできません。証明書の処理がなければ、完全に暗号化された接続でさえも安全ではないのです。

プライバシーの強化

VPNについて語る際は、私たちは「安全な」という言葉を使用することから離れ、プライバシー強化の側面について話を始める必要が切実にあります。なぜならこれは実際には、安全なWebプロキシまたはプロキシとしてのVPN(VPN-as-a-proxy)が行うものだからです。

理論的にはプロキシとしてのVPNは匿名化する必要はありませんが、実際にはほとんどすべてが匿名化されています。

安全なWebプロキシとプロキシとしてのVPNの最大の違いは、VPNがコンピュータ上で適切なVPNサービスを使用する場合、ブラウザによって開始されたトラフィックだけでなく、関連するすべてのトラフィックを取得できることです。

VPNは、ブラウザによって生成された、(マルウェア保護チェックなど)ウェブサイトへの接続とは無関係と考えられる DNS、OCSP、CRLやその他、ブラウザ外の本筋ではないトラフィックも取得できます。セキュリティで保護されたウェブプロキシを使用する場合(たとえば、独自のDNS要求を作成する場合など)となると、ブラウザがこれらの量を減らすことができる場合もありますが、すべてのシステムで確実に取得できない場合があります。 したがって「プロキシとしてのVPN」は、「VPNのふりをしている安全なウェブプロキシ」よりも優れているのです。

ブラウザVPN

ブラウザアプリケーションが、その単一のアプリケーションのためだけに機能するVPNであると主張する機能または拡張機能を提供する場合、それは実際にはVPNではなく匿名化する安全なWebプロキシであることを示す良い兆候です。 それでブラウザVPNの株価が落ちるわけではありません。接続に関連するすべてのトラフィックをキャプチャできないような制限がある可能性が高いことを意味するのみです。DNSトラフィックを捕捉しないかもしれません。(しかし場合によっては、その機能も対応して実装することもあります。) システムによって行われる、証明書失効チェックを取得できないこともあります。 つまり、トラフィックの大部分を秘匿していたとしても、わずかな情報がプロキシをかいくぐることを許してしまう可能性があり、コンピュータからのネットワークトラフィックを監視しているユーザーは、あなたが訪問しているWebサイトを認識できる可能性があるということです。 ※これは、あなたが1.に該当するユーザーである場合、重要なプライバシーの懸念事項となります。

この場合、プロキシとしてのVPNは、コンピュータからのすべてのトラフィックをキャプチャするので、はるかに優れています。そしてこれは、同じ選択肢がないことを意味しています。 すべてのアプリケーションからのすべてのトラフィックがVPNを通過するか、何もしないかのどちらかです。単一のアプリケーションからのトラフィックだけにVPNを通過させることはできません。

しかしながら、「匿名化するプロキシとしてのVPN」と「匿名化する安全なウェブプロキシ」の両方は、ウェブサイトからIPアドレスを隠すのに非常に効果的なので、2.に該当するユーザーを十分にカバーすることができます。

その他のテク

  • あなたのIPアドレスを他の手段で明らかにするプラグインを無効にすること。
  • Vivaldiでは、WebRTC(設定 – プライバシー – WebRTC IPの取り扱い – 「最高品質のwebRTCを無効にするためIPアドレスをブロードキャストする」の項目)を無効にすること。
  • プロファイルデータを掃除するか、プライベートブラウジングモードを使用するかして、識別に使用される既存のCookieやキャッシュファイルを削除すること。

メイン写真はUnsplashのHannah Wei作。

セキュリティー&プライバシー保護シリーズ


note | Twitter | Facebook | Instagram

豊富な機能とカスタマイゼーションで、もっと自由にブラウジングを楽しもう!

Vivaldi をダウンロード