[[ネットワーク講座]] > VPN

#contents

#html{{
<table><tr>
<td width="33%">

<table border="0" cellpadding="5"><tr><td valign="top">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4048676059/sagasite-22/"><img src="http://ecx.images-amazon.com/images/I/51i-Wq5e2GL._SL160_.jpg" border="0"></a>
</td>
<td valign="top">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4048676059/sagasite-22/">すっきりわかった!VPN 改訂版 (すっきりわかったBOOKS)</a>
<br>
ネットワークマガジン編集部<br>
アスキー・メディアワークス<br>
2009-03-02<br>
<font color="orange">★★☆☆☆</font>
</td></tr></table>

</td>
<td width="33%">

<table border="0" cellpadding="5"><tr><td valign="top">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822267687/sagasite-22/"><img src="http://ecx.images-amazon.com/images/I/51c1p3-Q21L._SL160_.jpg" border="0"></a>
</td>
<td valign="top">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822267687/sagasite-22/">ヤマハルーターで挑戦 企業ネットをじぶんで作ろう</a>
<br>
谷山 亮治<br>
日経BP社<br>
2011-06-21<br>
</td></tr></table>

</td>
<td width="33%">

<table border="0" cellpadding="5"><tr><td valign="top">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4899771673/sagasite-22/"><img src="http://ecx.images-amazon.com/images/I/4173RWCS8PL._SL160_.jpg" border="0"></a>
</td>
<td valign="top">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4899771673/sagasite-22/">OpenVPNで構築する超簡単VPN入門―Windows/Mac OS X/Linux対応</a>
<br>
ケイズプロダクション<br>
ラトルズ<br>
2006-09<br>
<font color="orange">★★★★☆</font>
</td></tr></table>

</td>
</tr></table>
}}

* VPN [#nc09b677]
[[VPN]](Virtual Private Network)は、公共ネットワークの中で、仮想的な専用線を作る技術。

- 専用線は、セキュリティと通信速度の点で、公共ネットワーク(インターネット)よりも優れているが、通信コストが高い。
- VPNは、専用線の代替として、公共ネットワークを仮想的に専用化し、通信コストを安くする用途で使われる。

** VPNの種類 [#u20f025f]
http://itpro.nikkeibp.co.jp/article/COLUMN/20060922/248777/
「どこにVPNを通すか」「どんな技術を使って構築するか」によって分けられる。

CENTER:''VPNの種類''
| 伝送路 | 名称 | 使う技術 | 名称 |h
| インターネット | [[インターネットVPN]] | [[SSL]] | [[SSL-VPN]]|
|~|~| [[IPsec]] | [[IPsec-VPN]] |
| 通信業者の広域IP網 | [[IP-VPN]] | [[MPLS]] | [[MPLS-VPN]] |

** インターネットVPN [#z57997ab]
- 伝送路 = インターネット

|メリット|デメリット|h
| 通信費が安い | 通信帯域は保証されない |
| 手軽=インターネットにアクセスできる環境なら、どの[[ノード]]からもVPNが使える | 面倒=基本的に、設定はユーザー自身が行う |

*** IPsec-VPN [#tba136aa]
- 認証と暗号化に[[IPsec]]を使うインターネットVPN。
- 固定的な拠点間を結ぶのに最適。(東京支店と大阪支店を結ぶ、など)

*** SSL-VPN [#nff2c005]
- 認証と暗号化に[[SSL]]を使うインターネットVPN。
- リモートアクセスで使うのに最適。(社外のノートPCと東京本社を結ぶ、など)

** IP-VPN [#dfd8c67e]
- 伝送路 = 通信業者の広域IP網

|メリット|デメリット|h
| 帯域が保証されている、保守サービスがある | 通信費が高い |

*** MPLS-VPN [#hcda7848]
- [[MPLS]]を使うIP-VPN。
- 固定的な拠点間を結ぶのに最適。(東京支店と大阪支店を結ぶ、など)

* VPNの基本構成 [#la8963fd]
VPNの基本は、[[トンネリング]]+暗号化+[[認証]]の機能を提供すること。
http://fenics.fujitsu.com/products/ipcom/catalog/data/2/1.html

- [[トンネリング]] … VPNソフトやVPNゲートウェイの間で、データのカプセル化を行い、仮想的な経路を作る。
- 暗号化 … 伝送路の途中で、通信内容を盗聴されないようにする。
- [[認証]] … 成りすましによる不正アクセスを防ぎ、データ改ざんの有無を検出する。

* VPNの2つのモード [#a28d2f67]
VPNには、[[トランスポートモード]]と[[トンネルモード]]という、2つのモードがある。

- 伝送路の範囲によって、[[IPパケット]]の加工方法(カプセル化の方式)を選択できる。
- [[ルータ]]を超える、ネットワーク間のVPNは、[[トンネルモード]]を選ぶ。
- 社内LANなど、ホスト間のVPNで暗号化の必要がない場合は、[[トランスポートモード]]も選べる。

| 通信モード | ネットワークへの適用例 |h
| [[トランスポートモード]] | [[IPsec]]が実装された&color(red){ホスト間};での[[IPsec-VPN]] |
| [[トンネルモード]] | [[IPsec]]が実装された&color(red){ルータ間};での[[IPsec-VPN]] |
CENTER:[[IPsec - トランスポートモード・トンネルモード ->http://www.infraexpert.com/study/ipsec6.html]]

** トランスポートモード [#vff33701]
[[トランスポートモード]]では、通信を行う端末([[ノード]])が、直接データの暗号化を行う。

- トランスポートモードでは、すべての端末に、VPNソフトをインストールする必要がある。
- データ([[ペイロード]])は暗号化される。
- [[IPヘッダ]]は暗号化されず、そのまま。 → 不正アクセスの可能性あり。

** トンネルモード [#ef5c915f]
[[トンネルモード]]では、VPN[[ゲートウェイ]]を設置して、暗号化を行う。

- トンネルモードでは、端末にVPNソフトのインストールは不要。VPNゲートウェイによって、透過的な通信が可能。
- IPヘッダもデータ(ペイロード)も暗号化される。
- VPNゲートウェイが、新たなIPヘッダを追加する。
(=逆に言えば、VPNゲートウェイを通過しないLAN内の通信は暗号化されない、という欠点もある。)

* VPNを実現するプロトコル [#dc1693af]
[[VPN]]で利用される[[プロトコル]]には、
- [[SSH]]
- [[TLS]]
- [[SSL]]
- SoftEther
- [[IPsec]]
- [[PPTP]]
- L2TP
- L2F
- [[MPLS]]
などがある。

現在、多く使われているのは、[[IPsec]]と[[PPTP]]である。
- [[IPsec]]は、[[ネットワーク層]](L3)のプロトコル
- [[PPTP]]は、[[データリンク層]](L2)のプロトコル

** IPsec [#q28297bc]
- [[IPsec]]は、[[IP]]レベル(L3)で[[トンネリング]](暗号化、[[認証]]、改ざんの検知)を行うプロトコル。
- IPv4ではオプション仕様だが、IPv6では標準仕様として採用されている。
- IPsecを採用するメリットは、従来IPを利用してきた機器を、大きく変更することなく、透過的に利用できること。

** IPsecの通信手順 [#z0ff3e72]
IPsecの通信には、[[IKE]]フェーズと[[IPsec]]フェーズという2段階がある。
- [[IKE]]フェーズ … 準備の段階。暗号化方法と鍵の[[ネゴシエーション]]を行う。
- [[IPsec]]フェーズ … 本番の段階。暗号化されたデータのやりとりを行う。

CENTER:&ref(ipsec02.gif);
>https://www.fmmc.or.jp/fm/nwts/nwmg/keyword02/vpn/ipsec.htm
IPsec通信のスタート

*** セレクタとは? [#l5c17848]
IPsecでは、まずIPsecを適用する条件と方法を定義する。
「Aの条件に合致したら、B方式でIPsec通信を確立する」といったもので、この定義を&color(red){セレクタ};という。
PCやルータ、VPNゲートウェイなどの[[ノード]]は、パケットに対してセレクタを適用し、合致した場合はそこで定義されている方法によってIPsec通信を行う。

*** SA(セキュリティ・アソシエーション)とは? [#ad4f06b0]
IPsec通信を行う場合、各[[ノード]]は、[[SA]](セキュリティ・アソシエーション)という&color(red){仮想的な通信路};(トンネル)を作成する。

*** IKEフェーズ [#d5e43db8]
- 最初に、[[IKE]]フェーズ用の[[SA]](IKE SA)が作られる。
- IKE SAを通して、暗号化方式の決定と鍵の生成・交換が行われる。
- IKEフェーズでは、公開暗号鍵が使われる。

*** IPsecフェーズ [#c9dbf43a]
- 次に、IPsecフェーズ用の[[SA]](IPsec SA)が作られる。
- IPsec SAは、送信用と受信用が別々に作られる。
- IPsecフェーズでは、共通暗号鍵が使われる。

(参考) http://itpro.nikkeibp.co.jp/article/COLUMN/20071012/284403/

CENTER:&ref(ipsec_zu1.jpg);

CENTER:&ref(ipsec_zu2.jpg);

*** ESP [#bb5c0ee8]
IPsecで使われるセキュリティプロトコル(フレームフォーマット)が[[ESP]](Encapsulation Secrity Payload)。

ESPには、
- 暗号化に必要なSPI情報
- 着信時にヘッダ情報を検証するためのIPヘッダ([[トンネルモード]]時)
- [[ノード]]の認証と改ざん検出を行うための認証データ
が挿入される。

ESPの認証データは、メッセージダイジェストによって構成される。

*** AH [#n615238f]
IPsecには、[[AH]](Authentication Header 認証ヘッダ)というセキュリティプロトコル(フレームフォーマット)もある。
(ESPがよく使われており、AHはあまり使われない。)

- AHは、認証と改ざんの検出を行う。(ESPと違って、暗号化はしない。)
- AHは、ESPと組み合わせて使うこともできる。
- AHヘッダには、[[IPヘッダ]]とデータ部分([[ペイロード]])から作られたICV(Integrity Check Vector)と呼ばれるチェックサムが含まれており、改ざんを検出できる。

** IPsecの動作モード [#t9e49c5d]
IPsecには、[[メインモード]]と[[アグレッシブモード]]という2つの動作モードがある。

- メインモードは、LAN間接続
- アグレッシブモードは、リモートアクセス
での利用を想定している。

*** メインモード [#e76233d0]
メインモードは、通信相手の認証にIPアドレスを使う。
そのため、IPアドレス固定の環境で使う。

*** アグレッシブモード [#xed72a81]
アグレッシブモードは、通信相手の認証は任意の情報を用いることができる。
そのため、DHCP等でIPアドレスが変更される環境でも使える。

** PPTP [#e652570d]
- [[PPTP]](Point to Point Tunneling Protocol)は、マイクロソフトが作ったプロトコル。
- [[データリンク層]]で、暗号化や認証、改ざんの検出を行う。
- そのため、上位層の[[ネットワーク層]]で[[IP]]以外のプロトコルを利用していて、[[IPsec]]が使えない環境でも[[VPN]]を構築できる。

PPTPでも、IPsecのIKEフェーズのように、データ通信に先立って各種の[[ネゴシエーション]]を行う。

CENTER:''PPTPのネゴシエーション''
| 認証 | MS-[[CHAP]](Microsoft Challenge Handshake Authentication Protocol) |
| 暗号化 | MPPE(Microsoft Point to Point Encryption) |

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS