VPN
- Virtual Private Network
- 種類
- インターネットVPN:インターネットアクセス回線を利用するVPN
- IP-VPN:通信業者の提供する閉域網のネットワークを利用するVPN
- インターネットVPNの仕組み
- トンネリング
- パケットに新しいヘッダを付けてカプセル化している
- 暗号化
- データリンク層:L2TP、PPTP
- ネットワーク層:IPsec
- トランスポート層:SSL/TLS(秘密鍵暗号方式+公開鍵暗号方式)
- アプリケーション層:PGP、S/MIME、SSH
- トンネリング
- IP-VPNの仕組み
- MPLS(Multi Protocol Label Switching)
- パケットに「ラベル」と呼ばれる2種類のヘッダ情報を付与する
- 1つ目のラベルは転送経路を示す
- 結果、ルータ側での経路選択処理をする必要がなくなり速くなる
- 2つ目のラベルでユーザーのネットワークを識別する
- ユーザごとの論理的なネットワークを構築でき、暗号化が不要
- 1つ目のラベルは転送経路を示す
- パケットに「ラベル」と呼ばれる2種類のヘッダ情報を付与する
- MPLS(Multi Protocol Label Switching)
- IPsecの仕組み
- トンネリング:中のヘッダやユーザデータもすべて暗号化して、ESP(Encapsulating Security Payload)という独自の制御パケットでカプセル化される
- 通信相手の認証:「事前共有鍵」と呼ばれる同一のパスワードを登録し、トンネル構築時に照らし合わせるのが一般的
- パケットの暗号化:
- 「DES(Data Encryption Standard)」、「3DES」、「AES(Advanced Encryption Standard)」などの共通鍵アルゴリズムを用いて暗号化を行ない、経路上での盗聴や改ざんなどを防ぐ
- これらの共通鍵アルゴリズムを用いる限りは、つねに盗聴の危険性が伴うが、IPsecでは交換される数値がネットワーク上で漏えいしても鍵が復元できない「Diffie-Hellman法」という方式で乱数交換を行い、共通鍵自体をネットワーク上に流さなくとも、暗号化のための鍵を両者で生成できる
- 改ざん検知:「MAC(Message Authentication Code)」という値をパケットに付与することで実現する
- MACはハッシュ関数によって算出されたパケットのダイジェストである
- 受信側はパケットに付けられたMACと、自身が算出したダイジェストを比較することで、悪意の第三者による改ざんの有無を検知できる
- このハッシュの算出に関しては、「MD5(Message Digest 5)」と「SHA(Secure Hash Algorithm)」という2つのアルゴリズムが用意されている
- 設定情報の自動更新
- 実際のトンネルを構築する前に、VPNルータ同士が各種の設定を交換する必要があるが、IPsecでは「IKE(Internet Key Exchange)」というプロトコルを用いて、暗号や認証のパラメータを自動的に交換・更新する
- IKEを使うと、鍵生成に必要な情報が安全に交換され、さらに一定時間が経つと自動的に更新される
- まとめ:IPsecは、拠点間のLAN接続VPNとして利用されるのが一般的。理由はIPsecはトンネル構築するIPを固定化する必要があるため
- リモートアクセスのためのVPN
- PPP(Point-to-Point Protocol)
- SSL-VPN
- SSL-VPNゲートウェアを構築し、認証データベースにアクセスを許可するユーザを登録
- ユーザは接続先のSSL-VPNゲートウェイをURLで指定し、認証する