Edited at

様々なVPNの比較(IPsec-VPN,SSL-VPN)


背景


  • 仕事でAWSとクライアントが使用しているエントリーVPNとを接続する必要がありました。その際に社内でエントリーVPNなのに専用線と言う人もいて、インターネットVPN以外を総じて専用線と言ってしまっているのではないかと思いました。加えて、プライベートネットワークとして用いられる方法にどういうものがあるのか、ネットワークスペシャリスト試験の勉強をしている中で整理しておきたかったのでまとめてみました。


VPNの種類


  • 一口にVPNと言っても様々な種類があります。プライベートネットワークとして使われる専用線、広域イーサネットも含めた比較を表にしました。



 
回線
技術等
アクセス回線
レイヤ
プロトコル


専用線
専用線
-
-

レイヤ2


IP以外も可



広域イーサネット

閉域網

VLAN
MPLS

PBB 等

多種多様
(高速デジタル専用線

Ethernet専用線
ATM専用線
フレッツ等)



IP-VPN

MPLS


レイヤ3


IPのみ
(カプセル化によりIP以外も可)



エントリーVPN
ADSL、FTTH等


インターネットVPN
インターネット
-
-



 
帯域
構築
製品例


専用線

ギャランティ型
(帯域を確保)

専用線を引く

Arcstar Universal One

 
 
 


広域イーサネット

閉域網を利用するので、各社サービスを利用

 
 
 


IP-VPN
Arcstar IP-VPN
フレッツ・VPNゲート

FENICSビジネスVPNサービス



エントリーVPN

ベストエフォート型
(トラフィック状況により変化)

 
フレッツ・VPNワイド


インターネットVPN
VPNルータを調達できれば個人でも可能
 
 
 


VPNで用いられるトンネリングプロトコル


  • VPNはトンネリングプロトコルの視点からとリモートアクセスVPNの方法の視点からの2つの視点から整理すると分かりやすいと思います。まずは、トンネリングプロトコルから。




プロトコル
暗号化


レイヤ2
PPTP
しない


L2TP
しない


レイヤ3
GRE
しない


IP in IP
しない


IPsec
できる


  • この中で、IPsecだけ暗号化も行うことができます。(ESPを用いた場合)

  • 暗号化を行わない他のプロトコルとIPsecを組み合わせて使う場合もあります。この場合、IPsecはトンネリングを行わないトランスポートモードとして用いられることが多くなります。


    • L2TP over IPsec(eg. H28.午後I問2, H28.午後II問2)

    • GRE over IPsec(eg. H30.午後I問3, H28.午後II問2)

    • IP in IP と IPsec(eg. H29.午後I問3)




リモートアクセスVPNの二つの方法


  • IPsec-VPNとSSL-VPNの二種類があります。SSL-VPNはRFCで定義されたプロトコルではありませんが、良く使われます。


IPsec-VPN


IPsecにおけるトランスポートモードとトンネルモード


  • IPsecにはトランスポートモードとトンネルモードがあります。一般的に、トランスポートモードは端末間での通信、トンネルモードはルータ間での通信に用います。

  • トンネリングはL2TPやGREなどで行うという場合は、IPsecではトンネリングは行わずに暗号化だけを行うトランスポートモードとして利用することもあります。

  • 暗号化範囲はトランスポートモードではTCP/UDPヘッダからESPトレイラ、トンネルモードではIPヘッダも暗号化します。暗号化することで盗聴に備えることができます。

  • 認証範囲は、どちらもESPヘッダからESPトレイラです。ここでいう認証とは、メッセージ認証のことで、受け取ったパケットが改ざんされていないかを検知できます。


    • ネットワークスペシャリスト試験では、「認証」ということばが2つの意味で出て来ます。ひとつは通信相手の認証という意味での認証。もう一つが、今回のメッセージ認証です。メッセージを認証するためのコードをMAC(Message Authentication Code)と呼びます。MACアドレスのMACとは違う意味なので注意が必要です。



モード名称
NWヘの適用例
暗号化範囲
認証範囲
トンネリング
パケット例

トランスポートモード
端末間
TCP/UDPヘッダ〜ESPトレイラ
ESPヘッダ〜ESPトレイラ
しない

トンネルモード
ルータ間
IPヘッダ〜ESPトレイラ
ESPヘッダ〜ESPトレイラ
する


IPsecで用いられるプロトコル


  • IPsec-VPNでは、IKE、ESP、AHの3つのプロトコルが用いられます。IKEは暗号化通信を行う前の前段階で用いられる、通信相手の認証のためのプロトコルです。IKEはIPsecにおいて必須ではないですが、VPNでIPsecを用いる場合は鍵交換においてIKEを利用することが多いです。

  • ESPは暗号化・認証を行い、AHは認証のみを行います。旧番のIPsecではESPに認証は規定されていなかったため、AHがありましたが、今はESPにも認証機能があります。


    • 繰り返しになりますが、ここでいう認証とはメッセージ認証です。IKEは通信相手の認証です。



プロトコル名
用途
ポート番号
IPプロトコル番号

IKE
鍵交換プロトコル(IPsec通信を行う前に、IPsec接続先と認証を行う)
500(UDP)
-

ESP
暗号化・認証
-
50

AH
認証のみ(暗号化はしない)
-
51


IPsecの通信手順


  • IPsecの通信を安全に行うために、IKEプロトコルで鍵交換を行います。IKEには、フェーズ1とフェーズ2があり、その後の実際の暗号化通信も合わせて、3つの手順に分けられます。


  • 【IKE】フェーズ1(ISAKMP SAの確立)※ SA: Security Association


    • フェーズ2で使う共通鍵を事前につくる(事前共有鍵)。

    • また、フェーズ2で用いる暗号化アルゴリズムも決定する。

    • フェーズ1には、事前共有鍵の作り方が異なるメインモードとアグレッシブモードの2つのモードがある。

      メインモード
      事前共有鍵の割り当てにIPアドレスを用いる

      アグレッシブモード
      事前共有鍵の割り当てに利用者のIDなど運用者が独自に設定したIDを用いる

      ※ フェーズ1における認証には、事前共有鍵のほか、デジタル署名、公開鍵暗号、改良型公開鍵暗号の4つの方式がある。





  • 【IKE】フェーズ2(IPsec SAの確立)


    • フェーズ1で作成した事前共有鍵を用いてIPSecによる暗号化通信で用いる暗号化アルゴリズム(例:3DES, AES)や認証アルゴリズム(例:MD5, SHA-1)を決定する。

    • フェーズ1で確立されたISAKMP SA上でやりとりされているので、暗号化されている。



  • 【ESP】IKEのフェーズ2で確立されたIPsec SA上でESPプロトコルを使ってIPsec通信が行われる。



SSL-VPN1 2


  • SSL/TLS(HTTPS)を用いてリモートアクセスVPNを実現します。

  • SSL-VPNの方式には、「リバースプロキシ」「ポートフォワーディング」「L2フォワーディング」の3つがあります。それぞれ、実現方法が異なり、使用用途に制限があります。

実現方法
SSL確立
仕組み
用途の制限

リバースプロキシ
Webブラウザを用いて、リモートアクセス端末とVPN装置間でSSLを確立。
Webブラウザでリモートアクセス端末のユーザ認証
Webブラウザ上で動作するアプリケーションしか使用できない

ポートフォワーディング
WebブラウザからJavaアプレットなどのモジュールが自動でダウンロードし、モジュールがSSLを確立
ポート番号がHTTPSのポート番号(一般的には443)でないアプリケーションを、HTTPSのポート番号に変換。企業イントラネット内で使えるサーバのポート番号をVPN装置に定義する
通信中にポート番号が変わるアプリケーションは使えない。
例)FTP(アクティブモード)、MSN Messanger でのファイル転送1

L2フォワーディング
SSL-VPNクライアントソフトウェアをインストールする。
アプリケーションのデータをHTTPのパケットに入れてカプセル化し、SSL で暗号化。
全てのアプリケーションを使用できる。


演習


1. インターネットVPNを実現するために用いられる技術であり,ESP(Encapsulating Security Payload)やAH(Authentication Header)などのプロトコルを含むものはどれか。(H26S-SC-問20,H23特-SC-問18)


  • ア IPsec

  • イ MPLS

  • ウ PPP

  • エ SSL


2. VPNでセキュアなプロトコルであるIPsec, L2TP, TLSの、OSI基本参照モデルにおける相対的な位置関係はどれか。A〜Dから選べ。(H29S-AP-AMII-問45)

上位層(アプリケーション層)
A
B
C
D


IPsec
IPsec
TLS
TLS


L2TP
TLS
IPsec
L2TP

下位層(物理層)
TLS
L2TP
L2TP
IPsec


3. IPsecに関する記述のうち、適切なものはどれか。(H30-NW-問19,H28A-SC-問15,H27S-SC-問9)


  • ア IKEはIPsecの鍵交換のためのプロトコルであり、ポート番号80が使用される。

  • イ 暗号化アルゴリズムとして,HMAC-SHA1が使用される。

  • ウ トンネルモードを使用すると,暗号化通信の区間において,エンドツーエンドの通信で用いる元のIPのヘッダを含めて暗号化できる。

  • エ ホストAとホストBとの間でIPsec通信を行う場合,認証や暗号化アルゴリズムを両者で決めるためにESPヘッダではなくAHヘッダを使用する。


4. 図はIPv4におけるIPsecのデータ形式を示している。ESPトンネルモードの電文中で,暗号化されているのはどこか。(H24-NW-問12)


  • ア ESPヘッダからESPトレーラまで

  • イ TCPヘッダからESP認証データまで

  • ウ オリジナルIPヘッダからESPトレーラまで

  • エ 新IPヘッダからESP認証データまで


5. IPv6において,拡張ヘッダを利用することによって実現できるセキュリティ機能はどれか。(H28A-AP-問36)


  • ア URLフィルタリング機能

  • イ 暗号化機能

  • ウ ウイルス検疫機能

  • エ 情報漏えい検知機能


6. IPv6においてIPv4から仕様変更された内容の説明として,適切なものはどれか。(H27-NW-問9,H22-NW-問11)


  • ア IPヘッダのTOSフィールドを使用し,特定のクラスのパケットに対する資源予約ができるようになった。

  • イ IPヘッダのアドレス空間が,32ビットから64ビットに拡張されている。

  • ウ IPヘッダのチェックサムフィールドを追加し,誤り検出機能を強化している。

  • エ IPレベルのセキュリティ機能(IPsec)である認証と改ざん検出機能のサポートが必須となり,パケットを暗号化したり送信元を認証したりすることができる。


7. MPLSの説明として,適切なものはどれか。(H28-NW-問9)


  • ア IPプロトコルに暗号化や認証などのセキュリティ機能を付加するための規格である。

  • イ L2FとPPTPを統合して改良したデータリンク層のトンネリングプロトコルである。

  • ウ PPPデータフレームをIPパケットでカプセル化して,インターネットを通過させるためのトンネリングプロトコルである。

  • エ ラベルと呼ばれる識別子を挿入することによって,IPアドレスに依存しないルーティングを実現する,ラベルスイッチング方式を用いたパケット転送技術である。


8. [ オ ]に入れる適切な字句を答えよ。(H29-NW-PMI-問1-設問1)


  • SSL-VPNの基本的な動作には[ オ ],ポートフォワーディング,L2フォワーディングの3方式がある。


9. 以下の文を読み,問いに答えよ。(H30-NW-PMI-問3抜粋)


  • IP-VPNは通信事業者が運営する閉域IPネットワーク(事業者閉域IP網)を利用者のトラフィック交換に提供するサービスである。

  • IP-VPNは①事業者閉域IP網内で複数の利用者のトラフィックを中継するのに,RFC3031で規定された方式が用いられる。

  • 利用者のネットワークと事業者閉域IP網との接続点において,利用者が設置するCE(Customer Edge)ルータから送られたパケットは,通信事業者のPE(Provider Edge)ルータで[ ア ]と呼ばれる短い固定長のタグ情報が付与される。

  • 事業者閉域IP網内では,②タグ情報を参照して中継され,[ ア ]は対向の[ イ ]で取り除かれる。

  • IPsecは,暗号技術を利用してノード間通信を行うためのプロトコルであり,IPパケット通信の完全性・気密性を確保する。

  • IPsecはOSI基本参照モデルの[ ウ ]レイヤで動作する。


    • 問1. ア〜ウに入れる適切な字句を答えよ。

    • 問2. ①について,IP-VPNサービス提供のために事業者閉域IP網内で用いられるパケット技術を答えよ。

    • 問3. ②について,事業者閉域IP網内の利用者トラフィック中継処理において,タグ情報を利用する目的を25字以内で述べよ。




演習問題解答例


  1. 答えばです。特に解説するまでもありませんね。


  2. 答えはCです。L2TPはレイヤ2のプロトコル、IPsecはレイヤ3のプロトコルです。L2TPはL2とありますし、IPsecはIPとあるのでレイヤ3(ネットワーク層)であるというのはわかりやすいですね。TLSはHTTPSで使用していますが、HTTPSはTCPプロトコルを用い、ポート番号を443用いることからわかるように、レイヤ4(トランスポート層)です。


  3. 答えはです。

    アでは、ポート番号80が間違いです。IKEはポート番号500を用います。ポート番号に関しては「ネットワークスペシャリスト試験で出題されがちなポート番号まとめ」もご覧ください。

    イは間違いです。HMAC-SHA1は暗号化アルゴリズムではりません。IPsecでメッセージ認証(改ざんの検知)で用いられていたハッシュ関数です。SHA1やSHA256というのはハッシュ関数の名称です。ハッシュ関数とは、あるデータが与えられた時に任意の固定長の文字列に変換する関数で、ハッシュ関数で得られた値を比較することで、送られたデータが改ざんされていないかを確認することができます。

    ウは正解です。暗号化範囲に関しては、この記事で記述した通りです。

    エは間違いです。AHは認証のみで暗号化アルゴリズムは用いられません。


  4. トンネルモードですので、暗号化範囲はIPヘッダ〜ESPトレイラです。暗号化範囲はESPヘッダの次から、認証範囲は、ESPヘッダからとしっかりと覚えておきましょう。



  5. 正解はです。IPsecは何もインターネットVPNのためだけの技術ではありません。その役割は、認証と暗号化です。IPv6はIPsecのサポートが必須となっています。IPv4に比べ、セキュリティ機能が強化されているわけです。IPv6において、IPヘッダは40バイトと固定長で、IPsecのヘッダはIPヘッダには入ってきません。IPv6には、拡張ヘッダというものがあり、ここにIPsecに関する情報が入ってきます。


  6. 正解はです。4で説明した通り、IPv6はIPsecのサポートが必須です。

    ア. TOSフィールドはIPv4のヘッダに含まれるもので、IPv6にはありません。

    イ. IPv6は128ビットです。IPv6は例えば、省略せずに書くと、2001:0db8:1234:5678:90ab:cdef:0000:0000といった形で表記されます。16進数4つで構成されたブロックが8つあります。16進数1文字は何ビットでしょうか?15は二進数で表すと1111になります。すなわち、16進数一文字は4ビットということです。4x4x8=128で128ビットと覚えましょう。

    ウ. チェックサムフィールドもIPv4のヘッダに含まれるもので、IPv6にはありません。


  7. 正解はです。MPLSはラベルと呼ばれる識別子を利用してパケットがどの利用者のものであるかを区別します。

    ア. IPSecの説明です。暗号化はESP、認証はESPおよびAHが担います。

    イ. L2TPの説明です。L2TPはL2Fの前2文字とPPTPの後ろ2文字を合わせた略称なので覚えやすいですね。MPLSはレイヤ3の技術なので、データリンク層ではありません。

    ウ. PPTPの略です。この問題でレイヤ2のトンネリングプロトコルが3つ出てきました。L2F、PPTP、そしてその二つを統合したL2TPはしっかりと覚えておきましょう。L2Fは現在ではほとんど使われることはありませんが、L2TPを覚える過程で頭に入ってくると思います。


  8. リバースプロキシが入ります。SSL-VPNには3種類の実現方法があるという旨は本記事の通りです。リバースプロキシは利用できる用途に最も制限がある実現方法になります。


  9. 問1 ア IP-VPNはMPLSという技術が用いられています。MPLSの基本的な技術について問われています。答えはラベルです。MPLSがMulti-Protocol Label Switchingの略であるということを知っていれば、容易い問題だったと思います。

    イ ラベルはどこで取り除かれるのかを問われています。事業者閉域IP網内をラベルをつけてどの利用者のものかを判別します。したがって、PEルータになります。CEルータやPEルータを知らない人でも、本文を読めば回答が導き出せる問題になっています。

    ウ 答えはL3(ネットワーク)です。これは基本的な問題です。

    問2. 問1アで説明した通り、答えはMPLSです。

    問3. まだIPAの正解が出ていないので、現状での私の回答ですが、「パケットがどの利用者のものであるかを識別するため」(25字)としました。

    (追記)IPAの解答例は、「利用者ごとのトラフィックを区別するため」(19字)となっていました。



参考


  • より深く理解するためには、ネットワークスペシャリストの過去問を解くことをお勧めします。以下に過去の出題をまとめました。特に、午後Iの出題は技術を問うものが多いのでお勧めです。

H22
H23
H24
H25
H26
H27
H28
H29
H30

IP-VPN

PMI-問3

L2TP over IPsec

PMI-問2
PMII-問2

GRE over IPsec

PMII-問2

PMI-問3

IP in IP とIPsec

PMI-問3

IPSec-VPN
PMII-問2

SSL-VPN
PMII-問2

PMI-問13

PMII-問24

PMI-問1

  • 演習問題解答例
  • 参考