このページの本文へ

前へ 1 2 3 次へ

初心者歓迎!ネットワークセキュリティ入門第7回

ネットワークの脅威と対策を一から学ぼう

インターネットで構築するVPNの仕組み

2009年09月30日 06時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷


インターネットのプロトコルの多くは、セキュリティを前提としていないため、盗聴や改ざん、なりすましなどへの耐性がない。そこで、現在では通信経路のセキュリティを高めるVPNの技術が幅広く利用されている。VPNがどのようにインターネット上で使われるのか、見てみよう。

インターネットを利用するVPN

 企業のWAN構築には、専用線を始めフレームリレー、IP-VPN、広域Ethernetに至るまで、古くから通信事業者のサービスが必要であった。しかし、公衆のネットワークであるインターネットを用いることで、ユーザーが自前でVPNを構築することも可能になっている。これが「インターネットVPN」である(図1)。

図1 ユーザーが自前で構築するインターネットVPN

 インターネットVPNでは、VPN専用のプロトコルを用いてトンネリングを実現し、さらにセキュリティも確保する。単にトンネリングするだけではなく、セキュリティ機能が必要になるのは、インターネットの性格が背後にある。

 通信事業者の閉域網を用いるVPNサービスと異なり、複数のネットワークの固まりであるインターネットは、多くの不特定多数のユーザーが利用しており、また特定の運用管理者がいない。そのため、これまで連載で説明してきたように、数多くの悪意のある人たちがさまざまなセキュリティ侵害を試みる可能性がある。サーバへの攻撃や不正侵入、盗聴やデータ改ざんなどの攻撃、ウイルス、スパイウェアといった不正プログラムなどだ。そこで、インターネットVPNを実現するプロトコルでは、盗聴や改ざん、なりすましなどに対抗するセキュリティ確保の仕組みを提供している。

 こうしたVPNプロトコルとしては、IPsecやPPTP、SSLなどが挙げられる。これらのVPNプロトコルの違いは、対象となるプロトコルや動作するレイヤである(図2)。

図2 VPNプロトコルが動作する階層

 IPsecの対象はIPであり、IPパケットに対して暗号化やトンネリングなどの処理を行なう。一方、PPTPはレイヤ2のトンネリング、認証、暗号化がメインで、対象はIPだけではない。さらにSSLはWebを中心としたアプリケーション層のデータを対象にしている。こうした違いがあるので、各VPNプロトコルは用途によって使い分ける必要がある。

IPsec使ったVPN

 インターネットやLANでの通信に幅広く用いられているIPだが、セキュリティを確保する機能が提供されない。パケットをキャプチャすれば、通信内容は完全に明らかになってしまうし、途中で内容を書き換えることも可能だ。

 これに対してIPsecは、文字通りIPに欠けているセキュリティ機能を補完する。IPsecはもともとIPv6のセキュリティ機能をIPv4のVPNに使えるようにしたもの。VPNで必須のトンネリングのほか、通信相手の認証やIPパケットの暗号化、認証、改ざん検出といった機能を持っている。アプリケーションのTCP/IP化が浸透している昨今では、もっとも普及しているVPNプロトコルといえる。

 IPsecによるVPNは、セキュリティゲートウェイなどと呼ばれる装置で、相互にトンネルを構築することで、VPNの通信が可能になる。実際は、VPNルータやファイアウォールなどがVPNの機能を持っており、インターネットに接続しつつ、各拠点とトンネルを構築する(写真1)。VPNルータは、パケットの宛先を調べ、インターネット宛のパケットはそのままISP経由でインターネットに送り出し、対向拠点のプライベートアドレス宛のパケットはトンネリングや暗号化などのVPNの処理を施す。IPsecでは「トンネルモード」と呼ばれる通信モードを用いることで、こうしたVPNを構築できる。

写真1 IPsecの機能を持ったヤマハのVPNルータ「RTX1100」

 IPsecのトンネルは、LAN内で通信するプライベートアドレスのパケットをインターネット上での通信で用いるグローバルアドレスのパケットでカプセル化することで実現する

 たとえば、図3のようにLAN1とLAN2でインターネットVPNを構築した場合を見てみよう。LAN1からLAN2のホスト宛のパケットをVPNルータAが受信した段階で、LAN1のVPNルータがインターネットでパケットを送受信できるように、宛先のVPNルータBのグローバルアドレスを元のパケットに付与する。パケットを受け取ったLAN2のVPNルータBは、グローバルアドレスのヘッダを外して、元のプライベートアドレスのパケットを取り出す。あとは、宛先のIPアドレス宛に送り直すだけだ。通信する双方は、インターネットを経由することを気にせず、パケットを直接送受信できる。ただし、これだけではIPをIPでカプセル化しただけで、セキュリティは確保できない。

図3 プライベートアドレス宛のパケットを通過させるトンネリング

 そのため、IPsecのトンネルモードでは、ヘッダもユーザーデータもすべて暗号化される。そして暗号化されたIPパケットは「ESP(Encapsulating Security Payload)※1」と呼ばれるIPsec独自の制御パケットでカプセル化される。そして、このESPのパケットに、新しいグローバルアドレスの記載されたヘッダが付与され、インターネットに送信されることになる。一方、受信側のVPNルータでは、ESPのパケットから、IPパケットを取り出し、宛先のプライベートアドレスに向けて送信すればよい。

※1:ESP ESPではトンネリングや暗号化、認証まで行なうが、暗号技術を民間で利用できない国もある。そのため、認証のみをサポートしたAH(Authentication Header)というプロトコルも用意されている。

(次ページ、「通信相手の認証暗号化と認証・改ざん検知」に続く)


 

前へ 1 2 3 次へ

この連載の記事
ピックアップ