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

高崎達哉

2005-08-25 10:00

前回は、データを盗聴や改ざんから保護するためのVPNで利用されるプロトコルである、IPSec、PPTP、L2TPの仕組みについて解説した。今回は、前回に引き続き、SSL-VPN、SoftEther、MPLSの仕組みについて解説する。

クライアントレスで手軽にVPNを実現する「SSL-VPN」

 SSL-VPNは、セッション層の暗号プロトコルであるSSL(Secure Sockets Layer)を使用してVPNを実現する仕組みであり、リモートアクセスVPN環境で利用する。SSL-VPNの方式は標準化されたものではないため、製品によってさまざまである。しかし、多くの場合、次の「プロトコル変換方式」、「ポートフォワーディング方式」、「SOCKS over SSL方式」のいずれかである場合が多い。

・プロトコル変換方式

 プロトコル変換方式は、ウェブブラウザからSSL-VPNサーバに対して、HTTPS(HTTP over SSL)を使ってアクセスする。ウェブ画面でのユーザー認証をパスすると、そのユーザーが利用できるリソースへのリンクが画面に表示される。ユーザーがリンクをクリックすると、SSL-VPNサーバは該当する内部サーバに対して代理でアクセスする。内部サーバにアクセスするプロトコルがFTPやWindowsファイル共有(SMB/CIFS)などウェブ以外のプロトコルであれば、その結果をHTTPにプロトコル変換してクライアントに転送する。以上の手続きによって、HTTPに変換できる一部のアプリケーションのみではあるが、HTTPSを使って企業ネットワークに安全にアクセスできる。

・ポートフォワーディング方式

 ポートフォワーディング方式は、最初にSSL-VPNサーバから、HTTP以外のプロトコルにSSLを適用するためのクライアントソフト(ポートフォワーディングソフト)をJavaアプレットやActiveXのような形でダウンロードする。そして、SSL-VPN経由でアクセスするアプリケーションのアクセス先の設定を、ローカルホスト上のポートフォワーディングソフトに送信するように設定し、アプリケーションからのアクセスを受信できるようにする。ポートフォワーディングソフトは、そのアプリケーションプロトコルにSSLを適用し、SSL-VPNサーバに送信する。SSL-VPNサーバでは、受信したアプリケーションプロトコルデータをあらかじめ設定されたサーバに対して転送する。

・SOCKS over SSL方式

 SOCKS over SSL方式は、最初にSSL-VPNサーバにアクセスし、クライアントソフトをJavaアプレットやActiveXとしてダウンロードする。内部サーバにアクセスしようとすると、クライアントソフトがそのアクセスをインターセプトし、図1のようにSOCKSでカプセル化した後、SSLを適用する(SOCKS over SSL)。オリジナルのIPヘッダやトランスポートヘッダ(TCP/UDPヘッダ)は削除されてしまうが、オリジナルのIPアドレスやポート番号を判別するための情報はSOCKSヘッダに格納されるため、パケットを受信したSSL-VPNサーバは転送先の内部サーバを判断することが可能となる。

図1 SOCKS over SSLによってカプセル化されたデータのフォーマット(網掛部は暗号化)

 以上、3つの方式を解説したが、SSL-VPNの最大の強みは、クライアントに特別なソフトを導入する必要がないことである。このため、インターネットカフェのような公衆端末からも利用できる。また、以前は利用できるアプリケーションが限られていたが、最近は技術が進歩し、その制限もなくなりつつある。

レイヤ2レベルでVPNを実現する「SoftEther」

 SoftEtherは、筑波大学の学生である登大遊氏が開発した、リモートアクセスVPN環境で利用されるVPNソフトである。SoftEtherは、いわゆる「イーサ over TCP/IP」という方式によってVPNを実現している。これは、イーサネットフレーム自体をデータとしてTCPを使って配送する方式であり、相手拠点にイーサヘッダも転送されるため、あたかも相手拠点のローカルネットワークに接続されているように使える。

 SoftEtherは「イーサ over TCP/IP」を実現するため、クライアント側に仮想LANカードをインストールする。OSのTCP/IPスタックがイーサフレームを仮想LANカードに渡すと、図2のように、イーサフレーム全体を暗号化し、セッション番号などが書かれた独自ヘッダを付与する。そして、それをTCPのデータとして再度OSのTCP/IPスタックに渡し、インターネット上に送信する。

 SoftEtherでは、使用するTCPのポート番号を自由に設定することができる。例えば、HTTPSと同じ443/TCPにすることも可能で、このようにすると、企業のセキュリティ設定に変更を加えることなく、ファイアウォールやプロキシを超えて通信できるようになる。企業ネットワークのVPNとしてはまだ実用されるケースはは少ないが、三菱マテリアルが商用版を出荷しているため、今後はリモートアクセスVPNの一方式として検討される可能性もある。

図2 SoftEtherによってカプセル化されたイーサフレームのフォーマット(網掛部は暗号化)

閉域網でVPNを実現するMPLS

 MPLS(Multi Protocol Label Switching)は本来、ルータの処理を高速化するために開発された技術である。MPLSはパケットに付与されたMPLSラベルによって転送先を判断する仕組みであり、IPヘッダに含まれるIPアドレスは調べない。このため、MPLSを使う環境下ではプライベートアドレスをIPアドレスにすることができ、MPLSをカプセル化プロトコルとして利用したVPNを実現することができる。しかし、これまでに紹介した方式と異なり、パケットを配送する網では、各ルータがMPLSラベルによってスイッチング処理を行う必要があるため、インターネットを利用することはできない。ISP(プロバイダ)が保有するMPLS網を利用したIP-VPNサービスを利用することになる。

 ISPのMPLS網は、エッジ(境界)のルータにおいて、図3のようにユーザーの拠点から送信されてきたIPヘッダに2つのシムヘッダを付与する。このシムヘッダにはMPLSラベルが記述されている。外側のシムヘッダには出口となるエッジ・ルータまでの転送経路を示すラベルが記述されている。MPLS網はこのラベルを見て転送先を判断する。2つ目のシムヘッダにはユーザーを示すラベルが記述されている。MPLSではデータの暗号化は実施しないが、スイッチング処理によって他のユーザーのネットワークにパケットが転送されないようにしているため、機密性を確保できる。

図3 MPLSが適用されたIPパケットのフォーマット

 以上、2回に分けて、VPNを実現するプロトコルについて解説してきた。VPNを実現するプロトコルには様々なものがあるが、それぞれの仕組みの違いによって、VPNとしての機能や管理の容易さなどの違いが出てくる。特徴を良く理解し、最適な方式を検討して欲しい。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    初心者にも優しく解説!ゼロトラストネットワークアクセスのメリットと効果的な導入法

  2. ビジネスアプリケーション

    改めて知っておきたい、生成AI活用が期待される業務と3つのリスク

  3. セキュリティ

    「iPhone」の業務活用を促進!セキュリティ対策で必ず押さえておきたいポイントとは?

  4. ビジネスアプリケーション

    Google が推奨する生成 AI のスタートアップガイド、 AI を活用して市場投入への時間を短縮

  5. セキュリティ

    「2024年版脅威ハンティングレポート」より—アジアでサイバー攻撃の標的になりやすい業界とは?

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]