ウォームアップ:全体像
やりとりは3段階に分かれる,まずは全体の流れをつかもう

 ルーターの設定内容がわかれば,IPsecの半分はマスターしたようなもの。ここからは,実際の通信のやりとりを確認して理解を深めていこう。

 IPsecに使われている技術を順番に理解していこうとすると,結局IPsecで最終的に何をやりたいのかわからなくなってしまいがち。個々の技術を理解することだけに目がいってしまって,全体が把握できない「木を見て森を見ず」の状態に陥ってしまう。

 そこで,詳細の理解は後回しにして,まずはIPsecに関する通信の全体像をざっとつかんでしまうのがいい。それから,個々のしくみを理解していくとわかりやすい。

IPsecの処理は大きく三つ

 IPsecの通信では10個のパケットをやりとりしている。この10個のパケットは大きく,フェーズ1((1)~(6)),フェーズ2((7)~(9)),IPsecの暗号通信((10)以降)──の三つの部分に分かれている(図1-1)。この三つは,最初の準備の部分ほどやりとりや処理が複雑で,IPsecの暗号通信に近づくほどシンプルになる。作戦編で立てた攻略法に沿って,本特集では,IPsecの暗号通信,フェーズ2,フェーズ1の順番に見ていく。この順に説明しよう。

図1-1●IPsecの通信の全体像
図1-1●IPsecの通信の全体像
最初に,鍵交換のためのプロトコルであるIKEが実行される。IKEのやりとりが終わったあとにIPsecの通信が実行される。
[画像のクリックで拡大表示]

 実際にIPパケットを安全にやりとりしているのが,(10)以降の「IPsecの暗号通信」である。この状態がIPsecの本来の目的とする通信となる。上り通信用と下り通信用のトンネル(通信用トンネル)を使って,インターネット上で安全にIPパケットをやりとりする。

 このIPsecの暗号通信で使うトンネルを作るための準備をするのが,その前の「フェーズ2」である。フェーズ2では,暗号通信をするために必要な情報を交換する。ただし,そこでやりとりしている情報が,他人に知られてしまっては,暗号通信の信頼性に問題が生じる。そこで,このフェーズ2のやりとりに関しても暗号化したトンネル(制御用トンネル)を使って安全に保護する。そして,この制御用トンネルを作るのが最初の「フェーズ1」である。フェーズ1では,そもそも通信相手が正しい相手かどうかも検証する。

暗号通信を始めるまでの準備が主

 つまり,本番のIPsecの暗号通信をするための準備がフェーズ2で,フェーズ2を安全にやりとりする準備がフェーズ1である。結局フェーズ1とフェーズ2は,IPsecによって暗号通信するための準備なのだ。ここが押さえられれば,IPsecの全体像はつかめたも同然だ。

 なお,IPsecで使う通信用トンネルと,フェーズ2で使う制御用トンネルには寿命がある。それぞれのトンネルの寿命が切れそうになると新しいトンネルを作り直す。IPsecの暗号通信で使っている通信用トンネルの寿命が切れそうになると,フェーズ2のやりとりをして通信用トンネルを作り直す。また,フェーズ2で使っている制御用トンネルの寿命が切れそうになると,最初のフェーズ1から再実行する。IPsecではこのように,使うトンネルを定期的に更新して,やりとりの安全性を高めているのである

お互いが秘密に同じ鍵を共有したい

 IPsecの暗号通信に先立って処理されるフェーズ1とフェーズ2のやりとりは,IKEと呼ばれている。IKEは,internet key exchangeの略。日本語に訳すと「インターネットでの鍵交換」である。IPsecを理解するうえでのポイントが,この「鍵交換」である。

 IPsecで暗号通信をするときは,通信する両者で同じ鍵を使う。トンネルの両端に同じ鍵を用意して,トンネルの入口でパケットを暗号化し,トンネルの出口で暗号化されたパケットを復号するわけだ。

 このIPsecの暗号化した通信を実現するための鍵を共有するのがフェーズ2で,その鍵の共有作業そのものを暗号化するための鍵を交換するのがフェーズ1である(図1-2)。

図1-2●「鍵交換」とは?
図1-2●「鍵交換」とは?
IPsecでは,暗号化と認証の鍵を使ってやりとりする。通信する両者でこの鍵を共有するのが鍵交換である。フェーズ1でフェーズ2で使う鍵を作り,フェーズ2でIPsecの暗号通信で使う鍵を作る。
[画像のクリックで拡大表示]

「鍵交換」ではなく「鍵共有」

 「鍵交換」というと,鍵そのものを交換しているようにとらえがちだが,実際はそうではない。

 実際は,鍵を作るのに必要な情報の一部をネットワーク上で交換し,それらの情報と自分の持っている情報を組み合わせて鍵を作っている。仮にやりとりした情報が漏れても,お互い以外には同じ鍵を作れないようにすることで,安全に暗号通信ができるようにしているのである。

 ここでは,フェーズ1とフェーズ2のやりとりで,鍵そのものではなく鍵の基となる情報をやりとりしているということだけを理解しておけばいいだろう。つまり,「鍵交換」ではなく「鍵共有」と捉えた方が,実際のイメージに近い。