端的に IPsec VPN(仮想プライベートネットワーク)とは、IPsec プロトコルで実行される VPN のことです。しかし、それだけではありません。この記事では、IPsec、IPsec トンネリング、IPsec VPN とは何かについて、解説していきます。シンプルかつ細部にまでこだわった内容となっておりますので、どうぞお楽しみください。まず基本から見ていきましょう。
目次
IPsec とは何か?
IPsec とは、インターネットプロトコルセキュリティの略です。IP 部分はデータの送り先を表し、sec 部分はデータを暗号化して認証することを意味します。 言い換えれば IPsec は、公共スペースであるインターネット上に、デバイス同士をつなぐ安全で暗号化された接続を確立するプロトコルのグループということになります。
IPsec プロトコルは、普通、タスクによりグループ化されます。
- 認証ヘッダー(AH)
- セキュリティペイロード (ESP) のカプセル化
- セキュリティ アソシエーション(SA)
IPsec は何でできているか?
何から作られているかを尋ねることは、どんなふうに動作するかを尋ねることに近いと言えます。IPsec のただひとつの目的は、暗号化により安全な接続を確立することです。この唯一目標は、3つの小さなプロトコルグループに分けられ、また、それらによって達成されます。これら3つのグループは、それぞれ固有のタスクを処理します。
セキュリティ認証ヘッダー(AH) — すべてのデータが同一の発信元から届いていることを確認し、ハッカーが自分のデータの一部を正当なものとして偽装しようとしていないことを担保します。
封印された封筒を受け取ったと想像してみてください。封印が破られていなければ、だれもその手紙を改ざんしていないことになりますよね?認証ヘッダーは、IPsec VPN 経由で送信されるすべてのデータについて、これと同じことを行います。ただしこれは、ふたつある IPsec の動作方法のうちの、ひとつにすぎません。もうひとつは ESP です。
セキュリティペイロードのカプセル化(ESP) — これは暗号化プロトコルのことで、データパッケージを読み取り不能な無秩序状態に置き換えます。暗号化を除けば、ESP は認証ヘッダーに似ており、データを認証し、その整合性をチェックすることができます。
手紙と封印の話に戻るなら、もしだれかが配達中の手紙を盗んで開封しても、そこにはただ意味不明な文字が並んでいるだけ、ということになります。ユーザー側で暗号化を行うのは VPN クライアントであり、反対側では VPN サーバーが暗号化を担います。
セキュリティアソシエーション(SA)は、IPsec 接続で結ばれる、ふたつのデバイスの間で合意される一連の仕様のことを指します。
インターネットキー交換(IKE)またはキー管理プロトコルは、これらの仕様の一部です。IKE は、他のデバイスのセキュリティアソシエーション(SA)とネゴシエートし、相手を認証します。IKE は、別のデバイスの SA と暗号キーを交換することで、安全な通信チャンネルを確立します。
平たく言えば、SA は ふたりのスパイが共有する暗号解読表のようなものです。SA は、暗号化されたメッセージを解読する方法と、メッセージをだれに伝えるべきかを表しています。通信中の情報をどのように保護するか、ふたつののデバイスが相互に取り決めるものです。
IPsec はどのように情報を送信するか?
AH または ESP を使用するように IPsec を設定した後、トランスポートかトンネルかで、転送モードを選択します。
IPsec トランスポートモード このこのモードでは、送信するデータは暗号化されますが、送信先に関する情報は暗号化されません。そのため、悪意のある人物は、傍受した通信を読み取ることこそできないものの、通信がいつどこへ向けて送られたかは、知ることができます。
IPsec トンネルモード トンネルモードでは、同じく旧来のインターネットを使っても、ふたつのデバイスの間に安全で閉じられた接続を確立します。したがって、その接続は安全になり、プライバシーを守ることができます。IPsec VPN は、このようなモードで動作し、IPsec VPN トンネルを作成します。
要点 — Web 上でデータを送信するために用いられるふたつのプロトコル(UDP と TCP)のうち、IPsec はファイアウォールを無視する送信タイプである UDP (ユーザーデータグラムプロトコル)のほうを使用します。
以上すべてがまとめられたものが IPsec VPN アプリです。
IPsec VPN とは何か、また、どのように機能するか?
VPN は、お手元とインターネット(または別のデバイス)を結ぶ接続を暗号化するアプリケーションです。VPN はプロトコルを使って接続を暗号化しますが、暗号化を行う方法はいくつかあります。IPsec の使用もそのひとつです。IPsec プロトコルスイートを用いる VPN のことを、IPsec VPN と呼ばれます。
IPsec VPN クライアントが実行されているとしましょう。全体としてどのように機能するのでしょうか?
- 「接続」をクリックします。
- IPsec 接続は ESP とトンネルモードを使って開始されます。
- SA は、使用する暗号化の種類など、セキュリティ パラメーターを確立します。
- データは、暗号化された状態で送受信できるようになります。
以上が IPsec の基本です。単純なようですが、実は、これよりもう少し奥が深いです。
IPsec は段階ごとに、どのように機能するか?
ふたつのデバイスが IPsec を使って通信しようとしているとしましょう。一方のデバイスがメッセージを送信しようとすると、次のようなことが起こります。
- キー交換 — IPsec は、各デバイスのメッセージを暗号化または復号化するために、暗号キー(ランダム化された文字列)を設定します。
- ヘッダーとトレーラー – インターネット経由で送信されるすべてのデータは、パケットと呼ばれる小さな単位に分割されます。IPsec プロトコルは、認証および暗号化情報をパケットの先頭(ヘッダー)と末尾(トレーラー)に配置します。これらのヘッダーとトレーラーは、データパケットをどう取り扱うべきか、デバイスに伝えるものです。
- 認証 — IPsec は、各データパケットに一意の「名前」または ID を与えることで認証を行います。
- 暗号化 — IPsec はデータパケットの内容を暗号化します。
- 送信 — パケットはトランスポートプロトコルかトンネルプロトコルにより送信されます。
- 復号化 — 相手側のデバイスがメッセージを受信し、復号化キーを使用してメッセージを解読します。
IPsec は MSS や MTU にどのような影響を与えるか?
すべてのデータはデータパケットで送信され、データパケットはバイト数で測定されます。
MSS とは最大セグメントサイズのことで、データパケットが取り得る最大のサイズを指します(1,460バイト)。
一方 MTU とは最大伝送単位のことで、インターネットに接続されているデバイスが受け入れることができる最大のサイズを指します(1,500バイト)。
これらのパケットには、送信される情報、IP ヘッダー(20バイト)、TCP ヘッダー(20バイト)が含まれており、いずれもサイズ制限があります。
IPsec は、最大伝送単位の値には影響しませんが、最大セグメントサイズの値は常に小さくなります。 それを数式で表すと次のようになります。
インターネット上での IP パケットの標準的な送信:
MTU(1,500バイト) – (IP ヘッダー(20バイト) + TCP ヘッダー(20バイト)) = MSS(1,460バイト)
ただし IPsec は送信データに補助的なヘッダーを追加するため、IP パケット全体の「重さ」は当然、変化します。
MTU(1,500 バイト) – (IP ヘッダー(20バイト) + TCP ヘッダー(20バイト) + IPsec バイト) = MSS(1,460バイト – IPsec バイト)
IPsec の動作を体験する
これで VPN のなかでも IPsec VPN がどういうものであるかが分かりました。スマートフォンでアプリを実行している Surfshark VPN ユーザーの場合、IPsec シリーズのひとつである IKEv2 moniker でアプリを使っていることが一般的です。まだ Surfshark ユーザーでない方は、これを機にぜひご利用をご検討ください。弊社がお届けできるのは、IPsec だけではありません。
よくある質問
IKEv2 とは何か?
IKEv2 (Internet Key Exchange version 2) は、IPsec プロトコルスイートのセキュリティアソシエーション部分で使用されるプロトコルです。
ユーザーを認証し、接続の終端にあるデバイスが本人であることを確認し、ディフィー・ヘルマン鍵共有により暗号化接続を設定します。これは、暗号化サイファーをパブリックネットワーク経由で送信するために広く用いられている方法で、暗号化データのロック解除キーを作らずに済みます。
IKEv2 プロトコルを実行する IPsec はIKEv2/IPsec と呼ばれますが、業界標準としては一般に IKEv2 と呼びます。これは2005年にスタートした開発プロジェクトで、IKEv1 を使用した元の IPsec (1995年にスタート)が抱えていた一部の問題を更新・修正したものです。
IPsec は安全か?
IPsec は IKEv2 と組み合わせると十分に安全であると、世界中の主要 VPN プロバイダーが見なしています。しかし2015年頃、米国家安全保障局(NSA)がこれを悪用した疑惑が浮上しています。NSA は IPsec にバックドアを仕掛けるか、ディフィー・ヘルマン鍵共有を妨害する方法を発見したとされています。しかし、この分野の専門家のなかには、こうした疑惑に異議を唱えている方もいます。
ですが、それでも安心できない方のために、ほとんどの VPN サプライヤーが IPsec VPN プロトコルに代わる代替手段を提供しています。
IPsec は SSL よりも優れているか?
IPsec と SSL(Secure Sockets Layer)を比較することは、リンゴとオレンジを比較するようなものです。どちらのプロトコルも、開放型システム間相互接続(OSI)モデルのさまざまなレベルで動作します。ふたつを並べて見ると次のようになります。
IPsec | SSL |
---|---|
ネットワーク層で動作 | アプリケーション層で動作 |
プロトコルのセット | 単体のプロトコル |
VPN として機能するにはソフトウェアが必要(デバイス全体を保護) | ソフトウェアとして使用できる(デバイス全体を保護)が、ブラウザ経由で VPN に接続することもできる(ブラウザのトラフィックのみを保護) |
IPsec VPN によりユーザーはネットワークに完全にアクセスできる | SSL VPN を使用するとネットワークへのアクセスをカスタマイズできる |
クラウド上での実装が容易になる | クラウドにするには追って構成が必要 |
IPsec と SSL はどちらも安全であり、VPN の構築に使用できます。ただし最終的には、VPN やその開発者の構成、目的、優先事項により左右されます。