VPN(インターネットVPN・IPsec)

 現在VPNは、インターネットを介して、自前でVPNを構築する「インターネットVPN」と、ISPが提供するIP網を利用してVPNを構築する「IP-VPN」の2種類が主流です。ここでは、インターネットVPNを構築する際の標準的なプロトコルであるIPSecについて説明します。

 インターネットを介して構築されるVPNをインターネットVPNといいます。インターネットでは、通信内容の盗聴や改ざんが行われる危険があるため、IPsecを使用して認証を行い、通信内容を暗号化し、セキュアな通信を可能にしています。

IPsec

 IPsec は、暗号化と認証の総称で、複数のプロトコル体系で構成されています。IPsecを理解するためには、次のプロトコル体系を理解しておく必要ががあります。

  • IKE (UDP500番ポート)
  • AH (TCP51番ポート)
  • ESP (TCP50番ポート)

IPSec では、主にAHとESPの2つのプロトコルで制御されます。

IKE

 IKEは、インターネット鍵交換プロトコルで、IPSec におけるセッションとも言える「SA」を制御するためのプロトコルです。

 実際にパケットをやり取りする前に、VPN装置間でコネクションを確立する必要があります。そのコネクションが、SA(Security Assosiation)と呼ばれるトンネルです。IPSec で通信行う場合、全てこの「SA」というトンネルを経由してパケットを送受信します。

 「SA」とは、単方向のコネクションのため、パケットを送受信するには、2本の「SA」が必要になります。また「SA」は、プロトコルごとに確立されるため、AHとESPの両方使用して双方向で通信を行う場合は、4つの「SA」が必要になります。
※AHとESPの併用はスループットが低下するため、あまり利用されていません。

 IKEを利用することで、鍵の生成と交換、そして、安全性を高めるため鍵の定期的に更新を自動的に行うことができます。

AH

 AHは、IPSecでパケットを認証するためのプロトコルです。送信元の認証、改ざんされていないことの保証、リプレイ・アタックの阻止などの機能を提供します。

ESP

 ESPは、IPSecでパケットの暗号化を行うためのプロトコルです。今では、認証機能も持つため、AHをを使わなくともESPのみでIPSecの実装が可能です。

 昔は、AHとESPの住み分けができていましたが、AHとESPを併用するとスループットが低下するため、併用して利用することは、少ないです。認証を強化したい場合に併用します。

IPSecの動作

 IPSecの動作の流れを簡単に示すと以下のようになります。IPSecを用いたVPNでは、フェーズ1、フェーズ2を行った後に、暗号化したIPパケットを通信を通信するようになっています。

  • ISAKMP SA(フェーズ1)・・・ISAKMP SAを確立する。
  • IPSec SA(フェーズ2)・・・フェーズ1で作成したISAKMP SA内で、IPSec SAを確立する。
  • IPSecの暗号通信・・・フェーズ2で作成したISAKMP SA内で、暗号化したパケットを通信する。

 次の「VPN(IKE・フェーズ1・フェーズ2)」では、IKEにおける「ISAKMP SA」、「IPSec SA」の確立について解説します。

関連コンテンツ