【図解】VPNとは?本質から仕組みをわかりやすく解説
感染症拡大のせいでリモートワークの普及が余儀なくされました。その結果認知度が高まったVPNですが、何を実現するのか、どのような仕組みなのか、どのようなことに気を付けないといけないのかを理解して使っている方は多くありません。
この記事では上記のような問いに答えられるようになるために、VPNの仕組みを図解しつつわかりやすく解説します。
何を実現するのか?
VPNとは"Virtual Private Network"の略で仮想的なプライベートネットワークを指します。プライベートネットワークとは会社や学校など特定の組織だけに閉じられたネットワークのことです。特定のユーザーに閉じたネットワークを作る方法として一般的なのが、LANケーブルで直接つなぐことです。
ネットワーク機器を通じて各PCは直接つながっているのでPC間で通信できます。無線LANを利用している場合はネットワーク機器とPCとをケーブルでつなぐことはありませんが実質この図と同じ状態になっています。
プライベートネットワークに属していないマシンからプライベートネットワーク内にあるマシンへ通信をするときには、プライベートネットワークに存在するゲートウェイというマシンを通して行われます。
しかし基本的にゲートウェイはプライベートネットワーク外からの通信を遮断するように設定されています。この遮断する機能はファイアウォールと呼ばれます。(ゲートウェイはこちらの記事で解説してるので良ければ。)
このようにネットワーク機器を使って内部の通信を可能にしつつ、外からのアクセスを遮断しているのがプライベートネットワークです。
VPNはネットワーク機器に接続されていないマシンをあたかもプライベートネットワーク内にいるかのように通信を可能にする技術のことです。このようなことから仮想的なプライベートネットワークと呼ばれています。
どのような仕組みで実現しているのか?
どのような仕組みでVPNを実現しているのかを会社のネットワークと自宅のPCをつなぐ形を例にして図解します。
図解
おそらく見慣れない単語がVPNサーバー、VPNクライアント、カプセル化だと思います。
VPNの仕組みを理解する上で重要なポイントがVPNクライアントによるデータのカプセル化です。このポイントについて詳しく説明します。
カプセル化とは
カプセル化とは暗号化およびプライベートネットワーク内のVPNサーバーをデータのあて先情報として付与することを指します。このカプセル化はあなたのPCにインストールされているVPNクライアントというソフトウェアで行います。
どのようにVPNクライアントでデータをどのように暗号化するかはあらかじめVPNサーバーと合意する必要があります。この合意された暗号化方法でやり取りされるデータであればVPNサーバーはプライベートネットワーク外からであってもネットワーク内に通すことを許可します。
合意はVPNクライアントを起動して、あて先となるVPNサーバーを選択したタイミングで行われます。合意の前にユーザー名やパスワードを入力することがあると思いますが、これはVPNサーバー側が接続元のVPNクライアントと本当に合意しても良いのかを確認するために行っています。
パスワード入力をしていない方もいると思いますが、その場合はPCに保存されている認証情報を裏では利用しているはずです。
またVPNサーバーはVPNクライアントがどうデータを暗号化したのかを知っているので、届いたデータの暗号化を解除(複合)した上で本当のあて先まで届けます。
VPNによる通信の流れ
以上の説明を踏まえて、改めてVPNを利用した通信の流れを説明します。
前準備
- VPNクライアントを起動する
- VPNクライアントで通信先のVPNサーバーを選択する
- VPNクライアントから認証情報をVPNサーバーに送り、信頼してもらう
- VPNクライアントとVPNサーバー間で暗号化ルールについて合意する
通信
- 個人PCからプライベートネットワーク内のPCに対して通信を試みる
- 通信したいデータをVPNクライアントが事前にVPNサーバーと合意していた形でデータをカプセル化する
- カプセル化したデータがVPNサーバーに届く
- VPNサーバーがカプセル化したデータから本来のデータを取り出す(デカプセル化)
- 本来のデータがプライベートネットワーク内のPCに届く
他のサイトの説明ではトンネリングやトンネル化という言葉が利用されていることが多いですが、それはほぼカプセル化と同義です。カプセル化されたデータでやり取りしデータが隠されているために、外からはデータの中身を見ることが出来ないことでトンネルでおおわれているイメージを生むことからトンネリングというワードが使われています。
トンネリングという名称は何か特別な回線が引かれているかのような印象を与えてきますが、結局のところ合意した暗号化方式でインターネットを経由して通信をしているだけなので、カプセル化を理解していればトンネリングの理解もできています。
気を付けるポイントは?
VPNを使う上で注意すべき点を説明します。
セキュリティ面
VPNは基本的にインターネットを利用しています。暗号化したデータでやり取りをしていますが、古いVPNサーバーとクライアントの組み合わせを利用している場合には、暗号化を簡単に解かれてしまう可能性もあります。セキュリティを保つためにも新しいVPN製品を利用することを推奨します。
利用可能なタイミング
VPNを利用する場合には複数のネットワークが関係してきます。個人PCが属すネットワーク、インターネット、接続先のプライベートネットワーク。これらのうちどれか一つにでも問題が発生すればVPNが実現不可になります。
出社しているときには接続先のプライベートネットワーク内であれば自由に通信できるので、利用できなくなるリスクはVPNの方が大きいと言えるでしょう。
一番問題になりがちなのが自宅のネットワーク環境なので、リモートワークをする方はモバイルwi-fiのような通信が安定しない環境よりも安定した通信が可能なネットワーク環境を整えるのが良いでしょう。
まとめ
VPNについて本質からわかるように説明しました。
しかし実は今回説明したのはVPNの中の一つの種類であるリモートアクセスVPNというクライアントとサーバーがいる形式のものでした。他にもサイト間VPNというオフィスとオフィスをつなぐようなVPNも存在します。
ただしサイト間VPNもVPN通信用の機器を拠点に準備し、カプセル化を利用して双方向に通信を行っているだけに過ぎません。
VPNにおいて重要なのは事前に合意したルールで行われるカプセル化です。ここだけ理解していただければ問題なしです。