VPNの仕組みを探る(1/2)

高崎達哉 2005年08月11日 10時00分

  • このエントリーをはてなブックマークに追加

これまでは、検疫ネットワークと侵入防止システム(IPS)といった、ワームなどの攻撃からシステムを防御するための技術を説明してきた。今回からは、データを盗聴や改ざんから保護するためのVPNで利用される、IPSecやPPTP、L2TP、SSL-VPNなどのプロトコルの仕組みについて、2回に分けて解説していく。

 公衆網サービスを使いつつセキュリティを確保する方法として、公衆網上に仮想的に専用網を作るVPN(仮想プライベート・ネットワーク)がある。以下では、VPNを実現するプロトコルとして、IPSec(IP Security protocol)、PPTP(Point-to-Point Tunneling Protocol)、(Layer 2 Tunneling Protocol)の3種類を取り上げ、それぞれの概要とパケット構造、目的を解説する。

VPNの標準プロトコル「IPSec」

 IPSecは、VPNを構築するための標準プロトコルである。認証ヘッダの「AH」(Authentication Header)、カプセル化の「ESP」(Encapsulating Security Payload)、データ圧縮の「IPComp」(IP Compression Protocol)、鍵交換の「IKE」(Internet Key Exchange)などのプロトコルから構成される。

 AHは、認証コードの付与によってIPパケットの改ざんを防止するプロトコルであり、IPプロトコル番号51を使用する。ESPは、カプセル化により、IPパケットの改ざんを防止し機密性を確保するプロトコルであり、IPプロトコル番号50を使用する。IPCompは、圧縮効率を上げるためにデータの暗号化前にIPパケットを圧縮するプロトコルであり、IPプロトコル番号108を使用する。IKEは、これらのプロトコルで使用するアルゴリズムのネゴシエーションや鍵のセットアップを行うためのプロトコルであり、UDPの500番ポートを使用する。

 AHやESPには、その配送方法によって、トンネルモードとトランスポートモードの2種類のモードがあるが、通常、IPSecによるVPNゲートウェイ機器などを用いるVPNでは、ESPのトンネルモードが使用される。ESPのトンネルモードでは、図1のように、オリジナルのIPパケット全体にESPトレーラを加えたものが、事前にIKEによってネゴシエーションされた共通鍵暗号によって暗号化される。

図1 トンネルモードESPが適用されたIPパケットのフォーマット(網掛け部分は暗号化)

 暗号化されたデータの先頭には、相手のVPN機器まで運ぶためのトンネルIPヘッダとESPヘッダが付加され、最後尾にESPヘッダと暗号化されたデータを範囲とするメッセージ認証コード(Message Authentication Code、MAC)が格納されたESP認証データが付加される。

 この認証データを受信側で検証することにより、データの内容が第三者によって改ざんされていないことを確認することが可能となるのである。このメッセージ認証コードのアルゴリズムも、事前にIKEによってネゴシエーションされる。

 メッセージ認証コードは、入力データを一方向ハッシュ関数にかけた結果である。ハッシュ関数は出力値(ハッシュ値)から入力値を求めることが困難である一方で、同じ入力値からは必ず同じ出力値が得られるという特徴を持つ。ハッシュ関数にはMD5などがある。

Microsoftが中心となって開発した「PPTP」

 PPTPは、米Microsoftが中心となって開発したプロトコルであり、主にリモートアクセスによるVPN環境で利用される。PPTPでは、PPTPトンネルを制御するための「PPTP制御コネクションプロトコル」(1723/TCP)と、PPPフレームをIPネットワーク上で送信するための「PPTPトンネルプロトコル」(IPプロトコル番号47)の2種類のプロトコルを使用する。

 PPTPを使用する場合には、最初にPPTP制御コネクションプロトコルを使用して、PPTPトンネルが確立される。そして、PPTPトンネル内でIPパケットを送信する場合には、図2のように、MPPEヘッダの後半2バイト分を構成するプロトコルフィールドが付加されたIPパケット全体がRC4で暗号化される。

図2 PPTPが適用されたIPパケットのフォーマット(網掛け部は暗号化)

 加えて、暗号化されたデータにMPPEヘッダの前半2バイト分とPPPヘッダが付加され、PPPフレームが作成される。さらに、GREv1ヘッダと、相手のVPN機器まで運ぶためのトンネルIPヘッダが付加され、アクセス先拠点まで暗号化された状態で届けられるという仕組みである。

PPTPとL2Fを統合して標準化した「L2TP」

 L2TPは、米Microsoftが中心となって開発したPPTPと、米Cisco Systemsが開発したL2F(Layer 2 Forwarding)を統合して標準化したプロトコルであり、主にリモートアクセスによるVPN環境で利用される。

 前述したPPTPでは、制御用のプロトコルとデータ用のプロトコルには、それぞれ異なるプロトコルを使用する。一方、L2TPでは、「L2TP制御メッセージ」と「L2TPデータメッセージ」の両方に、UDPの1701番ポートを使用する。しかし、L2TPにはセキュリティを確保する機能が存在しないため、IPSecと組み合わせることになる。

 L2TPを使用する場合には、最初にL2TP制御メッセージを使用してL2TPトンネルが確立される。この上で、L2TPトンネル内でIPパケットを送信する場合には、図3のように、送信するIPパケットの直前にPPPヘッダが付加され、PPPフレームが作成される。

図3 L2TPとトランスポートモードESPが適用されたIPパケットのフォーマット(網掛け部は暗号化)

 これに加え、相手のVPN機器まで運ぶためのトンネルIPヘッダと、UDPヘッダ、L2TPヘッダが付加され、PPPフレームをカプセル化したL2TPパケットが作成される。さらに、この作成されたL2TPパケットに対し、トランスポートモードのESPが適用され、アクセス先拠点まで暗号化された状態で届けられるという流れである。

 次回は、比較的最近登場し、話題となっているVPN技術である、SSL-VPNとSoftEtherの仕組みについて解説する。

  • このエントリーをはてなブックマークに追加
関連キーワード
セキュリティ

関連ホワイトペーパー

SpecialPR

連載

CIO
藤本恭史「もっと気楽にFinTech」
Fintechの正体
内山悟志「IT部門はどこに向かうのか」
情報通信技術の新しい使い方
米ZDNet編集長Larryの独り言
谷川耕一「エンプラITならこれは知っとけ」
田中克己「2020年のIT企業」
大木豊成「Apple法人ユースの取説」
デジタル未来からの手紙
モノのインターネットの衝撃
松岡功「一言もの申す」
三国大洋のスクラップブック
大河原克行のエンプラ徒然
今週の明言
アナリストの視点
コミュニケーション
情報系システム最適化
モバイル
通信のゆくえを追う
スマートデバイス戦略
セキュリティ
ネットワークセキュリティ
セキュリティの論点
スペシャル
de:code
Sapphire Now
VMworld
HPE Discover
Oracle OpenWorld
Dell World
AWS re:Invent
PTC LiveWorx
デプロイ王子のテクノロジ解説!
古賀政純「Dockerがもたらすビジネス変革」
誰もが開発者になる時代 ~業務システム開発の現場を行く~
さとうなおきの「週刊Azureなう」
より賢く活用するためのOSS最新動向
「Windows 10」法人導入の手引き
北川裕康「データアナリティクスの勘所」
Windows Server 2003サポート終了へ秒読み
米株式動向
Windows Server 2003サポート終了
実践ビッグデータ
中国ビジネス四方山話
日本株展望
ベトナムでビジネス
アジアのIT
10の事情
エンタープライズトレンド
クラウドと仮想化