未分類

インターネット VPN の基礎知識

インターネット VPN (Virtual Private Network) についてまとめています。VPN を構築すると、インターネット上に仮想の専用ネットワークを作成することです。次のような接続が可能です。

  • WAN  (Wide Area Network) : 拠点間の LAN (Local Area Network) 同士を接続
  • リモートアクセス : 外出先のパソコンから拠点の LAN に接続

インターネット VPN が登場する前は通信事業者が専用線を貸し出して専用のネットワークを構築していました。しかし、この方法は非常に高価です。インターネット VPN を使用すると、安価に専用線を構築することができます。

VPN を構築する際に必要な機能

  • カプセル化 (トンネリング)
  • 暗号化
    データは分離されていますが、平文でデータを流すのは危険なため、盗み見られないように暗号化します。
  • 認証
    データの改竄を防ぐメッセージ認証と、通信相手を認証する接続先認証があります。

VPN の種類

インターネット VPN には次のような種類があります。用途に合わせてこの中から選択します。

  • PPTP
  • L2TP/IPsec
  • IPsec
  • SSL-VPN

PPTP (Point to Point Tunneling Protocol)

マイクロソフトが中心に開発を行い、Windows が標準で対応している VPN プロトコルです。Windows 2000 以降のバージョンでは PPTP クライアント、PPTP サーバーの両方に対応していますので、追加費用なしで VPN を構築できます。

「OSI」

第 2 層で動作します。

「カプセル化」

GRE (Generic Routing Encapsulation) を使用して、PPTP フレームをカプセル化します。

「暗号化」

  • RC4 (Rivest Cipher 4)

「認証方式」

  • PAP (Password Authentication Protocol)
  • CHAP (Challenge Handshake Authentication protocol)
  • MS-CHAP

L2TP/IPsec (Layer 2 Tunneling Protocol/IPsec)

シスコが開発した L2F (Layer 2 Forwarding) と PPTP を組み合わせた VPN プロトコルです。但し、暗号化機能が実装されていないため、L2TP 単体では使われません。IPsec とともに使われます。このプロトコルも Windows に標準搭載されています。

IPsec (IP security)

VPN を構築するために使われるプロトコルです。LAN 間接続には VPN ゲートウェイ (IPsec 対応ルータ) が必要です。リモートアクセスには IPsec 対応のソフトウェアウェアをクライアントパソコンにインストールします。

次のヘッダーがあります。(カプセル化)

  • AH (Authentication Header)
    認証機能のみ
  • ESP (Encapsulation Security Payload)
    認証と暗号化機能

次の通信モードがあります。(暗号化と認証)

  • トランスポートモード
    データ部分のみを認証・暗号化
  • トンネルモード
    ヘッダとデータの全体を認証・暗号化

これらのヘッダーと通信モードの組み合わせは 4 種類ありますが、一般的には ESP トンネルモードが使用されます。これはカプセル化・暗号化・認証のすべての機能がそろっているためです。

トンネルモードでの通信を SA (Security Association) と言います。この際に使用される共通鍵を交換するために IKE (Internet Key Exchange) を使用します。 IKE により暗号化と認証が行われます。

IPsec で使用される共通鍵は定期的に更新されます。この処理をリキー (Re-Key) と言います。IKE で事前共有鍵の設定を行って認証する方式をメインモードと言います。IKE は Diffie-Hellman 鍵交換という方法により行われています。

SSL-VPN (Secure Socket Layer-VPN)

主にリモートアクセスに使用されるプロトコルです。接続される LAN 側には SSL-VPN 装置を設置します。接続するクライアントパソコン側は SSL をサポートするブラウザを使用します。そのため、クライアント側に専用のソフトウェアをインストールする必要はありません。このため、クライアント側の環境設定はほとんど必要ありませんが、VPN で使用できるアプリケーションは SSL 対応ブラウザで動作するものに限定されます。しかしながら、SSL-VPN は各メーカーで独自の機能が実装されており、ActiveX などを活用することで使用できるアプリケーションが増えて場合もあります。

通常 SSL-VPN 装置は DMZ (DeMilitarized Zone) に設置され、SSL 対応ブラウザと SSL-VPN 装置間の通信は暗号化されます。LAN 内のクライアントと SSL-VPN 装置間の通信は暗号化されません。

「その他」

  • OSI 参照モデル 第 5 層 (ネットワーク層) で動作します。

カプセル化 (トンネリング)

他の通信と分離することです。専用のトンネルを作り、その中にデータを流すイメージです。実際の通信はパケットと呼ばれる細切れのデータです。これを別のパケットで包むことにより中のデータが見えないようにします。プロトコルの名前に Tunneling が使われることが多いのでトンネリングとも呼ばれますが、実際のデータはカプセルで包まれたイメージになりますので、カプセル化といった方があっています。

暗号化技術

カプセル化したデータは単にインターネット上のデータを区別するだけの技術です。データが抜き取られ、カプセルが外されるとデータが見られてしまいます。そのために暗号化が必要になります。

「共通鍵暗号 (秘密鍵暗号)」

データの送信側と受信側が同じ鍵を使って暗号化と復号化を行います。鍵は秘密にしておく必要があります。そのため、秘密鍵暗号とも呼ばれます。次の方式があります。

  • DES (Data Encryption Standard)
  • 3DES (トリプル DES)
  • AES (Advanced Encryption Standard)
  • RC4 (Rivest Cipher 4)

「公開鍵暗号」

データを暗号化する鍵と、復号化する鍵を使用します。次の方式があります。

  • RSA (Rivest, Shamir, Adleman)

「ハイブリッド暗号」

鍵の交換に公開鍵暗号を使用し、実際のデータ送受信に共通鍵暗号を使用します。これは公開鍵暗号の処理は負荷が高いためです。

メッセージ認証

送信されたデータの改竄を検出する技術です。

  • ダイジェスト認証 MD5 (Message Digest Algorithm 5)
    16 進数で 32 桁 (128 ビット) です。
  • ダイジェスト認証 SHA-1 (Secure Hash Algorithm-1)
    16 進数で 40 桁 (160 ビット) です。
  • メッセージ認証付き鍵ハッシュ HMAC (Key-Hashing for Message Authentication)
    共通鍵を含めてデータを暗号化してからハッシュ関数でダイジェストを作成します。このダイジェストを MAC (Message Authentication Code) と言います。
  • RSA デジタル署名
    SSL-VPN で使用されます。

ダイジェスト作成にはハッシュ関数が使用されます。ハッシュ関数の特徴は次の 2 つです。

  • ダイジェストから元のデータが作成できない。
  • 異なるデータから同じダイジェストは作成されない。
  • 少しでもデータが変わると、ダイジェストが大きく変わります。

接続先認証

通信相手を確認する方法です。次の方式があります。

  • 事前共有鍵 (Pre-Shared Key)
    接続するお互いの VPN ゲートウェイに設定します。
  • RSA デジタル署名
    公開鍵と秘密鍵を比較することにより認証を行います。

 

-未分類