
皆さんはVPNの仕組みを本当にわかっていますか?ここではVPNの仕組みをたった画像1枚で表しました。VPNの概要はこれだけでわかります。
VPNの仕組み
ここでの用語

PC
あくまで例です。VPNが使える端末全体と考えていただければいいです。(iPhoneとか)

PC VPN app
パソコン内にあるVPNアプリです。ここで暗号化されるため、外部に出る通信は全て暗号化された状態でVPN Serverへ送信されます。

VPN Server
VPN appから送られてきたデータの到着点です。ここで暗号化は解かれ、SVと通信します。

Server(SV)
サーバーです。Webサーバーと考えてくれればわかりやすいと思います。

From .. To ..
データがどこから来て(From)、どこに向かうか(To)を示しています。
この画像ではデータがPCから来てVPN Serverへ向かっていることを示します。

Encrypted data と NOT Encrypted data
やりとりしたデータ(ex.ログインするためのデータ)が保護されている場所(Encrypted data)、保護されていない場所(NOT Encrypted data)を示しています。

Protected PC ip と NOT Protected PC ip
どこから(ここではPC)通信したかわかってしまう部分(NOT Procted PC ip)、わからない部分(Protedted PC ip)を示しています。
VPNの概要を1枚で

上の画像がTorの全てです。(もちろん厳密とは言えませんが。)
一つ一つ確認していきましょう。
VPN通信の全体の流れ
ここではデータがPC→(PC VPN app)→VPN Server→Serverへと移動する流れを説明します。
あくまで概要として捉えてください。
※ここではデータはSSL/TLS(ex.https)によって暗号化されていない前提でお話しします。
1.PCのデータがPC内のVPN appによって暗号化・(見かけの)行き先が変更

PCから外部に送られる通信全てが一度PC内にあるVPN appを通ります。
それにより、
- データが暗号化される。
- データの(見かけの)行き先がSVからVPN Serverとなる。
という作業が行われます。
2.dataがVPN Serverで暗号化が解かれ、SVと通信

dataがVPNサーバーに到着するとデータの暗号化が解かれます。
その後、そのデータは(見かけ上)VPN Serverから送られたものとしてSVと通信を行います。
3.dataがSVに到着
SVでデータの処理がされます。
4.dataがSVからVPN Serverに送られ、暗号化される
SVから送られてきたデータ(送り先はVPN Server)をVPN Serverは暗号化し、PCに送ります。
5.PC内のVPN appがVPN Serverからのデータを復号化
VPN Serverから送られてきたデータを復号化します。
以上がVPNの仕組みです。
(重要)VPNを使用して何が守られて、何が守られないのか
※再掲) ここでのデータはSSL/TLS(ex.https)によって暗号化されていない前提でお話しします。
PC(VPN spp) to VPN Server | VPN Server to SV | |
送信データ | ○ | × |
発信元 | × | ○ |
私が考えるに、通信の暗号化・秘匿化(つまりセキュリティ)においてみなさんが気にするのは
- 送信データが暗号化されているのか
- PCのIPアドレス(つまり発信元)(From ~ ToのFrom部分)が分かるかわからないか
- 暗号化と発信元がどこまでの範囲で守られ、また、守られていないのか
と言うポイントだと思います。
これはVPNにとどまらず、torやプロキシサーバーの利用にも当てはまると思います。
送信データはVPN ServerからSVまで守られておらず、発信元はPC(VPN spp)からVPN Serverまでは守られていません
VPNの弱点への対策方法
1.https通信をする
https通信をすることでPCからSVの間で暗号化がされるので、VPN ServerからSVまでの通信データは暗号化されます。
以上です。ご覧いただきありがとうございました。