3つのプロトコルのいいとこどり!?VPNプロトコル「L2TP」
はい、こんにちは~。IPsecやPPTPといった「VPNプロトコル」について、その概要を分かりやすく?整理しております~。
前回は、PPTPのフレーム構造について紹介しました。GREヘッダをつけてカプセル化して、IPトンネルを通じてデータを送るのでしたね~。
今回は、、、L2TPという別のVPNプロトコルについて紹介します。PPTPの発展形でもあるこのプロトコル、PPTPやIPsecとどう違うのか気になりますね。
では、いってみましょう!
L2TPとは何か
L2TP(Layer 2 Tunneling Protocol)は、VPN(Virtual Private Network)を構築するために、今でも広く利用されています。データを暗号化して、カプセル化する点は他のVPNプロトコルと同じです。
ここで一つ今一度整理しましょう。VPNプロトコルは、データを送信する手順として次のステップを踏みます。
認証する
暗号化する
カプセル化する
そして、この後、データがトンネルを通じて送信されるわけですな。この手順は、IPsec、PPTP、L2TPも基本的に同じです。
ここら辺も頭の片隅にでもおいておきたいですね。
L2TPの歴史
少しL2TPの成り立ちについて触れますか。
L2TPは、1999年に標準化されました。Microsoft社が1999年に考案したPPTP(Point-to-Point Tunneling Protocol)とCisco Systems社が1998年に考案したL2F(Layer 2 Forwarding)のいいところどりをするような形で誕生します。
そういえば、「L2TP」という名称も、「PPTP」と「L2F」の中間みたいですね…。実際、どう名称が決まったか、分かりませんが。
L2TPの主な特徴
L2TPの特徴としては、通常はIPSecと組み合わせて使用され、データの暗号化を実現することです。
L2TP自体には暗号化機能は含まれていません。そのため、暗号化の仕組みを持つIPsecを頼るわけです。つまり、高い暗号強度を持たせることが可能な「AES」を使うことができます。
そういえば、PPTPも、その仕様上、暗号化機能がありません。ただし、PPTPの場合は、マイクロソフト社が作った暗号化方式MPPE(その暗号アルゴリズムはRC4)を使うのでしたね~。しかし、AESの方が暗号強度が高いので、L2TPより脆弱です。
L2TPのフレーム構成
上記のように、IPSecとの組み合わせにより、L2TPは高いセキュリティレベルを提供します。ではでは、フレームの構成がどうなっているか、例によって見てみましょうか。
まずは、IPパケットを準備してPPPヘッダでカプセル化します。PPPフレームのできあがりです。ここは、PPPの仕様を利用していることろですね。
続いて、UDPヘッダとL2TPヘッダでカプセル化します。
L2TPヘッダにL2TP独自のパラメタを持たせているのでしょうから、その中身が気になります。が…省略します。
UDPヘッダまでつけるんですね。「おっと、NAT越え用か?」と思ったのですが、違います。暗号化された通信路で、データを送受信するときにUDP1701番を使うようです。う~ん、難しい。
最後に、ESPでカプセル化して、新しいIPヘッダをつけて完成です。ここが、IPsecを取り込んだ箇所ですね。
フレームの構成が、だいぶ賑やかですね…。IPパケットを、PPP、L2TP、ESPの各要素でカプセル化しまくったらこうなりました。マトリョーシカ状態!
まとめ
少しまとめましょう。
L2TPは、マイクロソフトのPPTPと、シスコのL2Fを統合して作られました。
PPTPは、認証や暗号化の選択肢の自由度が低いのに対し、L2TPは、IPsecを利用して自由度を高めています。
暗号化の仕様がないので、IPsecに暗号化を依存しています。
こんなところでしょうか。
はい、本日はここまで。今回は、VPNプロトコルの一つ「L2TP」について紹介しました。
次回は、VPNが抱える課題の一つ、NAT越え(NATトラバーサル)についてお話ししましょう。
では!