VPN

VPN(Virtual Private Network)について説明したページです。

VPNの必要性やトンネリング、ルーティング時の留意点や暗号化について説明しています。

VPNとは

インターネットを介して自宅のパソコンから会社のネットワークを使う時、または事業所間で通信する時は何点かの課題があります。

例えば、接続先のネットワークについてDNSを解決する必要がありますが、内部ネットワークのアドレスについては通常はインターネットからDNSの解決ができません。

インターネットから接続時のDNS問題

また、接続先がプライベートアドレスを使っている場合はDNSを解決できてもインターネットを介した通信はできません。

インターネットから接続時のプライベートアドレス問題

さらに、グローバルアドレスを使っていてDNSも解決できたとしても、誰でも内部ネットワークに通信できるとセキュリティ上問題です。

これらの問題を解決するのがVPNです。VPNを利用すると、認証後に接続先ネットワークと直接接続されているように使うことができます。

VPN概要

上の図ではVPNサーバーはファイアウォールと一体ですが、個別に構築することもできます。

VPNサーバー機能はファイアウォールだけでなく、ルーターやVPN専用機、WindowsServer、Linuxなどでサポートされており、個別に構築する場合はDMZに配置します。

また、自宅パソコンだけでなく、スマートフォンなどのモバイル端末からの接続をサポートするVPNサーバーも多くあります。

トンネリング

VPNを支える技術の1つがトンネリングです。トンネリングにより、元々のパケットにインターネットで使えるIPアドレスを追加して送信することで、インターネットでルーティングできるようになります。受信側は、追加されたIPアドレスを外して元々の宛先のIPアドレスと通信できるようにします。

VPNでのカプセル化

パケットにアドレスなどを追加することを、カプセル化と言います。カプセル化によりトンネルを構築し、仮想的に相手ネットワークと直結します。

VPNでのトンネリング

トンネルによる直結後は内部ネットワークと同等のため、DNSを利用して通信可能です。この時、盗聴を防ぐ為、暗号化もできます。

VPN利用時のアドレスとルーティング

自宅パソコンなどからVPN接続時、割り当てられるIPアドレスは接続先で使えるIPアドレスです。

例えば、イントラネット内部で172.16.0.0のネットワークアドレスを使っていた場合、172.16.2.2などが割り当てられます。

自宅パソコンからのVPNでも事業所間VPNでもリモート先のアドレスは、接続先のネットワークでVPNサーバーまでルーティングできる必要があります。

例えば、自宅パソコンで172.16.2.1〜254が割り当てられる場合、172.16.2.0/24などのルーティングテーブルが必要です。また、事業所間VPNで192.168.1.0/24から接続がある場合は、192.168.1.0/24をルーティングでVPNサーバーまで通信できるようにする必要があります。

VPN利用時のルーティング留意点

VPN接続でも、カプセル化されるまでは通常のルーティング(上の図では、本社内のルーティング)に従うためです。

上記の図では、支社ネットワーク側でも本社ネットワークに対するルーティングが必要です。

ハッシュ

VPN接続時の認証や共通鍵作成ではハッシュが使われます。以下は、認証時のハッシュの使い方です。

ハッシュによる認証

よく使われるハッシュにはMD5、SHA1、SHA2などがあり、この中ではSHA2が最も安全です。

【ハッシュ関数】
アルゴリズム ハッシュ値の長さ
MD5 128bit
SHA1 160bit
SHA2 224、256、384、512bit

ハッシュは、暗号化時にデータなどからハッシュを利用して得られた値であるMAC(Message Authentication Code)値をフレームに付与し、データが改ざんされていないか確認するメッセージ認証にも使われます。ハッシュを使ったこの仕組みをHMAC(Hash-based Message Authentication Code)と言い、受信側で同様の計算を行い、受信したMAC値と比較することで途中でデータが改ざんされていないことがわかります。

メッセージ認証

暗号方式

トンネリングでデータを暗号化する時に使われる暗号方式が共通鍵暗号方式です。よく使われるアルゴリズムはDES(Data Encryption Standard)、3DES(Triple DES)、RC4、AES(Advanced Encryption Standard)などがあり、この中ではAESが最も安全です。これらのアルゴリズムは、暗号化した鍵と同じ鍵で復号化できるようになっています。

認証や共通鍵の受け渡しに使われるのが公開鍵暗号方式で、良く使われるアルゴリズムはRSAです。RSAは、暗号化した鍵と対になる鍵でだけ復号化できるようになっています。

また、それぞれのアルゴリズムでは使える鍵長が決まっており、長い程安全です。

【暗号化方式とアルゴリズム】
方式 アルゴリズム 鍵長
共通鍵暗号方式 DES 56bit
3DES 56、112、168bit
RC4 40〜2,048bits
AES 128、192、256bits
公開鍵暗号方式 RSA 〜4,096

なお、共通鍵暗号方式と公開鍵暗号方式の詳細は「企業向け無線LAN」をご参照ください。

VPN関連のページ

  • 1ページ目「VPN」
  • 2ページ目「PPTP
  • 3ページ目「IPsec
  • 4ページ目「L2TP/IPsec
  • 5ページ目「SSL-VPN