【VPN】VPNって結局何?仕組みや通信手法について解説

最近ではスマホの設定画面にもVPNという言葉があります。

よく使用例として聞くのは、”海外旅行先でアクセスできないWebサイトやソフトウエアをVPNで日本のサーバを経由することで見れるようになる”ということです。

では具体的にVPNはどういう仕組みなのでしょうか?そしてどういう風に利用していくのが正解なのでしょうか?

ここではVPNの本来の役割と仕組みについて説明して、現実的にどのように用いると便利なのかについて紹介します。

VPNって何?

Virtual Private Network: VPN は仮想専用線とも言われることがあります。要点としては、認証技術暗号化技術を用いることにより、許可されたユーザ以外は通信内容にアクセスできないようにする手段です。

VPNには大きく分けて二種類あります。

1.インターネットを用いるVPN:インターネットVPN
    例)外出先から社内LANを利用する

2.通信事業者のIP網を用いるVPN:IP-VPN
    例)LANとLANを結ぶ

VPNを用いることにより、インターネットを通信経路とした場合も、経路上では暗号化されているため、途中でパケット(データ)を傍受されても、解読することができません。シンプルにはインターネットという何が潜んでいるかわからない空間を、”事前に安全だとわかっている道を選んで通過する”ようなイメージです。

もう少し詳しく見ていきましょう。

VPNは安全な道を通過して通信を行う手段

プロトコル

プロトコルとは”約束事”のようなものです。VPNという技術を実現するための約束事としては3種類あります。IPsec, PPTP, L2TPです。以下でそれぞれについて詳しく見ていきましょう。

IPsec (Security Architecture for Internet Protocol)

IPsecはIPのレベルで送受信内容を暗号化する技術です。上位の層であるトランスポート層やアプリケーション層が暗号化に対応していなくても安全にやりとりが可能となります。ただし、SSL/TLSと異なり、上位のプロトコルやソフトウエアから通信が暗号化されているかを知ることはできません。

動作モードは2種類ありますが、以下の表を参考にしてください。

基本的にはトンネルモードの方が、IPのヘッダ自体が暗号化されているため、仮に途中で通信を傍受されても宛先がぱっと見、分からないため安全だといえます。

PPTP (Point-to-Point Tunneling Protocol)

読んで字のごとし。任意のアドレスまで仮想的な伝送路を作成し、データを送受信するためのプロトコルです。これにより、ネットワークで保護された抜け道(トンネル)を作り出します

L2TP (Layer 2 Tunneling Protocol)

これはリンク層のプロトコルであるPPPのデータフレームをカプセル化し、IPなどのネットワークを通過させるためのプロトコルです。

これら、3つのプロトコルがあることで、VPNを用いた安全な通信ができるわけですが、WindowsではIPsecとL2TPを組み合わせたL2TP/IPsecとPPTPを標準装備しています。安心して通信が可能ですね。

「暗号化」・「トンネリング」・「認証」

VPNではLANとLANを結ぶ過程でデータの暗号化、通信をトンネリング、そしてゲートウエイの入り口と出口で認証を行っています。細かいことを述べるよりもまずは、図で表記した方がわかりやすいかと思います。

このようにして通信を暗号化し安全に通信を行っています。IKE暗号鍵を交換するための通信プロトコルです。データの暗号化を行う際には実際にはソフトウエアからイーサネットまでの各段階でカプセル化をいう処理を行ってデータの分割を行っていますが、今回は省略します。


今回はVPNについて、少し突っ込んだところまで説明をしましたが、VPNには約束事が3つあることと、LANとLANを結ぶ際には暗号化」・「トンネリング」・「認証という3段階があり、図のようなイメージでデータを運んでいることが伝えられればなと思います。

ネットワークの多様化により、身近になりつつあるVPNですが、一度学んでみると実際に使う際に、何をやっているかイメージがつきやすくなると思います。

また、基本情報技術者試験・応用情報技術者試験でも必須の内容となっていますので知識の整理に少しでも役に立てればと思います。

それでは次回も情報技術に関して少しでも役に立てる情報をお届けしたいと思います。


[用語集]

PPP:Point-to-Point Protocol
   → 2つの地点を接続して通信するための約束事

カプセル化 → 上位の層から受け取ったパケットをひとかたまりのデータとして扱うこと。

SSL/TLS:Secure Socket Layer/ Transport Layer Security
     → データのやり取りを安全に行うために①データの暗号化②認証③改ざんの検出を行う技術。

コメント

タイトルとURLをコピーしました