トンネリングは暗号化じゃない?VPNで混乱したポイントを整理する
はじめに
今、CCNAに向けて勉強をしています。
その中で「VPN」と「トンネリング」の違いを、自分がきちんと理解できていないことに気づきました。
疑問に思ったのは、
VPNは暗号化している
でも、トンネリングは暗号化していない
という説明を見たときです。
「え?じゃあトンネリングって何をしているの?」
「VPNとトンネリングって何が違うの?」
「どっちが何を担当している仕組みなの?」
そんな状態でした。
この記事は、
「VPN=トンネリング」
「VPN=暗号化」
と曖昧に理解していた自分が、調べて整理し、
「そういうことか」と腑に落ちた内容をまとめたものです。
結論
まず結論です。
トンネリング
今使っている通信の内容はそのままに、別拠点へパケットを渡すため、途中で異なるプロトコルのネットワークを挟んでも、問題なく届けられるようにする技術VPN
トンネリングを利用しつつ通信を暗号化し、離れた拠点同士が、あたかも同じプライベートネットワークにいるように見せる技術
つまり、
VPN = トンネリング + 暗号化(など)
であって、
VPN ≠ トンネリング
ということでした。
「暗号化できていればいいんじゃないの?」と思っていた理由
当時の私は、トンネリングを次のように捉えていました。
トンネリング=通信を包む
包まれている=中身が見えない
だから自然と、「トンネリングって暗号化みたいなものなんじゃないの?」と思っていました。
VPNの説明でよく出てくる「トンネルを張る」、「安全なトンネル」といった表現も、
トンネル=外から見えない
というイメージを強めていたと思います。
その結果、
「VPNは暗号化している」
「でもトンネリングは暗号化していない」
という説明を見ると、「じゃあトンネリングって何をしているの?」と混乱していました。
この混乱の原因は、「通れるようにする」と「見えなくする」を同じものだと思っていたことでした。
トンネリングとは何か
トンネリングを一言で言うと、
今使っている通信の内容はそのままにして、別拠点へパケットを渡したいとき、送信途中で別のプロトコルを挟んでも問題なく届けられるようにする技術
です。
ポイントは、
中身の通信は変更しない」
「外側に新しいヘッダーを付与する」
という点です。
イメージとしては、
中身:本来やり取りしたい通信
(社内IPアドレス・社内用プロトコルなど)外側:途中のネットワークで通過可能なプロトコル
(例:IP)
という二重構造になります。
重要なのは、
トンネリング自体は「通れる形に包み直す」だけで、暗号化を行うかどうかはトンネリングの役割ではない
という点です。
トンネリングと暗号化は別物
整理すると、
トンネリング:包んで通す
暗号化:中身を読めなくする
この2つは役割が違うということです。
今の自分なりの整理
今は、次のように整理しています。
トンネリング:
通信の中身はそのままに、外側に別のヘッダーを付けて 本来は通れないネットワークを通過させるための仕組みVPN:
トンネリングを利用しつつ通信を暗号化し、 離れた拠点同士があたかも同じプライベートネットワークにいるように見せる技術
つまり、
VPNは「暗号化する技術」そのものではなく、 トンネリング+暗号化によって仮想的な専用ネットワークを作る技術
だと理解しました。
おわりに
「VPNって暗号化できていればいいんじゃないの?」 「トンネリングって別にいらなくない?」
そう思っていた自分が、「トンネリングとVPNは別物である」と理解することまでをまとめてみました。
同じようにモヤっとしている人の整理の助けになれば嬉しいです。
