基礎からわかる!パソコン入門・再入門 / Word・Excel・PowerPoint・Outlook

インターネットのセキュリティ(3) ~ VPNとは ~

ントラネット同士を接続したネットワークをエクストラネットと言いますが、エクストラネットを構築するためには、イントラネット同士をどうにかして接続しなければなりません。

問題となるのは、イントラネットとは で解説のとおり、エクストラネットは限られたユーザーのみが利用する閉じたネットワークであるため、セキュリティの確保をどうするかということです。

一番安全なのは、専用の回線を新たに設置することですが、これは膨大なコストと手間がかかるため、資本力のある大企業しか設置することができません。

そのため、セキュリティが確保されていないインターネット回線を利用して、安価で尚且つ安全に接続するという方法が求められてきました。

これまで、PKISSLなど、データを暗号化して送信する方法を学習してきました。それらは安全に通信することができますが、基本的に利用するブラウザやメーラーなどのアプリケーション単位の技術であり、情報が多様化するにつれて利用するアプリケーションソフトを意識することなく暗号化通信を行いたいというニーズも高まってきていました。

そこで、他のユーザーと共有するインターネット回線を、あたかも専用回線のように利用できる技術が開発され、一般に利用されるようになりました。この技術を、

VPN(ブイ ピー エヌ)

と言います。VPNは「Virtual Private Network」の略で、文字通り「Virtual(仮想的)」な「Private Network(専用線)」を構築する技術になります。

VPNの仕組みは、通信相手との間に仮想的なトンネルを作り、そのトンネル内で許可したデータのみを通信するという仕組みです。この技術は、

トンネリング

と呼ばれ、パケットに新しいヘッダ情報を付け加えて、パケットをさらに「カプセル化」して通信を行うという仕組みになります。(パケットについて詳しくは、データ伝送 を参照してください)

インターネットVPNの仕組みのイメージ

トンネリングは、厳密に言うとOSI参照モデル(詳しくは、プロトコルとは を参照してください)のネットワーク層以上のプロトコルを、データリンク層のプロトコルとみなして通信する技術になりますが、要するに、

あるプロトコルのパケットを別のパケットで包み込んで(カプセル化)、別のプロトコルのパケットとして送信する

という技術になります。トンネリングによって、トンネル内のすべてのパケットが一律にカプセル化されて伝送されるため、すべての通信を集約化して暗号化することが可能になり、通信の暗号化にアプリケーションソフトを意識する必要がなくなります。

このためVPNでは、通信相手の認証が絶対条件になります。しかし、インターネットはIPプロトコルのネットワークであり、IPには通信相手を認証する機能がありません。したがって、IPに代わる認証機能を持つプロトコルで認証を行わなければなりません。

通信相手を認証できるプロトコルは、2地点間の通信に使われるPPP(ピー ピー ピー)プロトコルがあります。PPPは「Point to Point Protocol」の略で、旧来のインターネット接続方法であるダイヤルアップ接続に利用されるプロトコルです。

ただし、このPPPは送信側と相手側が1対1で接続されるような回線(電話の回線交換方式など)でしか利用できません。そこで、このトンネリング技術を利用して、PPPIPでカプセル化することで、インターネットを介したPPP接続が可能となり、PPPの持つ、ユーザー認証機能やエラー訂正どの機能を利用する2点間接続が実現されるのです。

このように、PPPプロトコルを拡張したトンネリングプロトコルには、PPTPL2TPIPsecなどがありますが、詳しくは後述します。

他にもトンネリングは、IPアドレスとは(2) でも解説のとおり、IPv6からIPv4のネットワークへのアクセスにも利用されています。これを例に、トンネリングの仕組みをさらに詳細に解説します。

まず、送信されたIPv6のパケットはトンネルの入り口で、IPv4のパケットのヘッダ情報を付加されてIPv4としてカプセル化されます。これは、ルータ(またはVPNサーバ)によって行われます。(ルータについて詳しくは、データ伝送 を参照してください)

そして、出口でルータによってカプセル化を解除されるという仕組みです。パケットのカプセル化と解除は両端の機器(ルータ)のみが行う ため、あたかもインターネット上に双方を直結したトンネルを作り出すことからトンネリングの名称が付いているのです。

このように、実際に通信しているプロトコルをA、カプセル化されて運ばれているプロトコルをBとして「B over A」という呼び方をします。したがってこの場合は「IPv6 over IPv4」と呼ばれています。他には、PPP over Ethernet (PPPoE) などがあります。(PPPoEは、PPPの機能をイーサネット上(LAN)で実現できるように拡張したプロトコルです)

つまり、トンネリングは本来、通信したいプロトコルがそのままでは通信することができない場合に利用されますが、VPNはその仕組みと性質を利用しているのです。

ただし、トンネリングだけではデータの内容は見えてしまうので、VPNではトンネリングされたパケットの盗聴や改ざんなどを防止するために、暗号化して伝送されるというわけです。

さて、このようにVPNによって既存のインターネットを利用して安価にセキュリティーを確保した通信を行うことができるようになりました。では、VPNを導入するには、具体的にどのようなVPNを選択すればよいのでしょうか?

VPNは、大きく2種類に分類することができます。まず1つは、

インターネットVPN

です。インターネットVPNは、これまでの学習どおり、安全ではないインターネット上でVPNを構築する方法です。インターネットVPNの形態には、企業のLAN(イントラネット)同士を接続する「LAN間接続VPN」と、外部から企業内のネットワークに接続する「リモートアクセスVPN」があります。

LAN間接続VPNは、イントラネット(LAN)同士の接続に仮想トンネル構築する方法で、リモートアクセスVPNは、主に個人が自宅や出張先から、自社のイントラネットにアクセスして、あたかも社内にいるのと同じように作業する方法です。

リモートアクセスVPNは、電話回線を用いてダイヤルアップ接続するのが一般的でしたが、これでは速度も遅く接続時間よっては高額な通信料金が発生するため、現在では、ブロードバンドを利用したインターネットVPNにシフトしています。

VPNの普及当初は、VPNを構築するための通信プロトコルに関する基準がなく、専用ルータを双方の接続地点に設置して一致させなければならず、その運用にはある程度の知識が必要となり、それほど普及が進みませんでした。

そこで、インターネットの標準化団体やインターネット関連企業等によって、標準プロトコルが開発されました。そのプロトコルが、

PPTP(ピー ピー ティー ピー)、IPsec(アイ ピー セック)

などのプロトコルです。PPTPは、先述のとおりPPPの認証機能をIPネットワークで利用できるように拡張したプロトコルで、IPsecは、IPパケットを暗号化して送受信するために標準化されたプロトコルです。IPsecでは、通信されるあらゆるパケットをIPレベルで暗号化することができます。

これらのプロトコルが標準で組み込まれた製品が発売されて普及するにつれて、VPNが一般的になって行きます。インターネットVPNでは、PPTPIPsecを利用した接続方法が一般的です。

まず、PPTPによるインターネットVPNは、マイクロソフト社が中心となって開発されたプロトコルであるため、Windows環境下では容易に構築することができます。

PPTPによる通信は、先述のとおりで、PPPの機能によって通信のネゴシエイト(通信速度や制御方式等を事前に双方で折衝すること)を行う方法です。

ただし、PPTPには暗号化機能がないので、パケットを暗号化して通信するには、MPPE(Microsoft Pont to Point Encryption:暗号化)という暗号化技術を併用します。(PPTPは、あらかじめ暗号化されているPPPパケットをカプセル化しています)

次に、IPsecによるインターネットVPNは、PPTPをもとに開発された「L2TP(エル ツー ティー ピー)」というプロトコルとIPsecを併用して通信する方法です。

L2TPは「Layer 2 Tunneling Protocol」の略で、PPTPと同様にPPPの機能を利用します。ただし、PPTPと異なり、パケットの暗号化には「IPsec」を使い、PPTP以上のセキュリティを確保することができます。

PPTPIPsecも、暗号化方式には「ハイブリッド方式」が採用さてれています。つまり、実際の通信には速度の速い共通鍵暗号化方式が使われます。

IPsecでは「IKE(Internet Key Exchange)」という、暗号化や認証機能とは分離独立した自動鍵交換プロトコルを用いて共通鍵を双方で入手しますが、公開鍵暗号化方式を用いて共通鍵の値を算出するので、ハイブリッド方式と考えて問題ないと思います。(IKEの詳しい仕組みは専門的になるので割愛します)

現在、インターネットVPNでは、このIPsecを利用したVPNが最も普及しています。しかし、IPsecも新しいVPNの登場で世代交代が行われつつあります。それは、

SSL-VPN

という接続方法です。文字通り、前項で解説したSSLの技術を利用したVPNになります。

IPsecは、ネットワークに接続するすべてのクライアントに専用ソフトウェアが必要で、クライアントにセキュリティチェック機能がない、ユーザーに応じたアクセス制御が困難などの問題が指摘されてきました。

そのうえ、IPベースのプロトコルのため、NAT(グローバスアドレスをプライベートアドレスに変換する機能)との相性が悪く、併用すると通信できないということもありました。

SSL-VPNでは、サーバ側には機器やソフトウェアが必要になりますが、クライアントはアプリケーションソフトがSSLに対応していればよく、容易に導入できるというメリットがあります。単純に言えば、ブラウザとメーラーがあればOKです。

現在、主要なブラウザやメーラーはほとんどSSLに対応しており、またSSLプロトコルは、ユーザーの認証機能も持っています。このため、SSL-VPNに乗り換えるケースが増えてきています。

ただし、SSL-VPNにもデメリットがあり、基本的にはHTTPベースのウェブシステムとなるため、それ以外の通信を行うには、各種のデータや通信を変換する仕組みが必要となります。

もっとも、SSL-VPNIPsecを補完するソリューションとも言われており、IPv6にもIPsecが標準搭載されていることからも、SSL-VPNIPsecが併用されて行くだろうと言われています。

さて、では最後にもう1つのVPNの種類について解説します。それは、

IP-VPN(アイピー ブイピーエヌ)

という接続方法です。IP-VPNは「Internet Protocol-Virtual Private Network 」の略で、

一般のインターネット網ではなく、通信業者専用の閉域網を利用する

接続方法になります。つまり、プロバイダ等の通信業者が保有する高速大容量のIPネットワークを利用したVPNで、一般のユーザーがアクセスできない 閉域ネットワーク で通信を行います。

そのため、基本的にパケットの暗号化はしませんが、「MPLS(Multi Protocol Label Switching)」と呼ばれる技術で、パケットに「ラベル」と呼ばれるヘッダ情報を付けて宛先を識別して配送するため、ユーザごとに論理的に分割されたネットワークを作ることができ、暗号化に頼らないセキュリティの確保が可能になっています。

つまり、ラベルによって宛先を判別するので、他のユーザーのデータが混在しないため、他のユーザーと論理的に分割されたネットワークが構築されるわけです。

ただし、MPLSはラベルによってあくまで他のユーザーと論理的に分離される程度で、暗号化される機能が備わっているわけではありません。さらに強固にセキュリティを求める場合は、データを暗号化する必要があります。

MPLSの機能により、従来のパケットのヘッダ情報によって最短経路を選択していくルーティングとは異なり、ラベルに転送経路を示しておくことで、ルータは経路の選択という処理から解放され、高速大容量の通信が可能になります。

また、MPLSでは業者側の専用ルータでラベル付けされるので、ユーザー側のルータがMPLSに対応している必要がないというメリットもあります。(ルータを設置する必要がない場合もあります)

したがって、IP-VPNはインターネットVPNに比べ高速大容量でセキュリティも確保されているVPNと言うことができます。

一方デメリットとしては、インターネットVPNに比べコストが高い、IP以外のプロトコルが使えない(カプセル化は可能)などがあげられます。

このように、VPNにはいくつかの種類と接続形態があり、やり取りするデータの内容や予算、ネットワークの規模を考慮して選択するようになります。現在では、コスト面からインターネットVPNの利用が一般的です。

インターネットを利用したVPNの最大のメリットは、専用線に比べ大幅にコストが削減できることですが、インターネットは、ネットワークの混雑具合に応じて転送速度が変化する(ベストエフォート型という)ため、通信が遅くなったり、エラーになることがあります。

更新履歴

2009年8月22日
ページを公開。
2009年8月22日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2014年5月22日
内容修正。
2018年2月1日
ページをSSL化によりHTTPSに対応。

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

文献
図解入門 インターネットのしくみ
5分で絶対に分かるVPN
http://www.atmarkit.co.jp/fsecurity/special/22fivemin/fivemin00.html
インターネットVPN環境を構築する
http://www.atmarkit.co.jp/fwin2k/verification/vpn01/vpn01_02.html
IP-VPN早わかり講座
http://www.ne.jp/asahi/net/guide/ip-vpn.htm