VPN(仮想プライベートネットワーク)暗号は、VPNプロトコルがデータを暗号化するために使用する、超数学オタクのような技術です。「暗号化」とは、データを傍受した人が読めないように意味不明なものに変えることです。もちろんのこと、説明すると、これ以上に専門的な内容になりますが、この記事ではできる限り簡単に説明します。それでは読んでいきましょう。
目次
単純暗号化
暗号化は、普通のテキストを誰も読めないように暗号文に変える技術です。この技術は古代まで遡り(ユリウス・カエサルが使用していました)、 ときには秘密の言葉を刻印した指輪として現れます。
何かを暗号化または復号化したい場合は、暗号化キーが必要になります。暗号を解明するための情報の一種です。
例えば、単純な暗号方式のROT13は、アルファベットを1文字ごとに13文字後の文字に置き換えます。あなたがもっている意味不明の文字だらけのページが、ROT13で暗号化された暗号文であることがわかれば、必要な文字をずらすことで復号化することができます。この場合、暗号化キーは、「アルファベットを13のスペース文ずらすということです。」
もちろんのこと、今の時代はコンピュータがあり、コンピュータは暗号文に対する総当たり攻撃が非常に得意なので、ROT13なんかは簡単にクラックできます。そのため、最新の暗号化プロトコルはAES-256アルゴリズムを使用しています(これについては後ほど説明しましょう)。
暗号化の種類はどのようなものがあるのでしょうか。
暗号化の種類は暗号化キーで異なり、それも対称鍵と 非対称鍵の2つしかありません。
対称鍵暗号方式
対称暗号化は簡単に説明できます。もし、AさんとBさんが対称暗号化でやり取りする場合は、2人は同じ暗号化キーを使います。ROT13は対称鍵暗号方式の一例です。
方法はシンプルです。鍵は好きなだけ複雑にできますが、複雑さは重要ではありません。重要なのは、両者が同じ鍵を持っているということです。ただし、そこで問題になるのが、AさんがどのようにしてBさんに鍵を安全に転送するのか、ということです。
例えば、昔ながらの諜報機関にとっては、とても簡単なことです。
- 暗号を書いた帳に鍵を記す。
- それをスーツケースに入れて閉める。
- 鍵をかける。
- 信用できる人間にスーツケースを持たせて、手首に手錠をかける。
- 彼をベルリン行きの飛行機に乗せる。
しかし、VPNを使う際にVPNサーバーへの接続を暗号化する必要があるなら、一体どうしますか。この場合は、非対称暗号化が役に立ちます。
非対称暗号化
非対称暗号化は、複雑な数学理論をたくさん用いて、メッセージを暗号化できるが復号化できない公開鍵と、公開鍵を使って暗号化されたものを何でも復号化できる秘密鍵という2つの対となる鍵を作成します。
これにより、Aさんは2人の秘密鍵を取り、保護されていないチャンネルを介してBさんに送信することができます。そして、Bさんはそれを使用してメッセージを暗号化し、Aさんは2人の秘密鍵で復号化することができます。これでよし、007!
最近では、暗号化プロトコルはこのような二つの方法を使用しています。非対称暗号化で通信を確立し、対称暗号化で使用される鍵を安全に交換します。AES-256が魔法を使うと、これを実現できます。今からそれについて話しましょう。
AES(高度暗号化標準)について知っておくべきこと
AES(高度暗号化標準)は、データを一定の長さのブロックに区切り、それぞれに異なる鍵を用いることから、ブロック暗号と呼ばれています。キーもブロックもビット単位で測定されます。鍵長は128ビット、192ビット、256ビットの3種類があります。したがって、AES-256は、256ビットのプレーンテキストのブロックから256ビットの暗号文のブロックを生成します。
暗号化キーが長ければ長いほど、クラックするのに時間がかかります。クラックに時間がかかればかかるほど、暗号強度が高いということです。この世で最速のコンピュータを使ってAES-256に総当たり攻撃をしても、解読するのに何十億年もかかるでしょう。
AES-256暗号化は、広く使用されている標準的な暗号方式です。その理由は、この方式で変換したメッセージを一生かけても復号化できる方法が知られていないからです。NordVPNとSurfshark、ならびにVPN業界のほとんどからも信頼されています。
VPN内の暗号化はどうなっているのか?
暗号化とは、仮想プライベートネットワーク(VPN)の「プライベート」を意味します。ジオブロックされているウェブサイトにVPNを使用してアクセスしようとする際の仕組みの一例を説明します。
- (ウェブサイトに行き)VPNクライアント(アプリ、ブラウザ拡張機能など)にリクエストを送信します。
- VPNクライアントがリクエストを受信し、暗号化されたVPNトンネルをVPNサーバーに確立します。これを使用して暗号化されたデータを送信します。
- サーバーが受けたリクエストをインターネット(この場合は、アクセスしようとするウェブサイト)に転送することで、データが復号化されます。
- ウェブサイトはリクエストを受け付けて、それをサーバーに返します。
- サーバーはデータをもう一度暗号化して、それをVPNクライアントに送信します。
- 最後にVPNクライアントがデータを復号化して、あなたに返します。
複雑なプロセスですが、今日のデバイスの処理能力であれば一瞬で行われます。それでは、プロトコルの暗号化の部分だけ説明します。
VPNの暗号化の仕組み
コンピュータオタクは、安全ではないインターネット上で安全なチャンネルを作成する方法を開発してきました。VPN接続で安全な暗号化が行われるまでの4つのステップを説明します。
ステップ1:非対称鍵交換 | ステップ2:対称鍵交換 |
---|---|
まずハンドシェイクを行います。VPNクライアントとVPNサーバーは、非対称鍵を交換して通信を開始します。 公開鍵と秘密鍵の2つの暗号化キーが作成されます。 公開鍵はデータの暗号化のみを行い、他者に送信されます。受信する側は、あなたから提供された公開鍵を用いてデータを暗号化します。よって、データを復号化できるのはあなただけです。 これにより、オープンチャンネルで安全な通信が確立されます。 | 次に、対称鍵を交換します。独自の新しい鍵が作成されます。この鍵は、データを転送するための暗号化アルゴリズムによって使用されます。 セッションごとに独自の新しい鍵を取得します。この時点でPFS(前方秘匿性)が確立されます。 前のステップで暗号化されたチャンネルが危殆化しても、対称鍵の交換がデータの安全性を確保できるということです。 データを見たい人がいても、セッション別に復号化しなければいけません。 |
ステップ3:暗号化アルゴリズム | ステップ4:認証アルゴリズム |
3番目に、暗号化アルゴリズムは、その前に生成された対称鍵を使用します。 前に説明したAES-256-GCMは、これらの一つです。これを使用してすべてのデータを暗号化します。 | 最後に、認証アルゴリズムを用いて、転送中のデータを誰かが滅茶苦茶にしていないかを確認します。 簡単に言うと、数学のハッシュ関数を用いて、送信中の情報の一部をスクランブル化します。受信する側は、ようやくこの関数とあなたの秘密鍵を確認することができます。一致すると、情報が傍受されていないということです。 |
以上です。すべてが複雑に思えるかもしれませんが、自分では何も行う必要はありません。「接続」ボタンをクリックすると、アプリがこれらのVPNクライアントを機能させます。
VPNプロトコルと暗号化の関係
VPNプロトコルは、暗号化を含むVPN接続の作成と維持に必要なすべてのステップをまとめた一連の流れです。しかし、使用されなくなった暗号化方式もあり、多くのVPNプロトコルが望むほど 安全なものではありません。
現在AES-256は、世界中で評価の良いどのVPNプロトコルで採用されています。PPTPを絶対に使用すべきではない理由の一つは、128ビットの暗号鍵を使用しているということです。
プロトコル | 暗号化 | 用途 |
---|---|---|
OpenVPN | AES-256 | 普段使い:ルーターでVPNを使用 |
IKEv2/IPsec | AES-256 | モバイルデバイス、近距離の接続、普段使い |
WireGuard | ChaCha20 | 普段使いで話題となっている新しいもの |
SoftEther | AES-256 | 普段使い |
PPTP | 128ビット | トンネリングプロトコル:時代遅れの技術以外で使う理由はありません。 |
SSTP | AES-256 | マイクロソフトのトンネリングプロトコル:Windowsデバイスの接続用 |
L2TP/IPsec | AES-256 | あらゆる面でIKEv2の方が優れているので、使う理由はありません。 |
Surfshark VPNは、AES-256-GCMアルゴリズムを採用したIKEv2/Ipsec、OpenVPN、WireGuardを使用しており、AES-256のみを採用しているものよりも速いです。
VPNの暗号化されているかどうかを確認する方法
GlassWireやWiresharkでVPNの暗号化をテストすることができます。どちらのツールも無料でダウンロードして使用できます。
Wiresharkは、デバイスに入るデータパケットと、デバイスから流れるデータパケットを確認するので、VPNの暗号化のテストの精度はより高いです。とはいえ、使用しているVPNがよほど信用できない限り、 GlassWireで十分でしょう。
GlassWireでVPNの暗号化をテストする
- GlassWireをダウンロードして、インストール手順に従って操作します。
- プログラムを起動します。
- 選択したVPNに接続します。
- インターネットで通信が発生するように何かしら操作をします(動画の視聴、ファイルのダウンロードなど)。
- 「使用する」を選択します。
- 左にあるアプリメニューに移動します。
- 使用しているVPNの種類を探して(例:OpenVPNに接続している場合は、OpenVPN Daemonを見つけます)クリックします。
- 通信の種類を確認します。
これで、VPNが通信を安全にルーティングしているかどうかを解析することができます。
WiresharkでVPNの暗号化をテストする
- Wiresharkをダウンロードして、インストール手順に従って操作します。
- プログラムを起動します。
- キャプチャするネットワークを有線(イーサネット)、無線(WiFi)から選択してクリックします。
- データパケットをクリックして解析します。
パケットが読み取れない場合や意味不明な場合は、プレーンテキストに何も書かれていません。つまり、VPNは暗号化されているということです。
暗号化されたデータの例:
暗号化が必要な理由
VPNは、デバイスとインターネット間で安全かつプライベートな通信のトンネルを構築します。セキュリティの面は暗号化で実現します。
例えば、ハッカーは、デバイスのデータストリームを傍受すると、VOIP(メッセンジャーの通話のようなボイスオーバーIP)での会話を盗聴したり、あなたがパスワードを入力するのを覗き見したり、中間者攻撃を使って悪意のあるデータを仕込んだりすることもできます。
VPNはそのようなデータを暗号化します。そのため、たとえハッカーがデータを傍受しても、相手は読み取ることも使うこともできないので、安全です。暗号化には、使う理由がほかにもあります。
それは、データがプライベートなものではないからです
ユーザーのプライバシーは守られるべきだというのが筆者の考えで、何を外の世界に公開するかは自分次第です。お使いのモバイルサービスプロバイダーには、あなたがデバイスで見ているものが見えています。インターネットサービスプロバイダーは、あなたの閲覧の習慣を知っていますし、よく訪れるウェブページは、あなたが好きなものを把握しています。
その理由は、インターネットのデータ通信が流れる仕組みにあります。データはプロバイダーのサーバーを通過して、インターネットにアクセスします。誰もあなたに対して不利になるようにデータを使用したり、そこから利益を得たりしない限り問題はありません。
もちろんのこと、データ保護法はありますが、自分と意図する人以外の第三者がアクセスできないようにする確実な方法は暗号化することです。「備えあれば憂いなし」という言葉があるように、VPNを使用しましょう。
まとめ:強力な暗号化技術を採用しているVPNを使用しましょう
VPNの暗号化は複雑で専門的な領域です。それでも、ここまでの説明、喩えや簡単な言い回しが分かりやすかったとすれば幸いです。上手く伝わったとしたら、VPNがどういうものかがこれまでよりも理解できたのではないでしょうか。
ここで得た情報が何に役立つのでしょうか。この情報を参考にして、信頼できる暗号化技術を採用したVPNを入手し、好きなコンテンツを オンラインでストリーミングする際にプライバシーとセキュリティを高めましょう。そこで、Surfsharkはいかがでしょうか。
よくある質問
すべてのVPNが暗号化されていますか?
すべてのVPNが暗号化される必要があります。そうでなければ、プライベートなものになりません。一方で、無料のVPNは怪しく、 暗号化されない可能性があります。
VPNはエンドツーエンド暗号化ですか?
いいえ、通信はあなたとVPNサーバー間のみで暗号化されます。VPNサーバーがデータを転送する前に復号化できない場合、受信側はデータを読み取れません。
VPNはすべてのデータを暗号化しますか?
はい、VPNはインターネット上で送信するすべてのデータを暗号化します。また、VPNをインストールしている場所にあるすべてのデータも暗号化します。VPNをルーターにインストールしている場合は、ルーターを通過するデータを暗号化します。ルーターをノートパソコンにインストールしている場合は、ノートパソコンのデータを暗号化します。ほかも同じです。
どのVPNの暗号化が一番良いですか?
現時点で一番良いVPNの暗号化はAES-256です。なので、AES-256またはWireGuardを採用した暗号化プロトコルに対応するVPNを選ぶのが一番良いです。