二つの店と一つの在庫表
町のパン屋が、となりの市に二号店を出しました。どちらの店のレジも、本店にある一つの在庫表を見に行きます。
二つの店の間にはインターネットがあります。途中の回線を扱う人なら、そこを通るデータを読めてしまうかもしれません。
パン屋がほしいのは、人通りの多い場所を通る自分専用の道です。その道がVPNです。
このレッスンのゴール
メモ
VPNが何を守るのかを説明できる。
重要な言葉
| ことば | いみ |
|---|---|
| 暗号化 | 鍵を持つ人だけが読めるように、データをかき混ぜること |
| 鍵 | データを閉じたり開けたりする秘密の値 |
| 秘密鍵 | 鍵の組のうち、だれにも渡さない方 |
| 公開鍵 | 鍵の組のうち、相手に渡してよい方 |
| トンネル | 二つの地点の間で、パケットを別のパケットの中に入れて運ぶこと |
| VPN | 暗号化したトンネルでつくる、仮想の専用ネットワーク |
学生が入力するセルは、このプレビューでは空白です。
間にインターネットがある二つのネットワーク
ラボには二つの拠点があります。拠点Aは 10.1.0.0/24、拠点Bは 10.2.0.0/24 で、二つのゲートウェイはインターネット役の回線 203.0.113.0/24 でつながっています。
どちらの拠点もプライベートアドレスです。だからインターネット役の回線のルーターは、もう一方の拠点への道を知りません。
四台の機械を見る
wglab statusここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
拠点Aから拠点Bへping
sudo ip netns exec a1 ping -c 2 -W 1 10.2.0.2ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
ゲートウェイAの経路表を読む
sudo ip netns exec gwA ip routeここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
ゲートウェイAには通り道が無い
ping は From 10.1.0.1 ... Destination Net Unreachable を二回出します。10.1.0.1 はゲートウェイAです。
表は二行で、自分の拠点 10.1.0.0/24 と、インターネット役の回線 203.0.113.0/24 だけです。10.2.0.0/24 の行も、デフォルトルートもありません。
暗号化には鍵が要る
暗号化は、読めるデータをでたらめな並びに変えます。正しい鍵を持つ人だけが、元に戻せます。
古い例がシーザー暗号です。すべての文字をアルファベットの順に三つずらします。鍵が3なら、CAT は FDW になります。
今の暗号は、とても大きな鍵と高度な数学を使います。鍵を当てずっぽうで探すと、一生かかっても終わりません。
例:三つずらすシーザー暗号
| 元の文字 | 三つ数える | 暗号の文字 |
|---|---|---|
| C | D、E、F | F |
| A | B、C、D | D |
| T | U、V、W | W |
| Y | Z、A、B | B |
学生が入力するセルは、このプレビューでは空白です。
ゲートウェイごとに鍵の組がある
WireGuard では、ゲートウェイごとに二つの鍵を持ちます。秘密鍵 はそのゲートウェイから出しません。公開鍵 は秘密鍵から作り、相手側に渡します。
どちらのゲートウェイも、相手の公開鍵を知っています。それで、正しい相手と話しているかを確かめられます。
使い捨ての秘密鍵を作る
wg genkeyここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
鍵のフォルダーをだれが読めるか見る
sudo ip netns exec gwA ls -ld /etc/wireguardここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
鍵は秘密のファイル
一つ目の実行は、英字と数字と記号が44文字並んだ一行を出し、最後は = で終わります。人によって全部違います。保存していないので、もう残っていません。
フォルダーの行は drwx------ で始まり、root が二回出ます。開けるのは root だけで、秘密鍵の置き場所としてはそれが正しい形です。
トンネルが隠すものと見せるもの
トンネルが動くと、ゲートウェイAは拠点B宛てのパケットを暗号化し、ゲートウェイB宛ての新しいパケットに入れて送ります。
インターネット役の回線をのぞいても、見えるのは二つのゲートウェイのアドレスと、かき混ぜられたデータだけです。内側のアドレスと中身は隠れます。
それでも、二つのゲートウェイが話していること自体は隠れません。レジに入ったウイルスを消してくれるわけでもありません。
よくある間違い
注意
VPNを使えば自分が見えなくなる、と思いがちです。守られるのはトンネルの中を通る通信だけです。両端の機器は見えますし、それぞれの機器が攻撃される危険も残ります。
さらに挑戦:シーザー暗号を破る
ずらす数を教えてもらえないまま、OMISE WA KUJI NI AKIMASU を暗号にしたものが届いたとします。暗号文は RPLVH ZD NXML QL DNLPDVX です。
1から25までのずらし方すべてで uncaesar を呼び、答えを全部表示するループを書きましょう。読める行はどれですか。シーザー暗号が弱いと言えるのはなぜですか。