VPNってなんだろう?
はじめに
はじめまして。スタッフの並木です。
ウェブシステムデザインプログラムでは受講生一人一人に一台の仮想マシンを割り当て、それを演習に利用してもらっています。この仮想マシンを利用するには、電通大のネットワークから仮想マシンへアクセスする必要があります。 簡単に言えば大学構内で大学のWifiに繋いで仮想マシンにアクセスしなければいけないということです。 しかし、受講生の方々の多くは社会人で、平日は電通大に来られない方も多いかと思います。 そうなると、実質的に講義がある土曜日しか仮想マシンを使うことができず、あまりに不便です。 ウェブシスに限らず、電通大の学生も学内からのアクセスが必要な計算機を授業の演習で利用することがあるので、自宅から簡単にアクセスできるように電通大はVPNというものを整備しています。 VPNのおかげで、受講生の方々に簡単に仮想マシンを利用してもらえていますし、筆者含め本学の学生もコロナ禍によるオンライン授業の演習で、学内の計算機を遠隔で使用できていたのでVPNのありがたみを感じるばかりでした。 今回はそんなVPNについて、基本的な内容ではありますが紹介したいと思います。
VPNとは
VPNはVirtual Private Networkの頭文字をとったもので、訳すと「仮想専用回線」になります。 書いて字のごとく、仮想的に専用のネットワークを作る技術になります。 VPNはその性質から様々な用途に利用されています。 今では様々なVPNサービスが登場し、一般人の手が届く技術にはなりましたが、登場した当初のモチベーションは「拠点間の専用回線を敷設したい」というものでした。 しかし、新たに専用回線を敷設するのには初期投資の面でも、また維持の面でもコストパフォーマンスが悪いです。 そこで、うまいことインターネットのインフラを利用できないかと考えられたものがインターネットVPNと呼ばれるものです。
つまりVPNとは一般に「インターネット上に存在する専用回線」と言えばよいでしょう。
VPNの用途
VPNは色々な用途で利用されていると記述しましたが、例えば以下に列挙するものに利用されています。
- 拠点間通信
- VPNのもともとのモチベーションでしたね。
- リモートアクセス
- ジオブロック回避
VPNの形態
VPNは接続の方法という観点で大きく3つに分けることができます。
拠点間VPN
拠点間通信の際に用いられます。それぞれの拠点にあるVPNゲートウェイどうしを接続して通信を行います。
サーバ・クライアント方式のVPN
リモートアクセスやジオブロック回避に用いられ、クライアント(スマホやPC)からVPNサーバに接続し、VPNサーバに通信を中継してもらいます。
メッシュ型VPN
こちらはWireguardと呼ばれる比較的新しいオープンソースのVPNプロトコルで、ネットワークに参加しているコンピュータどうしを直接接続するものです。派生のVPNソフトウェアも存在し、独自の名称で展開されているものもあります。筆者はTailscaleというWireguardベースのVPNソフトを利用しています。
VPNの安全性
「VPNは通信を暗号化するから安全!」という文言を見たことはないでしょうか。見たことが無かったら少しに気に留めていただければと思います。 例えば、家電量販店でのPCコーナーに置いてあるセキュリティソフトのパッケージなんかに書いてあると思います。 そして、本当に安全なのかというと半分本当で、半分嘘といった感じです。 実際にVPNによる通信は暗号化されます。そもそも、公衆のインフラを使って通信を行うのだから暗号化してもらわないと困ります。 新しいインフラを整備する代わりに通信データを暗号化することで、通信に関与しない者にはデータの内容がわからないようにしています。 だから安心!となるわけではなく、データが暗号化される範囲に注意が必要です。 暗号化通信では、送出元で暗号化されたデータは通信相手によって復号(元のデータに戻)されます。 我々がよく利用するであろうサーバ・クライアント方式のVPNの場合、通信データは我々が利用するスマホ・PCで暗号化され、VPNサーバで復号されます。 特に強調もしなかったのですが、VPNサーバは基本的に通信の中継を行うものであり、データの安全な配送はVPNサーバに到達するまでの範囲内です。 VPNサーバ通過後にデータが暗号化されるかは利用するオンラインサービス次第です。 もっとも、Webに関して言えばいまどき暗号化されないhttp通信はあまり見かけなくはなってきてますし、http通信をしようとするとブラウザが警告を表示することが多いので、通信がサイトを公開しているサーバまで暗号化されるhttps通信が実質的に必須になってきています。
参考
[1] ITMedia「VPN実践導入講座 第2回 インターネットVPNの基礎」
[2] Avery Pennarun, "How Tailscale works"